Sparkle 0.0.1
Loading...
Searching...
No Matches
spk_system_event.hpp
1#pragma once
2
3#include "structure/system/event/spk_ievent.hpp"
4
5#include "structure/graphics/spk_extend_2d.hpp"
6
7#include "type/spk_enablement.hpp"
8
9namespace spk
10{
16 {
17 };
18
23 struct ResizeEvent : public IEvent
24 {
27 };
28
34 {
35 };
36
41 struct QuitEvent : public IEvent
42 {
43 };
44
49 struct MoveEvent : public IEvent
50 {
52 spk::Vector2Int newPosition;
53 };
54
60 {
62 Enablement state;
63 };
64
69 struct MaximizedModeEvent : public IEvent
70 {
72 Enablement state;
73 };
74
79 struct FocusEvent : public IEvent
80 {
82 Enablement state;
83 };
84
88 using SystemEvent = std::variant<EnterResizeModeEvent, ResizeEvent, ExitResizeModeEvent, QuitEvent, MoveEvent, FullScreenModeEvent, MaximizedModeEvent, FocusEvent>;
89}
Signals the window enters resize mode.
Definition spk_system_event.hpp:16
Signals the window exits resize mode.
Definition spk_system_event.hpp:34
Axis-aligned rectangle defined by an anchor point and size.
Definition spk_extend_2d.hpp:24
Reports focus gain or loss.
Definition spk_system_event.hpp:80
Enablement state
Indicates whether focus is gained or lost.
Definition spk_system_event.hpp:82
Requests or reports fullscreen state.
Definition spk_system_event.hpp:60
Enablement state
Desired fullscreen state.
Definition spk_system_event.hpp:62
Base event metadata shared by all system events.
Definition spk_ievent.hpp:13
Requests or reports maximized state.
Definition spk_system_event.hpp:70
Enablement state
Desired maximized state.
Definition spk_system_event.hpp:72
Reports a window move event.
Definition spk_system_event.hpp:50
spk::Vector2Int newPosition
Updated window position in screen coordinates.
Definition spk_system_event.hpp:52
Signals application quit.
Definition spk_system_event.hpp:42
Reports a window/client-area resize.
Definition spk_system_event.hpp:24
spk::Extend2D extend
New viewport and scissor extents.
Definition spk_system_event.hpp:26