summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-03-23 13:13:00 +0000
committerManolo Gouy <Manolo>2016-03-23 13:13:00 +0000
commita114e3ab4d9fa408061003c04a95b293b3842f24 (patch)
treee2aed2f3ecaba5b38290700159cef16c01fab292 /src/drivers
parent270b437500552cba0d082363f9124456f16a1fda (diff)
Rewrite Fl_Window::handle(int) under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11403 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H2
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H2
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx12
-rw-r--r--src/drivers/X11/Fl_X11_Window_Driver.H2
-rw-r--r--src/drivers/X11/Fl_X11_Window_Driver.cxx10
5 files changed, 27 insertions, 1 deletions
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
index bd5a0e79e..07a6dd8a3 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
+++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
@@ -78,6 +78,8 @@ public:
virtual void show();
virtual void resize(int X,int Y,int W,int H);
virtual void hide();
+ virtual void map();
+ virtual void unmap();
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 4d7d8b490..27fb5bc7e 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H
+++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H
@@ -83,6 +83,8 @@ public:
virtual void label(const char *name,const char *iname);
virtual void resize(int X,int Y,int W,int H);
virtual void hide();
+ virtual void map();
+ virtual void unmap();
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 70c254216..a14430af9 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
+++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
@@ -504,7 +504,7 @@ void Fl_WinAPI_Window_Driver::hide() {
ShowWindow(ip->xid, SW_HIDE);
ShowWindow(p, SW_SHOWNA);
}
- XDestroyWindow(fl_display, ip->xid);
+ DestroyWindow(ip->xid);
// end of fix for STR#3079
if (count) {
int ii;
@@ -521,6 +521,16 @@ void Fl_WinAPI_Window_Driver::hide() {
delete ip;
}
+
+void Fl_WinAPI_Window_Driver::map() {
+ ShowWindow(fl_xid(pWindow), SW_RESTORE); // extra map calls are harmless
+}
+
+
+void Fl_WinAPI_Window_Driver::unmap() {
+ ShowWindow(fl_xid(pWindow), SW_HIDE);
+}
+
//
// End of "$Id$".
//
diff --git a/src/drivers/X11/Fl_X11_Window_Driver.H b/src/drivers/X11/Fl_X11_Window_Driver.H
index 967b7d0fa..b2582a57b 100644
--- a/src/drivers/X11/Fl_X11_Window_Driver.H
+++ b/src/drivers/X11/Fl_X11_Window_Driver.H
@@ -92,6 +92,8 @@ public:
virtual void label(const char *name, const char *mininame);
virtual void destroy_double_buffer();
virtual void hide();
+ virtual void map();
+ virtual void unmap();
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 4f04dba7f..59313cc42 100644
--- a/src/drivers/X11/Fl_X11_Window_Driver.cxx
+++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx
@@ -475,6 +475,16 @@ void Fl_X11_Window_Driver::hide() {
delete ip;
}
+
+void Fl_X11_Window_Driver::map() {
+ XMapWindow(fl_display, fl_xid(pWindow)); // extra map calls are harmless
+}
+
+
+void Fl_X11_Window_Driver::unmap() {
+ XUnmapWindow(fl_display, fl_xid(pWindow));
+}
+
//
// End of "$Id$".
//