MCPcopy Create free account
hub / github.com/DioxusLabs/dioxus-components / pointer_move

Method pointer_move

primitives/src/move_interaction.rs:125–149  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

123 }
124
125 pub(crate) fn pointer_move(&mut self) -> Option<MoveEvent> {
126 if !(self.dragging)() {
127 return None;
128 }
129
130 let active_pointer_id = (self.active_pointer_id)()?;
131 let Some(pointer_position) = pointer::pointer_position(active_pointer_id) else {
132 self.end_pointer();
133 return None;
134 };
135
136 let delta = if let Some(last_position) =
137 self.last_pointer_position.replace(Some(pointer_position))
138 {
139 pointer_position - last_position
140 } else {
141 Vector2D::zero()
142 };
143
144 Some(MoveEvent {
145 delta_x: delta.x,
146 delta_y: delta.y,
147 modifiers: MoveModifiers::default(),
148 })
149 }
150
151 pub(crate) fn end_pointer(&mut self) {
152 self.active_pointer_id.take();

Callers 2

ColorAreaFunction · 0.80
SliderImplFunction · 0.80

Calls 2

pointer_positionFunction · 0.85
end_pointerMethod · 0.80

Tested by

no test coverage detected