summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-03-23 18:00:37 +0000
committerManolo Gouy <Manolo>2016-03-23 18:00:37 +0000
commitfdaad858ba78ac232df8b5a7d6f1ab3a64680a6c (patch)
tree47cf7aaf6cd8622f8ec4253cc209b6fce948ca34 /src/drivers
parente3ee1e7b81c9b1a8806b80cd69c66eeccc679bf9 (diff)
Rewrite Fl_Window::iconize() under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11411 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H1
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H1
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx5
-rw-r--r--src/drivers/X11/Fl_X11_Window_Driver.H1
-rw-r--r--src/drivers/X11/Fl_X11_Window_Driver.cxx4
5 files changed, 12 insertions, 0 deletions
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
index f3d8a85be..8cce010f6 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
+++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
@@ -83,6 +83,7 @@ public:
virtual void fullscreen_on();
virtual void fullscreen_off(int X, int Y, int W, int H);
virtual void size_range();
+ virtual void iconize();
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/WinAPI/Fl_WinAPI_Window_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H
index b1218ab6c..2cae854ef 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H
+++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H
@@ -87,6 +87,7 @@ public:
virtual void unmap();
virtual void fullscreen_on();
virtual void fullscreen_off(int X, int Y, int W, int H);
+ virtual void iconize();
virtual void shape(const Fl_Image* img);
virtual void icons(const Fl_RGB_Image *icons[], int count);
diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
index 4eadbddfd..dd3b64168 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
+++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
@@ -608,6 +608,11 @@ void Fl_WinAPI_Window_Driver::fullscreen_off(int X, int Y, int W, int H) {
Fl::handle(FL_FULLSCREEN, pWindow);
}
+
+void Fl_WinAPI_Window_Driver::iconize() {
+ ShowWindow(fl_xid(pWindow), SW_SHOWMINNOACTIVE);
+}
+
//
// End of "$Id$".
//
diff --git a/src/drivers/X11/Fl_X11_Window_Driver.H b/src/drivers/X11/Fl_X11_Window_Driver.H
index 47272a834..35cee4afd 100644
--- a/src/drivers/X11/Fl_X11_Window_Driver.H
+++ b/src/drivers/X11/Fl_X11_Window_Driver.H
@@ -98,6 +98,7 @@ public:
virtual void fullscreen_off(int X, int Y, int W, int H);
virtual void use_border();
virtual void size_range();
+ virtual void iconize();
virtual void shape(const Fl_Image* img);
virtual void icons(const Fl_RGB_Image *icons[], int count);
diff --git a/src/drivers/X11/Fl_X11_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Window_Driver.cxx
index 2daf3f347..2d6782eaf 100644
--- a/src/drivers/X11/Fl_X11_Window_Driver.cxx
+++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx
@@ -504,6 +504,10 @@ void Fl_X11_Window_Driver::size_range() {
if (pWindow->shown()) Fl_X::i(pWindow)->sendxjunk();
}
+void Fl_X11_Window_Driver::iconize() {
+ XIconifyWindow(fl_display, fl_xid(pWindow), fl_screen);
+}
+
//
// End of "$Id$".
//