diff --git a/src/plugins/simulation/PendulumWindow/src/pendulumwindowwindow.cpp b/src/plugins/simulation/PendulumWindow/src/pendulumwindowwindow.cpp index 8aae7e03d9..9b88bf624d 100644 --- a/src/plugins/simulation/PendulumWindow/src/pendulumwindowwindow.cpp +++ b/src/plugins/simulation/PendulumWindow/src/pendulumwindowwindow.cpp @@ -66,6 +66,7 @@ PendulumWindowWindow::PendulumWindowWindow(QWidget *pParent) : mGui(new Ui::PendulumWindowWindow), mZincContext(nullptr), mZincSceneViewerDescription(nullptr), + mAxesFontPointSize(0), mInitialiseZincScene(true), mCurrentDataSize(0), mTimeValues(nullptr), @@ -85,6 +86,8 @@ PendulumWindowWindow::PendulumWindowWindow(QWidget *pParent) : this, &PendulumWindowWindow::createAndSetZincContext); connect(mZincWidget, &ZincWidget::ZincWidget::graphicsInitialized, this, &PendulumWindowWindow::graphicsInitialized); + connect(mZincWidget, &ZincWidget::ZincWidget::devicePixelRatioChanged, + this, &PendulumWindowWindow::devicePixelRatioChanged); mGui->layout->addWidget(new Core::BorderedWidget(mZincWidget, true, true, true, true)); @@ -538,6 +541,19 @@ void PendulumWindowWindow::graphicsInitialized() //============================================================================== +void PendulumWindowWindow::devicePixelRatioChanged(int pDevicePixelRatio) +{ + // Update our scene using the given devide pixel ratio + + OpenCMISS::Zinc::Scene scene = mZincContext->getDefaultRegion().getScene(); + + scene.beginChange(); + scene.createGraphicsPoints().getGraphicspointattributes().getFont().setPointSize(pDevicePixelRatio*mAxesFontPointSize); + scene.endChange(); +} + +//============================================================================== + void PendulumWindowWindow::timeSliderValueChanged(int pTime) { // Update our scene diff --git a/src/plugins/simulation/PendulumWindow/src/pendulumwindowwindow.h b/src/plugins/simulation/PendulumWindow/src/pendulumwindowwindow.h index 13a64fcfdd..b547176f68 100644 --- a/src/plugins/simulation/PendulumWindow/src/pendulumwindowwindow.h +++ b/src/plugins/simulation/PendulumWindow/src/pendulumwindowwindow.h @@ -125,6 +125,7 @@ class PENDULUMWINDOW_EXPORT PendulumWindowWindow : public Core::WindowWidget private slots: void createAndSetZincContext(); void graphicsInitialized(); + void devicePixelRatioChanged(int pDevicePixelRatio); void timeSliderValueChanged(int pTime); void timerTimeOut(); diff --git a/src/plugins/test/ZincWindow/src/zincwindowwindow.h b/src/plugins/test/ZincWindow/src/zincwindowwindow.h index 84a4c98e18..5dd8c2fad9 100644 --- a/src/plugins/test/ZincWindow/src/zincwindowwindow.h +++ b/src/plugins/test/ZincWindow/src/zincwindowwindow.h @@ -75,6 +75,8 @@ class ZincWindowWindow : public Core::WindowWidget char *mZincSceneViewerDescription = nullptr; + int mAxesFontPointSize = 0; + private slots: void createAndSetZincContext(); void graphicsInitialized();