13 enum class Type { None, Entered, Exited, Move, Drag, ButtonDown, ButtonUp };
46 event.type = MouseEvent::Type::Entered;
49 static MouseEvent exited() noexcept {
55 event.position = vec{far_, far_};
56 event.type = MouseEvent::Type::Exited;
60 friend std::string to_string(MouseEvent
const &rhs)
noexcept {
63 case MouseEvent::Type::None: type_s =
"none";
break;
64 case MouseEvent::Type::Entered: type_s =
"entered";
break;
65 case MouseEvent::Type::Exited: type_s =
"exited";
break;
66 case MouseEvent::Type::Move: type_s =
"move";
break;
67 case MouseEvent::Type::Drag: type_s =
"drag";
break;
68 case MouseEvent::Type::ButtonDown: type_s =
"down";
break;
69 case MouseEvent::Type::ButtonUp: type_s =
"up";
break;
70 default: tt_no_default;
73 return fmt::format(
"<mouse {} {}>", type_s, rhs.position);
77 return lhs << to_string(rhs);
static tt_force_inline vec point(float x=0.0f, float y=0.0f, float z=0.0f) noexcept
Create a point out of 2 to 4 values.
Definition vec.hpp:180