SDLPainter
0.1.0
QPainter benzeri 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
141
struct
MouseButtonEvent
{
142
MouseButton button{MouseButton::kUnknown};
143
float
x{0.0F};
144
float
y{0.0F};
145
uint8_t
clicks
{1};
146
};
147
149
struct
MouseMoveEvent
{
150
float
x{0.0F};
151
float
y{0.0F};
152
float
dx
{0.0F};
153
float
dy
{0.0F};
154
};
155
157
struct
MouseWheelEvent
{
158
float
dx
{0.0F};
159
float
dy
{0.0F};
160
float
mouse_x
{0.0F};
161
float
mouse_y
{0.0F};
162
};
163
165
struct
ResizeEvent
{
166
int32_t width{0};
167
int32_t height{0};
168
};
169
170
}
// 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:141
sdl_painter::MouseButtonEvent::clicks
uint8_t clicks
1 = tek tık, 2 = çift tık.
Definition
events.h:145
sdl_painter::MouseMoveEvent
Fare hareketi olayı.
Definition
events.h:149
sdl_painter::MouseMoveEvent::dy
float dy
Son olaydan bu yana dikey değişim.
Definition
events.h:153
sdl_painter::MouseMoveEvent::dx
float dx
Son olaydan bu yana yatay değişim.
Definition
events.h:152
sdl_painter::MouseWheelEvent
Fare tekerleği olayı.
Definition
events.h:157
sdl_painter::MouseWheelEvent::dy
float dy
Dikey tekerlek kaydırması.
Definition
events.h:159
sdl_painter::MouseWheelEvent::dx
float dx
Yatay tekerlek kaydırması.
Definition
events.h:158
sdl_painter::MouseWheelEvent::mouse_x
float mouse_x
Olay anındaki fare X konumu.
Definition
events.h:160
sdl_painter::MouseWheelEvent::mouse_y
float mouse_y
Olay anındaki fare Y konumu.
Definition
events.h:161
sdl_painter::ResizeEvent
Pencere yeniden boyutlandırma olayı.
Definition
events.h:165
include
sdl_painter
app
events.h
Oluşturan
1.17.0