aboutsummaryrefslogtreecommitdiff
path: root/src/FbTk/FbWindow.cc
diff options
context:
space:
mode:
authorrathnor <rathnor>2004-05-17 15:01:32 (GMT)
committerrathnor <rathnor>2004-05-17 15:01:32 (GMT)
commitc1fb3b3e1a08ef8ad479cf76ba2520bc72591c6c (patch)
treebea96a100cf871864bc93e5ae9c9d1dd695bef96 /src/FbTk/FbWindow.cc
parent949a932036354d9b7ce8cc31b2c153c9acfaf4be (diff)
downloadfluxbox_pavel-c1fb3b3e1a08ef8ad479cf76ba2520bc72591c6c.zip
fluxbox_pavel-c1fb3b3e1a08ef8ad479cf76ba2520bc72591c6c.tar.bz2
fix menu transparency rendering bug, and add save_under to menu windows
Diffstat (limited to 'src/FbTk/FbWindow.cc')
-rw-r--r--src/FbTk/FbWindow.cc17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/FbTk/FbWindow.cc b/src/FbTk/FbWindow.cc
index 47e1399..5ebd9f2 100644
--- a/src/FbTk/FbWindow.cc
+++ b/src/FbTk/FbWindow.cc
@@ -19,7 +19,7 @@
19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20// DEALINGS IN THE SOFTWARE. 20// DEALINGS IN THE SOFTWARE.
21 21
22// $Id: FbWindow.cc,v 1.32 2004/04/28 13:04:06 rathnor Exp $ 22// $Id: FbWindow.cc,v 1.33 2004/05/17 15:01:32 rathnor Exp $
23 23
24#include "FbWindow.hh" 24#include "FbWindow.hh"
25 25
@@ -92,6 +92,7 @@ FbWindow::FbWindow(int screen_num,
92 unsigned int width, unsigned int height, 92 unsigned int width, unsigned int height,
93 long eventmask, 93 long eventmask,
94 bool override_redirect, 94 bool override_redirect,
95 bool save_unders,
95 int depth, 96 int depth,
96 int class_type): 97 int class_type):
97 m_parent(0), 98 m_parent(0),
@@ -101,13 +102,14 @@ FbWindow::FbWindow(int screen_num,
101 102
102 create(RootWindow(FbTk::App::instance()->display(), screen_num), 103 create(RootWindow(FbTk::App::instance()->display(), screen_num),
103 x, y, width, height, eventmask, 104 x, y, width, height, eventmask,
104 override_redirect, depth, class_type); 105 override_redirect, save_unders, depth, class_type);
105}; 106};
106 107
107FbWindow::FbWindow(const FbWindow &parent, 108FbWindow::FbWindow(const FbWindow &parent,
108 int x, int y, unsigned int width, unsigned int height, 109 int x, int y, unsigned int width, unsigned int height,
109 long eventmask, 110 long eventmask,
110 bool override_redirect, 111 bool override_redirect,
112 bool save_unders,
111 int depth, int class_type): 113 int depth, int class_type):
112 m_parent(&parent), 114 m_parent(&parent),
113 m_screen_num(parent.screenNumber()), 115 m_screen_num(parent.screenNumber()),
@@ -115,7 +117,7 @@ FbWindow::FbWindow(const FbWindow &parent,
115 m_buffer_pm(0) { 117 m_buffer_pm(0) {
116 118
117 create(parent.window(), x, y, width, height, eventmask, 119 create(parent.window(), x, y, width, height, eventmask,
118 override_redirect, depth, class_type); 120 override_redirect, save_unders, depth, class_type);
119 121
120 122
121}; 123};
@@ -432,7 +434,7 @@ void FbWindow::updateGeometry() {
432void FbWindow::create(Window parent, int x, int y, 434void FbWindow::create(Window parent, int x, int y,
433 unsigned int width, unsigned int height, 435 unsigned int width, unsigned int height,
434 long eventmask, bool override_redirect, 436 long eventmask, bool override_redirect,
435 int depth, int class_type) { 437 bool save_unders, int depth, int class_type) {
436 438
437 439
438 if (s_display == 0) 440 if (s_display == 0)
@@ -449,6 +451,11 @@ void FbWindow::create(Window parent, int x, int y,
449 values.override_redirect = True; 451 values.override_redirect = True;
450 } 452 }
451 453
454 if (save_unders) {
455 valmask |= CWSaveUnder;
456 values.save_under = True;
457 }
458
452 m_window = XCreateWindow(s_display, parent, x, y, width, height, 459 m_window = XCreateWindow(s_display, parent, x, y, width, height,
453 0, // border width 460 0, // border width
454 depth, // depth 461 depth, // depth