summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H86
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H58
2 files changed, 144 insertions, 0 deletions
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H
new file mode 100644
index 000000000..12dbead09
--- /dev/null
+++ b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.H
@@ -0,0 +1,86 @@
+//
+// "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $"
+//
+// Definition of Apple Cocoa Screen interface
+// 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_Screen_Driver.h
+ \brief Definition of Apple Cocoa Screen interface.
+ */
+
+#ifndef FL_COCOA_SCREEN_DRIVER_H
+#define FL_COCOA_SCREEN_DRIVER_H
+
+#include <FL/Fl_Screen_Driver.H>
+
+
+/*
+ Move everything here that manages the native screen interface.
+
+ There is exactly one screen driver in the system.
+
+ - screen configuration and sizes
+ - multiple screens
+ - native dialog boxes
+*/
+
+
+class Fl_Window;
+
+
+class FL_EXPORT Fl_Cocoa_Screen_Driver : public Fl_Screen_Driver
+{
+protected:
+ XRectangle screens[MAX_SCREENS];
+ float dpi_h[MAX_SCREENS];
+ float dpi_v[MAX_SCREENS];
+
+public:
+ // --- display management
+ // --- screen configuration
+ virtual void init();
+ virtual int x();
+ virtual int y();
+ virtual int w();
+ virtual int h();
+ virtual void screen_xywh(int &X, int &Y, int &W, int &H, int n);
+ virtual void screen_dpi(float &h, float &v, int n=0);
+ virtual void screen_work_area(int &X, int &Y, int &W, int &H, int n);
+ // --- audible output
+ virtual void beep(int type);
+ // --- global events
+ virtual void flush();
+ virtual double wait(double time_to_wait);
+ virtual int ready();
+ virtual void grab(Fl_Window* win);
+ // --- global colors
+ virtual int parse_color(const char* p, uchar& r, uchar& g, uchar& b);
+ virtual void get_system_colors();
+ virtual const char *get_system_scheme();
+ // --- global timers
+ virtual void add_timeout(double time, Fl_Timeout_Handler cb, void *argp);
+ virtual void repeat_timeout(double time, Fl_Timeout_Handler cb, void *argp);
+ virtual int has_timeout(Fl_Timeout_Handler cb, void *argp);
+ virtual void remove_timeout(Fl_Timeout_Handler cb, void *argp);
+};
+
+
+#endif // FL_COCOA_SCREEN_DRIVER_H
+
+//
+// End of "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $".
+//
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
new file mode 100644
index 000000000..b0c756aa1
--- /dev/null
+++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
@@ -0,0 +1,58 @@
+//
+// "$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_Cocoa_Window_Driver.h
+ \brief Definition of Apple Cocoa window driver.
+ */
+
+#ifndef FL_COCOA_WINDOW_DRIVER_H
+#define FL_COCOA_WINDOW_DRIVER_H
+
+#include <FL/Fl_Window_Driver.H>
+
+/*
+ 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_Cocoa_Window_Driver : public Fl_Window_Driver
+{
+public:
+ Fl_Cocoa_Window_Driver(Fl_Window*);
+ virtual void take_focus();
+};
+
+
+
+#endif // FL_COCOA_WINDOW_DRIVER_H
+
+//
+// End of "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $".
+//