Implement Widget::mouse_interaction for Slider
This commit is contained in:
parent
c800fd07c3
commit
954d6349a8
1 changed files with 18 additions and 0 deletions
|
|
@ -336,6 +336,24 @@ where
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn mouse_interaction(
|
||||||
|
&self,
|
||||||
|
layout: Layout<'_>,
|
||||||
|
_viewport: &Rectangle,
|
||||||
|
cursor_position: Point,
|
||||||
|
) -> mouse::Interaction {
|
||||||
|
let bounds = layout.bounds();
|
||||||
|
let is_mouse_over = bounds.contains(cursor_position);
|
||||||
|
|
||||||
|
if self.state.is_dragging {
|
||||||
|
mouse::Interaction::Grabbing
|
||||||
|
} else if is_mouse_over {
|
||||||
|
mouse::Interaction::Grab
|
||||||
|
} else {
|
||||||
|
mouse::Interaction::default()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn hash_layout(&self, state: &mut Hasher) {
|
fn hash_layout(&self, state: &mut Hasher) {
|
||||||
struct Marker;
|
struct Marker;
|
||||||
std::any::TypeId::of::<Marker>().hash(state);
|
std::any::TypeId::of::<Marker>().hash(state);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue