summaryrefslogtreecommitdiff
path: root/src/Fl_Screen_Driver.cxx
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2020-01-31 15:48:21 +0100
committerAlbrecht Schlosser <albrechts.fltk@online.de>2020-01-31 15:48:21 +0100
commitf93b825b08fd848d793bd65f9a87d7f99b5df8b8 (patch)
treeb2bb9cccf31fc4bcd21b9a3b11ea68285a4adace /src/Fl_Screen_Driver.cxx
parent65a798f9a237f149d5c320697440fd9cb030f460 (diff)
Update Fl::keyboard_screen_scaling()
- make the internal variable static - make it callable after fl_open_display() - document that it's currently only usable to switch scaling off
Diffstat (limited to 'src/Fl_Screen_Driver.cxx')
-rw-r--r--src/Fl_Screen_Driver.cxx7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Fl_Screen_Driver.cxx b/src/Fl_Screen_Driver.cxx
index eb4dce212..092570521 100644
--- a/src/Fl_Screen_Driver.cxx
+++ b/src/Fl_Screen_Driver.cxx
@@ -37,9 +37,10 @@ char Fl_Screen_Driver::bg_set = 0;
char Fl_Screen_Driver::bg2_set = 0;
char Fl_Screen_Driver::fg_set = 0;
+int Fl_Screen_Driver::keyboard_screen_scaling = 1;
Fl_Screen_Driver::Fl_Screen_Driver() :
-num_screens(-1), text_editor_extra_key_bindings(NULL), keyboard_screen_scaling(true)
+num_screens(-1), text_editor_extra_key_bindings(NULL)
{
}
@@ -397,6 +398,7 @@ void Fl_Screen_Driver::transient_scale_display(float f, int nscreen)
// respond to Ctrl-'+' and Ctrl-'-' and Ctrl-'0' (Ctrl-'=' is same as Ctrl-'+') by rescaling all windows
int Fl_Screen_Driver::scale_handler(int event)
{
+ if (!keyboard_screen_scaling) return 0;
if ( event != FL_SHORTCUT || (!Fl::event_command()) ) return 0;
int key = Fl::event_key() & ~(FL_SHIFT+FL_COMMAND);
if (key == '=' || key == '-' || key == '+' || key == '0' || key == 0xE0/* for '0' on Fr keyboard */) {
@@ -471,7 +473,8 @@ void Fl_Screen_Driver::open_display()
been_here = true;
if (rescalable()) {
use_startup_scale_factor();
- if (keyboard_screen_scaling) Fl::add_handler(Fl_Screen_Driver::scale_handler);
+ if (keyboard_screen_scaling)
+ Fl::add_handler(Fl_Screen_Driver::scale_handler);
int mx, my;
int ns = Fl::screen_driver()->get_mouse(mx, my);
Fl_Graphics_Driver::default_driver().scale(scale(ns));