Browse Source

Added mouse scroll support to entry_sdl.

Dario Manesku 10 years ago
parent
commit
acd4dedfe1
1 changed files with 21 additions and 1 deletions
  1. 21 1
      examples/common/entry/entry_sdl.cpp

+ 21 - 1
examples/common/entry/entry_sdl.cpp

@@ -211,6 +211,9 @@ namespace entry
 			: m_width(ENTRY_DEFAULT_WIDTH)
 			: m_width(ENTRY_DEFAULT_WIDTH)
 			, m_height(ENTRY_DEFAULT_HEIGHT)
 			, m_height(ENTRY_DEFAULT_HEIGHT)
 			, m_aspectRatio(16.0f/9.0f)
 			, m_aspectRatio(16.0f/9.0f)
+			, m_mx(0)
+			, m_my(0)
+			, m_mz(0)
 			, m_mouseLock(false)
 			, m_mouseLock(false)
 			, m_fullscreen(false)
 			, m_fullscreen(false)
 		{
 		{
@@ -376,10 +379,13 @@ namespace entry
 					case SDL_MOUSEMOTION:
 					case SDL_MOUSEMOTION:
 						{
 						{
 							const SDL_MouseMotionEvent& mev = event.motion;
 							const SDL_MouseMotionEvent& mev = event.motion;
+							m_mx = mev.x;
+							m_my = mev.y;
+
 							WindowHandle handle = findHandle(mev.windowID);
 							WindowHandle handle = findHandle(mev.windowID);
 							if (isValid(handle) )
 							if (isValid(handle) )
 							{
 							{
-								m_eventQueue.postMouseEvent(handle, mev.x, mev.y, 0);
+								m_eventQueue.postMouseEvent(handle, m_mx, m_my, m_mz);
 							}
 							}
 						}
 						}
 						break;
 						break;
@@ -411,6 +417,19 @@ namespace entry
 						}
 						}
 						break;
 						break;
 
 
+					case SDL_MOUSEWHEEL:
+						{
+							const SDL_MouseWheelEvent& mev = event.wheel;
+							m_mz += mev.y;
+
+							WindowHandle handle = findHandle(mev.windowID);
+							if (isValid(handle) )
+							{
+								m_eventQueue.postMouseEvent(handle, m_mx, m_my, m_mz);
+							}
+						}
+						break;
+
 					case SDL_KEYDOWN:
 					case SDL_KEYDOWN:
 						{
 						{
 							const SDL_KeyboardEvent& kev = event.key;
 							const SDL_KeyboardEvent& kev = event.key;
@@ -745,6 +764,7 @@ namespace entry
 
 
 		int32_t m_mx;
 		int32_t m_mx;
 		int32_t m_my;
 		int32_t m_my;
+		int32_t m_mz;
 		bool m_mouseLock;
 		bool m_mouseLock;
 		bool m_fullscreen;
 		bool m_fullscreen;
 	};
 	};