EventThread: Factor out event discarding code
This commit is contained in:
parent
6f88ddc51c
commit
a05a3deff6
|
@ -133,6 +133,25 @@ void EventThread::process(RGSSThreadData &rtData)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Preselect and discard unwanted events here */
|
||||||
|
switch (event.type)
|
||||||
|
{
|
||||||
|
case SDL_MOUSEBUTTONDOWN :
|
||||||
|
case SDL_MOUSEBUTTONUP :
|
||||||
|
case SDL_MOUSEMOTION :
|
||||||
|
if (event.button.which == SDL_TOUCH_MOUSEID)
|
||||||
|
continue;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDL_FINGERDOWN :
|
||||||
|
case SDL_FINGERUP :
|
||||||
|
case SDL_FINGERMOTION :
|
||||||
|
if (event.tfinger.fingerId >= MAX_FINGERS)
|
||||||
|
continue;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Now process the rest */
|
||||||
switch (event.type)
|
switch (event.type)
|
||||||
{
|
{
|
||||||
case SDL_WINDOWEVENT :
|
case SDL_WINDOWEVENT :
|
||||||
|
@ -302,47 +321,29 @@ void EventThread::process(RGSSThreadData &rtData)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_MOUSEBUTTONDOWN :
|
case SDL_MOUSEBUTTONDOWN :
|
||||||
if (event.button.which == SDL_TOUCH_MOUSEID)
|
|
||||||
break;
|
|
||||||
|
|
||||||
mouseState.buttons[event.button.button] = true;
|
mouseState.buttons[event.button.button] = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_MOUSEBUTTONUP :
|
case SDL_MOUSEBUTTONUP :
|
||||||
if (event.button.which == SDL_TOUCH_MOUSEID)
|
|
||||||
break;
|
|
||||||
|
|
||||||
mouseState.buttons[event.button.button] = false;
|
mouseState.buttons[event.button.button] = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_MOUSEMOTION :
|
case SDL_MOUSEMOTION :
|
||||||
if (event.button.which == SDL_TOUCH_MOUSEID)
|
|
||||||
break;
|
|
||||||
|
|
||||||
mouseState.x = event.motion.x;
|
mouseState.x = event.motion.x;
|
||||||
mouseState.y = event.motion.y;
|
mouseState.y = event.motion.y;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_FINGERDOWN :
|
case SDL_FINGERDOWN :
|
||||||
if (event.tfinger.fingerId >= MAX_FINGERS)
|
|
||||||
break;
|
|
||||||
|
|
||||||
i = event.tfinger.fingerId;
|
i = event.tfinger.fingerId;
|
||||||
touchState.fingers[i].down = true;
|
touchState.fingers[i].down = true;
|
||||||
|
|
||||||
case SDL_FINGERMOTION :
|
case SDL_FINGERMOTION :
|
||||||
if (event.tfinger.fingerId >= MAX_FINGERS)
|
|
||||||
break;
|
|
||||||
|
|
||||||
i = event.tfinger.fingerId;
|
i = event.tfinger.fingerId;
|
||||||
touchState.fingers[i].x = event.tfinger.x * winW;
|
touchState.fingers[i].x = event.tfinger.x * winW;
|
||||||
touchState.fingers[i].y = event.tfinger.y * winH;
|
touchState.fingers[i].y = event.tfinger.y * winH;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_FINGERUP :
|
case SDL_FINGERUP :
|
||||||
if (event.tfinger.fingerId >= MAX_FINGERS)
|
|
||||||
break;
|
|
||||||
|
|
||||||
i = event.tfinger.fingerId;
|
i = event.tfinger.fingerId;
|
||||||
memset(&touchState.fingers[i], 0, sizeof(touchState.fingers[0]));
|
memset(&touchState.fingers[i], 0, sizeof(touchState.fingers[0]));
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue