From 0eef561e7b9bf54b764e7e7254b98530aac5384f Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Fri, 1 Mar 2024 11:11:15 +0100 Subject: Windows: make Ctrl/+/-/0/ scaling system-wide if all screens have same DPI --- src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H | 4 +++- src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/drivers/WinAPI') diff --git a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H index 3bbd51d59..816b667f6 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H +++ b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H @@ -41,6 +41,8 @@ protected: public: float dpi[MAX_SCREENS][2]; + enum APP_SCALING_CAPABILITY scaling_capability; + void update_scaling_capability(); Fl_WinAPI_Screen_Driver(); // --- display management int visual(int flags) FL_OVERRIDE; @@ -72,7 +74,7 @@ public: void open_display_platform() FL_OVERRIDE; void offscreen_size(Fl_Offscreen off, int &width, int &height) FL_OVERRIDE; APP_SCALING_CAPABILITY rescalable() FL_OVERRIDE { - return PER_SCREEN_APP_SCALING; + return scaling_capability; } float scale(int n) FL_OVERRIDE { return scale_of_screen[n]; diff --git a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx index 452815afb..83f8f8973 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx @@ -48,6 +48,7 @@ static Fl_Text_Editor::Key_Binding extra_bindings[] = { Fl_WinAPI_Screen_Driver::Fl_WinAPI_Screen_Driver() : Fl_Screen_Driver() { text_editor_extra_key_bindings = extra_bindings; for (int i = 0; i < MAX_SCREENS; i++) scale_of_screen[i] = 1; + scaling_capability = SYSTEMWIDE_APP_SCALING; } int Fl_WinAPI_Screen_Driver::visual(int flags) -- cgit v1.2.3