diff --git a/qrenderdoc/Widgets/CustomPaintWidget.cpp b/qrenderdoc/Widgets/CustomPaintWidget.cpp
index 62c600f33..38816de87 100644
--- a/qrenderdoc/Widgets/CustomPaintWidget.cpp
+++ b/qrenderdoc/Widgets/CustomPaintWidget.cpp
@@ -16,6 +16,15 @@ CustomPaintWidget::~CustomPaintWidget()
void CustomPaintWidget::paintEvent(QPaintEvent *e)
{
- if(m_Output) m_Output->Display();
+ if(m_Output)
+ {
+ m_Output->Display();
+ }
+ else
+ {
+ QPainter p(this);
+ p.setBrush(QBrush(Qt::black));
+ p.drawRect(rect());
+ }
}
diff --git a/qrenderdoc/Windows/TextureViewer.cpp b/qrenderdoc/Windows/TextureViewer.cpp
index 1939e6b9b..92a455e9c 100644
--- a/qrenderdoc/Windows/TextureViewer.cpp
+++ b/qrenderdoc/Windows/TextureViewer.cpp
@@ -20,42 +20,46 @@ m_Core(core)
m_Core->AddLogViewer(this);
- ui->framerender->SetOutput(NULL);
+ ui->render->SetOutput(NULL);
m_Output = NULL;
- ui->dockarea->addToolWindow(ui->framerender, ToolWindowManager::EmptySpace);
- ui->dockarea->setToolWindowProperties(ui->framerender, ToolWindowManager::DisallowUserDocking |
+ QWidget *renderContainer = ui->renderContainer;
+
+ ui->dockarea->addToolWindow(ui->renderContainer, ToolWindowManager::EmptySpace);
+ ui->dockarea->setToolWindowProperties(renderContainer, ToolWindowManager::DisallowUserDocking |
ToolWindowManager::HideCloseButton |
ToolWindowManager::DisableDraggableTab);
+ ToolWindowManager::AreaReference ref(ToolWindowManager::AddTo, ui->dockarea->areaOf(renderContainer));
+
QWidget *lockedTabTest = new QWidget(this);
lockedTabTest->setWindowTitle(tr("Locked Tab #1"));
- ui->dockarea->addToolWindow(lockedTabTest, ToolWindowManager::AreaReference(ToolWindowManager::AddTo, ui->dockarea->areaOf(ui->framerender)));
+ ui->dockarea->addToolWindow(lockedTabTest, ref);
ui->dockarea->setToolWindowProperties(lockedTabTest, ToolWindowManager::DisallowUserDocking | ToolWindowManager::HideCloseButton);
lockedTabTest = new QWidget(this);
lockedTabTest->setWindowTitle(tr("Locked Tab #2"));
-
- ui->dockarea->addToolWindow(lockedTabTest, ToolWindowManager::AreaReference(ToolWindowManager::AddTo, ui->dockarea->areaOf(ui->framerender)));
+
+ ui->dockarea->addToolWindow(lockedTabTest, ref);
ui->dockarea->setToolWindowProperties(lockedTabTest, ToolWindowManager::DisallowUserDocking | ToolWindowManager::HideCloseButton);
lockedTabTest = new QWidget(this);
lockedTabTest->setWindowTitle(tr("Locked Tab #3"));
-
- ui->dockarea->addToolWindow(lockedTabTest, ToolWindowManager::AreaReference(ToolWindowManager::AddTo, ui->dockarea->areaOf(ui->framerender)));
+
+ ui->dockarea->addToolWindow(lockedTabTest, ref);
ui->dockarea->setToolWindowProperties(lockedTabTest, ToolWindowManager::DisallowUserDocking | ToolWindowManager::HideCloseButton);
lockedTabTest = new QWidget(this);
lockedTabTest->setWindowTitle(tr("Locked Tab #4"));
-
- ui->dockarea->addToolWindow(lockedTabTest, ToolWindowManager::AreaReference(ToolWindowManager::AddTo, ui->dockarea->areaOf(ui->framerender)));
+
+ ui->dockarea->addToolWindow(lockedTabTest, ref);
ui->dockarea->setToolWindowProperties(lockedTabTest, ToolWindowManager::DisallowUserDocking | ToolWindowManager::HideCloseButton);
ui->dockarea->setAllowFloatingWindow(false);
ui->dockarea->setRubberBandLineWidth(50);
- ui->framerender->setWindowTitle(tr("OM RenderTarget 0 - GBuffer Colour"));
+ renderContainer->setWindowTitle(tr("OM RenderTarget 0 - GBuffer Colour"));
QVBoxLayout *vertical = new QVBoxLayout(this);
@@ -87,10 +91,10 @@ TextureViewer::~TextureViewer()
void TextureViewer::OnLogfileLoaded()
{
#if defined(WIN32)
- HWND wnd = (HWND)ui->framerender->winId();
+ HWND wnd = (HWND)ui->render->winId();
#elif defined(__linux__)
Display *display = QX11Info::display();
- GLXDrawable drawable = (GLXDrawable)ui->framerender->winId();
+ GLXDrawable drawable = (GLXDrawable)ui->render->winId();
void *displayAndDrawable[2] = { (void *)display, (void *)drawable };
void *wnd = displayAndDrawable;
@@ -100,7 +104,7 @@ void TextureViewer::OnLogfileLoaded()
m_Core->Renderer()->BlockInvoke([wnd, this](IReplayRenderer *r) {
m_Output = r->CreateOutput(wnd);
- ui->framerender->SetOutput(m_Output);
+ ui->render->SetOutput(m_Output);
OutputConfig c = { eOutputType_TexDisplay };
m_Output->SetOutputConfig(c);
@@ -110,7 +114,7 @@ void TextureViewer::OnLogfileLoaded()
void TextureViewer::OnLogfileClosed()
{
m_Output = NULL;
- ui->framerender->SetOutput(NULL);
+ ui->render->SetOutput(NULL);
}
void TextureViewer::OnEventSelected(uint32_t frameID, uint32_t eventID)
@@ -141,6 +145,6 @@ void TextureViewer::OnEventSelected(uint32_t frameID, uint32_t eventID)
d.Alpha = false;
m_Output->SetTextureDisplay(d);
- GUIInvoke::call([this]() { ui->framerender->update(); });
+ GUIInvoke::call([this]() { ui->render->update(); });
});
}
diff --git a/qrenderdoc/Windows/TextureViewer.ui b/qrenderdoc/Windows/TextureViewer.ui
index d18126f20..599de3b0d 100644
--- a/qrenderdoc/Windows/TextureViewer.ui
+++ b/qrenderdoc/Windows/TextureViewer.ui
@@ -22,8 +22,8 @@
- 70
- 420
+ 30
+ 430
119
100
@@ -34,21 +34,8 @@
100
-
-
-
-
- 310
- 400
- 129
- 99
-
-
-
- CrossCursor
-
-
-
+
+ false
@@ -109,6 +96,9 @@
16777215
+
+ 0.0
+
-
@@ -125,6 +115,9 @@
16777215
+
+ 1.0
+
-
@@ -760,6 +753,145 @@
+
+
+
+ 240
+ 280
+ 291
+ 241
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ 0
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ CrossCursor
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ Consolas
+
+
+
+ texStatusDim
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 32
+ 14
+
+
+
+
+ 32
+ 14
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ Consolas
+
+
+
+ Status Text
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
+