From 22d302e242f9307bc1d24cb2b78f95e7a4fcf7ab Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Fri, 19 Feb 2016 21:41:02 +0000 Subject: Add System Driver and Window Driver. Adding two new driver types for each platform. Fl_..._System_Drivers exist once per application and provide an interface for to file and filename handling, timers, locking, multithreading, etc. . The Fl_..._Window_Driver class is instantiated once for every window in the system and corresponds closely to (and actually inherits from) Fl_X. The difference now is, that there is one Fl_X/Fl_Window_Driver base class, and one platform version that derives from it. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11193 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- FL/Fl_Device.H | 2 +- FL/Fl_Screen_Driver.H | 1 + FL/Fl_System_Driver.H | 44 ++++++++++++++++++++ FL/Fl_Window_Driver.H | 44 ++++++++++++++++++++ FL/mac.H | 4 +- FL/win32.H | 3 +- FL/x.H | 3 +- src/CMakeLists.txt | 20 ++++++--- src/Fl_System_Driver.cxx | 36 +++++++++++++++++ src/Fl_Window_Driver.cxx | 39 ++++++++++++++++++ src/Makefile | 17 +++++--- src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx | 2 - src/drivers/Darwin/Fl_Darwin_System_Driver.h | 7 ++++ src/drivers/Posix/Fl_Posix_System_Driver.cxx | 26 ++++++++++++ src/drivers/Posix/Fl_Posix_System_Driver.h | 50 +++++++++++++++++++++++ src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx | 26 ++++++++++++ src/drivers/WinAPI/Fl_WinAPI_System_Driver.h | 50 +++++++++++++++++++++++ src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx | 26 ++++++++++++ src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h | 56 ++++++++++++++++++++++++++ src/drivers/X11/Fl_X11_Window_Driver.cxx | 26 ++++++++++++ src/drivers/X11/Fl_X11_Window_Driver.h | 56 ++++++++++++++++++++++++++ 21 files changed, 520 insertions(+), 18 deletions(-) create mode 100644 FL/Fl_System_Driver.H create mode 100644 FL/Fl_Window_Driver.H create mode 100644 src/Fl_System_Driver.cxx create mode 100644 src/Fl_Window_Driver.cxx create mode 100644 src/drivers/Posix/Fl_Posix_System_Driver.cxx create mode 100644 src/drivers/Posix/Fl_Posix_System_Driver.h create mode 100644 src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx create mode 100644 src/drivers/WinAPI/Fl_WinAPI_System_Driver.h create mode 100644 src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx create mode 100644 src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h create mode 100644 src/drivers/X11/Fl_X11_Window_Driver.cxx create mode 100644 src/drivers/X11/Fl_X11_Window_Driver.h diff --git a/FL/Fl_Device.H b/FL/Fl_Device.H index 69b7f5d03..0cf436f20 100644 --- a/FL/Fl_Device.H +++ b/FL/Fl_Device.H @@ -25,13 +25,13 @@ #ifndef Fl_Device_H #define Fl_Device_H -#include #include #include class Fl_Graphics_Driver; class Fl_Font_Descriptor; class Fl_RGB_Image; +class Fl_Widget; /** All graphical output devices and all graphics systems. diff --git a/FL/Fl_Screen_Driver.H b/FL/Fl_Screen_Driver.H index e9b7a65a1..c7bc00497 100644 --- a/FL/Fl_Screen_Driver.H +++ b/FL/Fl_Screen_Driver.H @@ -20,6 +20,7 @@ #define FL_SCREEN_DRIVER_H #include +#include // TODO: add text composition? // TODO: add Fl::display diff --git a/FL/Fl_System_Driver.H b/FL/Fl_System_Driver.H new file mode 100644 index 000000000..e0dfb2ba2 --- /dev/null +++ b/FL/Fl_System_Driver.H @@ -0,0 +1,44 @@ +// +// "$Id$" +// +// A base class for platform specific system calls +// for the Fast Light Tool Kit (FLTK). +// +// Copyright 2010-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +/** \file Fl_System_Driver.H + \brief declaration of classe Fl_System_Driver. +*/ + +#ifndef FL_SYSTEM_DRIVER_H +#define FL_SYSTEM_DRIVER_H + +#include + + +/** + \brief A base class for platform specific window handling code. + */ +class FL_EXPORT Fl_System_Driver : public Fl_Device { +public: + Fl_System_Driver(); + virtual ~Fl_System_Driver(); +}; + + +#endif // FL_SYSTEM_DRIVER_H + +// +// End of "$Id$". +// diff --git a/FL/Fl_Window_Driver.H b/FL/Fl_Window_Driver.H new file mode 100644 index 000000000..6b2e0ad89 --- /dev/null +++ b/FL/Fl_Window_Driver.H @@ -0,0 +1,44 @@ +// +// "$Id$" +// +// A base class for platform specific window handling code +// for the Fast Light Tool Kit (FLTK). +// +// Copyright 2010-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +/** \file Fl_Window_Driver.H + \brief declaration of classe Fl_Window_Driver. +*/ + +#ifndef FL_WINDOW_DRIVER_H +#define FL_WINDOW_DRIVER_H + +#include + + +/** + \brief A base class for platform specific window handling code. + */ +class FL_EXPORT Fl_Window_Driver : public Fl_X { +public: + Fl_Window_Driver(); + virtual ~Fl_Window_Driver(); +}; + + +#endif // FL_WINDOW_DRIVER_H + +// +// End of "$Id$". +// diff --git a/FL/mac.H b/FL/mac.H index 5f2a5f5b6..f5b3a0c2a 100644 --- a/FL/mac.H +++ b/FL/mac.H @@ -32,6 +32,8 @@ typedef FLWindow *Window; typedef class FLWindow *Window; // pointer to the FLWindow objective-c class #endif // __OBJC__ +#include + #if !(defined(FL_LIBRARY) || defined(FL_INTERNALS)) // this part is used when compiling an application program # include @@ -137,7 +139,7 @@ extern NSCursor *fl_default_cursor; // This object contains all mac-specific stuff about a window: // WARNING: this object is highly subject to change! -class Fl_X { +class Fl_X : public Fl_Device { public: Window xid; // pointer to the Cocoa window object (FLWindow*) Fl_Offscreen other_xid; // pointer for offscreen bitmaps (overlay window) diff --git a/FL/win32.H b/FL/win32.H index a71ef97fa..23f239cf3 100644 --- a/FL/win32.H +++ b/FL/win32.H @@ -30,6 +30,7 @@ typedef HRGN Fl_Region; typedef HWND Window; typedef POINT XPoint; +#include #include // this part is included only when compiling the FLTK library or if requested explicitly @@ -62,7 +63,7 @@ inline void XClipBox(Fl_Region r,XRectangle* rect) { // this object contains all win32-specific stuff about a window: // Warning: this object is highly subject to change! -class FL_EXPORT Fl_X { +class FL_EXPORT Fl_X : public Fl_Device { public: // member variables - add new variables only at the end of this block Window xid; diff --git a/FL/x.H b/FL/x.H index 4e53adaa3..46d276952 100644 --- a/FL/x.H +++ b/FL/x.H @@ -25,6 +25,7 @@ # define Fl_X_H # include "Enumerations.H" +# include # ifdef WIN32 # include "win32.H" @@ -132,7 +133,7 @@ extern FL_EXPORT XFontStruct* fl_X_core_font(); // this object contains all X-specific stuff about a window: // Warning: this object is highly subject to change! // FL_LIBRARY or FL_INTERNALS must be defined to access this class. -class FL_EXPORT Fl_X { +class FL_EXPORT Fl_X : public Fl_Device { public: Window xid; Window other_xid; diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f866f9e9f..c1064eb37 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -167,7 +167,9 @@ if (USE_X11) # X11 (including APPLE with X11) set(DRIVER_FILES + drivers/Posix/Fl_Posix_System_Driver.cxx drivers/X11/Fl_X11_Screen_Driver.cxx + drivers/X11/Fl_X11_Window_Driver.cxx drivers/Xlib/Fl_Xlib_Graphics_Driver.cxx drivers/Xlib/Fl_Xlib_Graphics_Driver_arci.cxx drivers/Xlib/Fl_Xlib_Graphics_Driver_color.cxx @@ -186,8 +188,10 @@ if (USE_X11) ) endif (USE_XFT) set(DRIVER_HEADER_FILES - drivers/Quartz/Fl_Quartz_Graphics_Driver.h + drivers/Posix/Fl_Posix_System_Driver.h drivers/X11/Fl_X11_Screen_Driver.h + drivers/X11/Fl_X11_Window_Driver.h + drivers/Quartz/Fl_Quartz_Graphics_Driver.h ) elseif (APPLE) @@ -210,10 +214,10 @@ elseif (APPLE) drivers/Darwin/Fl_Darwin_System_Driver.cxx ) set(DRIVER_HEADER_FILES - drivers/Quartz/Fl_Quartz_Graphics_Driver.h - drivers/Cocoa/Fl_Cocoa_Window_Driver.h - drivers/Cocoa/Fl_Cocoa_Screen_Driver.h drivers/Darwin/Fl_Darwin_System_Driver.h + drivers/Cocoa/Fl_Cocoa_Screen_Driver.h + drivers/Cocoa/Fl_Cocoa_Window_Driver.h + drivers/Quartz/Fl_Quartz_Graphics_Driver.h ) else () @@ -221,6 +225,9 @@ else () # Windows (GDI) set(DRIVER_FILES + drivers/WinAPI/Fl_WinAPI_System_Driver.cxx + drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx + drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx drivers/GDI/Fl_GDI_Graphics_Driver.cxx drivers/GDI/Fl_GDI_Graphics_Driver_arci.cxx drivers/GDI/Fl_GDI_Graphics_Driver_color.cxx @@ -229,11 +236,12 @@ else () drivers/GDI/Fl_GDI_Graphics_Driver_line_style.cxx drivers/GDI/Fl_GDI_Graphics_Driver_rect.cxx drivers/GDI/Fl_GDI_Graphics_Driver_vertex.cxx - drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx ) set(DRIVER_HEADER_FILES - drivers/GDI/Fl_GDI_Graphics_Driver.h + drivers/WinAPI/Fl_WinAPI_System_Driver.h drivers/WinAPI/Fl_WinAPI_Screen_Driver.h + drivers/WinAPI/Fl_WinAPI_Window_Driver.h + drivers/GDI/Fl_GDI_Graphics_Driver.h ) endif (USE_X11) diff --git a/src/Fl_System_Driver.cxx b/src/Fl_System_Driver.cxx new file mode 100644 index 000000000..8acd2d4b3 --- /dev/null +++ b/src/Fl_System_Driver.cxx @@ -0,0 +1,36 @@ +// +// "$Id$" +// +// A base class for platform specific system calls. +// +// Copyright 1998-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + + +#include "config_lib.h" +#include + + +Fl_System_Driver::Fl_System_Driver() +{ +} + + +Fl_System_Driver::~Fl_System_Driver() +{ +} + + +// +// End of "$Id$". +// diff --git a/src/Fl_Window_Driver.cxx b/src/Fl_Window_Driver.cxx new file mode 100644 index 000000000..1bae27c59 --- /dev/null +++ b/src/Fl_Window_Driver.cxx @@ -0,0 +1,39 @@ +// +// "$Id$" +// +// A base class for platform specific window handling code +// for the Fast Light Tool Kit (FLTK). +// +// Copyright 1998-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + + +#include "config.h" +#include "config_lib.h" +#include +#include + + +Fl_Window_Driver::Fl_Window_Driver() +{ +} + + +Fl_Window_Driver::~Fl_Window_Driver() +{ +} + + +// +// End of "$Id$". +// diff --git a/src/Makefile b/src/Makefile index b6edb372d..2743de309 100644 --- a/src/Makefile +++ b/src/Makefile @@ -99,6 +99,7 @@ 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 \ @@ -165,10 +166,10 @@ CPPFILES = \ ps_image.cxx OBJCPPFILES = \ - Fl_cocoa.mm \ - Fl_Quartz_Printer.mm \ - Fl_Native_File_Chooser_MAC.mm \ - Fl_Sys_Menu_Bar.mm + Fl_cocoa.mm \ + Fl_Quartz_Printer.mm \ + Fl_Native_File_Chooser_MAC.mm \ + Fl_Sys_Menu_Bar.mm FLCPPFILES = \ forms_compatability.cxx \ @@ -245,7 +246,9 @@ XLIBCPPFILES = \ drivers/Xlib/Fl_Xlib_Graphics_Driver_line_style.cxx \ drivers/Xlib/Fl_Xlib_Graphics_Driver_rect.cxx \ drivers/Xlib/Fl_Xlib_Graphics_Driver_vertex.cxx \ - drivers/X11/Fl_X11_Screen_Driver.cxx + drivers/X11/Fl_X11_Window_Driver.cxx \ + drivers/X11/Fl_X11_Screen_Driver.cxx \ + drivers/X11/Fl_Posix_System_Driver.cxx XLIBFONTFILES = \ drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx @@ -262,7 +265,9 @@ GDICPPFILES = \ drivers/GDI/Fl_GDI_Graphics_Driver_line_style.cxx \ drivers/GDI/Fl_GDI_Graphics_Driver_rect.cxx \ drivers/GDI/Fl_GDI_Graphics_Driver_vertex.cxx \ - drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx + drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx \ + drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx \ + drivers/WinAPI/Fl_WinAPI_System_Driver.cxx ################################################################ FLTKFLAGS = -DFL_LIBRARY diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx index c9be0375e..e18d4aa82 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx +++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx @@ -21,8 +21,6 @@ #include "Fl_Cocoa_Window_Driver.h" -// Fl_Cocoa_Window_Driver - // // End of "$Id$". // diff --git a/src/drivers/Darwin/Fl_Darwin_System_Driver.h b/src/drivers/Darwin/Fl_Darwin_System_Driver.h index 29ba21932..c09359e9d 100644 --- a/src/drivers/Darwin/Fl_Darwin_System_Driver.h +++ b/src/drivers/Darwin/Fl_Darwin_System_Driver.h @@ -25,6 +25,8 @@ #ifndef FL_DARWIN_SYSTEM_DRIVER_H #define FL_DARWIN_SYSTEM_DRIVER_H +#include + /* Move everything here that manages the system interface. @@ -36,6 +38,11 @@ - multithreading */ +class Fl_Darwin_System_Driver : public Fl_System_Driver +{ +public: +}; + #endif // FL_DARWIN_SYSTEM_DRIVER_H // diff --git a/src/drivers/Posix/Fl_Posix_System_Driver.cxx b/src/drivers/Posix/Fl_Posix_System_Driver.cxx new file mode 100644 index 000000000..0a11e03aa --- /dev/null +++ b/src/drivers/Posix/Fl_Posix_System_Driver.cxx @@ -0,0 +1,26 @@ +// +// "$Id$" +// +// Definition of Apple Darwin system driver. +// +// Copyright 1998-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + + +#include "../../config_lib.h" +#include "Fl_Posix_System_Driver.h" + + +// +// End of "$Id$". +// diff --git a/src/drivers/Posix/Fl_Posix_System_Driver.h b/src/drivers/Posix/Fl_Posix_System_Driver.h new file mode 100644 index 000000000..1b688d705 --- /dev/null +++ b/src/drivers/Posix/Fl_Posix_System_Driver.h @@ -0,0 +1,50 @@ +// +// "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $" +// +// Definition of Posix system driver +// for the Fast Light Tool Kit (FLTK). +// +// Copyright 2010-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +/** + \file Fl_Posix_System_Driver.h + \brief Definition of Posix system driver. + */ + +#ifndef FL_POSIX_SYSTEM_DRIVER_H +#define FL_POSIX_SYSTEM_DRIVER_H + +#include + +/* + Move everything here that manages the system interface. + + There is excatly one system driver. + + - filename and pathname management + - directory and file access + - system time and system timer + - multithreading + */ + +class Fl_Posix_System_Driver : public Fl_System_Driver +{ +public: +}; + +#endif // FL_POSIX_SYSTEM_DRIVER_H + +// +// End of "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $". +// diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx new file mode 100644 index 000000000..301edbf2a --- /dev/null +++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx @@ -0,0 +1,26 @@ +// +// "$Id$" +// +// Definition of Apple Darwin system driver. +// +// Copyright 1998-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + + +#include "../../config_lib.h" +#include "Fl_WinAPI_System_Driver.h" + + +// +// End of "$Id$". +// diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.h b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.h new file mode 100644 index 000000000..379d74160 --- /dev/null +++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.h @@ -0,0 +1,50 @@ +// +// "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $" +// +// Definition of MSWindows system driver +// for the Fast Light Tool Kit (FLTK). +// +// Copyright 2010-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +/** + \file Fl_WinAPI_System_Driver.h + \brief Definition of MSWindows system driver. + */ + +#ifndef FL_WINAPI_SYSTEM_DRIVER_H +#define FL_WINAPI_SYSTEM_DRIVER_H + +#include + +/* + Move everything here that manages the system interface. + + There is excatly one system driver. + + - filename and pathname management + - directory and file access + - system time and system timer + - multithreading + */ + +class Fl_WinAPI_System_Driver : public Fl_System_Driver +{ +public: +}; + +#endif // FL_WINAPI_SYSTEM_DRIVER_H + +// +// End of "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $". +// diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx new file mode 100644 index 000000000..f9897619a --- /dev/null +++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx @@ -0,0 +1,26 @@ +// +// "$Id$" +// +// Definition of Apple Cocoa window driver. +// +// Copyright 1998-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + + +#include "../../config_lib.h" +#include "Fl_WinAPI_Window_Driver.h" + + +// +// End of "$Id$". +// diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h new file mode 100644 index 000000000..df4f6b7ef --- /dev/null +++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h @@ -0,0 +1,56 @@ +// +// "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $" +// +// Definition of Apple Cocoa window driver +// for the Fast Light Tool Kit (FLTK). +// +// Copyright 2010-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +/** + \file Fl_WinAPI_Window_Driver.h + \brief Definition of MSWindows window driver. + */ + +#ifndef FL_WINAPI_WINDOW_DRIVER_H +#define FL_WINAPI_WINDOW_DRIVER_H + +#include + +/* + Move everything here that manages the native window interface. + + There is one window driver for each Fl_Window. Window drivers manage window + actions such as resizing, events, decoration, fullscreen modes, etc. . All + drawing and rendering is managed by the Surface device and the associated + graphics driver. + + - window specific event handling + - window types and styles, depth, etc. + - decorations + + ? where do we handle the interface between OpenGL/DirectX and Cocoa/WIN32/Glx? + */ + +class FL_EXPORT Fl_WinAPI_Window_Driver : public Fl_X +{ +public: +}; + + + +#endif // FL_WINAPI_WINDOW_DRIVER_H + +// +// End of "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $". +// diff --git a/src/drivers/X11/Fl_X11_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Window_Driver.cxx new file mode 100644 index 000000000..f02d92ed8 --- /dev/null +++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx @@ -0,0 +1,26 @@ +// +// "$Id$" +// +// Definition of Apple Cocoa window driver. +// +// Copyright 1998-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + + +#include "../../config_lib.h" +#include "Fl_X11_Window_Driver.h" + + +// +// End of "$Id$". +// diff --git a/src/drivers/X11/Fl_X11_Window_Driver.h b/src/drivers/X11/Fl_X11_Window_Driver.h new file mode 100644 index 000000000..1c1da8391 --- /dev/null +++ b/src/drivers/X11/Fl_X11_Window_Driver.h @@ -0,0 +1,56 @@ +// +// "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $" +// +// Definition of X11 window driver +// for the Fast Light Tool Kit (FLTK). +// +// Copyright 2010-2016 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +/** + \file Fl_Cocoa_Window_Driver.h + \brief Definition of X11 window driver. + */ + +#ifndef FL_X11_WINDOW_DRIVER_H +#define FL_X11_WINDOW_DRIVER_H + +#include + +/* + Move everything here that manages the native window interface. + + There is one window driver for each Fl_Window. Window drivers manage window + actions such as resizing, events, decoration, fullscreen modes, etc. . All + drawing and rendering is managed by the Surface device and the associated + graphics driver. + + - window specific event handling + - window types and styles, depth, etc. + - decorations + + ? where do we handle the interface between OpenGL/DirectX and Cocoa/WIN32/Glx? + */ + +class FL_EXPORT Fl_X11_Window_Driver : public Fl_X +{ +public: +}; + + + +#endif // FL_X11_WINDOW_DRIVER_H + +// +// End of "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $". +// -- cgit v1.2.3