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
38
42
46};
47
51[[nodiscard]] constexpr gui_event_variant to_gui_event_variant(gui_event_type type) noexcept
52{
53 switch (type) {
54 case gui_event_type::mouse_move:
55 case gui_event_type::mouse_drag:
56 case gui_event_type::mouse_down:
57 case gui_event_type::mouse_up:
58 case gui_event_type::mouse_wheel:
59 case gui_event_type::mouse_enter:
60 case gui_event_type::mouse_exit:
61 case gui_event_type::mouse_exit_window:
63
64 case gui_event_type::keyboard_down:
65 case gui_event_type::keyboard_up:
66 case gui_event_type::keyboard_enter:
67 case gui_event_type::keyboard_exit:
69
72
74 case gui_event_type::text_edit_paste:
76
77 case gui_event_type::keyboard_grapheme:
78 case gui_event_type::keyboard_partial_grapheme:
80
83
84 default:
86 }
87}
88
89}} // namespace hi::v1
Definition of GUI event type.
gui_event_type
GUI event type.
Definition gui_event_type.hpp:21
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:51
gui_event_variant
A granular gui event type.
Definition gui_event_variant.hpp:18
@ window_redraw
Request that part of the window gets redrawn on the next frame.
@ window_set_keyboard_target
Change the keyboard target widget for this window.
@ window_set_clipboard
Place data on the clipboard.
@ keyboard
The gui_event has keyboard data.
@ mouse
The gui_event has mouse data.
@ keyboard_target
The gui_event has keyboard target data.
@ other
The gui_event does not have associated data.
@ grapheme
The gui_event has grapheme data.
@ rectangle
The gui_event has rectangle data.
@ clipboard_data
The gui_event has clipboard data.
DOXYGEN BUG.
Definition algorithm.hpp:13
geometry/margins.hpp
Definition cache.hpp:11