diff --git a/modules/juce_gui_basics/components/juce_Desktop.cpp b/modules/juce_gui_basics/components/juce_Desktop.cpp index 5d476b6348..50e7af1b30 100644 --- a/modules/juce_gui_basics/components/juce_Desktop.cpp +++ b/modules/juce_gui_basics/components/juce_Desktop.cpp @@ -26,7 +26,7 @@ Desktop::Desktop() : mouseClickCounter (0), mouseWheelCounter (0), kioskModeComponent (nullptr), allowedOrientations (allOrientations), - masterScaleFactor (1.0f) + masterScaleFactor ((float) getDefaultMasterScale()) { displays = new Displays (*this); addMouseInputSource(); diff --git a/modules/juce_gui_basics/components/juce_Desktop.h b/modules/juce_gui_basics/components/juce_Desktop.h index 2038cbd2b9..8c56af5bbc 100644 --- a/modules/juce_gui_basics/components/juce_Desktop.h +++ b/modules/juce_gui_basics/components/juce_Desktop.h @@ -448,6 +448,8 @@ private: void triggerFocusCallback(); void handleAsyncUpdate() override; + static double getDefaultMasterScale(); + Desktop(); ~Desktop(); diff --git a/modules/juce_gui_basics/native/juce_android_Windowing.cpp b/modules/juce_gui_basics/native/juce_android_Windowing.cpp index 3a0b057ef6..c0e406a303 100644 --- a/modules/juce_gui_basics/native/juce_android_Windowing.cpp +++ b/modules/juce_gui_basics/native/juce_android_Windowing.cpp @@ -572,6 +572,11 @@ bool Desktop::canUseSemiTransparentWindows() noexcept return true; } +double Desktop::getDefaultMasterScale() +{ + return 1.0; +} + Desktop::DisplayOrientation Desktop::getCurrentOrientation() const { // TODO diff --git a/modules/juce_gui_basics/native/juce_ios_Windowing.mm b/modules/juce_gui_basics/native/juce_ios_Windowing.mm index 563ecafec9..4f12a3428a 100644 --- a/modules/juce_gui_basics/native/juce_ios_Windowing.mm +++ b/modules/juce_gui_basics/native/juce_ios_Windowing.mm @@ -297,6 +297,11 @@ void MouseInputSource::setRawMousePosition (Point) { } +double Desktop::getDefaultMasterScale() +{ + return 1.0; +} + Desktop::DisplayOrientation Desktop::getCurrentOrientation() const { return Orientations::convertToJuce ([[UIApplication sharedApplication] statusBarOrientation]); diff --git a/modules/juce_gui_basics/native/juce_linux_Windowing.cpp b/modules/juce_gui_basics/native/juce_linux_Windowing.cpp index fd74f22f6c..03fe30df06 100644 --- a/modules/juce_gui_basics/native/juce_linux_Windowing.cpp +++ b/modules/juce_gui_basics/native/juce_linux_Windowing.cpp @@ -3124,6 +3124,11 @@ void MouseInputSource::setRawMousePosition (Point newPosition) XWarpPointer (display, None, root, 0, 0, 0, 0, newPosition.getX(), newPosition.getY()); } +double Desktop::getDefaultMasterScale() +{ + return 1.0; +} + Desktop::DisplayOrientation Desktop::getCurrentOrientation() const { return upright; diff --git a/modules/juce_gui_basics/native/juce_mac_Windowing.mm b/modules/juce_gui_basics/native/juce_mac_Windowing.mm index 5fb8fb451d..fa6793f91a 100644 --- a/modules/juce_gui_basics/native/juce_mac_Windowing.mm +++ b/modules/juce_gui_basics/native/juce_mac_Windowing.mm @@ -226,6 +226,11 @@ void MouseInputSource::setRawMousePosition (Point newPosition) CGAssociateMouseAndMouseCursorPosition (true); } +double Desktop::getDefaultMasterScale() +{ + return 1.0; +} + Desktop::DisplayOrientation Desktop::getCurrentOrientation() const { return upright; diff --git a/modules/juce_gui_basics/native/juce_win32_Windowing.cpp b/modules/juce_gui_basics/native/juce_win32_Windowing.cpp index f8def2565b..0cc09c80af 100644 --- a/modules/juce_gui_basics/native/juce_win32_Windowing.cpp +++ b/modules/juce_gui_basics/native/juce_win32_Windowing.cpp @@ -141,6 +141,7 @@ static inline Rectangle rectangleFromRECT (const RECT& r) noexcept return Rectangle::leftTopRightBottom ((int) r.left, (int) r.top, (int) r.right, (int) r.bottom); } +//============================================================================== static void setDPIAwareness() { if (JUCEApplication::isStandaloneApp()) @@ -162,7 +163,7 @@ inline double getDPI() return dpi; } -inline double getDisplayScale() +double Desktop::getDefaultMasterScale() { return getDPI() / 96.0; }