diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl.cxx | 6 | ||||
| -rw-r--r-- | src/Fl_Window.cxx | 2 | ||||
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm | 2 |
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); |
