diff --git a/src/rcore.c b/src/rcore.c index 8d2a9ca0a..42d92547e 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -4052,12 +4052,17 @@ float GetGamepadAxisMovement(int gamepad, int axis) bool IsMouseButtonPressed(int button) { bool pressed = false; + + if ((button >= 0) && (button <= MOUSE_BUTTON_BACK)) + { + + if ((CORE.Input.Mouse.currentButtonState[button] == 1) && (CORE.Input.Mouse.previousButtonState[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; - + // Map touches to mouse buttons checking + if ((CORE.Input.Touch.currentTouchState[button] == 1) && (CORE.Input.Touch.previousTouchState[button] == 0)) pressed = true; + + } + return pressed; } @@ -4065,12 +4070,17 @@ bool IsMouseButtonPressed(int button) bool IsMouseButtonDown(int button) { bool down = false; + + if ((button >= 0) && (button <= MOUSE_BUTTON_BACK)) + { + + if (CORE.Input.Mouse.currentButtonState[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; - + // NOTE: Touches are considered like mouse buttons + if (CORE.Input.Touch.currentTouchState[button] == 1) down = true; + + } + return down; } @@ -4078,12 +4088,17 @@ bool IsMouseButtonDown(int button) bool IsMouseButtonReleased(int button) { bool released = false; + + if ((button >= 0) && (button <= MOUSE_BUTTON_BACK)) + { + + if ((CORE.Input.Mouse.currentButtonState[button] == 0) && (CORE.Input.Mouse.previousButtonState[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; - + // Map touches to mouse buttons checking + if ((CORE.Input.Touch.currentTouchState[button] == 0) && (CORE.Input.Touch.previousTouchState[button] == 1)) released = true; + + } + return released; } @@ -4091,12 +4106,17 @@ bool IsMouseButtonReleased(int button) bool IsMouseButtonUp(int button) { bool up = false; + + if ((button >= 0) && (button <= MOUSE_BUTTON_BACK)) + { + + if (CORE.Input.Mouse.currentButtonState[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; - + // NOTE: Touches are considered like mouse buttons + if (CORE.Input.Touch.currentTouchState[button] == 0) up = true; + + } + return up; }