diff options
| -rw-r--r-- | FL/Fl_Graphics_Driver.H | 135 | ||||
| -rw-r--r-- | src/Fl_Gl_Window.cxx | 1 | ||||
| -rw-r--r-- | src/Fl_Graphics_Driver.cxx | 3 | ||||
| -rw-r--r-- | src/Fl_Scalable_Graphics_Driver.H | 156 | ||||
| -rw-r--r-- | src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H | 1 | ||||
| -rw-r--r-- | src/drivers/GDI/Fl_Font.H | 1 | ||||
| -rw-r--r-- | src/drivers/GDI/Fl_GDI_Graphics_Driver.H | 2 | ||||
| -rw-r--r-- | src/drivers/Quartz/Fl_Font.H | 1 | ||||
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx | 1 | ||||
| -rw-r--r-- | src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx | 1 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_Gl_Window_Driver.cxx | 1 | ||||
| -rw-r--r-- | src/drivers/X11/Fl_X11_Screen_Driver.cxx | 1 | ||||
| -rw-r--r-- | src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H | 1 | ||||
| -rw-r--r-- | src/gl_draw.cxx | 1 |
14 files changed, 170 insertions, 136 deletions
diff --git a/FL/Fl_Graphics_Driver.H b/FL/Fl_Graphics_Driver.H index 4b5578f15..13287943a 100644 --- a/FL/Fl_Graphics_Driver.H +++ b/FL/Fl_Graphics_Driver.H @@ -1,8 +1,8 @@ // -// Declaration of classes Fl_Graphics_Driver, Fl_Scalable_Graphics_Driver, +// Declaration of classes Fl_Graphics_Driver, // and Fl_Font_Descriptor for the Fast Light Tool Kit (FLTK). // -// Copyright 2010-2024 by Bill Spitzak and others. +// Copyright 2010-2025 by Bill Spitzak and others. // // This library is free software. Distribution and use rights are outlined in // the file "COPYING" which should have been included with this file. If this @@ -379,137 +379,6 @@ public: virtual void delete_bitmask(fl_uintptr_t bm); }; -#ifndef FL_DOXYGEN - -/* This class is not part of FLTK's public API. - Platforms usually define a derived class called Fl_XXX_Font_Descriptor - containing extra platform-specific data/functions. - This is a class for an actual system font, with junk to - help choose it and info on character sizes. Each Fl_Fontdesc has a - linked list of these. These are created the first time each system - font/size combination is used. - */ -class Fl_Font_Descriptor { -public: - /** linked list for this Fl_Fontdesc */ - Fl_Font_Descriptor *next; - Fl_Fontsize size; /**< font size */ - Fl_Font_Descriptor(const char* fontname, Fl_Fontsize size); - virtual FL_EXPORT ~Fl_Font_Descriptor() {} - int ascent, descent; - unsigned int listbase;// base of display list, 0 = none -}; - -// This struct is not part of FLTK's public API. -struct Fl_Fontdesc { - const char *name; - char fontname[128]; // "Pretty" font name - Fl_Font_Descriptor *first; // linked list of sizes of this style -}; - -/* Abstract class Fl_Scalable_Graphics_Driver is platform-independent. - It supports the scaling of all graphics coordinates by a - float factor helpful to support HiDPI displays. - This class does : - - compute scaled coordinates - - scale the cached offscreen of image objects - - scale the pixel arrays used when performing direct image draws - - call the member functions of a platform-specific, - Fl_Scalable_Graphics_Driver-derived class that do the drawings with adequately - scaled coordinates. The member functions are named with the _unscaled suffix. - - scale and unscale the clipping region. - - This class is presently used by the X11 and Windows platforms to support HiDPI displays. - In the future, it may also be used by other platforms. - */ -class FL_EXPORT Fl_Scalable_Graphics_Driver : public Fl_Graphics_Driver { - Fl_Fontsize fontsize_; // scale-independent font size value -public: - Fl_Scalable_Graphics_Driver(); - static int floor(int x, float s); - inline int floor(int x) { return Fl_Scalable_Graphics_Driver::floor(x, scale()); } -protected: - int line_width_; - bool is_solid_; - virtual Fl_Region scale_clip(float f); - void unscale_clip(Fl_Region r); - void point(int x, int y) FL_OVERRIDE; - virtual void point_unscaled(float x, float y); - void rect(int x, int y, int w, int h) FL_OVERRIDE; - void rectf(int x, int y, int w, int h) FL_OVERRIDE; - virtual void rect_unscaled(int x, int y, int w, int h); - virtual void rectf_unscaled(int x, int y, int w, int h); - void line(int x, int y, int x1, int y1) FL_OVERRIDE; - virtual void line_unscaled(int x, int y, int x1, int y1); - void line(int x, int y, int x1, int y1, int x2, int y2) FL_OVERRIDE; - virtual void line_unscaled(int x, int y, int x1, int y1, int x2, int y2); - void xyline(int x, int y, int x1) FL_OVERRIDE; - virtual void xyline_unscaled(int x, int y, int x1); - void xyline(int x, int y, int x1, int y2) FL_OVERRIDE {Fl_Graphics_Driver::xyline(x, y, x1, y2);} - void xyline(int x, int y, int x1, int y2, int x3) FL_OVERRIDE {Fl_Graphics_Driver::xyline(x, y, x1, y2, x3);} - void yxline(int x, int y, int y1) FL_OVERRIDE; - virtual void yxline_unscaled(int x, int y, int y1); - void yxline(int x, int y, int y1, int x2) FL_OVERRIDE {Fl_Graphics_Driver::yxline(x, y, y1, x2);} - void yxline(int x, int y, int y1, int x2, int y3) FL_OVERRIDE {Fl_Graphics_Driver::yxline(x, y, y1, x2, y3);} - void loop(int x0, int y0, int x1, int y1, int x2, int y2) FL_OVERRIDE; - virtual void loop_unscaled(int x0, int y0, int x1, int y1, int x2, int y2); - void loop(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3) FL_OVERRIDE; - virtual void loop_unscaled(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3); - void polygon(int x0, int y0, int x1, int y1, int x2, int y2) FL_OVERRIDE; - virtual void polygon_unscaled(int x0, int y0, int x1, int y1, int x2, int y2); - void polygon(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3) FL_OVERRIDE; - virtual void polygon_unscaled(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3); - void circle(double x, double y, double r) FL_OVERRIDE; - virtual void ellipse_unscaled(double xt, double yt, double rx, double ry); - void font(Fl_Font face, Fl_Fontsize size) FL_OVERRIDE; - Fl_Font font() FL_OVERRIDE; - virtual void font_unscaled(Fl_Font face, Fl_Fontsize size); - double width(const char *str, int n) FL_OVERRIDE; - double width(unsigned int c) FL_OVERRIDE; - virtual double width_unscaled(const char *str, int n); - virtual double width_unscaled(unsigned int c); - Fl_Fontsize size() FL_OVERRIDE; - virtual Fl_Fontsize size_unscaled(); - void text_extents(const char *str, int n, int &dx, int &dy, int &w, int &h) FL_OVERRIDE; - virtual void text_extents_unscaled(const char *str, int n, int &dx, int &dy, int &w, int &h); - int height() FL_OVERRIDE; - int descent() FL_OVERRIDE; - virtual int height_unscaled(); - virtual int descent_unscaled(); - void draw(const char *str, int n, int x, int y) FL_OVERRIDE; - virtual void draw_unscaled(const char *str, int n, int x, int y); - void draw(int angle, const char *str, int n, int x, int y) FL_OVERRIDE; - virtual void draw_unscaled(int angle, const char *str, int n, int x, int y); - void draw(const char *str, int nChars, float x, float y) FL_OVERRIDE; - void rtl_draw(const char* str, int n, int x, int y) FL_OVERRIDE; - virtual void rtl_draw_unscaled(const char* str, int n, int x, int y); - void arc(double x, double y, double r, double start, double end) FL_OVERRIDE; - void arc(int x, int y, int w, int h, double a1, double a2) FL_OVERRIDE; - virtual void arc_unscaled(int x, int y, int w, int h, double a1, double a2); - void pie(int x, int y, int w, int h, double a1, double a2) FL_OVERRIDE; - virtual void pie_unscaled(int x, int y, int w, int h, double a1, double a2); - void draw_circle(int x, int y, int d, Fl_Color c) FL_OVERRIDE; - void line_style(int style, int width=0, char* dashes=0) FL_OVERRIDE; - virtual void line_style_unscaled(int style, int width, char* dashes); - void draw_image_rescale(void *buf, Fl_Draw_Image_Cb cb, int X, int Y, int W, int H, int D, int L, bool mono); - virtual void draw_image_unscaled(const uchar* buf, int X,int Y,int W,int H, int D=3, int L=0); - virtual void draw_image_unscaled(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D=3); - void draw_image(const uchar* buf, int X,int Y,int W,int H, int D=3, int L=0) FL_OVERRIDE; - void draw_image(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D=3) FL_OVERRIDE; - virtual void draw_image_mono_unscaled(const uchar* buf, int x, int y, int w, int h, int d, int l); - void draw_image_mono(const uchar* buf, int X,int Y,int W,int H, int D=1, int L=0) FL_OVERRIDE; - virtual void draw_image_mono_unscaled(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D=1); - void draw_image_mono(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D=1) FL_OVERRIDE; - - void transformed_vertex(double xf, double yf) FL_OVERRIDE; - void vertex(double x, double y) FL_OVERRIDE; - float override_scale() FL_OVERRIDE; - void restore_scale(float) FL_OVERRIDE; - virtual void *change_pen_width(int lwidth); - virtual void reset_pen_width(void *data); -}; -#endif // FL_DOXYGEN - #endif // FL_GRAPHICS_DRIVER_H /** diff --git a/src/Fl_Gl_Window.cxx b/src/Fl_Gl_Window.cxx index 3e87a880a..b56bd30f9 100644 --- a/src/Fl_Gl_Window.cxx +++ b/src/Fl_Gl_Window.cxx @@ -24,6 +24,7 @@ extern int fl_gl_load_plugin; #include "Fl_Gl_Window_Driver.H" #include "Fl_Window_Driver.H" #include <FL/Fl_Graphics_Driver.H> +#include "Fl_Scalable_Graphics_Driver.H" // Fl_Fontdesc #include <FL/fl_utf8.h> #include "drivers/OpenGL/Fl_OpenGL_Display_Device.H" #include "drivers/OpenGL/Fl_OpenGL_Graphics_Driver.H" diff --git a/src/Fl_Graphics_Driver.cxx b/src/Fl_Graphics_Driver.cxx index 9ef46f9f3..dcdc25834 100644 --- a/src/Fl_Graphics_Driver.cxx +++ b/src/Fl_Graphics_Driver.cxx @@ -1,7 +1,7 @@ // // Fl_Graphics_Driver class for the Fast Light Tool Kit (FLTK). // -// Copyright 2010-2023 by Bill Spitzak and others. +// Copyright 2010-2025 by Bill Spitzak and others. // // This library is free software. Distribution and use rights are outlined in // the file "COPYING" which should have been included with this file. If this @@ -19,6 +19,7 @@ */ #include <config.h> // for HAVE_GL #include <FL/Fl_Graphics_Driver.H> +#include "Fl_Scalable_Graphics_Driver.H" // Fl_Fontdesc /** Points to the driver that currently receives all graphics requests */ FL_EXPORT Fl_Graphics_Driver *fl_graphics_driver; diff --git a/src/Fl_Scalable_Graphics_Driver.H b/src/Fl_Scalable_Graphics_Driver.H new file mode 100644 index 000000000..326ca313e --- /dev/null +++ b/src/Fl_Scalable_Graphics_Driver.H @@ -0,0 +1,156 @@ +// +// Declaration of Fl_Scalable_Graphics_Driver, Fl_Font_Descriptor, Fl_Fontdesc +// for the Fast Light Tool Kit (FLTK). +// +// Copyright 2025 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// https://www.fltk.org/COPYING.php +// +// Please see the following page on how to report bugs and issues: +// +// https://www.fltk.org/bugs.php +// + +#ifndef FL_SCALABLE_GRAPHICS_DRIVER_H +#define FL_SCALABLE_GRAPHICS_DRIVER_H + +#include <FL/Fl_Graphics_Driver.H> + +#ifndef FL_DOXYGEN + + +/* Class Fl_Scalable_Graphics_Driver is platform-independent. + It supports the scaling of all graphics coordinates by a + float factor helpful to support HiDPI displays. + This class does : + - compute scaled coordinates + - scale the cached offscreen of image objects + - scale the pixel arrays used when performing direct image draws + - call the member functions of a platform-specific, + Fl_Scalable_Graphics_Driver-derived class that do the drawings with adequately + scaled coordinates. These member functions are named with the _unscaled suffix. + - scale and unscale the clipping region. + + This class is presently used by the X11 and Windows platforms. + */ +class FL_EXPORT Fl_Scalable_Graphics_Driver : public Fl_Graphics_Driver { + Fl_Fontsize fontsize_; // scale-independent font size value +public: + static int floor(int x, float s); + inline int floor(int x) { return Fl_Scalable_Graphics_Driver::floor(x, scale()); } +protected: + int line_width_; + bool is_solid_; + Fl_Scalable_Graphics_Driver(); + virtual Fl_Region scale_clip(float f); + void unscale_clip(Fl_Region r); + void point(int x, int y) FL_OVERRIDE; + virtual void point_unscaled(float x, float y); + void rect(int x, int y, int w, int h) FL_OVERRIDE; + void rectf(int x, int y, int w, int h) FL_OVERRIDE; + virtual void rect_unscaled(int x, int y, int w, int h); + virtual void rectf_unscaled(int x, int y, int w, int h); + void line(int x, int y, int x1, int y1) FL_OVERRIDE; + virtual void line_unscaled(int x, int y, int x1, int y1); + void line(int x, int y, int x1, int y1, int x2, int y2) FL_OVERRIDE; + virtual void line_unscaled(int x, int y, int x1, int y1, int x2, int y2); + void xyline(int x, int y, int x1) FL_OVERRIDE; + virtual void xyline_unscaled(int x, int y, int x1); + void xyline(int x, int y, int x1, int y2) FL_OVERRIDE {Fl_Graphics_Driver::xyline(x, y, x1, y2);} + void xyline(int x, int y, int x1, int y2, int x3) FL_OVERRIDE {Fl_Graphics_Driver::xyline(x, y, x1, y2, x3);} + void yxline(int x, int y, int y1) FL_OVERRIDE; + virtual void yxline_unscaled(int x, int y, int y1); + void yxline(int x, int y, int y1, int x2) FL_OVERRIDE {Fl_Graphics_Driver::yxline(x, y, y1, x2);} + void yxline(int x, int y, int y1, int x2, int y3) FL_OVERRIDE {Fl_Graphics_Driver::yxline(x, y, y1, x2, y3);} + void loop(int x0, int y0, int x1, int y1, int x2, int y2) FL_OVERRIDE; + virtual void loop_unscaled(int x0, int y0, int x1, int y1, int x2, int y2); + void loop(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3) FL_OVERRIDE; + virtual void loop_unscaled(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3); + void polygon(int x0, int y0, int x1, int y1, int x2, int y2) FL_OVERRIDE; + virtual void polygon_unscaled(int x0, int y0, int x1, int y1, int x2, int y2); + void polygon(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3) FL_OVERRIDE; + virtual void polygon_unscaled(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3); + void circle(double x, double y, double r) FL_OVERRIDE; + virtual void ellipse_unscaled(double xt, double yt, double rx, double ry); + void font(Fl_Font face, Fl_Fontsize size) FL_OVERRIDE; + Fl_Font font() FL_OVERRIDE; + virtual void font_unscaled(Fl_Font face, Fl_Fontsize size); + double width(const char *str, int n) FL_OVERRIDE; + double width(unsigned int c) FL_OVERRIDE; + virtual double width_unscaled(const char *str, int n); + virtual double width_unscaled(unsigned int c); + Fl_Fontsize size() FL_OVERRIDE; + virtual Fl_Fontsize size_unscaled(); + void text_extents(const char *str, int n, int &dx, int &dy, int &w, int &h) FL_OVERRIDE; + virtual void text_extents_unscaled(const char *str, int n, int &dx, int &dy, int &w, int &h); + int height() FL_OVERRIDE; + int descent() FL_OVERRIDE; + virtual int height_unscaled(); + virtual int descent_unscaled(); + void draw(const char *str, int n, int x, int y) FL_OVERRIDE; + virtual void draw_unscaled(const char *str, int n, int x, int y); + void draw(int angle, const char *str, int n, int x, int y) FL_OVERRIDE; + virtual void draw_unscaled(int angle, const char *str, int n, int x, int y); + void draw(const char *str, int nChars, float x, float y) FL_OVERRIDE; + void rtl_draw(const char* str, int n, int x, int y) FL_OVERRIDE; + virtual void rtl_draw_unscaled(const char* str, int n, int x, int y); + void arc(double x, double y, double r, double start, double end) FL_OVERRIDE; + void arc(int x, int y, int w, int h, double a1, double a2) FL_OVERRIDE; + virtual void arc_unscaled(int x, int y, int w, int h, double a1, double a2); + void pie(int x, int y, int w, int h, double a1, double a2) FL_OVERRIDE; + virtual void pie_unscaled(int x, int y, int w, int h, double a1, double a2); + void draw_circle(int x, int y, int d, Fl_Color c) FL_OVERRIDE; + void line_style(int style, int width=0, char* dashes=0) FL_OVERRIDE; + virtual void line_style_unscaled(int style, int width, char* dashes); + void draw_image_rescale(void *buf, Fl_Draw_Image_Cb cb, int X, int Y, int W, int H, int D, int L, bool mono); + virtual void draw_image_unscaled(const uchar* buf, int X,int Y,int W,int H, int D=3, int L=0); + virtual void draw_image_unscaled(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D=3); + void draw_image(const uchar* buf, int X,int Y,int W,int H, int D=3, int L=0) FL_OVERRIDE; + void draw_image(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D=3) FL_OVERRIDE; + virtual void draw_image_mono_unscaled(const uchar* buf, int x, int y, int w, int h, int d, int l); + void draw_image_mono(const uchar* buf, int X,int Y,int W,int H, int D=1, int L=0) FL_OVERRIDE; + virtual void draw_image_mono_unscaled(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D=1); + void draw_image_mono(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D=1) FL_OVERRIDE; + + void transformed_vertex(double xf, double yf) FL_OVERRIDE; + void vertex(double x, double y) FL_OVERRIDE; + float override_scale() FL_OVERRIDE; + void restore_scale(float) FL_OVERRIDE; + virtual void *change_pen_width(int lwidth); + virtual void reset_pen_width(void *data); +}; + + +/* + Platforms usually define a derived class called Fl_XXX_Font_Descriptor + containing extra platform-specific data/functions. + This is a class for an actual system font, with junk to + help choose it and info on character sizes. Each Fl_Fontdesc has a + linked list of these. These are created the first time each system + font/size combination is used. + */ +class Fl_Font_Descriptor { +public: + /** linked list for this Fl_Fontdesc */ + Fl_Font_Descriptor *next; + Fl_Fontsize size; /**< font size */ + Fl_Font_Descriptor(const char* fontname, Fl_Fontsize size); + virtual FL_EXPORT ~Fl_Font_Descriptor() {} + int ascent, descent; + unsigned int listbase;// base of display list, 0 = none +}; + + +struct Fl_Fontdesc { + const char *name; + char fontname[128]; // "Pretty" font name + Fl_Font_Descriptor *first; // linked list of sizes of this style +}; + +#endif // FL_DOXYGEN + +#endif // FL_SCALABLE_GRAPHICS_DRIVER_H diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H index 5045790cc..eee10900d 100644 --- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H +++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H @@ -22,6 +22,7 @@ # define FL_CAIRO_GRAPHICS_DRIVER_H #include <FL/Fl_Graphics_Driver.H> +#include "../../Fl_Scalable_Graphics_Driver.H" // Fl_Font_Descriptor #include <cairo/cairo.h> typedef struct _PangoLayout PangoLayout; diff --git a/src/drivers/GDI/Fl_Font.H b/src/drivers/GDI/Fl_Font.H index d160c55e9..3e8b1296f 100644 --- a/src/drivers/GDI/Fl_Font.H +++ b/src/drivers/GDI/Fl_Font.H @@ -23,6 +23,7 @@ #define FL_FONT_ #include <config.h> +#include "../../Fl_Scalable_Graphics_Driver.H" class Fl_GDI_Font_Descriptor : public Fl_Font_Descriptor { public: diff --git a/src/drivers/GDI/Fl_GDI_Graphics_Driver.H b/src/drivers/GDI/Fl_GDI_Graphics_Driver.H index 01ecf9531..336fa1ebc 100644 --- a/src/drivers/GDI/Fl_GDI_Graphics_Driver.H +++ b/src/drivers/GDI/Fl_GDI_Graphics_Driver.H @@ -23,7 +23,7 @@ #ifndef FL_GDI_GRAPHICS_DRIVER_H #define FL_GDI_GRAPHICS_DRIVER_H -#include <FL/Fl_Graphics_Driver.H> +#include "../../Fl_Scalable_Graphics_Driver.H" #include <windows.h> #include <stdlib.h> #include <config.h> diff --git a/src/drivers/Quartz/Fl_Font.H b/src/drivers/Quartz/Fl_Font.H index be571ece1..c700568a2 100644 --- a/src/drivers/Quartz/Fl_Font.H +++ b/src/drivers/Quartz/Fl_Font.H @@ -24,6 +24,7 @@ #include <config.h> #include "Fl_Quartz_Graphics_Driver.H" +#include "../../Fl_Scalable_Graphics_Driver.H" // Fl_Font_Descriptor #include <ApplicationServices/ApplicationServices.h> class Fl_Quartz_Font_Descriptor : public Fl_Font_Descriptor { diff --git a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx index 8cb90d995..e6f4ad65f 100644 --- a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx @@ -17,6 +17,7 @@ #include "Fl_Wayland_Screen_Driver.H" #include "Fl_Wayland_Window_Driver.H" #include "Fl_Wayland_Graphics_Driver.H" +#include "../../Fl_Scalable_Graphics_Driver.H" #include <wayland-cursor.h> #include "../../../libdecor/build/fl_libdecor.h" #include "xdg-shell-client-protocol.h" diff --git a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx index a3a7ccf47..b1ddc9f91 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx @@ -20,7 +20,6 @@ #include "../GDI/Fl_Font.H" #include <FL/Fl.H> #include <FL/platform.H> -#include "../GDI/Fl_GDI_Graphics_Driver.H" #include <FL/Fl_RGB_Image.H> #include <FL/fl_ask.H> #include <stdio.h> diff --git a/src/drivers/X11/Fl_X11_Gl_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Gl_Window_Driver.cxx index 938c61a7b..a1b998b8e 100644 --- a/src/drivers/X11/Fl_X11_Gl_Window_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Gl_Window_Driver.cxx @@ -20,6 +20,7 @@ #include "../../Fl_Gl_Choice.H" #include "../../Fl_Screen_Driver.H" #include "Fl_X11_Gl_Window_Driver.H" +#include "Fl_Scalable_Graphics_Driver.H" // Fl_Font_Descriptor #include <GL/glx.h> #if ! (USE_XFT || FLTK_USE_CAIRO) # include "../Xlib/Fl_Font.H" diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.cxx b/src/drivers/X11/Fl_X11_Screen_Driver.cxx index f9cff395d..ad2958a36 100644 --- a/src/drivers/X11/Fl_X11_Screen_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Screen_Driver.cxx @@ -18,6 +18,7 @@ #include <config.h> #include "Fl_X11_Screen_Driver.H" #include "Fl_X11_Window_Driver.H" +#include "../../Fl_Scalable_Graphics_Driver.H" #include "../Posix/Fl_Posix_System_Driver.H" #include <FL/Fl.H> #include <FL/platform.H> diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H index b3e9ad444..83146aef0 100644 --- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H +++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H @@ -24,6 +24,7 @@ #include <config.h> #include <FL/Fl_Graphics_Driver.H> +#include "../../Fl_Scalable_Graphics_Driver.H" #include <FL/platform.H> #if HAVE_X11_XREGION_H diff --git a/src/gl_draw.cxx b/src/gl_draw.cxx index 367990da5..ae0dc94db 100644 --- a/src/gl_draw.cxx +++ b/src/gl_draw.cxx @@ -40,6 +40,7 @@ #include <FL/math.h> // for ceil() #include "Fl_Gl_Window_Driver.H" #include <FL/Fl_Image_Surface.H> +#include "Fl_Scalable_Graphics_Driver.H" // Fl_Font_Descriptor #if HAVE_GL_GLU_H # include <FL/glu.h> // for gluUnProject() #endif |
