window move improv

master
Eduardo Bart 13 years ago
parent f2c187c810
commit 44a7f6ab90

@ -35,6 +35,7 @@ void UIWindow::onInputEvent(const InputEvent& event)
headRect.setHeight(skin->getHeadHeight()); headRect.setHeight(skin->getHeadHeight());
if(headRect.contains(event.mousePos)) { if(headRect.contains(event.mousePos)) {
m_moving = true; m_moving = true;
m_movingReference = event.mousePos - getRect().topLeft();
} }
} else if(event.type == EV_MOUSE_LUP) { } else if(event.type == EV_MOUSE_LUP) {
if(m_moving) { if(m_moving) {
@ -42,7 +43,7 @@ void UIWindow::onInputEvent(const InputEvent& event)
} }
} else if(event.type == EV_MOUSE_MOVE) { } else if(event.type == EV_MOUSE_MOVE) {
if(m_moving) { if(m_moving) {
moveTo(getRect().topLeft() + event.mouseMoved); moveTo(event.mousePos - m_movingReference);
} }
} }
} }

@ -43,6 +43,7 @@ public:
private: private:
std::string m_title; std::string m_title;
bool m_moving; bool m_moving;
Point m_movingReference;
}; };
typedef boost::shared_ptr<UIWindow> UIWindowPtr; typedef boost::shared_ptr<UIWindow> UIWindowPtr;

Loading…
Cancel
Save