SDLPainter 1.4.0
SDL3 + OpenGL/Vulkan 2D çizim kütüphanesi
Yüklüyor...
Arıyor...
Eşleşme Yok
events.h
1#pragma once
2
3#include <cstdint>
4
5namespace sdl_painter {
6
11enum 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
98enum 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
107constexpr 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
113constexpr 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
119constexpr bool HasModifier(KeyModifier mods, KeyModifier flag) noexcept {
120 return (mods & flag) == flag && flag != KeyModifier::kNone;
121}
122
124enum class MouseButton : uint8_t {
125 kUnknown = 0,
126 kLeft,
127 kMiddle,
128 kRight,
129 kX1,
130 kX2,
131};
132
134struct KeyEvent {
135 Key key{Key::kUnknown};
136 KeyModifier modifiers{KeyModifier::kNone};
137 bool repeat{false};
138};
139
141 MouseButton button{MouseButton::kUnknown};
142 float x{0.0F};
143 float y{0.0F};
144 uint8_t clicks{1};
145};
146
149 float x{0.0F};
150 float y{0.0F};
151 float dx{0.0F};
152 float dy{0.0F};
153};
154
157 float dx{0.0F};
158 float dy{0.0F};
159 float mouse_x{0.0F};
160 float mouse_y{0.0F};
161};
162
165 int32_t width{0};
166 int32_t height{0};
167};
168
169} // namespace sdl_painter
Klavye olayı.
Definition events.h:134
bool repeat
Basılı tutmadan üretilen tekrar olayı mı?
Definition events.h:137
Fare düğmesi olayı.
Definition events.h:140
uint8_t clicks
1 = tek tık, 2 = çift tık.
Definition events.h:144
Fare hareketi olayı.
Definition events.h:148
float dy
Son olaydan bu yana dikey değişim.
Definition events.h:152
float dx
Son olaydan bu yana yatay değişim.
Definition events.h:151
Fare tekerleği olayı.
Definition events.h:156
float dy
Dikey tekerlek kaydırması.
Definition events.h:158
float dx
Yatay tekerlek kaydırması.
Definition events.h:157
float mouse_x
Olay anındaki fare X konumu.
Definition events.h:159
float mouse_y
Olay anındaki fare Y konumu.
Definition events.h:160
Pencere yeniden boyutlandırma olayı.
Definition events.h:164