Ensure CTRL, SHIFT and ALT states are reset when Window falls into background
This commit is contained in:
parent
6d5388b221
commit
303b546ceb
@ -1035,6 +1035,13 @@ void GameView::OnKeyRelease(int key, Uint16 character, bool shift, bool ctrl, bo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GameView::OnBlur()
|
||||||
|
{
|
||||||
|
disableAltBehaviour();
|
||||||
|
disableCtrlBehaviour();
|
||||||
|
disableShiftBehaviour();
|
||||||
|
}
|
||||||
|
|
||||||
void GameView::OnTick(float dt)
|
void GameView::OnTick(float dt)
|
||||||
{
|
{
|
||||||
if(selectMode==PlaceSave && !placeSaveThumb)
|
if(selectMode==PlaceSave && !placeSaveThumb)
|
||||||
|
@ -148,6 +148,9 @@ public:
|
|||||||
virtual void OnMouseWheel(int x, int y, int d);
|
virtual void OnMouseWheel(int x, int y, int d);
|
||||||
virtual void OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool alt);
|
virtual void OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool alt);
|
||||||
virtual void OnKeyRelease(int key, Uint16 character, bool shift, bool ctrl, bool alt);
|
virtual void OnKeyRelease(int key, Uint16 character, bool shift, bool ctrl, bool alt);
|
||||||
|
virtual void OnTick(float dt);
|
||||||
|
virtual void OnDraw();
|
||||||
|
virtual void OnBlur();
|
||||||
|
|
||||||
//Top-level handers, for Lua interface
|
//Top-level handers, for Lua interface
|
||||||
virtual void DoDraw();
|
virtual void DoDraw();
|
||||||
@ -158,10 +161,6 @@ public:
|
|||||||
virtual void DoKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool alt);
|
virtual void DoKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool alt);
|
||||||
virtual void DoKeyRelease(int key, Uint16 character, bool shift, bool ctrl, bool alt);
|
virtual void DoKeyRelease(int key, Uint16 character, bool shift, bool ctrl, bool alt);
|
||||||
|
|
||||||
//virtual void OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool alt) {}
|
|
||||||
//virtual void OnKeyRelease(int key, Uint16 character, bool shift, bool ctrl, bool alt) {}
|
|
||||||
virtual void OnTick(float dt);
|
|
||||||
virtual void OnDraw();
|
|
||||||
class MenuAction;
|
class MenuAction;
|
||||||
class ToolAction;
|
class ToolAction;
|
||||||
};
|
};
|
||||||
|
@ -82,6 +82,9 @@ void Engine::ShowWindow(Window * window)
|
|||||||
|
|
||||||
windows.push(state_);
|
windows.push(state_);
|
||||||
}
|
}
|
||||||
|
if(state_)
|
||||||
|
state_->DoBlur();
|
||||||
|
|
||||||
state_ = window;
|
state_ = window;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -102,6 +105,9 @@ void Engine::CloseWindow()
|
|||||||
}
|
}
|
||||||
state_ = windows.top();
|
state_ = windows.top();
|
||||||
windows.pop();
|
windows.pop();
|
||||||
|
|
||||||
|
if(state_)
|
||||||
|
state_->DoFocus();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -107,6 +107,18 @@ void Window::DoInitialized()
|
|||||||
OnInitialized();
|
OnInitialized();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Window::DoBlur()
|
||||||
|
{
|
||||||
|
|
||||||
|
OnBlur();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::DoFocus()
|
||||||
|
{
|
||||||
|
|
||||||
|
OnFocus();
|
||||||
|
}
|
||||||
|
|
||||||
void Window::DoDraw()
|
void Window::DoDraw()
|
||||||
{
|
{
|
||||||
OnDraw();
|
OnDraw();
|
||||||
|
@ -52,6 +52,8 @@ enum ChromeStyle
|
|||||||
virtual void DoExit();
|
virtual void DoExit();
|
||||||
virtual void DoTick(float dt);
|
virtual void DoTick(float dt);
|
||||||
virtual void DoDraw();
|
virtual void DoDraw();
|
||||||
|
virtual void DoFocus();
|
||||||
|
virtual void DoBlur();
|
||||||
|
|
||||||
virtual void DoMouseMove(int x, int y, int dx, int dy);
|
virtual void DoMouseMove(int x, int y, int dx, int dy);
|
||||||
virtual void DoMouseDown(int x, int y, unsigned button);
|
virtual void DoMouseDown(int x, int y, unsigned button);
|
||||||
@ -73,6 +75,8 @@ enum ChromeStyle
|
|||||||
virtual void OnExit() {}
|
virtual void OnExit() {}
|
||||||
virtual void OnTick(float dt) {}
|
virtual void OnTick(float dt) {}
|
||||||
virtual void OnDraw() {}
|
virtual void OnDraw() {}
|
||||||
|
virtual void OnFocus() {}
|
||||||
|
virtual void OnBlur() {}
|
||||||
|
|
||||||
virtual void OnMouseMove(int x, int y, int dx, int dy) {}
|
virtual void OnMouseMove(int x, int y, int dx, int dy) {}
|
||||||
virtual void OnMouseDown(int x, int y, unsigned button) {}
|
virtual void OnMouseDown(int x, int y, unsigned button) {}
|
||||||
|
Loading…
Reference in New Issue
Block a user