summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/Fl.cxx1
-rw-r--r--src/Fl_Window.cxx2
-rw-r--r--src/Fl_Window_Driver.cxx2
-rw-r--r--src/Fl_Window_iconize.cxx2
-rw-r--r--src/Fl_cocoa.mm4
-rw-r--r--src/Fl_win32.cxx3
-rw-r--r--src/Fl_x.cxx2
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx13
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Window_Driver.h5
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx12
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h5
-rw-r--r--src/drivers/X11/Fl_X11_Window_Driver.cxx12
-rw-r--r--src/drivers/X11/Fl_X11_Window_Driver.h5
-rw-r--r--src/fl_cursor.cxx2
15 files changed, 57 insertions, 14 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c1064eb37..789331067 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -79,6 +79,7 @@ set(CPPFILES
Fl_Value_Slider.cxx
Fl_Widget.cxx
Fl_Window.cxx
+ Fl_Window_Driver.cxx
Fl_Window_fullscreen.cxx
Fl_Window_hotspot.cxx
Fl_Window_iconize.cxx
diff --git a/src/Fl.cxx b/src/Fl.cxx
index 2bf37f064..a837eb6a3 100644
--- a/src/Fl.cxx
+++ b/src/Fl.cxx
@@ -47,6 +47,7 @@
#include <FL/Fl.H>
#include <FL/Fl_Screen_Driver.H>
+#include <FL/Fl_Window_Driver.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Tooltip.H>
#include <FL/x.H>
diff --git a/src/Fl_Window.cxx b/src/Fl_Window.cxx
index 75f423490..54d6e9cc2 100644
--- a/src/Fl_Window.cxx
+++ b/src/Fl_Window.cxx
@@ -22,7 +22,7 @@
// equivalent (but totally different) crap for MSWindows is in Fl_win32.cxx
#include <config.h>
#include <FL/Fl.H>
-#include <FL/x.H>
+#include <FL/Fl_Window_Driver.H>
#include <FL/Fl_RGB_Image.H>
#include <FL/Fl_Window.H>
#include <stdlib.h>
diff --git a/src/Fl_Window_Driver.cxx b/src/Fl_Window_Driver.cxx
index 1bae27c59..22517bfc7 100644
--- a/src/Fl_Window_Driver.cxx
+++ b/src/Fl_Window_Driver.cxx
@@ -24,7 +24,7 @@
#include <FL/Fl.H>
-Fl_Window_Driver::Fl_Window_Driver()
+Fl_Window_Driver::Fl_Window_Driver(Fl_Window *win)
{
}
diff --git a/src/Fl_Window_iconize.cxx b/src/Fl_Window_iconize.cxx
index 807c01d26..bd5b7e93a 100644
--- a/src/Fl_Window_iconize.cxx
+++ b/src/Fl_Window_iconize.cxx
@@ -16,7 +16,7 @@
// http://www.fltk.org/str.php
//
-#include <FL/x.H>
+#include <FL/Fl_Window_Driver.H>
extern char fl_show_iconic; // in Fl_x.cxx
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index 19542d9b3..02d67a11b 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -36,7 +36,7 @@ extern "C" {
#include <FL/Fl.H>
-#include <FL/x.H>
+#include <FL/Fl_Window_Driver.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Tooltip.H>
#include <FL/Fl_Printer.H>
@@ -2946,7 +2946,7 @@ void Fl_X::make(Fl_Window* w)
yp -= by+bt;
}
- Fl_X* x = new Fl_X;
+ Fl_Window_Driver *x = Fl_Window_Driver::newWindowDriver(w);
x->other_xid = 0; // room for doublebuffering image map. On OS X this is only used by overlay windows
x->region = 0;
x->subRect(0);
diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx
index 7e757b2fe..471b7434c 100644
--- a/src/Fl_win32.cxx
+++ b/src/Fl_win32.cxx
@@ -24,6 +24,7 @@
#ifndef FL_DOXYGEN
#include <FL/Fl.H>
+#include <FL/Fl_Window_Driver.H>
#include <FL/fl_utf8.h>
#include <FL/Fl_Window.H>
#include <FL/fl_draw.H>
@@ -1900,7 +1901,7 @@ Fl_X* Fl_X::make(Fl_Window* w) {
} else if (Fl::grab()) parent = fl_xid(Fl::grab());
}
- Fl_X* x = new Fl_X;
+ Fl_Window_Driver *x = Fl_Window_Driver::newWindowDriver(w);
x->other_xid = 0;
x->setwindow(w);
x->region = 0;
diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx
index 23b75c44a..bffb343d1 100644
--- a/src/Fl_x.cxx
+++ b/src/Fl_x.cxx
@@ -2285,7 +2285,7 @@ void Fl_Window::fullscreen_off_x(int X, int Y, int W, int H) {
void fl_fix_focus(); // in Fl.cxx
Fl_X* Fl_X::set_xid(Fl_Window* win, Window winxid) {
- Fl_X* xp = new Fl_X;
+ Fl_Window_Driver *x = Fl_Window_Driver::newWindowDriver(win);
xp->xid = winxid;
xp->other_xid = 0;
xp->setwindow(win);
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx
index e18d4aa82..06ab4f79d 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx
+++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx
@@ -21,6 +21,19 @@
#include "Fl_Cocoa_Window_Driver.h"
+Fl_Window_Driver *Fl_Window_Driver::newWindowDriver(Fl_Window *w)
+{
+ return new Fl_Cocoa_Window_Driver(w);
+}
+
+
+Fl_Cocoa_Window_Driver::Fl_Cocoa_Window_Driver(Fl_Window *win)
+: Fl_Window_Driver(win)
+{
+}
+
+
+
//
// End of "$Id$".
//
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.h b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.h
index 67d4f3d5a..b507e2ec4 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.h
+++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.h
@@ -25,7 +25,7 @@
#ifndef FL_COCOA_WINDOW_DRIVER_H
#define FL_COCOA_WINDOW_DRIVER_H
-#include <FL/x.H>
+#include <FL/Fl_Window_Driver.H>
/*
Move everything here that manages the native window interface.
@@ -42,9 +42,10 @@
? where do we handle the interface between OpenGL/DirectX and Cocoa/WIN32/Glx?
*/
-class FL_EXPORT Fl_Cocoa_Window_Driver : public Fl_X
+class FL_EXPORT Fl_Cocoa_Window_Driver : public Fl_Window_Driver
{
public:
+ Fl_Cocoa_Window_Driver(Fl_Window*);
};
diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
index f9897619a..b11b0ee00 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
+++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
@@ -21,6 +21,18 @@
#include "Fl_WinAPI_Window_Driver.h"
+Fl_Window_Driver *Fl_Window_Driver::newWindowDriver(Fl_Window *w)
+{
+ return new Fl_WinAPI_Window_Driver(w);
+}
+
+
+Fl_WinAPI_Window_Driver::Fl_WinAPI_Window_Driver(Fl_Window *win)
+: Fl_Window_Driver(win)
+{
+}
+
+
//
// End of "$Id$".
//
diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h
index df4f6b7ef..6e4113ef1 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h
+++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h
@@ -25,7 +25,7 @@
#ifndef FL_WINAPI_WINDOW_DRIVER_H
#define FL_WINAPI_WINDOW_DRIVER_H
-#include <FL/x.H>
+#include <FL/Fl_Window_Driver.H>
/*
Move everything here that manages the native window interface.
@@ -42,9 +42,10 @@
? where do we handle the interface between OpenGL/DirectX and Cocoa/WIN32/Glx?
*/
-class FL_EXPORT Fl_WinAPI_Window_Driver : public Fl_X
+class FL_EXPORT Fl_WinAPI_Window_Driver : public Fl_Window_Driver
{
public:
+ Fl_WinAPI_Window_Driver(Fl_Window*);
};
diff --git a/src/drivers/X11/Fl_X11_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Window_Driver.cxx
index f02d92ed8..ccdcfcb5f 100644
--- a/src/drivers/X11/Fl_X11_Window_Driver.cxx
+++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx
@@ -21,6 +21,18 @@
#include "Fl_X11_Window_Driver.h"
+Fl_Window_Driver *Fl_Window_Driver::newWindowDriver(Fl_Window *w)
+{
+ return new Fl_X11_Window_Driver(w);
+}
+
+
+Fl_X11_Window_Driver::Fl_X11_Window_Driver(Fl_Window *win)
+: Fl_Window_Driver(win)
+{
+}
+
+
//
// End of "$Id$".
//
diff --git a/src/drivers/X11/Fl_X11_Window_Driver.h b/src/drivers/X11/Fl_X11_Window_Driver.h
index 1c1da8391..b391ab5a1 100644
--- a/src/drivers/X11/Fl_X11_Window_Driver.h
+++ b/src/drivers/X11/Fl_X11_Window_Driver.h
@@ -25,7 +25,7 @@
#ifndef FL_X11_WINDOW_DRIVER_H
#define FL_X11_WINDOW_DRIVER_H
-#include <FL/x.H>
+#include <FL/Fl_Window_Driver.H>
/*
Move everything here that manages the native window interface.
@@ -42,9 +42,10 @@
? where do we handle the interface between OpenGL/DirectX and Cocoa/WIN32/Glx?
*/
-class FL_EXPORT Fl_X11_Window_Driver : public Fl_X
+class FL_EXPORT Fl_X11_Window_Driver : public Fl_Window_Driver
{
public:
+ Fl_X11_Window_Driver(Fl_Window*);
};
diff --git a/src/fl_cursor.cxx b/src/fl_cursor.cxx
index 5375c4f30..22e207a56 100644
--- a/src/fl_cursor.cxx
+++ b/src/fl_cursor.cxx
@@ -26,7 +26,7 @@
#include <FL/Fl_Window.H>
#include <FL/Fl_Pixmap.H>
#include <FL/Fl_RGB_Image.H>
-#include <FL/x.H>
+#include <FL/Fl_Window_Driver.H>
#include <FL/fl_draw.H>
#include "fl_cursor_wait.xpm"