3#include "di/reflect/prelude.h"
19constexpr auto tag_invoke(di::Tag<di::reflect>, di::InPlaceType<AlternateScrollMode>) {
21 return di::make_enumerators<
"AlternateScrollMode">(di::enumerator<
"Disabled",
Disabled>,
22 di::enumerator<
"Enabled",
Enabled>);
35constexpr auto tag_invoke(di::Tag<di::reflect>, di::InPlaceType<MouseProtocol>) {
37 return di::make_enumerators<
"MouseProtocol">(di::enumerator<
"None",
None>, di::enumerator<
"X10",
X10>,
38 di::enumerator<
"VT200",
VT200>, di::enumerator<
"BtnEvent",
BtnEvent>,
39 di::enumerator<
"AnyEvent",
AnyEvent>);
52constexpr auto tag_invoke(di::Tag<di::reflect>, di::InPlaceType<MouseEncoding>) {
54 return di::make_enumerators<
"MouseEncoding">(di::enumerator<
"X10",
X10>, di::enumerator<
"UTF8",
UTF8>,
55 di::enumerator<
"SGR",
SGR>, di::enumerator<
"URXVT",
URXVT>,
68 di::Optional<MousePosition> prev_event_position, MouseScrollProtocol
const& scroll_protocol,
69 dius::tty::WindowSize
const& window_size) -> di::Optional<di::TransparentString>;
70auto mouse_event_from_csi(CSI
const& csi, di::Optional<dius::tty::WindowSize> window_size_if_using_pixels = {})
71 -> di::Optional<MouseEvent>;
Definition cursor_style.h:5
MouseEncoding
Definition mouse_event_io.h:44
@ SGRPixels
Definition mouse_event_io.h:49
@ SGR
Definition mouse_event_io.h:47
@ URXVT
Definition mouse_event_io.h:48
@ UTF8
Definition mouse_event_io.h:46
AlternateScrollMode
Definition mouse_event_io.h:14
@ Disabled
Definition mouse_event_io.h:15
@ None
Definition direction.h:8
constexpr auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< CursorStyle >)
Definition cursor_style.h:16
MouseProtocol
Definition mouse_event_io.h:27
@ AnyEvent
Definition mouse_event_io.h:32
@ BtnEvent
Definition mouse_event_io.h:31
@ X10
Definition mouse_event_io.h:29
@ VT200
Definition mouse_event_io.h:30
auto serialize_mouse_event(MouseEvent const &event, MouseProtocol protocol, MouseEncoding encoding, di::Optional< MousePosition > prev_event_position, MouseScrollProtocol const &scroll_protocol, dius::tty::WindowSize const &window_size) -> di::Optional< di::TransparentString >
Definition mouse_event_io.cpp:139
ApplicationCursorKeysMode
Definition key_event_io.h:14
@ Disabled
Definition key_event_io.h:15
auto mouse_event_from_csi(CSI const &csi, di::Optional< dius::tty::WindowSize > window_size_if_using_pixels={}) -> di::Optional< MouseEvent >
Definition mouse_event_io.cpp:219
@ Enabled
Definition focus_event_io.h:12
@ Disabled
Definition focus_event_io.h:11