summaryrefslogtreecommitdiff
path: root/src/drivers/Cocoa
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/Cocoa')
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H2
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx19
2 files changed, 21 insertions, 0 deletions
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
index 07a6dd8a3..7bb5b370f 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
+++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
@@ -80,6 +80,8 @@ public:
virtual void hide();
virtual void map();
virtual void unmap();
+ virtual void fullscreen_on();
+ virtual void fullscreen_off(int X, int Y, int W, int H);
virtual void shape(const Fl_Image* img);
// that one is implemented in Fl_Cocoa.mm because it uses Objective-c
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx
index 5d97ac91d..0354b1255 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx
+++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx
@@ -239,6 +239,25 @@ void Fl_Cocoa_Window_Driver::hide() {
delete ip;
}
+
+void Fl_Cocoa_Window_Driver::fullscreen_on() {
+ pWindow->_set_fullscreen();
+ /* On OS X < 10.6, it is necessary to recreate the window. This is done
+ with hide+show. */
+ hide();
+ show();
+ Fl::handle(FL_FULLSCREEN, pWindow);
+}
+
+
+void Fl_Cocoa_Window_Driver::fullscreen_off(int X, int Y, int W, int H) {
+ pWindow->_clear_fullscreen();
+ hide();
+ resize(X, Y, W, H);
+ show();
+ Fl::handle(FL_FULLSCREEN, pWindow);
+}
+
//
// End of "$Id$".
//