diff options
| author | Manolo Gouy <Manolo> | 2016-03-20 08:44:30 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2016-03-20 08:44:30 +0000 |
| commit | 4baca53944c5193947203b5a96f95bfe8954a9cb (patch) | |
| tree | d6c4b27aebd3c2a8bd6869a7a0ce7dde1fb6fccf /FL | |
| parent | 51030530f24c33c59db3084bc2b088d50b2c6627 (diff) | |
Continue implementation of class Fl_Window_Driver according to Albrecht's plan.
This removes a bunch of
friend class Fl_XXX_Window_Driver;
declarations from Fl_Window.H, and therefore allows
to add a new window driver without modifying the platform-independent code.
The Fl_PicoXXX_Window_Driver classes have been modified but not tested ==> test needed.
File Fl_X11_Window_Driver.cxx contained this:
// DO NOT call this if the window is not mapped!
static int can_xdbe()
{ ... }
The new code does call can_xdbe() before any window is mapped,
and does work. Since can_xdbe() asks the X server whether it supports
the Xdbe extension, I don't see why this should not work without a
mapped window. This point should be clarified by the author of
"DO NOT call this if the window is not mapped!".
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11388 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL')
| -rw-r--r-- | FL/Fl_Window.H | 6 | ||||
| -rw-r--r-- | FL/Fl_Window_Driver.H | 9 |
2 files changed, 9 insertions, 6 deletions
diff --git a/FL/Fl_Window.H b/FL/Fl_Window.H index 35536a15d..c71326550 100644 --- a/FL/Fl_Window.H +++ b/FL/Fl_Window.H @@ -72,12 +72,6 @@ class FL_EXPORT Fl_Window : public Fl_Group { friend class Fl_X; friend class Fl_Window_Driver; - friend class Fl_X11_Window_Driver; - friend class Fl_Pico_Window_Driver; - friend class Fl_Cocoa_Window_Driver; - friend class Fl_WinAPI_Window_Driver; - friend class Fl_PicoSDL_Window_Driver; - friend class Fl_PicoAndroid_Window_Driver; Fl_X *i; // points at the system-specific stuff, but exists only after the window is mapped Fl_Window_Driver *pWindowDriver; // points at the system-specific stuff at window creatino time diff --git a/FL/Fl_Window_Driver.H b/FL/Fl_Window_Driver.H index 9302b77b6..204aa1a07 100644 --- a/FL/Fl_Window_Driver.H +++ b/FL/Fl_Window_Driver.H @@ -54,6 +54,13 @@ public: virtual ~Fl_Window_Driver(); static Fl_Window_Driver *newWindowDriver(Fl_Window *); + // --- accessors to private window data + int minw(); + int minh(); + int maxw(); + int maxh(); + unsigned char size_range_set(); + // --- window data virtual int decorated_w() = 0; virtual int decorated_h() = 0; @@ -62,8 +69,10 @@ public: virtual void take_focus(); virtual void flush_double(); virtual void flush_overlay(); + virtual void flush_single(); virtual void draw_begin(); virtual void draw_end(); + void draw(); virtual Fl_X *makeWindow() { /* FIXME: move Fl_X::make(Fl_Window*) here for OSX, MSWin, and X11 */ return 0; } virtual void wait_for_expose() {} // TODO: check |
