Pass IReplayRenderer to INVOKE_MEMFN calls

This commit is contained in:
baldurk
2016-10-07 19:51:03 +02:00
parent ff6da5d81e
commit 63b92f76c8
3 changed files with 16 additions and 18 deletions
+1 -1
View File
@@ -37,7 +37,7 @@ class LambdaThread;
// simple helper for the common case of 'we just need to run this on the render thread
#define INVOKE_MEMFN(function) \
m_Ctx->Renderer()->AsyncInvoke([this](IReplayRenderer *) { function(); });
m_Ctx->Renderer()->AsyncInvoke([this](IReplayRenderer *r) { function(r); });
class RenderManager
{
+11 -14
View File
@@ -513,7 +513,7 @@ void TextureViewer::RT_FetchCurrentPixel(uint32_t x, uint32_t y, PixelValue &pic
m_TexDisplay.sampleIdx, &realValue);
}
void TextureViewer::RT_PickPixelsAndUpdate()
void TextureViewer::RT_PickPixelsAndUpdate(IReplayRenderer *)
{
PixelValue pickValue, realValue;
@@ -532,7 +532,7 @@ void TextureViewer::RT_PickPixelsAndUpdate()
GUIInvoke::call([this]() { UI_UpdateStatusText(); });
}
void TextureViewer::RT_PickHoverAndUpdate()
void TextureViewer::RT_PickHoverAndUpdate(IReplayRenderer *)
{
PixelValue pickValue, realValue;
@@ -546,7 +546,7 @@ void TextureViewer::RT_PickHoverAndUpdate()
GUIInvoke::call([this]() { UI_UpdateStatusText(); });
}
void TextureViewer::RT_UpdateAndDisplay()
void TextureViewer::RT_UpdateAndDisplay(IReplayRenderer *)
{
if(m_Output != NULL)
m_Output->SetTextureDisplay(m_TexDisplay);
@@ -1104,13 +1104,13 @@ void TextureViewer::UI_OnTextureSelectionChanged(bool newdraw)
// if (ui->autoFit->isChecked())
// AutoFitRange();
m_Ctx->Renderer()->AsyncInvoke([this](IReplayRenderer *) {
m_Ctx->Renderer()->AsyncInvoke([this](IReplayRenderer *r) {
// RT_UpdateVisualRange(r);
RT_UpdateAndDisplay();
RT_UpdateAndDisplay(r);
if(m_Output != NULL)
RT_PickPixelsAndUpdate();
RT_PickPixelsAndUpdate(r);
// TODO - GetUsage and update TimelineBar
});
@@ -1915,6 +1915,9 @@ void TextureViewer::OnEventSelected(uint32_t eventID)
ui->inputThumbs->RefreshLayout();
INVOKE_MEMFN(RT_UpdateAndDisplay);
// if(autoFit.Checked)
// AutoFitRange();
}
QVariant TextureViewer::persistData()
@@ -2186,10 +2189,7 @@ void TextureViewer::on_mipLevel_currentIndexChanged(int index)
if(m_Output != NULL && m_PickedPoint.x() >= 0 && m_PickedPoint.y() >= 0)
{
m_Ctx->Renderer()->AsyncInvoke([this](IReplayRenderer *) {
if(m_Output != NULL)
RT_PickPixelsAndUpdate();
});
INVOKE_MEMFN(RT_PickPixelsAndUpdate);
}
INVOKE_MEMFN(RT_UpdateAndDisplay);
@@ -2211,10 +2211,7 @@ void TextureViewer::on_sliceFace_currentIndexChanged(int index)
if(m_Output != NULL && m_PickedPoint.x() >= 0 && m_PickedPoint.y() >= 0)
{
m_Ctx->Renderer()->AsyncInvoke([this](IReplayRenderer *) {
if(m_Output != NULL)
RT_PickPixelsAndUpdate();
});
INVOKE_MEMFN(RT_PickPixelsAndUpdate);
}
INVOKE_MEMFN(RT_UpdateAndDisplay);
+4 -3
View File
@@ -156,6 +156,7 @@ private slots:
void render_mouseMove(QMouseEvent *e);
void render_mouseWheel(QWheelEvent *e);
void render_resize(QResizeEvent *e);
void render_keyPress(QKeyEvent *e);
void thumb_clicked(QMouseEvent *);
@@ -165,9 +166,9 @@ private slots:
void channelsWidget_selected(int index) { UI_UpdateChannels(); }
private:
void RT_FetchCurrentPixel(uint32_t x, uint32_t y, PixelValue &pickValue, PixelValue &realValue);
void RT_PickPixelsAndUpdate();
void RT_PickHoverAndUpdate();
void RT_UpdateAndDisplay();
void RT_PickPixelsAndUpdate(IReplayRenderer *);
void RT_PickHoverAndUpdate(IReplayRenderer *);
void RT_UpdateAndDisplay(IReplayRenderer *);
void UI_UpdateStatusText();
void UI_UpdateTextureDetails();