Merge pull request #2322 from LuisLiraC/fix/release_scrollbar
Fix scrollbar dragged state after release left mouse button
This commit is contained in:
commit
af8ab81403
1 changed files with 16 additions and 22 deletions
|
|
@ -390,6 +390,21 @@ where
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if matches!(
|
||||||
|
event,
|
||||||
|
Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left))
|
||||||
|
| Event::Touch(
|
||||||
|
touch::Event::FingerLifted { .. }
|
||||||
|
| touch::Event::FingerLost { .. }
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
state.scroll_area_touched_at = None;
|
||||||
|
state.x_scroller_grabbed_at = None;
|
||||||
|
state.y_scroller_grabbed_at = None;
|
||||||
|
|
||||||
|
return event_status;
|
||||||
|
}
|
||||||
|
|
||||||
if let event::Status::Captured = event_status {
|
if let event::Status::Captured = event_status {
|
||||||
return event::Status::Captured;
|
return event::Status::Captured;
|
||||||
}
|
}
|
||||||
|
|
@ -479,10 +494,7 @@ where
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
touch::Event::FingerLifted { .. }
|
_ => {}
|
||||||
| touch::Event::FingerLost { .. } => {
|
|
||||||
state.scroll_area_touched_at = None;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
event_status = event::Status::Captured;
|
event_status = event::Status::Captured;
|
||||||
|
|
@ -492,15 +504,6 @@ where
|
||||||
|
|
||||||
if let Some(scroller_grabbed_at) = state.y_scroller_grabbed_at {
|
if let Some(scroller_grabbed_at) = state.y_scroller_grabbed_at {
|
||||||
match event {
|
match event {
|
||||||
Event::Mouse(mouse::Event::ButtonReleased(
|
|
||||||
mouse::Button::Left,
|
|
||||||
))
|
|
||||||
| Event::Touch(touch::Event::FingerLifted { .. })
|
|
||||||
| Event::Touch(touch::Event::FingerLost { .. }) => {
|
|
||||||
state.y_scroller_grabbed_at = None;
|
|
||||||
|
|
||||||
event_status = event::Status::Captured;
|
|
||||||
}
|
|
||||||
Event::Mouse(mouse::Event::CursorMoved { .. })
|
Event::Mouse(mouse::Event::CursorMoved { .. })
|
||||||
| Event::Touch(touch::Event::FingerMoved { .. }) => {
|
| Event::Touch(touch::Event::FingerMoved { .. }) => {
|
||||||
if let Some(scrollbar) = scrollbars.y {
|
if let Some(scrollbar) = scrollbars.y {
|
||||||
|
|
@ -572,15 +575,6 @@ where
|
||||||
|
|
||||||
if let Some(scroller_grabbed_at) = state.x_scroller_grabbed_at {
|
if let Some(scroller_grabbed_at) = state.x_scroller_grabbed_at {
|
||||||
match event {
|
match event {
|
||||||
Event::Mouse(mouse::Event::ButtonReleased(
|
|
||||||
mouse::Button::Left,
|
|
||||||
))
|
|
||||||
| Event::Touch(touch::Event::FingerLifted { .. })
|
|
||||||
| Event::Touch(touch::Event::FingerLost { .. }) => {
|
|
||||||
state.x_scroller_grabbed_at = None;
|
|
||||||
|
|
||||||
event_status = event::Status::Captured;
|
|
||||||
}
|
|
||||||
Event::Mouse(mouse::Event::CursorMoved { .. })
|
Event::Mouse(mouse::Event::CursorMoved { .. })
|
||||||
| Event::Touch(touch::Event::FingerMoved { .. }) => {
|
| Event::Touch(touch::Event::FingerMoved { .. }) => {
|
||||||
let Some(cursor_position) = cursor.position() else {
|
let Some(cursor_position) = cursor.position() else {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue