Set Fl_Graphics_Driver::set_color(Fl_Color, unsigned) used by macOS, Wayland and display-cairo.

This commit is contained in:
ManoloFLTK 2022-08-30 07:58:16 +02:00
parent 510f711513
commit 95c851fda1
5 changed files with 6 additions and 19 deletions

View File

@ -38,6 +38,8 @@ const Fl_Graphics_Driver::matrix Fl_Graphics_Driver::m0 = {1, 0, 0, 1, 0, 0};
/** Used by the Windows platform to print Fl_Pixmap objects. */
unsigned Fl_Graphics_Driver::need_pixmap_bg_color = 0;
extern unsigned fl_cmap[256]; // defined in fl_color.cxx
/** Constructor */
Fl_Graphics_Driver::Fl_Graphics_Driver()
{
@ -135,7 +137,9 @@ void Fl_Graphics_Driver::global_gc()
/** see Fl::set_color(Fl_Color, unsigned) */
void Fl_Graphics_Driver::set_color(Fl_Color i, unsigned c)
{
// nothing to do, reimplement in driver if needed
if (fl_cmap[i] != c) {
fl_cmap[i] = c;
}
}

View File

@ -116,7 +116,6 @@ protected:
void pie(int x, int y, int w, int h, double a1, double a2);
void line_style(int style, int width=0, char* dashes=0);
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);
void draw(const char *str, int n, int x, int y);

View File

@ -63,10 +63,3 @@ void Fl_Quartz_Graphics_Driver::color(uchar r, uchar g, uchar b) {
CGContextSetRGBFillColor(gc_, fr, fg, fb, 1.0f);
CGContextSetRGBStrokeColor(gc_, fr, fg, fb, 1.0f);
}
// FIXME: this function should not be here! It's not part of the driver.
void Fl_Quartz_Graphics_Driver::set_color(Fl_Color i, unsigned c) {
if (fl_cmap[i] != c) {
fl_cmap[i] = c;
}
}

View File

@ -75,8 +75,7 @@ public:
Fl_Wayland_Graphics_Driver();
static const uint32_t wld_format;
void set_buffer(struct fl_wld_buffer *buffer, float scale = 0);
void set_color(Fl_Color i, unsigned c);
void copy_offscreen(int x, int y, int w, int h, Fl_Offscreen osrc, int srcx, int srcy);
virtual void copy_offscreen(int x, int y, int w, int h, Fl_Offscreen osrc, int srcx, int srcy);
static struct fl_wld_buffer *create_shm_buffer(int width, int height);
static void buffer_release(struct wld_window *window);
static void buffer_commit(struct wld_window *window, const struct wl_callback_listener*);

View File

@ -28,7 +28,6 @@
#include <errno.h>
#include <string.h> // for strerror()
extern unsigned fl_cmap[256]; // defined in fl_color.cxx
extern "C" {
int os_create_anonymous_file(off_t); // in libdecor
@ -142,13 +141,6 @@ void Fl_Wayland_Graphics_Driver::set_buffer(struct fl_wld_buffer *buffer, float
}
void Fl_Wayland_Graphics_Driver::set_color(Fl_Color i, unsigned c) {
if (fl_cmap[i] != c) {
fl_cmap[i] = c;
}
}
void Fl_Wayland_Graphics_Driver::copy_offscreen(int x, int y, int w, int h, Fl_Offscreen src, int srcx, int srcy) {
// draw portion srcx,srcy,w,h of osrc to position x,y (top-left) of the graphics driver's surface
struct fl_wld_buffer *osrc = (struct fl_wld_buffer *)src;