fixed non opaque moving

This commit is contained in:
fluxgen 2003-02-17 22:42:52 +00:00
parent d104801f63
commit 84bfa4dd3b

View file

@ -22,7 +22,7 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// $Id: Window.cc,v 1.118 2003/02/17 09:56:00 fluxgen Exp $ // $Id: Window.cc,v 1.119 2003/02/17 22:42:52 fluxgen Exp $
#include "Window.hh" #include "Window.hh"
@ -117,8 +117,7 @@ FluxboxWindow::FluxboxWindow(Window w, BScreen *s, int screen_num,
tab(0), tab(0),
m_frame(tm, imgctrl, screen_num, 0, 0, 100, 100), m_frame(tm, imgctrl, screen_num, 0, 0, 100, 100),
m_layeritem(getFrameWindow(), layer), m_layeritem(getFrameWindow(), layer),
m_layernum(layer.getLayerNum()) m_layernum(layer.getLayerNum()) {
{
@ -1980,21 +1979,15 @@ void FluxboxWindow::buttonPressEvent(XButtonEvent &be) {
} }
if (m_frame.clientArea() == be.window) { if (m_frame.clientArea() == be.window) {
if (m_windowmenu.isVisible()) //hide menu if its visible
m_windowmenu.hide();
raise(); raise();
XAllowEvents(display, ReplayPointer, be.time);
XAllowEvents(display, ReplayPointer, be.time); } else {
} else {
button_grab_x = be.x_root - m_frame.x() - screen->getBorderWidth(); button_grab_x = be.x_root - m_frame.x() - screen->getBorderWidth();
button_grab_y = be.y_root - m_frame.y() - screen->getBorderWidth(); button_grab_y = be.y_root - m_frame.y() - screen->getBorderWidth();
if (m_windowmenu.isVisible())
m_windowmenu.hide();
} }
if (m_windowmenu.isVisible())
m_windowmenu.hide();
} }
} }
@ -2064,21 +2057,21 @@ void FluxboxWindow::motionNotifyEvent(XMotionEvent &me) {
} }
} }
/*
if (! screen->doOpaqueMove()) { if (! screen->doOpaqueMove()) {
XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(), XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(),
frame.move_x, frame.move_y, frame.resize_w, frame.resize_h); last_move_x, last_move_y,
m_frame.width(), m_frame.height());
frame.move_x = dx; XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(),
frame.move_y = dy; dx, dy,
m_frame.width(), m_frame.height());
XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(), last_move_x = dx;
frame.move_x, frame.move_y, frame.resize_w, last_move_y = dy;
frame.resize_h); } else {
} else {
*/ moveResize(dx, dy, m_frame.width(), m_frame.height());
moveResize(dx, dy, m_frame.width(), m_frame.height()); }
// }
if (screen->doShowWindowPos()) if (screen->doShowWindowPos())
screen->showPosition(dx, dy); screen->showPosition(dx, dy);
@ -2222,43 +2215,30 @@ void FluxboxWindow::startMoving(Window win) {
m_windowmenu.hide(); m_windowmenu.hide();
fluxbox->maskWindowEvents(client.window, this); fluxbox->maskWindowEvents(client.window, this);
/* TODO: opaque moving last_move_x = frame().x();
if (! screen->doOpaqueMove()) { last_move_y = frame().y();
fluxbox->grab(); if (! screen->doOpaqueMove()) {
XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(),
frame.move_x = frame.x; frame().x(), frame().y(),
frame.move_y = frame.y; frame().width(), frame().height());
frame.move_ws = screen->getCurrentWorkspaceID(); screen->showPosition(frame().x(), frame().y());
frame.resize_w = frame.width + screen->getBorderWidth2x(); }
frame.resize_h = ((shaded) ? frame.title_h : frame.height) +
screen->getBorderWidth2x();
if (screen->doShowWindowPos())
screen->showPosition(frame.x, frame.y);
XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(),
frame.move_x, frame.move_y,
frame.resize_w, frame.resize_h);
}*/
} }
void FluxboxWindow::stopMoving() { void FluxboxWindow::stopMoving() {
moving = false; moving = false;
Fluxbox *fluxbox = Fluxbox::instance(); Fluxbox *fluxbox = Fluxbox::instance();
fluxbox->maskWindowEvents(0, (FluxboxWindow *) 0); fluxbox->maskWindowEvents(0, 0);
/* TODO: non opaque moving
if (! screen->doOpaqueMove()) { if (! screen->doOpaqueMove()) {
XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(), XDrawRectangle(FbTk::App::instance()->display(), screen->getRootWindow(), screen->getOpGC(),
frame.move_x, frame.move_y, frame.resize_w, last_move_x, last_move_y,
frame.resize_h); frame().width(), frame().height());
moveResize(last_move_x, last_move_y, m_frame.width(), m_frame.height());
configure(frame.move_x, frame.move_y, frame.width, frame.height); } else
fluxbox->ungrab(); moveResize(m_frame.x(), m_frame.y(), m_frame.width(), m_frame.height());
} else
*/
moveResize(m_frame.x(), m_frame.y(), m_frame.width(), m_frame.height());
screen->hideGeometry(); screen->hideGeometry();
XUngrabPointer(display, CurrentTime); XUngrabPointer(display, CurrentTime);