|
|
@ -2113,11 +2113,7 @@ float GetGamepadAxisMovement(int gamepad, int axis) |
|
|
|
//---------------------------------------------------------------------------------- |
|
|
|
|
|
|
|
// NOTE: Functions with a platform-specific implementation on rcore_<platform>.c |
|
|
|
//int GetMouseX(void) ** |
|
|
|
//int GetMouseY(void) ** |
|
|
|
//Vector2 GetMousePosition(void) ** |
|
|
|
//void SetMousePosition(int x, int y) |
|
|
|
//float GetMouseWheelMove(void) ** |
|
|
|
//void SetMouseCursor(int cursor) |
|
|
|
|
|
|
|
// Check if a mouse button has been pressed once |
|
|
@ -2172,6 +2168,29 @@ bool IsMouseButtonUp(int button) |
|
|
|
return up; |
|
|
|
} |
|
|
|
|
|
|
|
// Get mouse position X |
|
|
|
int GetMouseX(void) |
|
|
|
{ |
|
|
|
return (int)((CORE.Input.Mouse.currentPosition.x + CORE.Input.Mouse.offset.x)*CORE.Input.Mouse.scale.x); |
|
|
|
} |
|
|
|
|
|
|
|
// Get mouse position Y |
|
|
|
int GetMouseY(void) |
|
|
|
{ |
|
|
|
return (int)((CORE.Input.Mouse.currentPosition.y + CORE.Input.Mouse.offset.y)*CORE.Input.Mouse.scale.y); |
|
|
|
} |
|
|
|
|
|
|
|
// Get mouse position XY |
|
|
|
Vector2 GetMousePosition(void) |
|
|
|
{ |
|
|
|
Vector2 position = { 0 }; |
|
|
|
|
|
|
|
position.x = (CORE.Input.Mouse.currentPosition.x + CORE.Input.Mouse.offset.x)*CORE.Input.Mouse.scale.x; |
|
|
|
position.y = (CORE.Input.Mouse.currentPosition.y + CORE.Input.Mouse.offset.y)*CORE.Input.Mouse.scale.y; |
|
|
|
|
|
|
|
return position; |
|
|
|
} |
|
|
|
|
|
|
|
// Get mouse delta between frames |
|
|
|
Vector2 GetMouseDelta(void) |
|
|
|
{ |
|
|
@ -2197,6 +2216,17 @@ void SetMouseScale(float scaleX, float scaleY) |
|
|
|
CORE.Input.Mouse.scale = (Vector2){ scaleX, scaleY }; |
|
|
|
} |
|
|
|
|
|
|
|
// Get mouse wheel movement Y |
|
|
|
float GetMouseWheelMove(void) |
|
|
|
{ |
|
|
|
float result = 0.0f; |
|
|
|
|
|
|
|
if (fabsf(CORE.Input.Mouse.currentWheelMove.x) > fabsf(CORE.Input.Mouse.currentWheelMove.y)) result = (float)CORE.Input.Mouse.currentWheelMove.x; |
|
|
|
else result = (float)CORE.Input.Mouse.currentWheelMove.y; |
|
|
|
|
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
// Get mouse wheel movement X/Y as a vector |
|
|
|
Vector2 GetMouseWheelMoveV(void) |
|
|
|
{ |
|
|
@ -2211,10 +2241,29 @@ Vector2 GetMouseWheelMoveV(void) |
|
|
|
// Module Functions Definition: Input Handling: Touch |
|
|
|
//---------------------------------------------------------------------------------- |
|
|
|
|
|
|
|
// NOTE: Functions with a platform-specific implementation on rcore_<platform>.c |
|
|
|
//int GetTouchX(void) |
|
|
|
//int GetTouchY(void) |
|
|
|
//Vector2 GetTouchPosition(int index) |
|
|
|
// Get touch position X for touch point 0 (relative to screen size) |
|
|
|
int GetTouchX(void) |
|
|
|
{ |
|
|
|
return (int)CORE.Input.Touch.position[0].x; |
|
|
|
} |
|
|
|
|
|
|
|
// Get touch position Y for touch point 0 (relative to screen size) |
|
|
|
int GetTouchY(void) |
|
|
|
{ |
|
|
|
return (int)CORE.Input.Touch.position[0].y; |
|
|
|
} |
|
|
|
|
|
|
|
// Get touch position XY for a touch point index (relative to screen size) |
|
|
|
// TODO: Touch position should be scaled depending on display size and render size |
|
|
|
Vector2 GetTouchPosition(int index) |
|
|
|
{ |
|
|
|
Vector2 position = { -1.0f, -1.0f }; |
|
|
|
|
|
|
|
if (index < MAX_TOUCH_POINTS) position = CORE.Input.Touch.position[index]; |
|
|
|
else TRACELOG(LOG_WARNING, "INPUT: Required touch point out of range (Max touch points: %i)", MAX_TOUCH_POINTS); |
|
|
|
|
|
|
|
return position; |
|
|
|
} |
|
|
|
|
|
|
|
// Get touch point identifier for given index |
|
|
|
int GetTouchPointId(int index) |
|
|
|