GetDeltaMouse () added. Returns a Vector2 with the difference between the current and previous position of the mouse.
Useful for creating camera scrolling, among others.
This commit is contained in:
parent
470574517a
commit
6cb07d92f2
13
src/core.c
13
src/core.c
|
|
@ -434,6 +434,9 @@ typedef struct CoreData {
|
||||||
Vector2 offset; // Mouse offset
|
Vector2 offset; // Mouse offset
|
||||||
Vector2 scale; // Mouse scaling
|
Vector2 scale; // Mouse scaling
|
||||||
|
|
||||||
|
Vector2 delta; // Mouse movement per frame
|
||||||
|
Vector2 previousPosition; // Previus frame position
|
||||||
|
|
||||||
int cursor; // Tracks current mouse cursor
|
int cursor; // Tracks current mouse cursor
|
||||||
bool cursorHidden; // Track if cursor is hidden
|
bool cursorHidden; // Track if cursor is hidden
|
||||||
bool cursorOnScreen; // Tracks if cursor is inside client area
|
bool cursorOnScreen; // Tracks if cursor is inside client area
|
||||||
|
|
@ -3387,6 +3390,12 @@ Vector2 GetMousePosition(void)
|
||||||
return position;
|
return position;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Mouse movement per frame XY
|
||||||
|
RLAPI Vector2 GetDeltaMouse(void)
|
||||||
|
{
|
||||||
|
return CORE.Input.Mouse.delta;
|
||||||
|
}
|
||||||
|
|
||||||
// Set mouse position XY
|
// Set mouse position XY
|
||||||
void SetMousePosition(int x, int y)
|
void SetMousePosition(int x, int y)
|
||||||
{
|
{
|
||||||
|
|
@ -4856,6 +4865,10 @@ static void PollInputEvents(void)
|
||||||
// NOTE: Mouse input events polling is done asynchronously in another pthread - EventThread()
|
// NOTE: Mouse input events polling is done asynchronously in another pthread - EventThread()
|
||||||
// NOTE: Gamepad (Joystick) input events polling is done asynchonously in another pthread - GamepadThread()
|
// NOTE: Gamepad (Joystick) input events polling is done asynchonously in another pthread - GamepadThread()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
CORE.Input.Mouse.delta.x = CORE.Input.Mouse.position.x - CORE.Input.Mouse.previousPosition.x;
|
||||||
|
CORE.Input.Mouse.delta.y = CORE.Input.Mouse.position.y - CORE.Input.Mouse.previousPosition.y;
|
||||||
|
CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.position;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy back buffer to front buffers
|
// Copy back buffer to front buffers
|
||||||
|
|
|
||||||
|
|
@ -1102,6 +1102,7 @@ RLAPI bool IsMouseButtonUp(int button); // Detect if a mou
|
||||||
RLAPI int GetMouseX(void); // Returns mouse position X
|
RLAPI int GetMouseX(void); // Returns mouse position X
|
||||||
RLAPI int GetMouseY(void); // Returns mouse position Y
|
RLAPI int GetMouseY(void); // Returns mouse position Y
|
||||||
RLAPI Vector2 GetMousePosition(void); // Returns mouse position XY
|
RLAPI Vector2 GetMousePosition(void); // Returns mouse position XY
|
||||||
|
RLAPI Vector2 GetDeltaMouse(void); // Mouse movement per frame XY
|
||||||
RLAPI void SetMousePosition(int x, int y); // Set mouse position XY
|
RLAPI void SetMousePosition(int x, int y); // Set mouse position XY
|
||||||
RLAPI void SetMouseOffset(int offsetX, int offsetY); // Set mouse offset
|
RLAPI void SetMouseOffset(int offsetX, int offsetY); // Set mouse offset
|
||||||
RLAPI void SetMouseScale(float scaleX, float scaleY); // Set mouse scaling
|
RLAPI void SetMouseScale(float scaleX, float scaleY); // Set mouse scaling
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user