diff options
Diffstat (limited to 'FL')
| -rw-r--r-- | FL/Fl_Device.H | 4 | ||||
| -rw-r--r-- | FL/Fl_Graphics_Driver.H | 4 | ||||
| -rw-r--r-- | FL/fl_draw.H | 5 |
3 files changed, 12 insertions, 1 deletions
diff --git a/FL/Fl_Device.H b/FL/Fl_Device.H index c03219b70..e1b80adab 100644 --- a/FL/Fl_Device.H +++ b/FL/Fl_Device.H @@ -81,7 +81,9 @@ public: /** \brief Returns the graphics driver of this drawing surface. */ inline Fl_Graphics_Driver *driver() {return pGraphicsDriver; }; /** The current drawing surface. - In other words, the Fl_Surface_Device object that currently receives all graphics requests */ + In other words, the Fl_Surface_Device object that currently receives all graphics requests + \note It's possible to transiently remove the GUI scaling factor in force in the current + drawing surface with \ref fl_remove_scale(). */ static inline Fl_Surface_Device *surface() { return surface_ ? surface_ : default_surface(); }; diff --git a/FL/Fl_Graphics_Driver.H b/FL/Fl_Graphics_Driver.H index 8a7a93b6f..fdebd1d50 100644 --- a/FL/Fl_Graphics_Driver.H +++ b/FL/Fl_Graphics_Driver.H @@ -364,6 +364,8 @@ public: virtual void font_name(int num, const char *name); // Defaut implementation may be enough virtual void overlay_rect(int x, int y, int w , int h); + virtual float remove_scale(); + virtual void restore_scale(float); }; #ifndef FL_DOXYGEN @@ -486,6 +488,8 @@ protected: void transformed_vertex(double xf, double yf); virtual void transformed_vertex0(float x, float y); void vertex(double x, double y); + virtual float remove_scale(); + virtual void restore_scale(float); }; #endif // FL_DOXYGEN diff --git a/FL/fl_draw.H b/FL/fl_draw.H index 4b9796acf..58168a0d7 100644 --- a/FL/fl_draw.H +++ b/FL/fl_draw.H @@ -687,6 +687,11 @@ FL_EXPORT const char *fl_local_to_mac_roman(const char *t, int n=-1); /** \addtogroup fl_drawings @{ */ + +FL_EXPORT float fl_remove_scale(); + +FL_EXPORT void fl_restore_scale(float s); + /** Draws a nul-terminated UTF-8 string starting at the given \p x, \p y location. |
