ソースを参照

Engine SDL: Use screen space coordinates for both mouse pointer set and get position

Changed mouse pointer coordinates from client to screen space. Done in order to be consistent with existing engine comments, API help doc string, and how it used to work in Win32 window management code.
dottools 3 年 前
コミット
0f81ececae
1 ファイル変更2 行追加7 行削除
  1. 2 7
      Engine/source/windowManager/sdl/sdlCursorController.cpp

+ 2 - 7
Engine/source/windowManager/sdl/sdlCursorController.cpp

@@ -64,17 +64,12 @@ S32 PlatformCursorControllerSDL::getDoubleClickHeight()
 
 
 void PlatformCursorControllerSDL::setCursorPosition( S32 x, S32 y )
 void PlatformCursorControllerSDL::setCursorPosition( S32 x, S32 y )
 {
 {
-   if( PlatformWindowManager::get() && PlatformWindowManager::get()->getFirstWindow() )
-   {
-      AssertFatal( dynamic_cast<PlatformWindowSDL*>( PlatformWindowManager::get()->getFirstWindow() ), "");
-      PlatformWindowSDL *window = static_cast<PlatformWindowSDL*>( PlatformWindowManager::get()->getFirstWindow() );
-      SDL_WarpMouseInWindow(window->getSDLWindow(), x, y);
-   }
+   SDL_WarpMouseGlobal(x, y);
 }
 }
 
 
 void PlatformCursorControllerSDL::getCursorPosition( Point2I &point )
 void PlatformCursorControllerSDL::getCursorPosition( Point2I &point )
 {
 {
-   SDL_GetMouseState( &point.x, &point.y );
+   SDL_GetGlobalMouseState( &point.x, &point.y );
 }
 }
 
 
 void PlatformCursorControllerSDL::setCursorVisible( bool visible )
 void PlatformCursorControllerSDL::setCursorVisible( bool visible )