mirror of
https://github.com/The-Powder-Toy/The-Powder-Toy.git
synced 2025-09-08 23:10:44 +02:00
Mouse move on exiting Window. Fixes 181
This commit is contained in:
@@ -22,6 +22,7 @@ Engine::Engine():
|
||||
mouseyp_(0),
|
||||
FpsLimit(60.0f),
|
||||
windows(stack<Window*>()),
|
||||
mousePositions(stack<Point>()),
|
||||
lastBuffer(NULL),
|
||||
prevBuffers(stack<pixel*>()),
|
||||
windowTargetPosition(0, 0),
|
||||
@@ -98,6 +99,7 @@ void Engine::ShowWindow(Window * window)
|
||||
#endif
|
||||
|
||||
windows.push(state_);
|
||||
mousePositions.push(ui::Point(mousex_, mousey_));
|
||||
}
|
||||
if(state_)
|
||||
state_->DoBlur();
|
||||
@@ -125,6 +127,17 @@ void Engine::CloseWindow()
|
||||
|
||||
if(state_)
|
||||
state_->DoFocus();
|
||||
|
||||
ui::Point mouseState = mousePositions.top();
|
||||
mousePositions.pop();
|
||||
if(state_)
|
||||
{
|
||||
mousexp_ = mouseState.X;
|
||||
mouseyp_ = mouseState.Y;
|
||||
state_->DoMouseMove(mousex_, mousey_, mousex_ - mousexp_, mousey_ - mouseyp_);
|
||||
mousexp_ = mousex_;
|
||||
mouseyp_ = mousey_;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user