diff --git a/src/raylib.h b/src/raylib.h index 0ea0df316..801ad7aaf 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1205,6 +1205,7 @@ RLAPI bool IsMouseButtonUp(int button); // Check if a mous RLAPI int GetMouseX(void); // Get mouse position X RLAPI int GetMouseY(void); // Get mouse position Y RLAPI Vector2 GetMousePosition(void); // Get mouse position XY +RLAPI Vector2 GetPreviousMousePosition(void); // Get previous mouse position XY RLAPI Vector2 GetMouseDelta(void); // Get mouse delta between frames RLAPI void SetMousePosition(int x, int y); // Set mouse position XY RLAPI void SetMouseOffset(int offsetX, int offsetY); // Set mouse offset diff --git a/src/rcore.c b/src/rcore.c index e97ef357c..54e376c6a 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -3465,6 +3465,18 @@ Vector2 GetMousePosition(void) return position; } +// Get previous mouse position XY +Vector2 GetPreviousMousePosition(void) +{ + Vector2 prevPosition = { 0 }; + + prevPosition.x = (CORE.Input.Mouse.previousPosition.x + CORE.Input.Mouse.offset.x)*CORE.Input.Mouse.scale.x; + prevPosition.y = (CORE.Input.Mouse.previousPosition.y + CORE.Input.Mouse.offset.y)*CORE.Input.Mouse.scale.y; + + return prevPosition; +} + + // Get mouse delta between frames Vector2 GetMouseDelta(void) {