lxgui
Loading...
Searching...
No Matches
include
lxgui
input_signals.hpp
1
#ifndef LXGUI_INPUT_SIGNALS_HPP
2
#define LXGUI_INPUT_SIGNALS_HPP
3
4
#include "lxgui/gui_vector2.hpp"
5
#include "lxgui/lxgui.hpp"
6
#include "lxgui/utils_signal.hpp"
7
8
namespace
lxgui::input
{
9
11
struct
mouse_moved_data
{
12
gui::vector2f
motion
;
13
gui::vector2f
position
;
14
};
15
17
struct
mouse_wheel_data
{
18
float
motion
;
19
gui::vector2f
position
;
20
};
21
23
struct
mouse_pressed_data
{
24
input::mouse_button
button
;
25
gui::vector2f
position
;
26
};
27
29
struct
mouse_released_data
{
30
input::mouse_button
button
;
31
gui::vector2f
position
;
32
bool
was_dragged
;
33
};
34
36
struct
mouse_double_clicked_data
{
37
input::mouse_button
button
;
38
gui::vector2f
position
;
39
};
40
42
struct
mouse_drag_start_data
{
43
input::mouse_button
button
;
45
gui::vector2f
position
;
46
};
47
49
struct
mouse_drag_stop_data
{
50
input::mouse_button
button
;
52
gui::vector2f
position
;
53
};
54
56
struct
key_pressed_data
{
57
input::key
key
;
58
};
59
61
struct
key_pressed_repeat_data
{
62
input::key
key
;
63
};
64
66
struct
key_released_data
{
67
input::key
key
;
68
};
69
71
struct
text_entered_data
{
72
std::uint32_t
character
;
73
};
74
76
class
signals
{
77
public
:
79
signals
() =
default
;
80
81
// Non-movable, non-copiable
82
signals
(
const
signals
&) =
delete
;
83
signals
(
signals
&&) =
delete
;
84
signals
&
operator=
(
const
signals
&) =
delete
;
85
signals
&
operator=
(
signals
&&) =
delete
;
86
90
utils::signal
<void(
const
mouse_moved_data
&)>
on_mouse_moved
;
91
95
utils::signal
<void(
const
mouse_wheel_data
&)>
on_mouse_wheel
;
96
100
utils::signal
<void(
const
mouse_pressed_data
&)>
on_mouse_pressed
;
101
105
utils::signal
<void(
const
mouse_released_data
&)>
on_mouse_released
;
106
110
utils::signal
<void(
const
mouse_double_clicked_data
&)>
on_mouse_double_clicked
;
111
115
utils::signal
<void(
const
mouse_drag_start_data
&)>
on_mouse_drag_start
;
116
120
utils::signal
<void(
const
mouse_drag_stop_data
&)>
on_mouse_drag_stop
;
121
125
utils::signal
<void(
const
key_pressed_data
&)>
on_key_pressed
;
126
130
utils::signal
<void(
const
key_pressed_repeat_data
&)>
on_key_pressed_repeat
;
131
135
utils::signal
<void(
const
key_released_data
&)>
on_key_released
;
136
141
utils::signal
<void(
const
text_entered_data
&)>
on_text_entered
;
142
};
143
144
}
// namespace lxgui::input
145
146
#endif
lxgui::input::signals
Stores signals for input events.
Definition
input_signals.hpp:76
lxgui::input::signals::on_text_entered
utils::signal< void(const text_entered_data &)> on_text_entered
Signal triggered when text is entered.
Definition
input_signals.hpp:141
lxgui::input::signals::on_mouse_double_clicked
utils::signal< void(const mouse_double_clicked_data &)> on_mouse_double_clicked
Signal triggered when a mouse button is double clicked.
Definition
input_signals.hpp:110
lxgui::input::signals::signals
signals(const signals &)=delete
lxgui::input::signals::operator=
signals & operator=(signals &&)=delete
lxgui::input::signals::on_mouse_drag_start
utils::signal< void(const mouse_drag_start_data &)> on_mouse_drag_start
Signal triggered when the mouse starts a drag operation.
Definition
input_signals.hpp:115
lxgui::input::signals::on_key_pressed
utils::signal< void(const key_pressed_data &)> on_key_pressed
Signal triggered when a keyboard key is pressed.
Definition
input_signals.hpp:125
lxgui::input::signals::signals
signals(signals &&)=delete
lxgui::input::signals::on_mouse_wheel
utils::signal< void(const mouse_wheel_data &)> on_mouse_wheel
Signal triggered when the mouse wheel is moved.
Definition
input_signals.hpp:95
lxgui::input::signals::on_mouse_released
utils::signal< void(const mouse_released_data &)> on_mouse_released
Signal triggered when a mouse button is released.
Definition
input_signals.hpp:105
lxgui::input::signals::on_mouse_pressed
utils::signal< void(const mouse_pressed_data &)> on_mouse_pressed
Signal triggered when a mouse button is pressed.
Definition
input_signals.hpp:100
lxgui::input::signals::on_mouse_drag_stop
utils::signal< void(const mouse_drag_stop_data &)> on_mouse_drag_stop
Signal triggered when the mouse ends a drag operation.
Definition
input_signals.hpp:120
lxgui::input::signals::on_key_released
utils::signal< void(const key_released_data &)> on_key_released
Signal triggered when a keyboard key is released.
Definition
input_signals.hpp:135
lxgui::input::signals::on_key_pressed_repeat
utils::signal< void(const key_pressed_repeat_data &)> on_key_pressed_repeat
Signal triggered when a keyboard key is long-pressed and repeats.
Definition
input_signals.hpp:130
lxgui::input::signals::operator=
signals & operator=(const signals &)=delete
lxgui::input::signals::on_mouse_moved
utils::signal< void(const mouse_moved_data &)> on_mouse_moved
Signal triggered when the mouse moves.
Definition
input_signals.hpp:90
lxgui::input::signals::signals
signals()=default
Default constructor.
lxgui::utils::signal
Generic class for observing and triggering events.
Definition
utils_signal.hpp:142
lxgui::input
Definition
input_dispatcher.cpp:13
lxgui::input::key
key
Definition
input_keys.hpp:16
lxgui::input::mouse_button
mouse_button
Definition
input_keys.hpp:12
lxgui::gui::vector2< float >
lxgui::input::key_pressed_data
Data for on_key_pressed signal.
Definition
input_signals.hpp:56
lxgui::input::key_pressed_data::key
input::key key
Definition
input_signals.hpp:57
lxgui::input::key_pressed_repeat_data
Data for on_key_pressed_repeat signal.
Definition
input_signals.hpp:61
lxgui::input::key_pressed_repeat_data::key
input::key key
Definition
input_signals.hpp:62
lxgui::input::key_released_data
Data for on_key_released signal.
Definition
input_signals.hpp:66
lxgui::input::key_released_data::key
input::key key
Definition
input_signals.hpp:67
lxgui::input::mouse_double_clicked_data
Data for on_mouse_double_clicked signal.
Definition
input_signals.hpp:36
lxgui::input::mouse_double_clicked_data::position
gui::vector2f position
Mouse button that generated this event.
Definition
input_signals.hpp:38
lxgui::input::mouse_double_clicked_data::button
input::mouse_button button
Definition
input_signals.hpp:37
lxgui::input::mouse_drag_start_data
Data for on_mouse_drag_start signal.
Definition
input_signals.hpp:42
lxgui::input::mouse_drag_start_data::position
gui::vector2f position
Definition
input_signals.hpp:45
lxgui::input::mouse_drag_start_data::button
input::mouse_button button
Definition
input_signals.hpp:43
lxgui::input::mouse_drag_stop_data
Data for on_mouse_drag_stop signal.
Definition
input_signals.hpp:49
lxgui::input::mouse_drag_stop_data::position
gui::vector2f position
Definition
input_signals.hpp:52
lxgui::input::mouse_drag_stop_data::button
input::mouse_button button
Definition
input_signals.hpp:50
lxgui::input::mouse_moved_data
Data for on_mouse_moved signal.
Definition
input_signals.hpp:11
lxgui::input::mouse_moved_data::position
gui::vector2f position
Mouse motion that generated this event, in points.
Definition
input_signals.hpp:13
lxgui::input::mouse_moved_data::motion
gui::vector2f motion
Definition
input_signals.hpp:12
lxgui::input::mouse_pressed_data
Data for on_mouse_pressed signal.
Definition
input_signals.hpp:23
lxgui::input::mouse_pressed_data::position
gui::vector2f position
Mouse button that generated this event.
Definition
input_signals.hpp:25
lxgui::input::mouse_pressed_data::button
input::mouse_button button
Definition
input_signals.hpp:24
lxgui::input::mouse_released_data
Data for on_mouse_released signal.
Definition
input_signals.hpp:29
lxgui::input::mouse_released_data::position
gui::vector2f position
Mouse button that generated this event.
Definition
input_signals.hpp:31
lxgui::input::mouse_released_data::was_dragged
bool was_dragged
Mouse position, in points.
Definition
input_signals.hpp:32
lxgui::input::mouse_released_data::button
input::mouse_button button
Definition
input_signals.hpp:30
lxgui::input::mouse_wheel_data
Data for on_mouse_wheel signal.
Definition
input_signals.hpp:17
lxgui::input::mouse_wheel_data::motion
float motion
Definition
input_signals.hpp:18
lxgui::input::mouse_wheel_data::position
gui::vector2f position
Mouse wheel motion that generated this event.
Definition
input_signals.hpp:19
lxgui::input::text_entered_data
Data for on_text_entered signal.
Definition
input_signals.hpp:71
lxgui::input::text_entered_data::character
std::uint32_t character
Definition
input_signals.hpp:72
Generated on Mon Apr 21 2025 18:06:23 for lxgui by
1.9.8