summaryrefslogtreecommitdiff
path: root/FL
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-03-20 08:44:30 +0000
committerManolo Gouy <Manolo>2016-03-20 08:44:30 +0000
commit4baca53944c5193947203b5a96f95bfe8954a9cb (patch)
treed6c4b27aebd3c2a8bd6869a7a0ce7dde1fb6fccf /FL
parent51030530f24c33c59db3084bc2b088d50b2c6627 (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.H6
-rw-r--r--FL/Fl_Window_Driver.H9
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