diff options
author | simonb <simonb> | 2005-04-10 18:18:14 (GMT) |
---|---|---|
committer | simonb <simonb> | 2005-04-10 18:18:14 (GMT) |
commit | 88c66f0687d2a9e2018f22407b2587dc4d87d012 (patch) | |
tree | 197308ad2426783058f479d12329548c6a8a4374 /src/Window.cc | |
parent | 6cf66c66554a20a1c98eddf26af9e35b7c90cbd5 (diff) | |
download | fluxbox-88c66f0687d2a9e2018f22407b2587dc4d87d012.zip fluxbox-88c66f0687d2a9e2018f22407b2587dc4d87d012.tar.bz2 |
Big changes to how transparency works
Consequently rearrange lots of rendering ops, and strip calls to
updateTransparent
Diffstat (limited to 'src/Window.cc')
-rw-r--r-- | src/Window.cc | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/Window.cc b/src/Window.cc index e1fea07..1914195 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -1194,7 +1194,6 @@ void FluxboxWindow::reconfigure() { | |||
1194 | grabButtons(); | 1194 | grabButtons(); |
1195 | 1195 | ||
1196 | frame().setDoubleClickTime(Fluxbox::instance()->getDoubleClickInterval()); | 1196 | frame().setDoubleClickTime(Fluxbox::instance()->getDoubleClickInterval()); |
1197 | frame().setUpdateDelayTime(Fluxbox::instance()->getUpdateDelayTime()); | ||
1198 | 1197 | ||
1199 | frame().reconfigure(); | 1198 | frame().reconfigure(); |
1200 | 1199 | ||
@@ -1210,7 +1209,7 @@ void FluxboxWindow::updateTitleFromClient(WinClient &client) { | |||
1210 | if (m_labelbuttons[&client]->text() != client.title()) { | 1209 | if (m_labelbuttons[&client]->text() != client.title()) { |
1211 | m_labelbuttons[&client]->setText(client.title()); | 1210 | m_labelbuttons[&client]->setText(client.title()); |
1212 | m_labelbuttons[&client]->clear(); // redraw text | 1211 | m_labelbuttons[&client]->clear(); // redraw text |
1213 | m_labelbuttons[&client]->updateTransparent(); | 1212 | //m_labelbuttons[&client]->updateTransparent(); |
1214 | } | 1213 | } |
1215 | } | 1214 | } |
1216 | 1215 | ||
@@ -1341,8 +1340,9 @@ void FluxboxWindow::resize(unsigned int width, unsigned int height) { | |||
1341 | moveResize(frame().x(), frame().y(), width, height); | 1340 | moveResize(frame().x(), frame().y(), width, height); |
1342 | } | 1341 | } |
1343 | 1342 | ||
1343 | // send_event is just an override | ||
1344 | void FluxboxWindow::moveResize(int new_x, int new_y, | 1344 | void FluxboxWindow::moveResize(int new_x, int new_y, |
1345 | unsigned int new_width, unsigned int new_height, int gravity) { | 1345 | unsigned int new_width, unsigned int new_height, int gravity, bool send_event) { |
1346 | 1346 | ||
1347 | // magic to detect if moved during initialisation | 1347 | // magic to detect if moved during initialisation |
1348 | if (!isInitialized()) | 1348 | if (!isInitialized()) |
@@ -1352,7 +1352,7 @@ void FluxboxWindow::moveResize(int new_x, int new_y, | |||
1352 | frame().gravityTranslate(new_x, new_y, gravity, false); | 1352 | frame().gravityTranslate(new_x, new_y, gravity, false); |
1353 | } | 1353 | } |
1354 | 1354 | ||
1355 | bool send_event = (frame().x() != new_x || frame().y() != new_y); | 1355 | send_event = send_event || (frame().x() != new_x || frame().y() != new_y); |
1356 | 1356 | ||
1357 | if (new_width != frame().width() || new_height != frame().height()) { | 1357 | if (new_width != frame().width() || new_height != frame().height()) { |
1358 | if ((((signed) frame().width()) + new_x) < 0) | 1358 | if ((((signed) frame().width()) + new_x) < 0) |
@@ -1368,7 +1368,6 @@ void FluxboxWindow::moveResize(int new_x, int new_y, | |||
1368 | frame().moveResize(new_x, new_y, new_width, new_height); | 1368 | frame().moveResize(new_x, new_y, new_width, new_height); |
1369 | setFocusFlag(focused); | 1369 | setFocusFlag(focused); |
1370 | 1370 | ||
1371 | |||
1372 | shaded = false; | 1371 | shaded = false; |
1373 | send_event = true; | 1372 | send_event = true; |
1374 | } else if (send_event) | 1373 | } else if (send_event) |
@@ -2848,7 +2847,9 @@ void FluxboxWindow::motionNotifyEvent(XMotionEvent &me) { | |||
2848 | m_last_move_x = dx; | 2847 | m_last_move_x = dx; |
2849 | m_last_move_y = dy; | 2848 | m_last_move_y = dy; |
2850 | } else { | 2849 | } else { |
2851 | moveResize(dx, dy, frame().width(), frame().height()); | 2850 | //moveResize(dx, dy, frame().width(), frame().height()); |
2851 | // need to move the base window without interfering with transparency | ||
2852 | frame().window().moveResize(dx, dy, frame().width(), frame().height()); | ||
2852 | } | 2853 | } |
2853 | 2854 | ||
2854 | screen().showPosition(dx, dy); | 2855 | screen().showPosition(dx, dy); |
@@ -3216,7 +3217,6 @@ void FluxboxWindow::stopMoving(bool interrupted) { | |||
3216 | 3217 | ||
3217 | fluxbox->maskWindowEvents(0, 0); | 3218 | fluxbox->maskWindowEvents(0, 0); |
3218 | 3219 | ||
3219 | |||
3220 | if (! screen().doOpaqueMove()) { | 3220 | if (! screen().doOpaqueMove()) { |
3221 | parent().drawRectangle(screen().rootTheme().opGC(), | 3221 | parent().drawRectangle(screen().rootTheme().opGC(), |
3222 | m_last_move_x, m_last_move_y, | 3222 | m_last_move_x, m_last_move_y, |
@@ -3231,8 +3231,8 @@ void FluxboxWindow::stopMoving(bool interrupted) { | |||
3231 | } | 3231 | } |
3232 | fluxbox->ungrab(); | 3232 | fluxbox->ungrab(); |
3233 | } else if (!interrupted) { | 3233 | } else if (!interrupted) { |
3234 | moveResize(frame().x(), frame().y(), frame().width(), frame().height()); | 3234 | moveResize(frame().x(), frame().y(), frame().width(), frame().height(), ForgetGravity, true); |
3235 | sendConfigureNotify(); | 3235 | frame().notifyMoved(true); |
3236 | } | 3236 | } |
3237 | 3237 | ||
3238 | 3238 | ||