SleakEngine
1.0.0
C++23 multi-backend game engine
Loading...
Searching...
No Matches
InputEvent.hpp
Go to the documentation of this file.
1
#ifndef _INPUTEVENTS_HPP_
2
#define _INPUTEVENTS_HPP_
3
4
namespace
Sleak
{
5
namespace
Input
{
6
7
/// Kind of raw keyboard event delivered through this low-level input path.
8
/// @ingroup input
9
enum class
KeyboardEventType
10
{
11
KeyPressed
,
12
KeyReleased
,
13
Hold
14
};
15
16
/// Kind of raw mouse event delivered through this low-level input path.
17
/// @ingroup input
18
enum class
MouseEventType
19
{
20
ButtonPressed
,
21
ButtonReleased
,
22
Motion
,
23
Wheel
,
24
};
25
26
/// Kind of raw gamepad event delivered through this low-level input path.
27
/// @ingroup input
28
enum class
GamepadEventType
{
29
ButtonPressed
,
30
ButtonReleased
,
31
AxisMotion
,
32
};
33
34
/// Keyboard Events
35
/// @ingroup input
36
struct
KeyboardEvent
{
37
int
deviceID
;
38
KEY_CODE
keyCode
;
39
KeyboardEventType
Type
;
40
41
KeyboardEvent
() :
deviceID
(0),
keyCode
(
KEY_CODE
::
KEY__UNKNOWN
){}
42
};
43
44
/// Mouse Events
45
/// @ingroup input
46
struct
MouseEvent
{
47
int
deviceID
;
48
int
mouseButton
;
49
int
mouseX
,
mouseY
;
50
int
mouseXRel
,
mouseYRel
;
// Relative motion
51
int
wheelX
,
wheelY
;
// Mouse wheel delta
52
53
MouseEvent
() :
deviceID
(0),
mouseButton
(0),
mouseX
(0),
mouseY
(0),
mouseXRel
(0),
mouseYRel
(0),
wheelX
(0),
wheelY
(0) {}
54
};
55
56
/// Gamepad Events (if needed)
57
/// @ingroup input
58
struct
GamepadEvent
{
59
int
deviceID
;
60
int
button
;
// SDL_CONTROLLER_BUTTON_*
61
int
axis
;
// Axis index
62
float
axisValue
;
// -1.0f to 1.0f
63
64
GamepadEvent
() :
deviceID
(0),
button
(0),
axis
(0),
axisValue
(0.0f) {}
65
};
66
67
}
68
}
69
70
#endif
Sleak::Input::KEY_CODE
KEY_CODE
Definition
KeyCodes.hpp:29
Sleak::Input::GamepadEventType
GamepadEventType
Definition
InputEvent.hpp:28
Sleak::Input::KeyboardEventType
KeyboardEventType
Definition
InputEvent.hpp:10
Sleak::Input::MouseEventType
MouseEventType
Definition
InputEvent.hpp:19
Sleak::Input::KEY_CODE::KEY__UNKNOWN
@ KEY__UNKNOWN
Definition
KeyCodes.hpp:30
Sleak::Input::GamepadEventType::AxisMotion
@ AxisMotion
Definition
InputEvent.hpp:31
Sleak::Input::KeyboardEventType::KeyReleased
@ KeyReleased
Definition
InputEvent.hpp:12
Sleak::Input::KeyboardEventType::Hold
@ Hold
Definition
InputEvent.hpp:13
Sleak::Input::KeyboardEventType::KeyPressed
@ KeyPressed
Definition
InputEvent.hpp:11
Sleak::Input::MouseEventType::Motion
@ Motion
Definition
InputEvent.hpp:22
Sleak::Input::MouseEventType::Wheel
@ Wheel
Definition
InputEvent.hpp:23
Sleak::Input::MouseEventType::ButtonReleased
@ ButtonReleased
Definition
InputEvent.hpp:21
Sleak::Input::MouseEventType::ButtonPressed
@ ButtonPressed
Definition
InputEvent.hpp:20
Sleak::Input
Key and mouse-button code enumerations plus their name lookups.
Definition
InputAction.hpp:9
Sleak
Root namespace for everything the engine exposes.
Definition
Camera.hpp:10
Sleak::Input::GamepadEvent::axisValue
float axisValue
Definition
InputEvent.hpp:62
Sleak::Input::GamepadEvent::button
int button
Definition
InputEvent.hpp:60
Sleak::Input::GamepadEvent::deviceID
int deviceID
Definition
InputEvent.hpp:59
Sleak::Input::GamepadEvent::GamepadEvent
GamepadEvent()
Definition
InputEvent.hpp:64
Sleak::Input::GamepadEvent::axis
int axis
Definition
InputEvent.hpp:61
Sleak::Input::KeyboardEvent::keyCode
KEY_CODE keyCode
Definition
InputEvent.hpp:38
Sleak::Input::KeyboardEvent::deviceID
int deviceID
Definition
InputEvent.hpp:37
Sleak::Input::KeyboardEvent::KeyboardEvent
KeyboardEvent()
Definition
InputEvent.hpp:41
Sleak::Input::KeyboardEvent::Type
KeyboardEventType Type
Definition
InputEvent.hpp:39
Sleak::Input::MouseEvent::mouseYRel
int mouseYRel
Definition
InputEvent.hpp:50
Sleak::Input::MouseEvent::deviceID
int deviceID
Definition
InputEvent.hpp:47
Sleak::Input::MouseEvent::wheelX
int wheelX
Definition
InputEvent.hpp:51
Sleak::Input::MouseEvent::mouseY
int mouseY
Definition
InputEvent.hpp:49
Sleak::Input::MouseEvent::wheelY
int wheelY
Definition
InputEvent.hpp:51
Sleak::Input::MouseEvent::mouseXRel
int mouseXRel
Definition
InputEvent.hpp:50
Sleak::Input::MouseEvent::mouseButton
int mouseButton
Definition
InputEvent.hpp:48
Sleak::Input::MouseEvent::mouseX
int mouseX
Definition
InputEvent.hpp:49
Sleak::Input::MouseEvent::MouseEvent
MouseEvent()
Definition
InputEvent.hpp:53
include
public
Input
InputEvent.hpp
Generated on
for SleakEngine by
1.16.1