summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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);