diff options
Diffstat (limited to 'src/Fl_Device.cxx')
| -rw-r--r-- | src/Fl_Device.cxx | 19 |
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$". // |
