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 "./Functions.hpp"
5#include "./Vector2.hpp"
6#include "./raylib.hpp"
7#include "./Vector2.hpp"
8#include "./Ray.hpp"
9
10namespace raylib {
14namespace Mouse {
18[[maybe_unused]] RLCPPAPI inline bool IsButtonPressed(int button) {
19 return ::IsMouseButtonPressed(button);
20}
21
25[[maybe_unused]] RLCPPAPI inline bool IsButtonDown(int button) {
26 return ::IsMouseButtonDown(button);
27}
28
32[[maybe_unused]] RLCPPAPI inline bool IsButtonReleased(int button) {
33 return ::IsMouseButtonReleased(button);
34}
35
36[[maybe_unused]] RLCPPAPI inline bool IsButtonUp(int button) {
37 return ::IsMouseButtonUp(button);
38}
39
40[[maybe_unused]] RLCPPAPI inline int GetX() {
41 return ::GetMouseX();
42}
43
44[[maybe_unused]] RLCPPAPI inline int GetY() {
45 return ::GetMouseY();
46}
47
48[[maybe_unused]] RLCPPAPI inline void SetX(int x) {
49 ::SetMousePosition(x, GetY());
50}
51
52[[maybe_unused]] RLCPPAPI inline void SetY(int y) {
53 ::SetMousePosition(GetX(), y);
54}
55
56[[maybe_unused]] RLCPPAPI inline Vector2 GetPosition() {
57 return ::GetMousePosition();
58}
59
60[[maybe_unused]] RLCPPAPI inline void SetPosition(int x, int y) {
61 ::SetMousePosition(x, y);
62}
63
64[[maybe_unused]] RLCPPAPI inline void SetPosition(::Vector2 position) {
65 ::SetMousePosition(static_cast<int>(position.x), static_cast<int>(position.y));
66}
67
71[[maybe_unused]] RLCPPAPI inline Vector2 GetDelta() {
72 return ::GetMouseDelta();
73}
74
75[[maybe_unused]] RLCPPAPI inline void SetOffset(int offsetX = 0, int offsetY = 0) {
76 ::SetMouseOffset(offsetX, offsetY);
77}
78
79[[maybe_unused]] RLCPPAPI inline void SetOffset(::Vector2 offset) {
80 ::SetMouseOffset(static_cast<int>(offset.x), static_cast<int>(offset.y));
81}
82
83[[maybe_unused]] RLCPPAPI inline void SetScale(float scaleX = 1.0f, float scaleY = 1.0f) {
84 ::SetMouseScale(scaleX, scaleY);
85}
86
87[[maybe_unused]] RLCPPAPI inline void SetScale(::Vector2 scale) {
88 ::SetMouseScale(scale.x, scale.y);
89}
90
94[[maybe_unused]] RLCPPAPI inline float GetWheelMove() {
95 return ::GetMouseWheelMove();
96}
97
103[[maybe_unused]] RLCPPAPI inline Vector2 GetWheelMoveV() {
104 return GetMouseWheelMoveV();
105}
106
112[[maybe_unused]] RLCPPAPI inline void SetCursor(int cursor = MOUSE_CURSOR_DEFAULT) {
113 ::SetMouseCursor(cursor);
114}
115
119[[maybe_unused]] RLCPPAPI inline int GetTouchX() {
120 return ::GetTouchX();
121}
122
126[[maybe_unused]] RLCPPAPI inline int GetTouchY() {
127 return ::GetTouchY();
128}
129
133[[maybe_unused]] RLCPPAPI inline Vector2 GetTouchPosition(int index) {
134 return ::GetTouchPosition(index);
135}
136
140[[maybe_unused]] RLCPPAPI inline Ray GetRay(::Vector2 mousePosition, const ::Camera& camera) {
141 return ::GetMouseRay(mousePosition, camera);
142}
143
147[[maybe_unused]] RLCPPAPI inline Ray GetRay(const ::Camera& camera) {
148 return ::GetMouseRay(::GetMousePosition(), camera);
149}
150} // namespace Mouse
151} // namespace raylib
152
153namespace RMouse = raylib::Mouse;
154
155#endif // RAYLIB_CPP_INCLUDE_MOUSE_HPP_
Ray type (useful for raycast)
Definition: Ray.hpp:12
Vector2 type.
Definition: Vector2.hpp:20
Input-related functions: mouse.
Definition: Mouse.hpp:14
static int GetTouchX()
Get touch position X for touch point 0 (relative to screen size)
Definition: Mouse.hpp:119
static bool IsButtonDown(int button)
Detect if a mouse button is being pressed.
Definition: Mouse.hpp:25
static int GetTouchY()
Get touch position Y for touch point 0 (relative to screen size)
Definition: Mouse.hpp:126
static Vector2 GetTouchPosition(int index)
Get touch position XY for a touch point index (relative to screen size)
Definition: Mouse.hpp:133
static void SetCursor(int cursor=MOUSE_CURSOR_DEFAULT)
Sets the current mouse cursor icon.
Definition: Mouse.hpp:112
static bool IsButtonReleased(int button)
Detect if a mouse button has been released once.
Definition: Mouse.hpp:32
static bool IsButtonPressed(int button)
Detect if a mouse button has been pressed once.
Definition: Mouse.hpp:18
static Ray GetRay(::Vector2 mousePosition, const ::Camera &camera)
Get a ray trace from mouse position.
Definition: Mouse.hpp:140
static Vector2 GetWheelMoveV()
Get mouse wheel movement for both X and Y.
Definition: Mouse.hpp:103
static Vector2 GetDelta()
Get mouse delta between frames.
Definition: Mouse.hpp:71
static float GetWheelMove()
Get mouse wheel movement for X or Y, whichever is larger.
Definition: Mouse.hpp:94
All raylib-cpp classes and functions appear in the raylib namespace.
Definition: AudioDevice.hpp:8