summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2018-05-22 17:00:27 +0000
committerManolo Gouy <Manolo>2018-05-22 17:00:27 +0000
commitce71c4b679b7afdb07de1133d0c600051e2601f6 (patch)
tree0a64edbcf68c8275bf512cd21e78bd69951a5b65 /src
parent4c65d976e4a7eab9a881735c70c416eafc28f538 (diff)
Add Fl::screen_scale(int) function to get the scaling factor value of a screen.
This allows to keep class Fl_Screen_Driver away from the public API. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12926 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl.cxx6
-rw-r--r--src/Fl_Window.cxx2
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm2
3 files changed, 8 insertions, 2 deletions
diff --git a/src/Fl.cxx b/src/Fl.cxx
index 6e60e524c..81aecdb25 100644
--- a/src/Fl.cxx
+++ b/src/Fl.cxx
@@ -2110,6 +2110,12 @@ int Fl::get_font_sizes(Fl_Font fnum, int*& sizep) {
return Fl_Graphics_Driver::default_driver().get_font_sizes(fnum, sizep);
}
+/** Current value of the GUI scaling factor for screen number \p n */
+float Fl::screen_scale(int n) {
+ return Fl::screen_driver()->scale(n);
+}
+
+
// Pointers you can use to change FLTK to another language.
// Note: Similar pointers are defined in FL/fl_ask.H and src/fl_ask.cxx
FL_EXPORT const char* fl_local_shift = Fl::system_driver()->shift_name();
diff --git a/src/Fl_Window.cxx b/src/Fl_Window.cxx
index c34988cf3..f8b25042c 100644
--- a/src/Fl_Window.cxx
+++ b/src/Fl_Window.cxx
@@ -632,7 +632,7 @@ void Fl_Window::size_range(int minw, int minh, int maxw, int maxh, int dw, int d
}
/** The number of the screen containing the mapped window */
-inline int Fl_Window::screen_num() {
+int Fl_Window::screen_num() {
return pWindowDriver->screen_num();
}
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm b/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm
index fabfcaa8f..fbc4584b7 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm
+++ b/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm
@@ -383,7 +383,7 @@ void Fl_Cocoa_Printer_Driver::draw_decorated_window(Fl_Window *win, int x_offset
CGContextRef gc = (CGContextRef)driver()->gc();
CGContextSaveGState(gc);
CGContextTranslateCTM(gc, x_offset - 0.5, y_offset + bt - 0.5);
- float s = Fl::screen_driver()->scale(Fl_Window_Driver::driver(win)->screen_num());
+ float s = Fl::screen_scale(win->screen_num());
CGContextScaleCTM(gc, 1/s, -1/s);
Fl_Cocoa_Window_Driver::draw_layer_to_context(layer, gc, win->w() * s, bt);
CGContextRestoreGState(gc);