summaryrefslogtreecommitdiff
path: root/src/drivers/Cocoa
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-03-23 14:36:58 +0000
committerManolo Gouy <Manolo>2016-03-23 14:36:58 +0000
commitaffdcdb525b3a606115b3a6444f0ab7dcc4b48ac (patch)
tree8ea7b48838875022aae56edd038910399b517fd7 /src/drivers/Cocoa
parent979740ce91525cc301a9173731d6aaf3004a6c88 (diff)
Rewrite Fl_Window::fullscreen_x() under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11407 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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$".
//