summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Graphics_Driver.H1
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Graphics_Driver.cxx12
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();
}