summaryrefslogtreecommitdiff
path: root/src/Fl_Device.cxx
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2015-04-28 22:02:48 +0000
committerManolo Gouy <Manolo>2015-04-28 22:02:48 +0000
commitf9fa74e3af0b53102ade659a7a2aa12ddf9ee9a3 (patch)
tree01b108a2daa98f5caa6dc3aa15c9067b95ae76fd /src/Fl_Device.cxx
parent1c7daeca631f6bbf88b99f9ecd79a5cedd64f550 (diff)
Restored the possibility to call Fl::set_font()
in a global initializer (before main() starts). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_Device.cxx')
-rw-r--r--src/Fl_Device.cxx19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/Fl_Device.cxx b/src/Fl_Device.cxx
index 5a959f806..a0f5b4338 100644
--- a/src/Fl_Device.cxx
+++ b/src/Fl_Device.cxx
@@ -71,11 +71,28 @@ void Fl_Graphics_Driver::text_extents(const char*t, int n, int& dx, int& dy, int
dy = descent();
}
-Fl_Display_Device::Fl_Display_Device(Fl_Graphics_Driver *graphics_driver) : Fl_Surface_Device( graphics_driver) {
+/** A constructor that sets the graphics driver used by the display */
+Fl_Display_Device::Fl_Display_Device(Fl_Graphics_Driver *graphics_driver) : Fl_Surface_Device(graphics_driver) {
this->set_current();
};
+/** Returns the platform display device. */
+Fl_Display_Device *Fl_Display_Device::display_device() {
+ static Fl_Display_Device *display = new Fl_Display_Device(new
+#if defined(__APPLE__)
+ Fl_Quartz_Graphics_Driver
+#elif defined(WIN32)
+ Fl_GDI_Graphics_Driver
+#else
+ Fl_Xlib_Graphics_Driver
+#endif
+ );
+ return display;
+};
+
+Fl_Display_Device *Fl_Display_Device::_display = Fl_Display_Device::display_device();
+
//
// End of "$Id$".
//