diff --git a/src/rcore.c b/src/rcore.c index d1bcbbc9d..fb4f3dae3 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -2085,18 +2085,6 @@ Vector2 GetMouseDelta(void) return delta; } -// Set mouse position XY -void SetMousePosition(int x, int y) -{ - CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; - CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; - -#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB) - // NOTE: emscripten not implemented - glfwSetCursorPos(CORE.Window.handle, CORE.Input.Mouse.currentPosition.x, CORE.Input.Mouse.currentPosition.y); -#endif -} - // Set mouse offset // NOTE: Useful when rendering to different size targets void SetMouseOffset(int offsetX, int offsetY) diff --git a/src/rcore_android.c b/src/rcore_android.c index 26b4690c6..8073b8c87 100644 --- a/src/rcore_android.c +++ b/src/rcore_android.c @@ -1668,4 +1668,11 @@ int GetMouseY(void) Vector2 GetMousePosition(void) { return GetTouchPosition(0); -} \ No newline at end of file +} + +// Set mouse position XY +void SetMousePosition(int x, int y) +{ + CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; + CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; +} diff --git a/src/rcore_desktop.c b/src/rcore_desktop.c index 1efe3a921..1e7df73b8 100644 --- a/src/rcore_desktop.c +++ b/src/rcore_desktop.c @@ -1557,4 +1557,14 @@ Vector2 GetMousePosition(void) position.y = (CORE.Input.Mouse.currentPosition.y + CORE.Input.Mouse.offset.y)*CORE.Input.Mouse.scale.y; return position; -} \ No newline at end of file +} + +// Set mouse position XY +void SetMousePosition(int x, int y) +{ + CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; + CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; + + // NOTE: emscripten not implemented + glfwSetCursorPos(CORE.Window.handle, CORE.Input.Mouse.currentPosition.x, CORE.Input.Mouse.currentPosition.y); +} diff --git a/src/rcore_drm.c b/src/rcore_drm.c index 7b009450a..7cd601c59 100644 --- a/src/rcore_drm.c +++ b/src/rcore_drm.c @@ -998,4 +998,11 @@ Vector2 GetMousePosition(void) position.y = (CORE.Input.Mouse.currentPosition.y + CORE.Input.Mouse.offset.y)*CORE.Input.Mouse.scale.y; return position; -} \ No newline at end of file +} + +// Set mouse position XY +void SetMousePosition(int x, int y) +{ + CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; + CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; +} diff --git a/src/rcore_web.c b/src/rcore_web.c index 127f26f10..2efac05ff 100644 --- a/src/rcore_web.c +++ b/src/rcore_web.c @@ -1598,4 +1598,14 @@ Vector2 GetMousePosition(void) position.y = (CORE.Input.Mouse.currentPosition.y + CORE.Input.Mouse.offset.y)*CORE.Input.Mouse.scale.y; return position; -} \ No newline at end of file +} + +// Set mouse position XY +void SetMousePosition(int x, int y) +{ + CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; + CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; + + // NOTE: emscripten not implemented + glfwSetCursorPos(CORE.Window.handle, CORE.Input.Mouse.currentPosition.x, CORE.Input.Mouse.currentPosition.y); +}