From c9d3eabf4e201384a930707fbe1b8a01771f5e3d Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sun, 17 Apr 2016 15:01:20 +0000 Subject: virtualized Fl::set_color and free_color. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11642 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/drivers/GDI/Fl_GDI_Graphics_Driver.H | 2 ++ src/drivers/GDI/Fl_GDI_Graphics_Driver_color.cxx | 4 ++-- src/drivers/PicoAndroid/Fl_PicoAndroid_Screen_Driver.cxx | 1 - src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx | 1 - src/drivers/Quartz/Fl_Quartz_Graphics_Driver.H | 1 + src/drivers/Quartz/Fl_Quartz_Graphics_Driver_color.cxx | 2 +- src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H | 2 ++ src/drivers/Xlib/Fl_Xlib_Graphics_Driver_color.cxx | 4 ++-- 8 files changed, 10 insertions(+), 7 deletions(-) (limited to 'src/drivers') diff --git a/src/drivers/GDI/Fl_GDI_Graphics_Driver.H b/src/drivers/GDI/Fl_GDI_Graphics_Driver.H index 9cd79ebaa..fa5b517e3 100644 --- a/src/drivers/GDI/Fl_GDI_Graphics_Driver.H +++ b/src/drivers/GDI/Fl_GDI_Graphics_Driver.H @@ -127,6 +127,8 @@ protected: void color(Fl_Color c); Fl_Color color() { return color_; } void color(uchar r, uchar g, uchar b); + void set_color(Fl_Color i, unsigned int c); + void free_color(Fl_Color i, int overlay); void set_spot(int font, int size, int X, int Y, int W, int H, Fl_Window *win); void reset_spot(); protected: diff --git a/src/drivers/GDI/Fl_GDI_Graphics_Driver_color.cxx b/src/drivers/GDI/Fl_GDI_Graphics_Driver_color.cxx index c32bbd8cb..a985250ed 100644 --- a/src/drivers/GDI/Fl_GDI_Graphics_Driver_color.cxx +++ b/src/drivers/GDI/Fl_GDI_Graphics_Driver_color.cxx @@ -185,12 +185,12 @@ CREATE_BRUSH: return brushes[i].brush; } -void Fl::free_color(Fl_Color i, int overlay) { +void Fl_GDI_Graphics_Driver::free_color(Fl_Color i, int overlay) { if (overlay) return; // do something about GL overlay? clear_xmap(fl_xmap[i]); } -void Fl::set_color(Fl_Color i, unsigned c) { +void Fl_GDI_Graphics_Driver::set_color(Fl_Color i, unsigned c) { if (fl_cmap[i] != c) { clear_xmap(fl_xmap[i]); fl_cmap[i] = c; diff --git a/src/drivers/PicoAndroid/Fl_PicoAndroid_Screen_Driver.cxx b/src/drivers/PicoAndroid/Fl_PicoAndroid_Screen_Driver.cxx index 94372136f..76cfb395a 100644 --- a/src/drivers/PicoAndroid/Fl_PicoAndroid_Screen_Driver.cxx +++ b/src/drivers/PicoAndroid/Fl_PicoAndroid_Screen_Driver.cxx @@ -471,7 +471,6 @@ int Fl::dnd() { return 0; } void Fl::copy(char const*, int, int, char const*) { } void Fl::paste(Fl_Widget&, int, char const*) { } void Fl::get_mouse(int&, int&) { } -void Fl::set_color(Fl_Color, unsigned int) { } int Fl_X::set_cursor(Fl_Cursor) { return 0; } int Fl_X::set_cursor(Fl_RGB_Image const*, int, int) { return 0; } diff --git a/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx b/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx index 7c7f83fa6..f4cd70926 100644 --- a/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx +++ b/src/drivers/PicoSDL/Fl_PicoSDL_Screen_Driver.cxx @@ -142,7 +142,6 @@ double Fl_PicoSDL_Screen_Driver::wait(double time_to_wait) #include #include -void Fl::set_color(Fl_Color, unsigned int) { } int Fl_X::set_cursor(Fl_Cursor) { return 0; } int Fl_X::set_cursor(Fl_RGB_Image const*, int, int) { return 0; } diff --git a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.H b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.H index 39eaec6cb..30cb8d984 100644 --- a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.H +++ b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.H @@ -110,6 +110,7 @@ protected: void line_style(int style, int width=0, char* dashes=0); // --- implementation is in src/fl_color.cxx which includes src/cfg_gfx/xxx_color.cxx void color(Fl_Color c); + void set_color(Fl_Color i, unsigned int c); Fl_Color color() { return color_; } void color(uchar r, uchar g, uchar b); // --- implementation is in src/fl_font.cxx which includes src/cfg_gfx/xxx_font.cxx diff --git a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_color.cxx b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_color.cxx index f9dc9e484..25743f257 100644 --- a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_color.cxx +++ b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_color.cxx @@ -72,7 +72,7 @@ void Fl_Quartz_Graphics_Driver::color(uchar r, uchar g, uchar b) { } // FIXME: this function should not be here! It's not part of the driver. -void Fl::set_color(Fl_Color i, unsigned c) { +void Fl_Quartz_Graphics_Driver::set_color(Fl_Color i, unsigned c) { if (fl_cmap[i] != c) { fl_cmap[i] = c; } diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H index d207ae16a..1e7bd43d8 100644 --- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H +++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H @@ -125,6 +125,8 @@ protected: void line_style(int style, int width=0, char* dashes=0); // --- implementation is in src/fl_color.cxx which includes src/cfg_gfx/xxx_color.cxx void color(Fl_Color c); + void set_color(Fl_Color i, unsigned int c); + void free_color(Fl_Color i, int overlay); Fl_Color color() { return color_; } void color(uchar r, uchar g, uchar b); virtual float scale_font_for_PostScript(Fl_Font_Descriptor *desc, int s); diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_color.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_color.cxx index 5f241423b..4f8f7961f 100644 --- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_color.cxx +++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_color.cxx @@ -308,7 +308,7 @@ ulong fl_xpixel(Fl_Color i) { \param[in] i color index \param[in] overlay 0 for normal, 1 for overlay color */ -void Fl::free_color(Fl_Color i, int overlay) { +void Fl_Xlib_Graphics_Driver::free_color(Fl_Color i, int overlay) { # if HAVE_OVERLAY # else if (overlay) return; @@ -332,7 +332,7 @@ void Fl::free_color(Fl_Color i, int overlay) { \param[in] i color index \param[in] c color */ -void Fl::set_color(Fl_Color i, unsigned c) { +void Fl_Xlib_Graphics_Driver::set_color(Fl_Color i, unsigned c) { if (fl_cmap[i] != c) { free_color(i,0); # if HAVE_OVERLAY -- cgit v1.2.3