summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdrian Guerrero Vera <[email protected]>2021-06-21 00:11:27 +0200
committerGitHub <[email protected]>2021-06-21 00:11:27 +0200
commit96d5dd24aa8054c0daebb495bea25a2da0a7340e (patch)
treea9cff3f0d0d5c8734c7eab11fafa393f349c3e0d
parent28093c46a8d264206936d2eb534c56173346020b (diff)
downloadraylib-96d5dd24aa8054c0daebb495bea25a2da0a7340e.tar.gz
raylib-96d5dd24aa8054c0daebb495bea25a2da0a7340e.zip
core: added `GetMouseDelta()` (#1832)
* core: added `GetMouseDelta()` Thanks to previousPosition added by raysan it is now possible to create the GetMouseDelta() function. Returns a Vector2 with the difference between the current and previous position of the mouse in a frame. Useful for creating camera scrolling, among others. * Added changes noted by raysan
-rw-r--r--src/core.c11
-rw-r--r--src/raylib.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/src/core.c b/src/core.c
index 887b57b1..149dad04 100644
--- a/src/core.c
+++ b/src/core.c
@@ -3537,6 +3537,17 @@ Vector2 GetMousePosition(void)
return position;
}
+// Get mouse delta between frames
+Vector2 GetMouseDelta(void)
+{
+ Vector2 delta = {0};
+
+ delta.x = CORE.Input.Mouse.currentPosition.x - CORE.Input.Mouse.previousPosition.x;
+ delta.y = CORE.Input.Mouse.currentPosition.y - CORE.Input.Mouse.previousPosition.y;
+
+ return delta;
+}
+
// Set mouse position XY
void SetMousePosition(int x, int y)
{
diff --git a/src/raylib.h b/src/raylib.h
index ce589bda..51565421 100644
--- a/src/raylib.h
+++ b/src/raylib.h
@@ -1113,6 +1113,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 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
RLAPI void SetMouseScale(float scaleX, float scaleY); // Set mouse scaling