summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-03-01 11:11:15 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-03-01 11:11:15 +0100
commit0eef561e7b9bf54b764e7e7254b98530aac5384f (patch)
tree09755aca065c60ee7f7a2a1f430841f640221765 /src/drivers
parent5f2069871d00575717d998a2e1e3d398ec9137ef (diff)
Windows: make Ctrl/+/-/0/ scaling system-wide if all screens have same DPI
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H4
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx1
2 files changed, 4 insertions, 1 deletions
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)