diff --git a/include/event.hpp b/include/event.hpp index ea60b59b..287767d8 100644 --- a/include/event.hpp +++ b/include/event.hpp @@ -95,8 +95,7 @@ struct TextBase { /** Occurs every frame when the mouse is hovering over a Widget. -Recurses until consumed. -If `target` is set, other events may occur on that Widget. +Recurses. */ struct Hover : Base, PositionBase { /** Change in mouse position since the last frame. Can be zero. */ @@ -105,8 +104,7 @@ struct Hover : Base, PositionBase { /** Occurs each mouse button press or release. -Recurses until consumed. -If `target` is set, other events may occur on that Widget. +Recurses. */ struct Button : Base, PositionBase { /** GLFW_MOUSE_BUTTON_LEFT, GLFW_MOUSE_BUTTON_RIGHT, GLFW_MOUSE_BUTTON_MIDDLE, etc. */ @@ -118,28 +116,29 @@ struct Button : Base, PositionBase { }; -/** Occurs when the left mouse button is pressed the second time within a time and position window. +/** Occurs when the left mouse button is pressed a second time on the same Widget within a time duration. +Must set the Button target to receive this event. */ struct DoubleClick : Base { }; /** Occurs when a key is pressed, released, or repeated while the mouse is hovering a Widget. -Recurses until consumed. +Recurses. */ struct HoverKey : Base, PositionBase, KeyBase { }; /** Occurs when a character is typed while the mouse is hovering a Widget. -Recurses until consumed. +Recurses. */ struct HoverText : Base, PositionBase, TextBase { }; /** Occurs when the mouse scroll wheel is moved while the mouse is hovering a Widget. -Recurses until consumed. +Recurses. */ struct HoverScroll : Base, PositionBase { /** Change of scroll wheel position. */ @@ -149,25 +148,28 @@ struct HoverScroll : Base, PositionBase { /** Occurs when a Widget begins consuming the Hover event. Must consume to set the widget as hovered. +Must set the Hover target to receive this event. */ struct Enter : Base { }; /** Occurs when a different Widget is entered. +Must set the Enter target to receive this event. */ struct Leave : Base { }; /** Occurs when a Widget begins consuming the Button press event for the left mouse button. -Must consume to set the widget as selected. +Must set the Button target to receive this event. */ struct Select : Base { }; /** Occurs when a different Widget is selected. +Must set the Select target to receive this event. */ struct Deselect : Base { }; @@ -175,6 +177,7 @@ struct Deselect : Base { /** Occurs when a key is pressed, released, or repeated while a Widget is selected. If consumed, a HoverKey event will not be triggered. +Must set the Select target to receive this event. */ struct SelectKey : Base, KeyBase { }; @@ -182,30 +185,34 @@ struct SelectKey : Base, KeyBase { /** Occurs when text is typed while a Widget is selected. If consumed, a HoverText event will not be triggered. +Must set the Select target to receive this event. */ struct SelectText : Base, TextBase { }; struct DragBase : Base { - /** The mouse button held during the drag. */ + /** The mouse button held while dragging. */ int button; }; /** Occurs when a Widget begins being dragged. Must consume to set the widget as dragged. +Must set the Button target to receive this event. */ struct DragStart : DragBase { }; /** Occurs when a Widget stops being dragged by releasing the mouse button. +Must set the DragStart target to receive this event. */ struct DragEnd : DragBase { }; /** Occurs every frame on the dragged Widget. +Must set the DragStart target to receive this event. */ struct DragMove : DragBase { /** Change in mouse position since the last frame. Can be zero. */ @@ -214,7 +221,8 @@ struct DragMove : DragBase { /** Occurs every frame when the mouse is hovering over a Widget while another Widget (possibly the same one) is being dragged. -Recurses until consumed. +Recurses. +Must set the DragStart target to receive this event. */ struct DragHover : DragBase, PositionBase { /** The dragged widget */ @@ -225,6 +233,7 @@ struct DragHover : DragBase, PositionBase { /** Occurs when the mouse enters a Widget while dragging. Must consume to set the widget as drag-hovered. +Must set the DragStart target to receive this event. */ struct DragEnter : DragBase { /** The dragged widget */ @@ -233,6 +242,7 @@ struct DragEnter : DragBase { /** Occurs when the mouse leaves a Widget while dragging. +Must set the DragStart target to receive this event. */ struct DragLeave : DragBase { /** The dragged widget */ @@ -241,6 +251,7 @@ struct DragLeave : DragBase { /** Occurs when the mouse button is released over a Widget while dragging. +Must set the DragStart target to receive this event. */ struct DragDrop : DragBase { /** The dragged widget */ @@ -249,7 +260,7 @@ struct DragDrop : DragBase { /** Occurs when a selection of files from the operating system is dropped onto a Widget. -Recurses until consumed. +Recurses. */ struct PathDrop : Base, PositionBase { PathDrop(const std::vector &paths) : paths(paths) {} @@ -260,21 +271,21 @@ struct PathDrop : Base, PositionBase { /** Occurs after a certain action is triggered on a Widget. -The concept of an "action" is dependent on the type of Widget. +The concept of an "action" is defined by the type of Widget. */ struct Action : Base { }; /** Occurs after the value of a Widget changes. -The concept of a "value" is dependent on the type of Widget. +The concept of a "value" is defined by the type of Widget. */ struct Change : Base { }; /** Occurs after the zoom level of a Widget is changed. -Recurses until consumed. +Recurses. */ struct Zoom : Base { }; @@ -305,12 +316,14 @@ struct Remove : Base { /** Occurs after a Widget is shown with Widget::show(). +Recurses. */ struct Show : Base { }; /** Occurs after a Widget is hidden with Widget::hide(). +Recurses. */ struct Hide : Base { };