HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
gui_event_variant.hpp
Go to the documentation of this file.
1// Copyright Take Vos 2022.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
9#pragma once
10
11#include "gui_event_type.hpp"
12
13namespace hi { inline namespace v1 {
14
21 other,
22
25 mouse,
26
30
34};
35
39[[nodiscard]] constexpr gui_event_variant to_gui_event_variant(gui_event_type type) noexcept
40{
41 switch (type) {
42 case gui_event_type::mouse_move:
43 case gui_event_type::mouse_drag:
44 case gui_event_type::mouse_down:
45 case gui_event_type::mouse_up:
46 case gui_event_type::mouse_wheel:
47 case gui_event_type::mouse_enter:
48 case gui_event_type::mouse_exit:
49 case gui_event_type::mouse_exit_window:
51
52 case gui_event_type::keyboard_down:
53 case gui_event_type::keyboard_up:
54 case gui_event_type::keyboard_enter:
55 case gui_event_type::keyboard_exit:
57
58 case gui_event_type::keyboard_grapheme:
59 case gui_event_type::keyboard_partial_grapheme:
61
62 default:
64 }
65}
66
67}} // namespace hi::inline v1
Definition of GUI event type.
gui_event_type
GUI event type.
Definition gui_event_type.hpp:22
constexpr gui_event_variant to_gui_event_variant(gui_event_type type) noexcept
Convert a gui event type, to an gui event variant.
Definition gui_event_variant.hpp:39
gui_event_variant
A granular gui event type.
Definition gui_event_variant.hpp:18
@ keyboard
The gui_event has keyboard data.
@ mouse
The gui_event has mouse data.
@ other
The gui_event does not have associated data.
@ grapheme
The gui_event has grapheme data.
DOXYGEN BUG.
Definition algorithm.hpp:15
The HikoGUI namespace.
Definition ascii.hpp:19