Struct dioxus_html::events::MouseData
source · pub struct MouseData {}
Expand description
A synthetic event that wraps a web-style MouseEvent
Data associated with a mouse event
Do not use the deprecated fields; they may change or become private in the future.
Fields§
§alt_key: bool
True if the alt key was down when the mouse event was fired.
The button number that was pressed (if applicable) when the mouse event was fired.
Indicates which buttons are pressed on the mouse (or other input device) when a mouse event is triggered.
Each button that can be pressed is represented by a given number (see below). If more than one button is pressed, the button values are added together to produce a new number. For example, if the secondary (2) and auxiliary (4) buttons are pressed simultaneously, the value is 6 (i.e., 2 + 4).
- 1: Primary button (usually the left button)
- 2: Secondary button (usually the right button)
- 4: Auxiliary button (usually the mouse wheel button or middle button)
- 8: 4th button (typically the “Browser Back” button)
- 16 : 5th button (typically the “Browser Forward” button)
client_x: i32
The horizontal coordinate within the application’s viewport at which the event occurred (as opposed to the coordinate within the page).
For example, clicking on the left edge of the viewport will always result in a mouse event with a clientX value of 0, regardless of whether the page is scrolled horizontally.
client_y: i32
The vertical coordinate within the application’s viewport at which the event occurred (as opposed to the coordinate within the page).
For example, clicking on the top edge of the viewport will always result in a mouse event with a clientY value of 0, regardless of whether the page is scrolled vertically.
ctrl_key: bool
True if the control key was down when the mouse event was fired.
meta_key: bool
True if the meta key was down when the mouse event was fired.
offset_x: i32
The offset in the X coordinate of the mouse pointer between that event and the padding edge of the target node.
offset_y: i32
The offset in the Y coordinate of the mouse pointer between that event and the padding edge of the target node.
page_x: i32
The X (horizontal) coordinate (in pixels) of the mouse, relative to the left edge of the entire document. This includes any portion of the document not currently visible.
Being based on the edge of the document as it is, this property takes into account any horizontal scrolling of the page. For example, if the page is scrolled such that 200 pixels of the left side of the document are scrolled out of view, and the mouse is clicked 100 pixels inward from the left edge of the view, the value returned by pageX will be 300.
page_y: i32
The Y (vertical) coordinate in pixels of the event relative to the whole document.
See page_x
.
screen_x: i32
The X coordinate of the mouse pointer in global (screen) coordinates.
screen_y: i32
The Y coordinate of the mouse pointer in global (screen) coordinates.
shift_key: bool
True if the shift key was down when the mouse event was fired.
Implementations§
source§impl MouseData
impl MouseData
sourcepub fn new(
coordinates: Coordinates,
trigger_button: Option<MouseButton>,
held_buttons: MouseButtonSet,
modifiers: Modifiers
) -> Self
pub fn new( coordinates: Coordinates, trigger_button: Option<MouseButton>, held_buttons: MouseButtonSet, modifiers: Modifiers ) -> Self
Construct MouseData with the specified properties
Note: the current implementation truncates coordinates. In the future, when we change the internal representation, it may also support a fractional part.
sourcepub fn client_coordinates(&self) -> ClientPoint
pub fn client_coordinates(&self) -> ClientPoint
The event’s coordinates relative to the application’s viewport (as opposed to the coordinate within the page).
For example, clicking in the top left corner of the viewport will always result in a mouse event with client coordinates (0., 0.), regardless of whether the page is scrolled horizontally.
sourcepub fn element_coordinates(&self) -> ElementPoint
pub fn element_coordinates(&self) -> ElementPoint
The event’s coordinates relative to the padding edge of the target element
For example, clicking in the top left corner of an element will result in element coordinates (0., 0.)
sourcepub fn page_coordinates(&self) -> PagePoint
pub fn page_coordinates(&self) -> PagePoint
The event’s coordinates relative to the entire document. This includes any portion of the document not currently visible.
For example, if the page is scrolled 200 pixels to the right and 300 pixels down, clicking in the top left corner of the viewport would result in page coordinates (200., 300.)
sourcepub fn screen_coordinates(&self) -> ScreenPoint
pub fn screen_coordinates(&self) -> ScreenPoint
The event’s coordinates relative to the entire screen. This takes into account the window’s offset.
pub fn coordinates(&self) -> Coordinates
sourcepub fn modifiers(&self) -> Modifiers
pub fn modifiers(&self) -> Modifiers
The set of modifier keys which were pressed when the event occurred
The set of mouse buttons which were held when the event occurred.
The mouse button that triggered the event
This is only guaranteed to indicate which button was pressed during events caused by pressing or releasing a button. As such, it is not reliable for events such as mouseenter, mouseleave, mouseover, mouseout, or mousemove. For example, a value of MouseButton::Primary may also indicate that no button was pressed.