Nebula
Loading...
Searching...
No Matches
displayevent.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
13#include "core/types.h"
14#include "input/key.h"
15#include "input/char.h"
16#include "input/mousebutton.h"
17#include "math/vec2.h"
18#include "coregraphics/window.h"
19
20//------------------------------------------------------------------------------
21namespace CoreGraphics
22{
93
94//------------------------------------------------------------------------------
97inline
101 absMousePos(0.0f, 0.0f),
102 normMousePos(0.0f, 0.0f),
103 keyCode(Input::Key::InvalidKey),
104 charCode(0),
105 mouseButtonCode(Input::MouseButton::InvalidMouseButton)
106{
107 // empty
108}
109
110//------------------------------------------------------------------------------
113inline
115 code(c),
117 absMousePos(0.0f, 0.0f),
118 normMousePos(0.0f, 0.0f),
119 keyCode(Input::Key::InvalidKey),
120 charCode(0),
121 mouseButtonCode(Input::MouseButton::InvalidMouseButton)
122{
123 // empty
124}
125
126
127//------------------------------------------------------------------------------
130inline
132 code(c),
133 windowId(wnd),
134 absMousePos(0.0f, 0.0f),
135 normMousePos(0.0f, 0.0f),
136 keyCode(Input::Key::InvalidKey),
137 charCode(0),
138 mouseButtonCode(Input::MouseButton::InvalidMouseButton)
139{
140 // empty
141}
142
143//------------------------------------------------------------------------------
146inline
148 code(c),
149 windowId(wnd),
150 absMousePos(absPos),
151 normMousePos(normPos),
152 keyCode(Input::Key::InvalidKey),
153 charCode(0),
154 mouseButtonCode(Input::MouseButton::InvalidMouseButton)
155{
156 // empty
157}
158
159//------------------------------------------------------------------------------
162inline
164 code(c),
166 absMousePos(0.0f, 0.0f),
167 normMousePos(0.0f, 0.0f),
168 keyCode(k),
169 charCode(0),
170 mouseButtonCode(Input::MouseButton::InvalidMouseButton)
171{
172 // empty
173}
174
175//------------------------------------------------------------------------------
178inline
180 code(c),
182 absMousePos(0.0f, 0.0f),
183 normMousePos(0.0f, 0.0f),
184 keyCode(Input::Key::InvalidKey),
185 charCode(chr),
186 mouseButtonCode(Input::MouseButton::InvalidMouseButton)
187{
188 // empty
189}
190
191//------------------------------------------------------------------------------
194inline
196 code(c),
198 absMousePos(absPos),
199 normMousePos(normPos),
200 keyCode(Input::Key::InvalidKey),
201 charCode(0),
203{
204 // empty
205}
206
207//------------------------------------------------------------------------------
212{
213 return this->code;
214}
215
216//------------------------------------------------------------------------------
221{
222 return this->windowId;
223}
224
225//------------------------------------------------------------------------------
228inline const Math::vec2&
230{
231 return this->absMousePos;
232}
233
234//------------------------------------------------------------------------------
237inline const Math::vec2&
239{
240 return this->normMousePos;
241}
242
243//------------------------------------------------------------------------------
246inline Input::Key::Code
248{
249 return this->keyCode;
250}
251
252//------------------------------------------------------------------------------
255inline Input::Char
257{
258 return this->charCode;
259}
260
261//------------------------------------------------------------------------------
266{
267 return this->mouseButtonCode;
268}
269
270} // namespace CoreGraphics
271//------------------------------------------------------------------------------
272
A translated character code.
Code code
Definition displayevent.h:85
Math::vec2 normMousePos
Definition displayevent.h:88
Code GetEventCode() const
get event code
Definition displayevent.h:211
Input::Key::Code GetKey() const
get key code
Definition displayevent.h:247
DisplayEvent()
default constructor
Definition displayevent.h:98
CoreGraphics::WindowId windowId
Definition displayevent.h:86
CoreGraphics::WindowId GetWindowId() const
get window id
Definition displayevent.h:220
Input::Char charCode
Definition displayevent.h:90
Input::MouseButton::Code GetMouseButton() const
get mouse button code
Definition displayevent.h:265
const Math::vec2 & GetAbsMousePos() const
get absolute mouse pos (in pixels)
Definition displayevent.h:229
Input::Char GetChar() const
get character code
Definition displayevent.h:256
Input::Key::Code keyCode
Definition displayevent.h:89
Math::vec2 absMousePos
Definition displayevent.h:87
const Math::vec2 & GetNormMousePos() const
get normalized mouse pos (from 0.0 to 1.0)
Definition displayevent.h:238
Code
event codes
Definition displayevent.h:28
@ Character
Definition displayevent.h:45
@ WindowMinimized
Definition displayevent.h:34
@ WindowClose
Definition displayevent.h:31
@ WindowMoved
Definition displayevent.h:38
@ WindowReopen
Definition displayevent.h:32
@ WindowResized
Definition displayevent.h:37
@ MouseButtonDown
Definition displayevent.h:47
@ WindowOpen
Definition displayevent.h:30
@ MouseButtonUp
Definition displayevent.h:48
@ InvalidCode
Definition displayevent.h:29
@ KeyUp
Definition displayevent.h:44
@ MouseButtonDoubleClick
Definition displayevent.h:49
@ KeyDown
Definition displayevent.h:43
@ MouseWheelBackward
Definition displayevent.h:51
@ MouseWheelForward
Definition displayevent.h:50
@ SetFocus
Definition displayevent.h:41
@ ToggleFullscreenWindowed
Definition displayevent.h:36
@ SetCursor
Definition displayevent.h:39
@ CloseRequested
Definition displayevent.h:33
@ KillFocus
Definition displayevent.h:42
@ MouseMove
Definition displayevent.h:46
@ WindowRestored
Definition displayevent.h:35
@ Paint
Definition displayevent.h:40
Input::MouseButton::Code mouseButtonCode
Definition displayevent.h:91
Code
key codes
Definition key.h:25
Code
code enums
Definition mousebutton.h:23
Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
Definition accelerationstructure.h:24
This simple Id pool implements a set of free and used consecutive integers.
Definition id.h:135
static constexpr Id32 InvalidId32
Definition id.h:143
FIXME!
unsigned char Char
Definition char.h:16
Definition window.h:25
A 2-component float vector class.
Definition vec2.h:21