raylib-cpp
C++ object-oriented wrapper library for raylib.
Loading...
Searching...
No Matches
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#include "./Ray.hpp"
7
8namespace raylib {
12namespace Mouse {
16 [[maybe_unused]] RLCPPAPI inline bool IsButtonPressed(int button) {
17 return ::IsMouseButtonPressed(button);
18 }
19
23 [[maybe_unused]] RLCPPAPI inline bool IsButtonDown(int button) {
24 return ::IsMouseButtonDown(button);
25 }
26
30 [[maybe_unused]] RLCPPAPI inline bool IsButtonReleased(int button) {
31 return ::IsMouseButtonReleased(button);
32 }
33
34 [[maybe_unused]] RLCPPAPI inline bool IsButtonUp(int button) {
35 return ::IsMouseButtonUp(button);
36 }
37
38 [[maybe_unused]] RLCPPAPI inline int GetX() {
39 return ::GetMouseX();
40 }
41
42 [[maybe_unused]] RLCPPAPI inline int GetY() {
43 return ::GetMouseY();
44 }
45
46 [[maybe_unused]] RLCPPAPI inline void SetX(int x) {
47 ::SetMousePosition(x, GetY());
48 }
49
50 [[maybe_unused]] RLCPPAPI inline void SetY(int y) {
51 ::SetMousePosition(GetX(), y);
52 }
53
54 [[maybe_unused]] RLCPPAPI inline Vector2 GetPosition() {
55 return ::GetMousePosition();
56 }
57
58 [[maybe_unused]] RLCPPAPI inline void SetPosition(int x, int y) {
59 ::SetMousePosition(x, y);
60 }
61
62 [[maybe_unused]] RLCPPAPI inline void SetPosition(::Vector2 position) {
63 ::SetMousePosition(static_cast<int>(position.x), static_cast<int>(position.y));
64 }
65
69 [[maybe_unused]] RLCPPAPI inline Vector2 GetDelta() {
70 return ::GetMouseDelta();
71 }
72
73 [[maybe_unused]] RLCPPAPI inline void SetOffset(int offsetX = 0, int offsetY = 0) {
74 ::SetMouseOffset(offsetX, offsetY);
75 }
76
77 [[maybe_unused]] RLCPPAPI inline void SetOffset(::Vector2 offset) {
78 ::SetMouseOffset(static_cast<int>(offset.x), static_cast<int>(offset.y));
79 }
80
81 [[maybe_unused]] RLCPPAPI inline void SetScale(float scaleX = 1.0f, float scaleY = 1.0f) {
82 ::SetMouseScale(scaleX, scaleY);
83 }
84
85 [[maybe_unused]] RLCPPAPI inline void SetScale(::Vector2 scale) {
86 ::SetMouseScale(scale.x, scale.y);
87 }
88
92 [[maybe_unused]] RLCPPAPI inline float GetWheelMove() {
93 return ::GetMouseWheelMove();
94 }
95
101 [[maybe_unused]] RLCPPAPI inline Vector2 GetWheelMoveV() {
102 return GetMouseWheelMoveV();
103 }
104
110 [[maybe_unused]] RLCPPAPI inline void SetCursor(int cursor = MOUSE_CURSOR_DEFAULT) {
111 ::SetMouseCursor(cursor);
112 }
113
117 [[maybe_unused]] RLCPPAPI inline int GetTouchX() {
118 return ::GetTouchX();
119 }
120
124 [[maybe_unused]] RLCPPAPI inline int GetTouchY() {
125 return ::GetTouchY();
126 }
127
131 [[maybe_unused]] RLCPPAPI inline Vector2 GetTouchPosition(int index) {
132 return ::GetTouchPosition(index);
133 }
134
138 [[maybe_unused]] RLCPPAPI inline Ray GetRay(::Vector2 mousePosition, const ::Camera& camera) {
139 return ::GetMouseRay(mousePosition, camera);
140 }
141
145 [[maybe_unused]] RLCPPAPI inline Ray GetRay(const ::Camera& camera) {
146 return ::GetMouseRay(::GetMousePosition(), camera);
147 }
148} // namespace Mouse
149} // namespace raylib
150
151namespace RMouse = raylib::Mouse;
152
153#endif // RAYLIB_CPP_INCLUDE_MOUSE_HPP_
Ray type (useful for raycast)
Definition: Ray.hpp:12
Vector2 type.
Definition: Vector2.hpp:19
Input-related functions: mouse.
Definition: Mouse.hpp:12
RLCPPAPI Ray GetRay(::Vector2 mousePosition, const ::Camera &camera)
Get a ray trace from mouse position.
Definition: Mouse.hpp:138
RLCPPAPI void SetCursor(int cursor=MOUSE_CURSOR_DEFAULT)
Sets the current mouse cursor icon.
Definition: Mouse.hpp:110
RLCPPAPI Vector2 GetWheelMoveV()
Get mouse wheel movement for both X and Y.
Definition: Mouse.hpp:101
RLCPPAPI int GetTouchX()
Get touch position X for touch point 0 (relative to screen size)
Definition: Mouse.hpp:117
RLCPPAPI bool IsButtonDown(int button)
Detect if a mouse button is being pressed.
Definition: Mouse.hpp:23
RLCPPAPI float GetWheelMove()
Get mouse wheel movement for X or Y, whichever is larger.
Definition: Mouse.hpp:92
RLCPPAPI bool IsButtonReleased(int button)
Detect if a mouse button has been released once.
Definition: Mouse.hpp:30
RLCPPAPI int GetTouchY()
Get touch position Y for touch point 0 (relative to screen size)
Definition: Mouse.hpp:124
RLCPPAPI Vector2 GetDelta()
Get mouse delta between frames.
Definition: Mouse.hpp:69
RLCPPAPI bool IsButtonPressed(int button)
Detect if a mouse button has been pressed once.
Definition: Mouse.hpp:16
RLCPPAPI Vector2 GetTouchPosition(int index)
Get touch position XY for a touch point index (relative to screen size)
Definition: Mouse.hpp:131