summaryrefslogtreecommitdiff
path: root/FL
diff options
context:
space:
mode:
Diffstat (limited to 'FL')
-rw-r--r--FL/Fl.H3
-rw-r--r--FL/Fl_Screen_Driver.H4
-rw-r--r--FL/Fl_System_Driver.H6
3 files changed, 9 insertions, 4 deletions
diff --git a/FL/Fl.H b/FL/Fl.H
index 24e9ec458..990847125 100644
--- a/FL/Fl.H
+++ b/FL/Fl.H
@@ -23,7 +23,7 @@
#ifndef Fl_H
# define Fl_H
-#include <FL/Fl_System_Driver.H>
+#include <FL/Fl_System_Driver.H> // for FL_SOCKET
#ifdef FLTK_HAVE_CAIRO
# include <FL/Fl_Cairo.H>
#endif
@@ -135,6 +135,7 @@ private:
public:
static Fl_Screen_Driver *screen_driver();
+ static Fl_System_Driver *system_driver();
public: // run time information about compile time configuration
/** \defgroup cfg_gfx runtime graphics driver configuration */
diff --git a/FL/Fl_Screen_Driver.H b/FL/Fl_Screen_Driver.H
index 752b701b2..7804af6a9 100644
--- a/FL/Fl_Screen_Driver.H
+++ b/FL/Fl_Screen_Driver.H
@@ -20,7 +20,9 @@
#define FL_SCREEN_DRIVER_H
#include <FL/Fl_Device.H>
-#include <FL/Fl.H>
+#include <FL/fl_types.h>
+#include <FL/Fl.H> // for Fl_Timeout_Handler
+
// TODO: add text composition?
// TODO: add Fl::display
diff --git a/FL/Fl_System_Driver.H b/FL/Fl_System_Driver.H
index c946f6836..a46820100 100644
--- a/FL/Fl_System_Driver.H
+++ b/FL/Fl_System_Driver.H
@@ -65,12 +65,13 @@ typedef int FL_SOCKET;
\brief A base class for platform-specific system operations.
*/
class FL_EXPORT Fl_System_Driver {
+ friend class Fl;
protected:
+ // implement once for each platform
+ static Fl_System_Driver *newSystemDriver();
Fl_System_Driver();
public:
virtual ~Fl_System_Driver();
- // copy the implementation in Fl_XXX_System_Driver.cxx to the corresponding file for the new platform
- static Fl_System_Driver *driver();
// These flags are useful after calling XParseGeometry(). They indicate which of its arguments
// contain meaningful data upon return.
static const int flNoValue;
@@ -80,6 +81,7 @@ public:
static const int flYValue;
static const int flXNegative;
static const int flYNegative;
+
// implement if the system adds unwanted program argument(s)
virtual int single_arg(const char *arg) { return 0; }
// implement if the system adds unwanted program argument pair(s)