diff --git a/qrenderdoc/Code/Interface/QRDInterface.h b/qrenderdoc/Code/Interface/QRDInterface.h index c604f621f..962600fb6 100644 --- a/qrenderdoc/Code/Interface/QRDInterface.h +++ b/qrenderdoc/Code/Interface/QRDInterface.h @@ -851,6 +851,13 @@ If no location is currently selected or there is no current texture, this will r )"); virtual bool IsZoomAutoFit() = 0; + DOCUMENT(R"(Return the currently configured texture display structure. + +:return: The current texture display. +:rtype: renderdoc.TextureDisplay +)"); + virtual TextureDisplay GetTextureDisplay() = 0; + DOCUMENT(R"(Return the current zoom level, whether manually set or auto-calculated. :return: The current zoom level, with 100% being represented as 1.0. diff --git a/qrenderdoc/Code/pyrenderdoc/PythonInvokers.cpp b/qrenderdoc/Code/pyrenderdoc/PythonInvokers.cpp index 9c6e80ee1..9b4e3a985 100644 --- a/qrenderdoc/Code/pyrenderdoc/PythonInvokers.cpp +++ b/qrenderdoc/Code/pyrenderdoc/PythonInvokers.cpp @@ -964,6 +964,10 @@ struct ITextureViewerInvoker : UIThreadInvoker return InvokeVoidFunction(&ITextureViewer::SetTextureOverlay, overlay); } bool IsZoomAutoFit() { return InvokeRetFunction(&ITextureViewer::IsZoomAutoFit); } + TextureDisplay GetTextureDisplay() + { + return InvokeRetFunction(&ITextureViewer::GetTextureDisplay); + } float GetZoomLevel() { return InvokeRetFunction(&ITextureViewer::GetZoomLevel); } void SetZoomLevel(bool autofit, float zoom) { diff --git a/qrenderdoc/Windows/TextureViewer.h b/qrenderdoc/Windows/TextureViewer.h index 04969e982..c8d0db2a4 100644 --- a/qrenderdoc/Windows/TextureViewer.h +++ b/qrenderdoc/Windows/TextureViewer.h @@ -147,6 +147,7 @@ public: DebugOverlay GetTextureOverlay() override; void SetTextureOverlay(DebugOverlay overlay) override; + TextureDisplay GetTextureDisplay() override { return m_TexDisplay; } bool IsZoomAutoFit() override; float GetZoomLevel() override; void SetZoomLevel(bool autofit, float zoom) override;