38 , m_text(
di::move(
text)) {}
42 constexpr auto key() const ->
Key {
return m_key; }
53 di::field<
"key", &KeyEvent::m_key>,
di::field<
"shifted_key", &KeyEvent::m_shifted_key>,
54 di::field<
"base_layout_key", &KeyEvent::m_base_layout_key>,
di::field<
"text", &KeyEvent::m_text>);
60 c32 m_shifted_key { 0 };
61 c32 m_base_layout_key { 0 };
Definition key_event.h:24
auto operator==(KeyEvent const &) const -> bool=default
constexpr auto modifiers() const -> Modifiers
Definition key_event.h:41
constexpr auto shifted_key() const -> c32
Definition key_event.h:43
constexpr auto key() const -> Key
Definition key_event.h:42
constexpr KeyEvent(KeyEventType type, Key key, di::String text={}, Modifiers modifiers=Modifiers::None, c32 shifted_key=0, c32 base_layout_key=0)
Definition key_event.h:31
constexpr auto text() const -> di::StringView
Definition key_event.h:45
constexpr friend auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< KeyEvent >)
Definition key_event.h:50
constexpr auto type() const -> KeyEventType
Definition key_event.h:40
constexpr auto base_layout_key() const -> c32
Definition key_event.h:44
static constexpr auto key_down(Key key, di::String text={}, Modifiers modifiers=Modifiers::None, c32 shifted_key=0, c32 base_layout_key=0) -> KeyEvent
Definition key_event.h:26
string::StringViewImpl< string::Utf8Encoding > StringView
Definition string_view.h:12
string::StringImpl< string::Utf8Encoding > String
Definition string.h:11
char32_t c32
Definition char.h:6
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
Definition zstring_parser.h:9
constexpr auto make_fields
Definition field.h:80
constexpr auto enumerator
Definition enumerator.h:36
constexpr auto field
Definition field.h:42
constexpr auto make_enumerators
Definition enumerator.h:74
Definition escape_sequence_parser.cpp:18
Modifiers
Definition modifiers.h:9
@ None
Definition modifiers.h:10
KeyEventType
Definition key_event.h:12
@ Press
Definition key_event.h:13
@ Repeat
Definition key_event.h:14
@ Release
Definition key_event.h:15
constexpr auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< CursorStyle >)
Definition cursor_style.h:16
Definition in_place_type.h:5