diff options
Diffstat (limited to 'src/drivers')
| -rw-r--r-- | src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H | 1 | ||||
| -rw-r--r-- | src/drivers/Xlib/Fl_Xlib_Graphics_Driver.cxx | 12 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H index c8d12d880..ef225092d 100644 --- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H +++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H @@ -42,6 +42,7 @@ public: Fl_Xlib_Graphics_Driver(void); virtual int has_feature(driver_feature mask) { return mask & NATIVE; } virtual void *gc() { return gc_; } + virtual void gc(void *value); char can_do_alpha_blending(); // --- bitmap stuff diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.cxx index adc1c9362..83103c7e4 100644 --- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.cxx +++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver.cxx @@ -50,15 +50,15 @@ Fl_Graphics_Driver *Fl_Graphics_Driver::newMainGraphicsDriver() GC Fl_Xlib_Graphics_Driver::gc_ = NULL; Fl_Xlib_Graphics_Driver::Fl_Xlib_Graphics_Driver(void) { - if (!gc_) { - fl_open_display(); - // the unique GC used by all X windows - gc_ = XCreateGC(fl_display, RootWindow(fl_display, fl_screen), 0, 0); - fl_gc = gc_; - } mask_bitmap_ = NULL; } +void Fl_Xlib_Graphics_Driver::gc(void *value) { + gc_ = (GC)value; + fl_gc = gc_; +} + + char Fl_Xlib_Graphics_Driver::can_do_alpha_blending() { return Fl_X::xrender_supported(); } |
