_relative warp fixes?
This commit is contained in:
@@ -376,7 +376,6 @@ public:
|
||||
void SetMousePosition(const Float2& newPosition) final override
|
||||
{
|
||||
SDL_WarpMouseGlobal(newPosition.X, newPosition.Y);
|
||||
|
||||
OnMouseMoved(newPosition);
|
||||
}
|
||||
|
||||
@@ -385,17 +384,18 @@ public:
|
||||
if (relativeMode == _relativeMode)
|
||||
return;
|
||||
|
||||
auto sdlWindow = static_cast<SDLWindow*>(window)->GetSDLWindow();
|
||||
if (relativeMode)
|
||||
SDL_GetGlobalMouseState(&oldPosition.X, &oldPosition.Y);
|
||||
SDL_GetMouseState(&oldPosition.X, &oldPosition.Y);
|
||||
|
||||
Mouse::SetRelativeMode(relativeMode, window);
|
||||
if (!SDL_SetWindowRelativeMouseMode(static_cast<SDLWindow*>(window)->_window, relativeMode))
|
||||
if (!SDL_SetWindowRelativeMouseMode(sdlWindow, relativeMode))
|
||||
LOG(Error, "Failed to set mouse relative mode: {0}", String(SDL_GetError()));
|
||||
|
||||
if (!relativeMode)
|
||||
{
|
||||
//SDL_SyncWindow(static_cast<SDLWindow*>(window)->_window);
|
||||
//SetMousePosition(oldPosition);
|
||||
SDL_WarpMouseInWindow(sdlWindow, oldPosition.X, oldPosition.Y);
|
||||
OnMouseMoved(oldPosition);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user