mirror of
https://github.com/raysan5/raylib.git
synced 2026-02-04 05:09:17 -05:00
[rcore] IsMouseButton*(), random key codes return unexpected results (#5516)
* update * update * stuff * update * move headerfile to root * delete .h * update ignore * fix IsMouseButtonDown\Pressed\Released\Up will get randomly returned to true when the button code is outside the range of mouse button * remove unessary macro * refactor IsMouseButton*() early returns
This commit is contained in:
44
src/rcore.c
44
src/rcore.c
@ -4053,10 +4053,15 @@ bool IsMouseButtonPressed(int button)
|
||||
{
|
||||
bool pressed = false;
|
||||
|
||||
if ((CORE.Input.Mouse.currentButtonState[button] == 1) && (CORE.Input.Mouse.previousButtonState[button] == 0)) pressed = true;
|
||||
if ((button >= 0) && (button <= MOUSE_BUTTON_BACK))
|
||||
{
|
||||
|
||||
// Map touches to mouse buttons checking
|
||||
if ((CORE.Input.Touch.currentTouchState[button] == 1) && (CORE.Input.Touch.previousTouchState[button] == 0)) pressed = true;
|
||||
if ((CORE.Input.Mouse.currentButtonState[button] == 1) && (CORE.Input.Mouse.previousButtonState[button] == 0)) pressed = true;
|
||||
|
||||
// Map touches to mouse buttons checking
|
||||
if ((CORE.Input.Touch.currentTouchState[button] == 1) && (CORE.Input.Touch.previousTouchState[button] == 0)) pressed = true;
|
||||
|
||||
}
|
||||
|
||||
return pressed;
|
||||
}
|
||||
@ -4066,10 +4071,15 @@ bool IsMouseButtonDown(int button)
|
||||
{
|
||||
bool down = false;
|
||||
|
||||
if (CORE.Input.Mouse.currentButtonState[button] == 1) down = true;
|
||||
if ((button >= 0) && (button <= MOUSE_BUTTON_BACK))
|
||||
{
|
||||
|
||||
// NOTE: Touches are considered like mouse buttons
|
||||
if (CORE.Input.Touch.currentTouchState[button] == 1) down = true;
|
||||
if (CORE.Input.Mouse.currentButtonState[button] == 1) down = true;
|
||||
|
||||
// NOTE: Touches are considered like mouse buttons
|
||||
if (CORE.Input.Touch.currentTouchState[button] == 1) down = true;
|
||||
|
||||
}
|
||||
|
||||
return down;
|
||||
}
|
||||
@ -4079,10 +4089,15 @@ bool IsMouseButtonReleased(int button)
|
||||
{
|
||||
bool released = false;
|
||||
|
||||
if ((CORE.Input.Mouse.currentButtonState[button] == 0) && (CORE.Input.Mouse.previousButtonState[button] == 1)) released = true;
|
||||
if ((button >= 0) && (button <= MOUSE_BUTTON_BACK))
|
||||
{
|
||||
|
||||
// Map touches to mouse buttons checking
|
||||
if ((CORE.Input.Touch.currentTouchState[button] == 0) && (CORE.Input.Touch.previousTouchState[button] == 1)) released = true;
|
||||
if ((CORE.Input.Mouse.currentButtonState[button] == 0) && (CORE.Input.Mouse.previousButtonState[button] == 1)) released = true;
|
||||
|
||||
// Map touches to mouse buttons checking
|
||||
if ((CORE.Input.Touch.currentTouchState[button] == 0) && (CORE.Input.Touch.previousTouchState[button] == 1)) released = true;
|
||||
|
||||
}
|
||||
|
||||
return released;
|
||||
}
|
||||
@ -4092,10 +4107,15 @@ bool IsMouseButtonUp(int button)
|
||||
{
|
||||
bool up = false;
|
||||
|
||||
if (CORE.Input.Mouse.currentButtonState[button] == 0) up = true;
|
||||
if ((button >= 0) && (button <= MOUSE_BUTTON_BACK))
|
||||
{
|
||||
|
||||
// NOTE: Touches are considered like mouse buttons
|
||||
if (CORE.Input.Touch.currentTouchState[button] == 0) up = true;
|
||||
if (CORE.Input.Mouse.currentButtonState[button] == 0) up = true;
|
||||
|
||||
// NOTE: Touches are considered like mouse buttons
|
||||
if (CORE.Input.Touch.currentTouchState[button] == 0) up = true;
|
||||
|
||||
}
|
||||
|
||||
return up;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user