Input: Return const -20 mouse position when outside window
This commit is contained in:
parent
318162a229
commit
8ed6de22a4
|
@ -42,7 +42,7 @@ EventThread::JoyState EventThread::joyState =
|
|||
|
||||
EventThread::MouseState EventThread::mouseState =
|
||||
{
|
||||
0, 0, { false }
|
||||
0, 0, false, { false }
|
||||
};
|
||||
|
||||
/* User event codes */
|
||||
|
@ -129,12 +129,14 @@ void EventThread::process(RGSSThreadData &rtData)
|
|||
|
||||
case SDL_WINDOWEVENT_ENTER :
|
||||
cursorInWindow = true;
|
||||
mouseState.inWindow = true;
|
||||
updateCursorState(cursorInWindow && windowFocused);
|
||||
|
||||
break;
|
||||
|
||||
case SDL_WINDOWEVENT_LEAVE :
|
||||
cursorInWindow = false;
|
||||
mouseState.inWindow = false;
|
||||
updateCursorState(cursorInWindow && windowFocused);
|
||||
|
||||
break;
|
||||
|
|
|
@ -56,6 +56,7 @@ public:
|
|||
struct MouseState
|
||||
{
|
||||
int x, y;
|
||||
bool inWindow;
|
||||
bool buttons[32];
|
||||
};
|
||||
|
||||
|
|
|
@ -614,12 +614,20 @@ int Input::dir8Value()
|
|||
int Input::mouseX()
|
||||
{
|
||||
RGSSThreadData &rtData = shState->rtData();
|
||||
|
||||
if (!EventThread::mouseState.inWindow)
|
||||
return -20;
|
||||
|
||||
return (EventThread::mouseState.x - rtData.screenOffset.x) * rtData.sizeResoRatio.x;
|
||||
}
|
||||
|
||||
int Input::mouseY()
|
||||
{
|
||||
RGSSThreadData &rtData = shState->rtData();
|
||||
|
||||
if (!EventThread::mouseState.inWindow)
|
||||
return -20;
|
||||
|
||||
return (EventThread::mouseState.y - rtData.screenOffset.y) * rtData.sizeResoRatio.y;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue