Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
Events.hpp
Go to the documentation of this file.
1
7#pragma once
8
9#include <cstdint>
10#include <variant>
11
12namespace corium {
13
15struct QuitEvent {};
16
18struct TickEvent {
19 uint64_t tick = 0;
20 double deltaTime = 0.0;
21
22 constexpr TickEvent() = default;
23 constexpr explicit TickEvent(double dt, uint64_t t = 0)
24 : tick(t), deltaTime(dt) {}
25};
26
29 double deltaTime = 0.0;
30
31 constexpr UpdateEvent() = default;
32 constexpr explicit UpdateEvent(double dt)
33 : deltaTime(dt) {}
34};
35
37struct ErrorEvent {
38 uint32_t code = 0;
39 uintptr_t payload = 0;
40
41 constexpr ErrorEvent() = default;
42 constexpr ErrorEvent(uint32_t errCode, uintptr_t data = 0)
43 : code(errCode), payload(data) {}
44};
45
48 uint32_t id = 0;
49
50 constexpr SignalEvent() = default;
51 constexpr explicit SignalEvent(uint32_t signalId)
52 : id(signalId) {}
53};
54
56using DefaultEvents = std::variant<
62>;
63
66
67} // namespace corium
Definition Application.hpp:16
std::variant< QuitEvent, TickEvent, UpdateEvent, ErrorEvent, SignalEvent > DefaultEvents
Default variant list of core Corium events.
Definition Events.hpp:62
DefaultEvents Event
Alias for DefaultEvents.
Definition Events.hpp:65
System, hardware, or framework error event.
Definition Events.hpp:37
constexpr ErrorEvent(uint32_t errCode, uintptr_t data=0)
Definition Events.hpp:42
uintptr_t payload
Definition Events.hpp:39
constexpr ErrorEvent()=default
uint32_t code
Definition Events.hpp:38
Application shutdown event.
Definition Events.hpp:15
Generic signal or notification trigger event.
Definition Events.hpp:47
uint32_t id
Definition Events.hpp:48
constexpr SignalEvent(uint32_t signalId)
Definition Events.hpp:51
constexpr SignalEvent()=default
Periodic heartbeat or hardware timer tick event.
Definition Events.hpp:18
constexpr TickEvent()=default
double deltaTime
Definition Events.hpp:20
constexpr TickEvent(double dt, uint64_t t=0)
Definition Events.hpp:23
uint64_t tick
Definition Events.hpp:19
Logical update or execution step event.
Definition Events.hpp:28
constexpr UpdateEvent()=default
double deltaTime
Definition Events.hpp:29
constexpr UpdateEvent(double dt)
Definition Events.hpp:32