diff options
| author | 2024-02-28 10:34:39 +0100 | |
|---|---|---|
| committer | 2024-02-28 10:34:39 +0100 | |
| commit | af9fb367f361a564aa2a9fc11333816566eb5d55 (patch) | |
| tree | 5febf78005da8ecbe8419088d9a8359878deb144 /widget | |
| parent | d03786792995d9dcb1939a7d2c6c8150014c8b85 (diff) | |
| parent | 49d900d54bd6ba14fd202887083a6420d9fa6c37 (diff) | |
| download | iced-af9fb367f361a564aa2a9fc11333816566eb5d55.tar.gz iced-af9fb367f361a564aa2a9fc11333816566eb5d55.tar.bz2 iced-af9fb367f361a564aa2a9fc11333816566eb5d55.zip | |
Merge pull request #2303 from GyulyVGC/master
[Minor Fix] Scrollbar style when cursor is over scrollable area
Diffstat (limited to '')
| -rw-r--r-- | widget/src/scrollable.rs | 32 | 
1 files changed, 17 insertions, 15 deletions
| diff --git a/widget/src/scrollable.rs b/widget/src/scrollable.rs index c4873648..f736d92e 100644 --- a/widget/src/scrollable.rs +++ b/widget/src/scrollable.rs @@ -907,7 +907,15 @@ pub fn draw<Theme, Renderer>(          theme.active(style)      }; -    let idle_scrollbar = theme.active(style).scrollbar; +    let scrollbar_style = |is_dragging: bool, mouse_over_scrollbar: bool| { +        if is_dragging { +            theme.dragging(style).scrollbar +        } else if cursor_over_scrollable.is_some() { +            theme.hovered(style, mouse_over_scrollbar).scrollbar +        } else { +            theme.active(style).scrollbar +        } +    };      container::draw_background(          renderer, @@ -984,13 +992,10 @@ pub fn draw<Theme, Renderer>(                  if let Some(scrollbar) = scrollbars.y {                      draw_scrollbar(                          renderer, -                        if mouse_over_y_scrollbar -                            || state.y_scroller_grabbed_at.is_some() -                        { -                            appearance.scrollbar -                        } else { -                            idle_scrollbar -                        }, +                        scrollbar_style( +                            state.y_scroller_grabbed_at.is_some(), +                            mouse_over_y_scrollbar, +                        ),                          &scrollbar,                      );                  } @@ -998,13 +1003,10 @@ pub fn draw<Theme, Renderer>(                  if let Some(scrollbar) = scrollbars.x {                      draw_scrollbar(                          renderer, -                        if mouse_over_x_scrollbar -                            || state.x_scroller_grabbed_at.is_some() -                        { -                            appearance.scrollbar -                        } else { -                            idle_scrollbar -                        }, +                        scrollbar_style( +                            state.x_scroller_grabbed_at.is_some(), +                            mouse_over_x_scrollbar, +                        ),                          &scrollbar,                      );                  } | 
