raylib-cpp
C++ object-oriented wrapper library for raylib.
Mouse.hpp
1 #ifndef RAYLIB_CPP_INCLUDE_MOUSE_HPP_
2 #define RAYLIB_CPP_INCLUDE_MOUSE_HPP_
3 
4 #include "./raylib.hpp"
5 #include "./Vector2.hpp"
6 
7 namespace raylib {
11 class Mouse {
12  public:
16  static inline bool IsButtonPressed(int button) {
17  return ::IsMouseButtonPressed(button);
18  }
19 
23  static inline bool IsButtonDown(int button) {
24  return ::IsMouseButtonDown(button);
25  }
26 
30  static inline bool IsButtonReleased(int button) {
31  return ::IsMouseButtonReleased(button);
32  }
33 
34  static inline bool IsButtonUp(int button) {
35  return ::IsMouseButtonUp(button);
36  }
37 
38  static inline int GetX() {
39  return ::GetMouseX();
40  }
41 
42  static inline int GetY() {
43  return ::GetMouseY();
44  }
45 
46  static inline void SetX(int x) {
47  ::SetMousePosition(x, GetY());
48  }
49 
50  static inline void SetY(int y) {
51  ::SetMousePosition(GetX(), y);
52  }
53 
54  static inline Vector2 GetPosition() {
55  return ::GetMousePosition();
56  }
57 
58  static inline void SetPosition(int x, int y) {
59  ::SetMousePosition(x, y);
60  }
61 
62  static inline void SetPosition(::Vector2 position) {
63  ::SetMousePosition(static_cast<int>(position.x), static_cast<int>(position.y));
64  }
65 
66  static inline void SetOffset(int offsetX = 0, int offsetY = 0) {
67  ::SetMouseOffset(offsetX, offsetY);
68  }
69 
70  static inline void SetOffset(::Vector2 offset) {
71  ::SetMouseOffset(static_cast<int>(offset.x), static_cast<int>(offset.y));
72  }
73 
74  static inline void SetScale(float scaleX = 1.0f, float scaleY = 1.0f) {
75  ::SetMouseScale(scaleX, scaleY);
76  }
77 
78  static inline void SetScale(::Vector2 scale) {
79  ::SetMouseScale(scale.x, scale.y);
80  }
81 
82  static inline float GetWheelMove() {
83  return ::GetMouseWheelMove();
84  }
85 
91  static inline void SetCursor(int cursor = MOUSE_CURSOR_DEFAULT) {
92  ::SetMouseCursor(cursor);
93  }
94 
98  static inline int GetTouchX() {
99  return ::GetTouchX();
100  }
101 
105  static inline int GetTouchY() {
106  return ::GetTouchY();
107  }
108 
112  static inline Vector2 GetTouchPosition(int index) {
113  return ::GetTouchPosition(index);
114  }
115 };
116 } // namespace raylib
117 
118 #endif // RAYLIB_CPP_INCLUDE_MOUSE_HPP_
raylib
All raylib-cpp classes and functions appear in the raylib namespace.
Definition: AudioDevice.hpp:8
raylib::Mouse
Input-related functions: mouse.
Definition: Mouse.hpp:11
raylib::Mouse::IsButtonDown
static bool IsButtonDown(int button)
Detect if a mouse button is being pressed.
Definition: Mouse.hpp:23
raylib::Mouse::IsButtonPressed
static bool IsButtonPressed(int button)
Detect if a mouse button has been pressed once.
Definition: Mouse.hpp:16
raylib::Mouse::GetTouchPosition
static Vector2 GetTouchPosition(int index)
Get touch position XY for a touch point index (relative to screen size)
Definition: Mouse.hpp:112
raylib::Mouse::SetCursor
static void SetCursor(int cursor=MOUSE_CURSOR_DEFAULT)
Sets the current mouse cursor icon.
Definition: Mouse.hpp:91
raylib::Mouse::GetTouchX
static int GetTouchX()
Get touch position X for touch point 0 (relative to screen size)
Definition: Mouse.hpp:98
raylib::Vector2
Vector2 type.
Definition: Vector2.hpp:16
raylib::Mouse::GetTouchY
static int GetTouchY()
Get touch position Y for touch point 0 (relative to screen size)
Definition: Mouse.hpp:105
raylib::Mouse::IsButtonReleased
static bool IsButtonReleased(int button)
Detect if a mouse button has been released once.
Definition: Mouse.hpp:30