Prechádzať zdrojové kódy

Mouse wheel check has to occur before mouse motion. Apparently the one is a subset of the other. also thanks @dottools for the proper codeline.

Azaezel 10 rokov pred
rodič
commit
4a8f6737b6

+ 5 - 5
Engine/source/windowManager/sdl/sdlWindow.cpp

@@ -434,7 +434,7 @@ void PlatformWindowSDL::_triggerMouseLocationNotify(const SDL_Event& evt)
 
 void PlatformWindowSDL::_triggerMouseWheelNotify(const SDL_Event& evt)
 {
-   mouseEvent.trigger(getWindowId(), 0, evt.wheel.y, evt.wheel.y, false);
+   wheelEvent.trigger(getWindowId(), 0, evt.wheel.x, evt.wheel.y);
 }
 
 void PlatformWindowSDL::_triggerMouseButtonNotify(const SDL_Event& event)
@@ -535,15 +535,15 @@ void PlatformWindowSDL::_processSDLEvent(SDL_Event &evt)
          break;
       }
 
-      case SDL_MOUSEMOTION:
+      case SDL_MOUSEWHEEL:
       {
-         _triggerMouseLocationNotify(evt);
+         _triggerMouseWheelNotify(evt);
          break;
       }
 
-      case SDL_MOUSEWHEEL:
+      case SDL_MOUSEMOTION:
       {
-         _triggerMouseWheelNotify(evt);
+         _triggerMouseLocationNotify(evt);
          break;
       }
       case SDL_MOUSEBUTTONDOWN:

+ 6 - 6
Engine/source/windowManager/sdl/sdlWindowMgr.cpp

@@ -214,18 +214,18 @@ void PlatformWindowManagerSDL::_process()
             break;
          }
 
-         case SDL_MOUSEMOTION:
+         case SDL_MOUSEWHEEL:
          {
-            PlatformWindowSDL *window = mWindowMap[evt.motion.windowID];
-            if(window)
+            PlatformWindowSDL *window = mWindowMap[evt.wheel.windowID];
+            if (window)
                window->_processSDLEvent(evt);
             break;
          }
 
-         case SDL_MOUSEWHEEL:
+         case SDL_MOUSEMOTION:
          {
-            PlatformWindowSDL *window = mWindowMap[evt.wheel.windowID];
-            if (window)
+            PlatformWindowSDL *window = mWindowMap[evt.motion.windowID];
+            if(window)
                window->_processSDLEvent(evt);
             break;
          }