summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-03-06 22:22:22 +0000
committerManolo Gouy <Manolo>2016-03-06 22:22:22 +0000
commit5ca73da7b3e14153bb9f3bd17a64ced4874cc43d (patch)
tree86760f82e66f0e719fcd659acbc3fb859cea466f /src
parentacfeee6d78fd8d6b5bfeb094a09241885af143fc (diff)
Driver-based Fl_Double_Window implementation - continued.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11304 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx24
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Window_Driver.h1
2 files changed, 13 insertions, 12 deletions
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx
index 08a3184b9..685aebbd3 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx
+++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx
@@ -22,10 +22,22 @@
#include <FL/Fl_Double_Window.H>
#include <FL/fl_draw.H>
+// class used for Fl_Double_Window but not for Fl_Overlay_Window
+class Fl_Cocoa_Double_Window_Driver : public Fl_Cocoa_Window_Driver {
+public:
+ Fl_Cocoa_Double_Window_Driver(Fl_Window *w) : Fl_Cocoa_Window_Driver(w) {}
+ int double_flush(int eraseoverlay) {
+ draw();
+ return 0;
+ }
+};
Fl_Window_Driver *Fl_Window_Driver::newWindowDriver(Fl_Window *w)
{
- return new Fl_Cocoa_Window_Driver(w);
+ if (w->as_double_window() && !w->as_double_window()->as_overlay_window())
+ return new Fl_Cocoa_Double_Window_Driver(w);
+ else
+ return new Fl_Cocoa_Window_Driver(w);
}
@@ -43,16 +55,6 @@ void Fl_Cocoa_Window_Driver::take_focus()
set_key_window();
}
-int Fl_Cocoa_Window_Driver::double_flush(int eraseoverlay) {
- if ( ((Fl_Double_Window*)w)->as_overlay_window() ) {
- Fl_Window_Driver::double_flush(eraseoverlay);
- } else {
- draw();
- }
- return 0;
-}
-
-
//
// End of "$Id$".
//
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.h b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.h
index e7f683689..b0c756aa1 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.h
+++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.h
@@ -47,7 +47,6 @@ class FL_EXPORT Fl_Cocoa_Window_Driver : public Fl_Window_Driver
public:
Fl_Cocoa_Window_Driver(Fl_Window*);
virtual void take_focus();
- int double_flush(int eraseoverlay);
};