Added support for wheel mouse events
This commit is contained in:
@@ -151,8 +151,9 @@ public:
|
||||
void OnMouseDoubleClicked(const SDL_MouseButtonEvent& event);
|
||||
void OnMouseClicked(const SDL_MouseButtonEvent& event);
|
||||
void OnMouseMoved(const SDL_MouseMotionEvent& event);
|
||||
void OnMouseWheel(int x, int y);
|
||||
|
||||
void OnTouchEvent(const SDL_TouchFingerEvent& event);
|
||||
void OnTouchEvent(const SDL_TouchFingerEvent& event);
|
||||
|
||||
void OnEvent(SDL_Event* Event)
|
||||
{
|
||||
@@ -201,6 +202,10 @@ public:
|
||||
|
||||
break;
|
||||
|
||||
case SDL_MOUSEWHEEL:
|
||||
OnMouseWheel(Event->wheel.x, Event->wheel.y);
|
||||
break;
|
||||
|
||||
case SDL_FINGERMOTION:
|
||||
case SDL_FINGERDOWN:
|
||||
case SDL_FINGERUP:
|
||||
@@ -433,6 +438,29 @@ void SdlApp::OnMouseDoubleClicked(const SDL_MouseButtonEvent& event)
|
||||
#endif
|
||||
}
|
||||
|
||||
void SdlApp::OnMouseWheel(int x, int y)
|
||||
{
|
||||
if(!x && y)
|
||||
{ // Vertical wheel
|
||||
if(y > 0)
|
||||
{
|
||||
g_engine->HoldKey_NoRepeat(JGE_BTN_UP);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_engine->HoldKey_NoRepeat(JGE_BTN_DOWN);
|
||||
}
|
||||
}
|
||||
else if(x && !y)
|
||||
{ // Horizontal wheel
|
||||
g_engine->HoldKey_NoRepeat(JGE_BTN_LEFT);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_engine->HoldKey_NoRepeat(JGE_BTN_RIGHT);
|
||||
}
|
||||
}
|
||||
|
||||
void SdlApp::OnMouseClicked(const SDL_MouseButtonEvent& event)
|
||||
{
|
||||
if (event.type == SDL_MOUSEBUTTONDOWN)
|
||||
|
||||
Reference in New Issue
Block a user