Merge pull request #798 from dottools/fix/mouseCoordSpace

Use screen space coordinates for mouse pointer position
This commit is contained in:
Brian Roberts 2022-05-30 16:35:19 -05:00 committed by GitHub
commit 5b9c080aef
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 9 deletions

View file

@ -549,8 +549,7 @@ void GuiCanvas::setCursorPos(const Point2I &pt)
}
else
{
Point2I screenPt( mPlatformWindow->clientToScreen( pt ) );
mPlatformWindow->setCursorPosition( screenPt.x, screenPt.y );
mPlatformWindow->setCursorPosition(pt.x, pt.y);
}
}

View file

@ -64,17 +64,12 @@ S32 PlatformCursorControllerSDL::getDoubleClickHeight()
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 )
{
SDL_GetMouseState( &point.x, &point.y );
SDL_GetGlobalMouseState( &point.x, &point.y );
}
void PlatformCursorControllerSDL::setCursorVisible( bool visible )