1#ifndef RAYLIB_CPP_INCLUDE_MOUSE_HPP_
2#define RAYLIB_CPP_INCLUDE_MOUSE_HPP_
4#include "./Functions.hpp"
5#include "./Vector2.hpp"
7#include "./Vector2.hpp"
19 return ::IsMouseButtonPressed(button);
26 return ::IsMouseButtonDown(button);
33 return ::IsMouseButtonReleased(button);
36[[maybe_unused]] RLCPPAPI
inline bool IsButtonUp(
int button) {
37 return ::IsMouseButtonUp(button);
40[[maybe_unused]] RLCPPAPI
inline int GetX() {
44[[maybe_unused]] RLCPPAPI
inline int GetY() {
48[[maybe_unused]] RLCPPAPI
inline void SetX(
int x) {
49 ::SetMousePosition(x, GetY());
52[[maybe_unused]] RLCPPAPI
inline void SetY(
int y) {
53 ::SetMousePosition(GetX(), y);
56[[maybe_unused]] RLCPPAPI
inline Vector2 GetPosition() {
57 return ::GetMousePosition();
60[[maybe_unused]] RLCPPAPI
inline void SetPosition(
int x,
int y) {
61 ::SetMousePosition(x, y);
64[[maybe_unused]] RLCPPAPI
inline void SetPosition(::Vector2 position) {
65 ::SetMousePosition(
static_cast<int>(position.x),
static_cast<int>(position.y));
72 return ::GetMouseDelta();
75[[maybe_unused]] RLCPPAPI
inline void SetOffset(
int offsetX = 0,
int offsetY = 0) {
76 ::SetMouseOffset(offsetX, offsetY);
79[[maybe_unused]] RLCPPAPI
inline void SetOffset(::Vector2 offset) {
80 ::SetMouseOffset(
static_cast<int>(offset.x),
static_cast<int>(offset.y));
83[[maybe_unused]] RLCPPAPI
inline void SetScale(
float scaleX = 1.0f,
float scaleY = 1.0f) {
84 ::SetMouseScale(scaleX, scaleY);
87[[maybe_unused]] RLCPPAPI
inline void SetScale(::Vector2 scale) {
88 ::SetMouseScale(scale.x, scale.y);
95 return ::GetMouseWheelMove();
104 return GetMouseWheelMoveV();
112[[maybe_unused]] RLCPPAPI
inline void SetCursor(
int cursor = MOUSE_CURSOR_DEFAULT) {
113 ::SetMouseCursor(cursor);
120 return ::GetTouchX();
127 return ::GetTouchY();
134 return ::GetTouchPosition(index);
140[[maybe_unused]] RLCPPAPI
inline Ray GetRay(::Vector2 mousePosition, const ::Camera& camera) {
141 return ::GetMouseRay(mousePosition, camera);
147[[maybe_unused]] RLCPPAPI
inline Ray GetRay(const ::Camera& camera) {
148 return ::GetMouseRay(::GetMousePosition(), camera);
Ray type (useful for raycast)
Input-related functions: mouse.
static int GetTouchX()
Get touch position X for touch point 0 (relative to screen size)
static bool IsButtonDown(int button)
Detect if a mouse button is being pressed.
static int GetTouchY()
Get touch position Y for touch point 0 (relative to screen size)
static Vector2 GetTouchPosition(int index)
Get touch position XY for a touch point index (relative to screen size)
static void SetCursor(int cursor=MOUSE_CURSOR_DEFAULT)
Sets the current mouse cursor icon.
static bool IsButtonReleased(int button)
Detect if a mouse button has been released once.
static bool IsButtonPressed(int button)
Detect if a mouse button has been pressed once.
static Ray GetRay(::Vector2 mousePosition, const ::Camera &camera)
Get a ray trace from mouse position.
static Vector2 GetWheelMoveV()
Get mouse wheel movement for both X and Y.
static Vector2 GetDelta()
Get mouse delta between frames.
static float GetWheelMove()
Get mouse wheel movement for X or Y, whichever is larger.
All raylib-cpp classes and functions appear in the raylib namespace.