SDLPainter
1.4.0
SDL3 + OpenGL/Vulkan 2D çizim kütüphanesi
Toggle main menu visibility
Yüklüyor...
Arıyor...
Eşleşme Yok
events.h
1
#pragma once
2
3
#include <cstdint>
4
5
namespace
sdl_painter {
6
11
enum class
Key : uint16_t {
12
kUnknown = 0,
13
14
// Harfler (bitişik).
15
kA,
16
kB,
17
kC,
18
kD,
19
kE,
20
kF,
21
kG,
22
kH,
23
kI,
24
kJ,
25
kK,
26
kL,
27
kM,
28
kN,
29
kO,
30
kP,
31
kQ,
32
kR,
33
kS,
34
kT,
35
kU,
36
kV,
37
kW,
38
kX,
39
kY,
40
kZ,
41
42
// Rakamlar (bitişik).
43
k0,
44
k1,
45
k2,
46
k3,
47
k4,
48
k5,
49
k6,
50
k7,
51
k8,
52
k9,
53
54
// Fonksiyon tuşları (bitişik).
55
kF1,
56
kF2,
57
kF3,
58
kF4,
59
kF5,
60
kF6,
61
kF7,
62
kF8,
63
kF9,
64
kF10,
65
kF11,
66
kF12,
67
68
// Yön tuşları.
69
kUp,
70
kDown,
71
kLeft,
72
kRight,
73
74
// Kontrol / düzenleme tuşları.
75
kEscape,
76
kEnter,
77
kSpace,
78
kTab,
79
kBackspace,
80
kDelete,
81
kHome,
82
kEnd,
83
kPageUp,
84
kPageDown,
85
86
// Değiştirici (modifier) tuşları.
87
kLeftShift,
88
kRightShift,
89
kLeftCtrl,
90
kRightCtrl,
91
kLeftAlt,
92
kRightAlt,
93
kLeftGui,
94
kRightGui,
95
};
96
98
enum class
KeyModifier : uint8_t {
99
kNone = 0,
100
kShift = 1U << 0U,
101
kCtrl = 1U << 1U,
102
kAlt = 1U << 2U,
103
kGui = 1U << 3U,
104
};
105
107
constexpr
KeyModifier operator|(KeyModifier lhs, KeyModifier rhs)
noexcept
{
108
return
static_cast<
KeyModifier
>
(
static_cast<
uint8_t
>
(lhs) |
109
static_cast<
uint8_t
>
(rhs));
110
}
111
113
constexpr
KeyModifier operator&(KeyModifier lhs, KeyModifier rhs)
noexcept
{
114
return
static_cast<
KeyModifier
>
(
static_cast<
uint8_t
>
(lhs) &
115
static_cast<
uint8_t
>
(rhs));
116
}
117
119
constexpr
bool
HasModifier(KeyModifier mods, KeyModifier flag)
noexcept
{
120
return
(mods & flag) == flag && flag != KeyModifier::kNone;
121
}
122
124
enum class
MouseButton : uint8_t {
125
kUnknown = 0,
126
kLeft,
127
kMiddle,
128
kRight,
129
kX1,
130
kX2,
131
};
132
134
struct
KeyEvent
{
135
Key key{Key::kUnknown};
136
KeyModifier modifiers{KeyModifier::kNone};
137
bool
repeat
{
false
};
138
};
139
140
struct
MouseButtonEvent
{
141
MouseButton button{MouseButton::kUnknown};
142
float
x{0.0F};
143
float
y{0.0F};
144
uint8_t
clicks
{1};
145
};
146
148
struct
MouseMoveEvent
{
149
float
x{0.0F};
150
float
y{0.0F};
151
float
dx
{0.0F};
152
float
dy
{0.0F};
153
};
154
156
struct
MouseWheelEvent
{
157
float
dx
{0.0F};
158
float
dy
{0.0F};
159
float
mouse_x
{0.0F};
160
float
mouse_y
{0.0F};
161
};
162
164
struct
ResizeEvent
{
165
int32_t width{0};
166
int32_t height{0};
167
};
168
169
}
// namespace sdl_painter
sdl_painter::KeyEvent
Klavye olayı.
Definition
events.h:134
sdl_painter::KeyEvent::repeat
bool repeat
Basılı tutmadan üretilen tekrar olayı mı?
Definition
events.h:137
sdl_painter::MouseButtonEvent
Fare düğmesi olayı.
Definition
events.h:140
sdl_painter::MouseButtonEvent::clicks
uint8_t clicks
1 = tek tık, 2 = çift tık.
Definition
events.h:144
sdl_painter::MouseMoveEvent
Fare hareketi olayı.
Definition
events.h:148
sdl_painter::MouseMoveEvent::dy
float dy
Son olaydan bu yana dikey değişim.
Definition
events.h:152
sdl_painter::MouseMoveEvent::dx
float dx
Son olaydan bu yana yatay değişim.
Definition
events.h:151
sdl_painter::MouseWheelEvent
Fare tekerleği olayı.
Definition
events.h:156
sdl_painter::MouseWheelEvent::dy
float dy
Dikey tekerlek kaydırması.
Definition
events.h:158
sdl_painter::MouseWheelEvent::dx
float dx
Yatay tekerlek kaydırması.
Definition
events.h:157
sdl_painter::MouseWheelEvent::mouse_x
float mouse_x
Olay anındaki fare X konumu.
Definition
events.h:159
sdl_painter::MouseWheelEvent::mouse_y
float mouse_y
Olay anındaki fare Y konumu.
Definition
events.h:160
sdl_painter::ResizeEvent
Pencere yeniden boyutlandırma olayı.
Definition
events.h:164
include
sdl_painter
app
events.h
Oluşturan
1.18.0