summaryrefslogtreecommitdiff
path: root/src/gui/window.cpp
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2007-07-11 00:26:20 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2007-07-11 00:26:20 +0000
commit8dd7eef0402cc6e22642f045e3cfde7f5b011d5b (patch)
treeee5e74923122e5412cd1e1c0dd410e1f3b687dd3 /src/gui/window.cpp
parent502c76be8587c1138f4939411be77830619f64d2 (diff)
downloadmana-8dd7eef0402cc6e22642f045e3cfde7f5b011d5b.tar.gz
mana-8dd7eef0402cc6e22642f045e3cfde7f5b011d5b.tar.bz2
mana-8dd7eef0402cc6e22642f045e3cfde7f5b011d5b.tar.xz
mana-8dd7eef0402cc6e22642f045e3cfde7f5b011d5b.zip
Fixed resizing windows by their resize grip.
Diffstat (limited to 'src/gui/window.cpp')
-rw-r--r--src/gui/window.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/gui/window.cpp b/src/gui/window.cpp
index 6165ce70..9f9ce9fc 100644
--- a/src/gui/window.cpp
+++ b/src/gui/window.cpp
@@ -339,10 +339,11 @@ void Window::mousePressed(gcn::MouseEvent &event)
mMouseResize |= (y > getHeight() - resizeBorderWidth) ? BOTTOM :
(y < resizeBorderWidth) ? TOP : 0;
}
- else if (event.getSource() == mGrip)
+ else if (event.getSource() == mGrip &&
+ event.getButton() == gcn::MouseEvent::LEFT)
{
- mDragOffsetX = x + mGrip->getX();
- mDragOffsetY = y + mGrip->getY();
+ mDragOffsetX = x;
+ mDragOffsetY = y;
mMouseResize |= BOTTOM | RIGHT;
mIsMoving = false;
}
@@ -365,10 +366,8 @@ void Window::mouseDragged(gcn::MouseEvent &event)
if (mMouseResize && !mIsMoving)
{
- const int dx = event.getX() - mDragOffsetX +
- ((event.getSource() == mGrip) ? mGrip->getX() : 0);
- const int dy = event.getY() - mDragOffsetY +
- ((event.getSource() == mGrip) ? mGrip->getY() : 0);
+ const int dx = event.getX() - mDragOffsetX;
+ const int dy = event.getY() - mDragOffsetY;
gcn::Rectangle newDim = getDimension();
if (mMouseResize & (TOP | BOTTOM))