From 435d135825fd276edc5246a55f37b6873feb2ae2 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Wed, 13 Sep 2017 16:15:34 +0000 Subject: SVG support: draw images at full screen resolution also when there are several pixels per graphical unit, as with Apple retina displays. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12456 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- FL/Fl_Graphics_Driver.H | 3 ++- FL/Fl_Screen_Driver.H | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'FL') diff --git a/FL/Fl_Graphics_Driver.H b/FL/Fl_Graphics_Driver.H index 1a45d375f..1d740a055 100644 --- a/FL/Fl_Graphics_Driver.H +++ b/FL/Fl_Graphics_Driver.H @@ -167,7 +167,6 @@ protected: */ virtual void draw(Fl_Bitmap *bm, int XP, int YP, int WP, int HP, int cx, int cy) {} virtual void draw(Fl_Shared_Image *shared, int X, int Y); - virtual int draw_scaled(Fl_Image *img, int X, int Y, int W, int H); virtual void copy_offscreen(int x, int y, int w, int h, Fl_Offscreen pixmap, int srcx, int srcy); /** Support function for image drawing */ @@ -389,6 +388,8 @@ public: virtual const char *font_name(int num) {return NULL;} /** Support for Fl::set_font() */ virtual void font_name(int num, const char *name) {} + /** Support function for Fl_Shared_Image drawing */ + virtual int draw_scaled(Fl_Image *img, int X, int Y, int W, int H); }; #ifndef FL_DOXYGEN diff --git a/FL/Fl_Screen_Driver.H b/FL/Fl_Screen_Driver.H index 7f229e22b..c3b36779b 100644 --- a/FL/Fl_Screen_Driver.H +++ b/FL/Fl_Screen_Driver.H @@ -176,6 +176,9 @@ public: /** Returns the platform's support for rescaling the application with ctrl-/+/-/0/ keys. */ virtual APP_SCALING_CAPABILITY rescalable() { return NO_APP_SCALING; } + /* Number of pixels per drawing unit for the display. + The default implementation may be enough. */ + virtual float retina_factor() { return 1; } }; -- cgit v1.2.3