summaryrefslogtreecommitdiff
path: root/src/Fl_x.cxx
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2014-08-27 11:55:57 +0000
committerManolo Gouy <Manolo>2014-08-27 11:55:57 +0000
commit8997131377a02004503c40ba2a96e6937bfd39c1 (patch)
tree666c4f7d681f1a47f4f3d8372b20d6fc96d2b582 /src/Fl_x.cxx
parent22beee52afd4e06e0f7fa2e19ce86e132b75730b (diff)
Added the Fl_Shaped_Window class to support windows of arbitrary shapes.
The new class is fully Doxygen-documented. Added an example program (example/shapedwindow.cxx) that exercises the new class. Modified all IDE-supporting files accordingly. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10255 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_x.cxx')
-rw-r--r--src/Fl_x.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx
index e071b8d83..b3045c8a6 100644
--- a/src/Fl_x.cxx
+++ b/src/Fl_x.cxx
@@ -35,6 +35,7 @@
# include <FL/fl_draw.H>
# include <FL/Fl_Paged_Device.H>
# include <FL/Fl_Shared_Image.H>
+# include <FL/Fl_Shaped_Window.H>
# include <FL/fl_ask.H>
# include <FL/filename.H>
# include <stdio.h>
@@ -2511,6 +2512,9 @@ void Fl_X::make_xid(Fl_Window* win, XVisualInfo *visual, Colormap colormap)
}
#endif
+ if (win->type() == FL_SHAPED_WINDOW) {
+ ((Fl_Shaped_Window*)win)->combine_mask();
+ }
XMapWindow(fl_display, xp->xid);
if (showit) {
win->set_visible();
@@ -2836,7 +2840,7 @@ void Fl_Window::show() {
if (!shown()) {
fl_open_display();
// Don't set background pixel for double-buffered windows...
- if (type() == FL_WINDOW && can_boxcheat(box())) {
+ if (type() != FL_DOUBLE_WINDOW && can_boxcheat(box())) {
fl_background_pixel = int(fl_xpixel(color()));
}
Fl_X::make_xid(this);