51 di::field<
"position", &MouseEvent::m_position>,
di::field<
"modifers", &MouseEvent::m_modifiers>);
56 MousePosition m_position;
Definition mouse_event.h:23
constexpr MouseEvent(MouseEventType type, MouseButton button, MousePosition const &position={}, Modifiers modifiers=Modifiers::None)
Definition mouse_event.h:30
constexpr auto type() const -> MouseEventType
Definition mouse_event.h:34
constexpr auto is_vertical_scroll() const -> bool
Definition mouse_event.h:39
static constexpr auto press(MouseButton button, MousePosition const &position={}, Modifiers modifiers=Modifiers::None) -> MouseEvent
Definition mouse_event.h:25
constexpr friend auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< MouseEvent >)
Definition mouse_event.h:48
auto operator==(MouseEvent const &) const -> bool=default
constexpr auto position() const -> MousePosition const &
Definition mouse_event.h:36
constexpr auto modifiers() const -> Modifiers
Definition mouse_event.h:37
constexpr auto button() const -> MouseButton
Definition mouse_event.h:35
constexpr auto translate(MouseCoordinate offset_in_cells, dius::tty::WindowSize const &size) const -> MouseEvent
Definition mouse_event.h:41
constexpr usize size
Definition gfx_test.cpp:24
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
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
MouseButton
Definition mouse.h:10
@ VerticalScrollButtons
Definition mouse.h:24
@ None
Definition mouse.h:11
Modifiers
Definition modifiers.h:9
@ None
Definition modifiers.h:10
@ Press
Definition key_event.h:13
@ Release
Definition key_event.h:15
constexpr auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< CursorStyle >)
Definition cursor_style.h:16
MouseEventType
Definition mouse_event.h:11
@ Press
Definition mouse_event.h:12
@ Move
Definition mouse_event.h:13
Definition in_place_type.h:5