Mouse move on exiting Window. Fixes 181
This commit is contained in:
parent
03e40d53bc
commit
cd03297086
@ -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
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user