summaryrefslogtreecommitdiff
path: root/FL
diff options
context:
space:
mode:
Diffstat (limited to 'FL')
-rw-r--r--FL/Fl_Window.H4
-rw-r--r--FL/Fl_Window_Driver.H6
-rw-r--r--FL/mac.H2
3 files changed, 9 insertions, 3 deletions
diff --git a/FL/Fl_Window.H b/FL/Fl_Window.H
index b4ba45034..9881d476c 100644
--- a/FL/Fl_Window.H
+++ b/FL/Fl_Window.H
@@ -34,6 +34,7 @@
#define FL_DOUBLE_WINDOW 0xF1 ///< double window type id
class Fl_X;
+class Fl_Window_Driver;
class Fl_RGB_Image;
class Fl_Shared_Image;
@@ -69,8 +70,9 @@ class FL_EXPORT Fl_Window : public Fl_Group {
int fullscreen_screen_right;
friend class Fl_X;
+ friend class Fl_Window_Driver;
friend class Fl_Paged_Device;
- Fl_X *i; // points at the system-specific stuff
+ Fl_Window_Driver *i; // points at the system-specific stuff
struct icon_data {
const void *legacy_icon;
diff --git a/FL/Fl_Window_Driver.H b/FL/Fl_Window_Driver.H
index 6b2e0ad89..f42360724 100644
--- a/FL/Fl_Window_Driver.H
+++ b/FL/Fl_Window_Driver.H
@@ -27,13 +27,17 @@
#include <FL/x.H>
+class Fl_Window;
+
+
/**
\brief A base class for platform specific window handling code.
*/
class FL_EXPORT Fl_Window_Driver : public Fl_X {
public:
- Fl_Window_Driver();
+ Fl_Window_Driver(Fl_Window *);
virtual ~Fl_Window_Driver();
+ static Fl_Window_Driver *newWindowDriver(Fl_Window *);
};
diff --git a/FL/mac.H b/FL/mac.H
index f5b3a0c2a..8da33239d 100644
--- a/FL/mac.H
+++ b/FL/mac.H
@@ -149,7 +149,7 @@ public:
int wait_for_expose;
NSCursor *cursor;
static Fl_X* first;
- static Fl_X* i(const Fl_Window* w) {return w->i;}
+ static Fl_X* i(const Fl_Window* w) {return (Fl_X*)w->i;}
static int fake_X_wm(const Fl_Window*,int&,int&,int&,int&,int&);
static void make(Fl_Window*);
void flush();