summaryrefslogtreecommitdiff
path: root/src/drivers/X11/Fl_X11_Window_Driver.cxx
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-03-19 23:04:28 +0000
committerManolo Gouy <Manolo>2016-03-19 23:04:28 +0000
commit51030530f24c33c59db3084bc2b088d50b2c6627 (patch)
tree7ae4c000e5f5d50b26988df77ae7a3b04318baf7 /src/drivers/X11/Fl_X11_Window_Driver.cxx
parentc2067d81be322b07ca541dbc564fc6c1ca64025a (diff)
Advancing Albrecht's plan for the Fl_Window_Driver class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11387 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers/X11/Fl_X11_Window_Driver.cxx')
-rw-r--r--src/drivers/X11/Fl_X11_Window_Driver.cxx28
1 files changed, 8 insertions, 20 deletions
diff --git a/src/drivers/X11/Fl_X11_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Window_Driver.cxx
index d0443ae1b..15a7105e3 100644
--- a/src/drivers/X11/Fl_X11_Window_Driver.cxx
+++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx
@@ -148,18 +148,6 @@ void Fl_X11_Window_Driver::draw_begin()
}
-void Fl_X11_Window_Driver::flush_single()
-{
- if (!pWindow->shown()) return;
- pWindow->make_current(); // make sure fl_gc is non-zero
- Fl_X *i = Fl_X::i(pWindow);
- if (!i) return;
- fl_clip_region(i->region);
- i->region = 0;
- pWindow->draw();
-}
-
-
void Fl_X11_Window_Driver::flush_double()
{
if (!pWindow->shown()) return;
@@ -215,7 +203,6 @@ void Fl_X11_Window_Driver::flush_double()
void Fl_X11_Window_Driver::flush_overlay()
{
Fl_Overlay_Window *oWindow = pWindow->as_overlay_window();
- if (!oWindow) return flush_single();
if (!pWindow->shown()) return;
pWindow->make_current(); // make sure fl_gc is non-zero
@@ -289,15 +276,16 @@ void Fl_X11_Window_Driver::flush_overlay()
}
-
+void Fl_X11_Window_Driver::destroy_double_buffer() {
#if USE_XDBE
-
-//void Fl_X11_Dbe_Window_Driver::destroy_double_buffer() {
-// Fl_X *i = Fl_X::i(pWindow);
-// XdbeDeallocateBackBufferName(fl_display, i->other_xid);
-// i->other_xid = 0;
-//}
+ if (can_xdbe()) {
+ Fl_X *i = Fl_X::i(pWindow);
+ XdbeDeallocateBackBufferName(fl_display, i->other_xid);
+ i->other_xid = 0;
+ } else
#endif // USE_XDBE
+ Fl_Window_Driver::destroy_double_buffer();
+}
void Fl_X11_Window_Driver::shape_bitmap_(Fl_Image* b) {