summaryrefslogtreecommitdiff
path: root/src/Fl_Window_iconize.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Fl_Window_iconize.cxx')
-rw-r--r--src/Fl_Window_iconize.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/Fl_Window_iconize.cxx b/src/Fl_Window_iconize.cxx
new file mode 100644
index 000000000..a89080623
--- /dev/null
+++ b/src/Fl_Window_iconize.cxx
@@ -0,0 +1,19 @@
+// X-specific code that is not called by all programs, so it is put
+// here in it's own source file to make programs smaller.
+
+#include <FL/x.H>
+
+extern char fl_show_iconic; // in Fl_x.C
+
+void Fl_Window::iconize() {
+ if (!shown()) {
+ fl_show_iconic = 1;
+ show();
+ } else {
+#ifdef WIN32
+ ShowWindow(i->xid, SW_MINIMIZE);
+#else
+ XIconifyWindow(fl_display, i->xid, fl_screen);
+#endif
+ }
+}