diff options
| author | Manolo Gouy <Manolo> | 2016-03-06 22:22:22 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2016-03-06 22:22:22 +0000 |
| commit | 5ca73da7b3e14153bb9f3bd17a64ced4874cc43d (patch) | |
| tree | 86760f82e66f0e719fcd659acbc3fb859cea466f /src | |
| parent | acfeee6d78fd8d6b5bfeb094a09241885af143fc (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.cxx | 24 | ||||
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Window_Driver.h | 1 |
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); }; |
