le2d v0.4.6
2D game engine framework
 
Loading...
Searching...
No Matches
event.hpp
Go to the documentation of this file.
1#pragma once
3#include <glm/vec2.hpp>
4#include <klib/visitor.hpp>
5#include <kvf/codepoint.hpp>
6#include <span>
7#include <string>
8#include <variant>
9
10namespace le {
11namespace event {
12struct WindowClose {};
13
14enum class WindowFocus : bool { False, True };
15
16enum class CursorFocus : bool { False, True };
17
18enum class WindowIconify : bool { False, True };
19
20struct FramebufferResize : glm::ivec2 {
21 using glm::ivec2::ivec2;
22};
23
24struct WindowResize : glm::ivec2 {
25 using glm::ivec2::ivec2;
26};
27
29 using window::ivec2::ivec2;
30};
31
36
37using Codepoint = kvf::Codepoint;
38
39struct Key {
40 int key;
41 int action;
42 int mods;
43
44 auto operator==(Key const&) const -> bool = default;
45};
46
48 int button;
49 int action;
50 int mods;
51
52 auto operator==(MouseButton const&) const -> bool = default;
53};
54
55struct Scroll : glm::vec2 {
56 using glm::vec2::vec2;
57};
58
59struct Drop {
60 std::span<std::string const> paths{};
61};
62
65} // namespace event
66
68} // namespace le
kvf::Codepoint Codepoint
Definition event.hpp:37
CursorFocus
Definition event.hpp:16
WindowIconify
Definition event.hpp:18
std::variant< WindowClose, WindowFocus, CursorFocus, FramebufferResize, WindowResize, WindowPos, WindowIconify, CursorPos, Codepoint, Key, MouseButton, Scroll, Drop > Event
Definition event.hpp:64
WindowFocus
Definition event.hpp:14
Definition animation.hpp:8
event::Event Event
Definition event.hpp:67
Definition event.hpp:32
window::vec2 window
Definition event.hpp:33
ndc::vec2 normalized
Definition event.hpp:34
Definition event.hpp:59
std::span< std::string const > paths
Definition event.hpp:60
Definition event.hpp:20
Definition event.hpp:39
auto operator==(Key const &) const -> bool=default
int action
Definition event.hpp:41
int key
Definition event.hpp:40
int mods
Definition event.hpp:42
Definition event.hpp:47
auto operator==(MouseButton const &) const -> bool=default
int button
Definition event.hpp:48
int action
Definition event.hpp:49
int mods
Definition event.hpp:50
Definition event.hpp:55
Definition event.hpp:12
Definition event.hpp:28
Definition event.hpp:24
Definition vector_space.hpp:11
Definition vector_space.hpp:35