summaryrefslogtreecommitdiff
path: root/src/drivers/WinAPI
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/WinAPI')
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H75
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx2
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_System_Driver.H50
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx2
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx2
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h57
6 files changed, 128 insertions, 60 deletions
diff --git a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H
new file mode 100644
index 000000000..88edd3b43
--- /dev/null
+++ b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.H
@@ -0,0 +1,75 @@
+//
+// "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $"
+//
+// Definition of MSWindows Win32/64 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_WinAPI_Screen_Driver.H
+ \brief Definition of MSWindows Win32/64 Screen interface.
+ */
+
+#ifndef FL_WINAPI_SCREEN_DRIVER_H
+#define FL_WINAPI_SCREEN_DRIVER_H
+
+#include <FL/Fl_Screen_Driver.H>
+#include <FL/x.H>
+
+
+class Fl_Window;
+
+
+class FL_EXPORT Fl_WinAPI_Screen_Driver : public Fl_Screen_Driver
+{
+protected:
+ RECT screens[MAX_SCREENS];
+ RECT work_area[MAX_SCREENS];
+ float dpi[MAX_SCREENS][2];
+
+ static BOOL CALLBACK screen_cb(HMONITOR mon, HDC, LPRECT r, LPARAM);
+ BOOL screen_cb(HMONITOR mon, HDC, LPRECT r);
+
+public:
+ // --- display management
+ virtual int visual(int flags);
+ // --- 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();
+};
+
+
+#endif // FL_WINAPI_SCREEN_DRIVER_H
+
+//
+// End of "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $".
+//
diff --git a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx
index bc642fdde..2ebb2fb4f 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx
+++ b/src/drivers/WinAPI/Fl_WinAPI_Screen_Driver.cxx
@@ -18,7 +18,7 @@
#include "../../config_lib.h"
-#include "Fl_WinAPI_Screen_Driver.h"
+#include "Fl_WinAPI_Screen_Driver.H"
#include <FL/Fl.H>
#include <FL/x.H>
#include <FL/Fl_Graphics_Driver.H>
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..accc6d29b
--- /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 <FL/Fl_System_Driver.H>
+
+/*
+ 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_System_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx
index 301edbf2a..031b0aac2 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx
+++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx
@@ -18,7 +18,7 @@
#include "../../config_lib.h"
-#include "Fl_WinAPI_System_Driver.h"
+#include "Fl_WinAPI_System_Driver.H"
//
diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
index b11b0ee00..c8d18a6c5 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
+++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
@@ -18,7 +18,7 @@
#include "../../config_lib.h"
-#include "Fl_WinAPI_Window_Driver.h"
+#include "Fl_WinAPI_Window_Driver.H"
Fl_Window_Driver *Fl_Window_Driver::newWindowDriver(Fl_Window *w)
diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h
deleted file mode 100644
index 6e4113ef1..000000000
--- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.h
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// "$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 <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_WinAPI_Window_Driver : public Fl_Window_Driver
-{
-public:
- Fl_WinAPI_Window_Driver(Fl_Window*);
-};
-
-
-
-#endif // FL_WINAPI_WINDOW_DRIVER_H
-
-//
-// End of "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $".
-//