UGDK  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
events.h
Go to the documentation of this file.
1 #ifndef UGDK_INPUT_EVENTS_H_
2 #define UGDK_INPUT_EVENTS_H_
3 
4 #include <ugdk/desktop.h>
5 #include <ugdk/input.h>
6 #include <ugdk/input/keycode.h>
7 #include <ugdk/input/scancode.h>
10 #include <ugdk/math/integer2D.h>
11 #include <string>
12 #include <memory>
13 
14 namespace ugdk {
15 namespace input {
16 
21 
22  KeyPressedEvent(const Keycode& _keycode, const Scancode& _scancode,
23  const Keymod& _modifiers)
24  : keycode(_keycode), scancode(_scancode), modifiers(_modifiers) {}
25 };
26 struct KeyHeldEvent {
30 
31  KeyHeldEvent(const Keycode& _keycode, const Scancode& _scancode,
32  const Keymod& _modifiers)
33  : keycode(_keycode), scancode(_scancode), modifiers(_modifiers) {}
34 };
39 
40  KeyReleasedEvent(const Keycode& _keycode, const Scancode& _scancode,
41  const Keymod& _modifiers)
42  : keycode(_keycode), scancode(_scancode), modifiers(_modifiers) {}
43 };
44 
46  const TextInput& input;
47 
48  TextEditingEvent(const TextInput& i) : input(i) {}
50 };
51 
53  std::string text;
54 
55  TextInputEvent(const char* _text) : text(_text) {}
56 };
57 
61  std::weak_ptr<desktop::Window> window;
62 
64  const math::Integer2D& _motion,
65  const std::weak_ptr<desktop::Window>& _window)
66  : position(_position)
67  , motion(_motion)
68  , window(_window)
69  {}
70 };
74 
75  MouseButtonPressedEvent(const math::Integer2D& _position, const MouseButton& _button)
76  : position(_position), button(_button) {}
77 };
81 
82  MouseButtonReleasedEvent(const math::Integer2D& _position, const MouseButton& _button)
83  : position(_position), button(_button) {}
84 };
87 
89  : scroll(_scroll) {}
90 };
91 
93  std::weak_ptr<Joystick> joystick;
94 
95  JoystickConnectedEvent(const std::weak_ptr<Joystick>& _joystick)
96  : joystick(_joystick)
97  {}
98 };
100  std::weak_ptr<Joystick> joystick;
101 
102  JoystickDisconnectedEvent(const std::weak_ptr<Joystick>& _joystick)
103  : joystick(_joystick) {}
104 };
106  std::weak_ptr<Joystick> joystick;
107  int axis_id;
109 
110  JoystickAxisEvent(const std::weak_ptr<Joystick>& _joystick,
111  int axis,
112  int16 status)
113  : joystick(_joystick)
114  , axis_id(axis)
115  , axis_status(status) {}
116 };
118  std::weak_ptr<Joystick> joystick;
119  int ball_id;
121 
122  JoystickBallEvent(const std::weak_ptr<Joystick>& _joystick,
123  int ball,
124  int dx,
125  int dy)
126  : joystick(_joystick)
127  , ball_id(ball)
128  , ball_status(dx, dy) {}
129 };
131  std::weak_ptr<Joystick> joystick;
132  int hat_id;
134 
135  JoystickHatEvent(const std::weak_ptr<Joystick>& _joystick,
136  int hat,
137  int status)
138  : joystick(_joystick)
139  , hat_id(hat)
140  , hat_status(status) {}
141 };
143  std::weak_ptr<Joystick> joystick;
144  int button;
145 
146  JoystickButtonPressedEvent(const std::weak_ptr<Joystick>& _joystick,
147  int _button)
148  : joystick(_joystick)
149  , button(_button) {}
150 };
152  std::weak_ptr<Joystick> joystick;
153  int button;
154 
155  JoystickButtonReleasedEvent(const std::weak_ptr<Joystick>& _joystick,
156  int _button)
157  : joystick(_joystick)
158  , button(_button) {}
159 };
160 
161 } // namespace input
162 } // namespace ugdk
163 
164 #endif // UGDK_INPUT_EVENTS_H_
math::Integer2D position
Definition: events.h:59
Definition: events.h:105
std::weak_ptr< Joystick > joystick
Definition: events.h:100
Keycode keycode
Definition: events.h:36
HatStatus hat_status
Definition: events.h:133
Definition: events.h:17
Keymod
Enumeration of valid key mods (possibly OR'd together).
Definition: keycode.h:323
MouseButton button
Definition: events.h:73
math::Integer2D motion
Definition: events.h:60
Definition: events.h:35
Definition: textinput.h:12
Definition: integer2D.h:20
Definition: events.h:45
std::weak_ptr< Joystick > joystick
Definition: events.h:152
int button
Definition: events.h:144
Keymod modifiers
Definition: events.h:20
JoystickHatEvent(const std::weak_ptr< Joystick > &_joystick, int hat, int status)
Definition: events.h:135
TextEditingEvent & operator=(const TextEditingEvent &)=delete
KeyPressedEvent(const Keycode &_keycode, const Scancode &_scancode, const Keymod &_modifiers)
Definition: events.h:22
Definition: joystickstatus.h:22
Definition: events.h:85
Definition: animation.h:11
Scancode
The SDL keyboard scancode representation.
Definition: scancode.h:45
MouseWheelEvent(const math::Integer2D &_scroll)
Definition: events.h:88
std::weak_ptr< Joystick > joystick
Definition: events.h:131
MouseButtonReleasedEvent(const math::Integer2D &_position, const MouseButton &_button)
Definition: events.h:82
JoystickAxisEvent(const std::weak_ptr< Joystick > &_joystick, int axis, int16 status)
Definition: events.h:110
Keycode keycode
Definition: events.h:18
std::string text
Definition: events.h:53
MouseButton
Definition: mousebutton.h:7
KeyReleasedEvent(const Keycode &_keycode, const Scancode &_scancode, const Keymod &_modifiers)
Definition: events.h:40
TextEditingEvent(const TextInput &i)
Definition: events.h:48
int axis_id
Definition: events.h:107
const TextInput & input
Definition: events.h:46
Definition: joystickstatus.h:9
MouseButtonPressedEvent(const math::Integer2D &_position, const MouseButton &_button)
Definition: events.h:75
Definition: events.h:58
int16_t int16
Definition: types.h:17
Scancode scancode
Definition: events.h:37
TextInputEvent(const char *_text)
Definition: events.h:55
Definition: events.h:26
JoystickButtonPressedEvent(const std::weak_ptr< Joystick > &_joystick, int _button)
Definition: events.h:146
math::Integer2D ball_status
Definition: events.h:120
Definition: events.h:117
math::Integer2D position
Definition: events.h:72
Keycode keycode
Definition: events.h:27
std::weak_ptr< Joystick > joystick
Definition: events.h:106
Definition: events.h:52
AxisStatus axis_status
Definition: events.h:108
Keymod modifiers
Definition: events.h:29
MouseButton button
Definition: events.h:80
int ball_id
Definition: events.h:119
int button
Definition: events.h:153
std::weak_ptr< desktop::Window > window
Definition: events.h:61
std::weak_ptr< Joystick > joystick
Definition: events.h:143
int hat_id
Definition: events.h:132
KeyHeldEvent(const Keycode &_keycode, const Scancode &_scancode, const Keymod &_modifiers)
Definition: events.h:31
JoystickButtonReleasedEvent(const std::weak_ptr< Joystick > &_joystick, int _button)
Definition: events.h:155
Definition: events.h:130
std::weak_ptr< Joystick > joystick
Definition: events.h:93
math::Integer2D position
Definition: events.h:79
Scancode scancode
Definition: events.h:28
Keycode
The SDL virtual key representation.
Definition: keycode.h:49
Keymod modifiers
Definition: events.h:38
Scancode scancode
Definition: events.h:19
JoystickDisconnectedEvent(const std::weak_ptr< Joystick > &_joystick)
Definition: events.h:102
MouseMotionEvent(const math::Integer2D &_position, const math::Integer2D &_motion, const std::weak_ptr< desktop::Window > &_window)
Definition: events.h:63
JoystickBallEvent(const std::weak_ptr< Joystick > &_joystick, int ball, int dx, int dy)
Definition: events.h:122
math::Integer2D scroll
Definition: events.h:86
JoystickConnectedEvent(const std::weak_ptr< Joystick > &_joystick)
Definition: events.h:95
std::weak_ptr< Joystick > joystick
Definition: events.h:118