From d91f4f6aa74d0693179a02167d626efa3ac4c20b Mon Sep 17 00:00:00 2001 From: Bingus Date: Sat, 19 Nov 2022 10:29:37 -0800 Subject: [PATCH 1/7] Add multidirectional scrolling capabilities to the existing Scrollable. --- core/src/size.rs | 1 - examples/README.md | 2 +- examples/scrollable/Cargo.toml | 1 + examples/scrollable/screenshot.png | Bin 104995 -> 521151 bytes examples/scrollable/src/main.rs | 510 +++++---- examples/websocket/src/main.rs | 7 +- native/src/widget/column.rs | 2 - native/src/widget/operation/scrollable.rs | 19 +- native/src/widget/scrollable.rs | 1138 ++++++++++++++------- src/widget.rs | 3 +- style/src/scrollable.rs | 17 +- style/src/theme.rs | 24 + 12 files changed, 1148 insertions(+), 576 deletions(-) diff --git a/core/src/size.rs b/core/src/size.rs index 31f3171b..a2c72926 100644 --- a/core/src/size.rs +++ b/core/src/size.rs @@ -1,5 +1,4 @@ use crate::{Padding, Vector}; -use std::f32; /// An amount of space in 2 dimensions. #[derive(Debug, Clone, Copy, PartialEq, Eq)] diff --git a/examples/README.md b/examples/README.md index bb15dc2e..74cf145b 100644 --- a/examples/README.md +++ b/examples/README.md @@ -99,7 +99,7 @@ A bunch of simpler examples exist: - [`pick_list`](pick_list), a dropdown list of selectable options. - [`pokedex`](pokedex), an application that displays a random Pokédex entry (sprite included!) by using the [PokéAPI]. - [`progress_bar`](progress_bar), a simple progress bar that can be filled by using a slider. -- [`scrollable`](scrollable), a showcase of the various scrollbar width options. +- [`scrollable`](scrollable), a showcase of various scrollable content configurations. - [`sierpinski_triangle`](sierpinski_triangle), a [sierpiński triangle](https://en.wikipedia.org/wiki/Sierpi%C5%84ski_triangle) Emulator, use `Canvas` and `Slider`. - [`solar_system`](solar_system), an animated solar system drawn using the `Canvas` widget and showcasing how to compose different transforms. - [`stopwatch`](stopwatch), a watch with start/stop and reset buttons showcasing how to listen to time. diff --git a/examples/scrollable/Cargo.toml b/examples/scrollable/Cargo.toml index 610c13b4..4bef4281 100644 --- a/examples/scrollable/Cargo.toml +++ b/examples/scrollable/Cargo.toml @@ -7,3 +7,4 @@ publish = false [dependencies] iced = { path = "../..", features = ["debug"] } +lazy_static = "1.4" diff --git a/examples/scrollable/screenshot.png b/examples/scrollable/screenshot.png index e91fd565c53c1659eeb4151bca8a3d56e24896ed..ee044447b6e88c758d9ab4b08e6a5dc03b9035b0 100644 GIT binary patch literal 521151 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⋙m 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¤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%0ATesQ_<>cfP z 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 HoD!M iced::Result { ScrollableDemo::run(Settings::default()) } struct ScrollableDemo { - theme: Theme, - variants: Vec, + scrollable_direction: Direction, + scrollbar_width: u16, + scrollbar_margin: u16, + scroller_width: u16, + current_scroll_offset: Vector, } -#[derive(Debug, PartialEq, Eq, Clone, Copy)] -enum ThemeType { - Light, - Dark, +#[derive(Debug, Clone, Eq, PartialEq, Copy)] +enum Direction { + Vertical, + Horizontal, + Multi, } #[derive(Debug, Clone)] enum Message { - ThemeChanged(ThemeType), - ScrollToTop(usize), - ScrollToBottom(usize), - Scrolled(usize, f32), + SwitchDirection(Direction), + ScrollbarWidthChanged(u16), + ScrollbarMarginChanged(u16), + ScrollerWidthChanged(u16), + ScrollToBeginning(scrollable::Direction), + ScrollToEnd(scrollable::Direction), + Scrolled(Vector), } impl Application for ScrollableDemo { + type Executor = executor::Default; type Message = Message; type Theme = Theme; - type Executor = executor::Default; type Flags = (); fn new(_flags: Self::Flags) -> (Self, Command) { ( ScrollableDemo { - theme: Default::default(), - variants: Variant::all(), + scrollable_direction: Direction::Vertical, + scrollbar_width: 10, + scrollbar_margin: 0, + scroller_width: 10, + current_scroll_offset: Vector::new(0.0, 0.0), }, Command::none(), ) @@ -50,209 +66,333 @@ impl Application for ScrollableDemo { fn update(&mut self, message: Message) -> Command { match message { - Message::ThemeChanged(theme) => { - self.theme = match theme { - ThemeType::Light => Theme::Light, - ThemeType::Dark => Theme::Dark, - }; + Message::SwitchDirection(direction) => { + self.current_scroll_offset = Vector::new(0.0, 0.0); + self.scrollable_direction = direction; Command::none() } - Message::ScrollToTop(i) => { - if let Some(variant) = self.variants.get_mut(i) { - variant.latest_offset = 0.0; + Message::ScrollbarWidthChanged(width) => { + self.scrollbar_width = width; - scrollable::snap_to(Variant::id(i), 0.0) - } else { - Command::none() - } + Command::none() } - Message::ScrollToBottom(i) => { - if let Some(variant) = self.variants.get_mut(i) { - variant.latest_offset = 1.0; + Message::ScrollbarMarginChanged(margin) => { + self.scrollbar_margin = margin; - scrollable::snap_to(Variant::id(i), 1.0) - } else { - Command::none() - } + Command::none() } - Message::Scrolled(i, offset) => { - if let Some(variant) = self.variants.get_mut(i) { - variant.latest_offset = offset; + Message::ScrollerWidthChanged(width) => { + self.scroller_width = width; + + Command::none() + } + Message::ScrollToBeginning(direction) => { + match direction { + scrollable::Direction::Horizontal => { + self.current_scroll_offset.x = 0.0; + } + scrollable::Direction::Vertical => { + self.current_scroll_offset.y = 0.0; + } } + scrollable::snap_to( + SCROLLABLE_ID.clone(), + Vector::new( + self.current_scroll_offset.x, + self.current_scroll_offset.y, + ), + ) + } + Message::ScrollToEnd(direction) => { + match direction { + scrollable::Direction::Horizontal => { + self.current_scroll_offset.x = 1.0; + } + scrollable::Direction::Vertical => { + self.current_scroll_offset.y = 1.0; + } + } + + scrollable::snap_to( + SCROLLABLE_ID.clone(), + Vector::new( + self.current_scroll_offset.x, + self.current_scroll_offset.y, + ), + ) + } + Message::Scrolled(offset) => { + self.current_scroll_offset = offset; + Command::none() } } } fn view(&self) -> Element { - let ScrollableDemo { variants, .. } = self; - - let choose_theme = [ThemeType::Light, ThemeType::Dark].iter().fold( - column!["Choose a theme:"].spacing(10), - |column, option| { - column.push(radio( - format!("{:?}", option), - *option, - Some(*option), - Message::ThemeChanged, - )) - }, + let scrollbar_width_slider = slider( + 0..=15, + self.scrollbar_width, + Message::ScrollbarWidthChanged, ); + let scrollbar_margin_slider = slider( + 0..=15, + self.scrollbar_margin, + Message::ScrollbarMarginChanged, + ); + let scroller_width_slider = + slider(0..=15, self.scroller_width, Message::ScrollerWidthChanged); - let scrollable_row = Row::with_children( - variants - .iter() - .enumerate() - .map(|(i, variant)| { - let mut contents = column![ - variant.title, - button("Scroll to bottom",) - .width(Length::Fill) - .padding(10) - .on_press(Message::ScrollToBottom(i)), - ] - .padding(10) - .spacing(10) - .width(Length::Fill); + let scroll_slider_controls = column![ + text("Scrollbar width:"), + scrollbar_width_slider, + text("Scrollbar margin:"), + scrollbar_margin_slider, + text("Scroller width:"), + scroller_width_slider, + ] + .width(Length::Fill); - if let Some(scrollbar_width) = variant.scrollbar_width { - contents = contents.push(text(format!( - "scrollbar_width: {:?}", - scrollbar_width - ))); - } + let scroll_orientation_controls = column(vec![ + text("Scrollbar direction:").into(), + radio( + "Vertical", + Direction::Vertical, + Some(self.scrollable_direction), + Message::SwitchDirection, + ) + .into(), + radio( + "Horizontal", + Direction::Horizontal, + Some(self.scrollable_direction), + Message::SwitchDirection, + ) + .into(), + radio( + "Both!", + Direction::Multi, + Some(self.scrollable_direction), + Message::SwitchDirection, + ) + .into(), + ]) + .width(Length::Fill); - if let Some(scrollbar_margin) = variant.scrollbar_margin { - contents = contents.push(text(format!( - "scrollbar_margin: {:?}", - scrollbar_margin - ))); - } + let scroll_controls = + row![scroll_slider_controls, scroll_orientation_controls] + .spacing(20) + .width(Length::Fill); - if let Some(scroller_width) = variant.scroller_width { - contents = contents.push(text(format!( - "scroller_width: {:?}", - scroller_width - ))); - } + let scroll_to_end_button = |direction: scrollable::Direction| { + button("Scroll to end") + .padding(10) + .width(Length::Units(120)) + .on_press(Message::ScrollToEnd(direction)) + }; - contents = contents - .push(vertical_space(Length::Units(100))) - .push( - "Some content that should wrap within the \ - scrollable. Let's output a lot of short words, so \ - that we'll make sure to see how wrapping works \ - with these scrollbars.", - ) - .push(vertical_space(Length::Units(1200))) - .push("Middle") - .push(vertical_space(Length::Units(1200))) - .push("The End.") - .push( - button("Scroll to top") - .width(Length::Fill) - .padding(10) - .on_press(Message::ScrollToTop(i)), - ); - - let mut scrollable = scrollable(contents) - .id(Variant::id(i)) - .height(Length::Fill) - .on_scroll(move |offset| Message::Scrolled(i, offset)); - - if let Some(scrollbar_width) = variant.scrollbar_width { - scrollable = - scrollable.scrollbar_width(scrollbar_width); - } - - if let Some(scrollbar_margin) = variant.scrollbar_margin { - scrollable = - scrollable.scrollbar_margin(scrollbar_margin); - } - - if let Some(scroller_width) = variant.scroller_width { - scrollable = scrollable.scroller_width(scroller_width); - } + let scroll_to_beginning_button = |direction: scrollable::Direction| { + button("Scroll to beginning") + .padding(10) + .width(Length::Units(120)) + .on_press(Message::ScrollToBeginning(direction)) + }; + let scrollable_content: Element = + Element::from(match self.scrollable_direction { + Direction::Vertical => scrollable( column![ - scrollable, - progress_bar(0.0..=1.0, variant.latest_offset,) + scroll_to_end_button(scrollable::Direction::Vertical), + text("Beginning!"), + vertical_space(Length::Units(1200)), + text("Middle!"), + vertical_space(Length::Units(1200)), + text("End!"), + scroll_to_beginning_button( + scrollable::Direction::Vertical + ), ] .width(Length::Fill) - .height(Length::Fill) - .spacing(10) + .align_items(Alignment::Center) + .padding([40, 0, 40, 0]) + .spacing(40), + ) + .height(Length::Fill) + .scrollbar_width(self.scrollbar_width) + .scrollbar_margin(self.scrollbar_margin) + .scroller_width(self.scroller_width) + .id(SCROLLABLE_ID.clone()) + .on_scroll(Message::Scrolled), + Direction::Horizontal => scrollable( + row![ + scroll_to_end_button(scrollable::Direction::Horizontal), + text("Beginning!"), + horizontal_space(Length::Units(1200)), + text("Middle!"), + horizontal_space(Length::Units(1200)), + text("End!"), + scroll_to_beginning_button( + scrollable::Direction::Horizontal + ), + ] + .height(Length::Units(450)) + .align_items(Alignment::Center) + .padding([0, 40, 0, 40]) + .spacing(40), + ) + .height(Length::Fill) + .horizontal_scroll( + scrollable::Horizontal::new() + .scrollbar_height(self.scrollbar_width) + .scrollbar_margin(self.scrollbar_margin) + .scroller_height(self.scroller_width), + ) + .style(theme::Scrollable::Custom(Box::new( + ScrollbarCustomStyle, + ))) + .id(SCROLLABLE_ID.clone()) + .on_scroll(Message::Scrolled), + Direction::Multi => scrollable( + //horizontal content + row![ + column![ + text("Let's do some scrolling!"), + vertical_space(Length::Units(2400)) + ], + scroll_to_end_button(scrollable::Direction::Horizontal), + text("Horizontal - Beginning!"), + horizontal_space(Length::Units(1200)), + //vertical content + column![ + text("Horizontal - Middle!"), + scroll_to_end_button( + scrollable::Direction::Vertical + ), + text("Vertical - Beginning!"), + vertical_space(Length::Units(1200)), + text("Vertical - Middle!"), + vertical_space(Length::Units(1200)), + text("Vertical - End!"), + scroll_to_beginning_button( + scrollable::Direction::Vertical + ) + ] + .align_items(Alignment::Fill) + .spacing(40), + horizontal_space(Length::Units(1200)), + text("Horizontal - End!"), + scroll_to_beginning_button( + scrollable::Direction::Horizontal + ), + ] + .align_items(Alignment::Center) + .padding([0, 40, 0, 40]) + .spacing(40), + ) + .height(Length::Fill) + .scrollbar_width(self.scrollbar_width) + .scrollbar_margin(self.scrollbar_margin) + .scroller_width(self.scroller_width) + .horizontal_scroll( + scrollable::Horizontal::new() + .scrollbar_height(self.scrollbar_width) + .scrollbar_margin(self.scrollbar_margin) + .scroller_height(self.scroller_width), + ) + .style(theme::Scrollable::Custom(Box::new( + ScrollbarCustomStyle, + ))) + .id(SCROLLABLE_ID.clone()) + .on_scroll(Message::Scrolled), + }); + + let progress_bars: Element = match self.scrollable_direction { + Direction::Vertical => { + progress_bar(0.0..=1.0, self.current_scroll_offset.y).into() + } + Direction::Horizontal => { + progress_bar(0.0..=1.0, self.current_scroll_offset.x) + .style(theme::ProgressBar::Custom(Box::new( + ProgressBarCustomStyle, + ))) .into() - }) - .collect(), + } + Direction::Multi => column![ + progress_bar(0.0..=1.0, self.current_scroll_offset.y), + progress_bar(0.0..=1.0, self.current_scroll_offset.x).style( + theme::ProgressBar::Custom(Box::new( + ProgressBarCustomStyle, + )) + ) + ] + .spacing(10) + .into(), + }; + + let content: Element = + column![scroll_controls, scrollable_content, progress_bars] + .width(Length::Fill) + .height(Length::Fill) + .align_items(Alignment::Center) + .spacing(10) + .into(); + + Element::from( + container(content) + .width(Length::Fill) + .height(Length::Fill) + .padding(40) + .center_x() + .center_y(), ) - .spacing(20) - .width(Length::Fill) - .height(Length::Fill); - - let content = - column![choose_theme, horizontal_rule(20), scrollable_row] - .spacing(20) - .padding(20); - - container(content) - .width(Length::Fill) - .height(Length::Fill) - .center_x() - .center_y() - .into() } - fn theme(&self) -> Theme { - self.theme.clone() + fn theme(&self) -> Self::Theme { + Theme::Dark } } -/// A version of a scrollable -struct Variant { - title: &'static str, - scrollbar_width: Option, - scrollbar_margin: Option, - scroller_width: Option, - latest_offset: f32, -} +struct ScrollbarCustomStyle; -impl Variant { - pub fn all() -> Vec { - vec![ - Self { - title: "Default Scrollbar", - scrollbar_width: None, - scrollbar_margin: None, - scroller_width: None, - latest_offset: 0.0, - }, - Self { - title: "Slimmed & Margin", - scrollbar_width: Some(4), - scrollbar_margin: Some(3), - scroller_width: Some(4), - latest_offset: 0.0, - }, - Self { - title: "Wide Scroller", - scrollbar_width: Some(4), - scrollbar_margin: None, - scroller_width: Some(10), - latest_offset: 0.0, - }, - Self { - title: "Narrow Scroller", - scrollbar_width: Some(10), - scrollbar_margin: None, - scroller_width: Some(4), - latest_offset: 0.0, - }, - ] +impl scrollable::StyleSheet for ScrollbarCustomStyle { + type Style = Theme; + + fn active(&self, style: &Self::Style) -> Scrollbar { + style.active(&theme::Scrollable::Default) } - pub fn id(i: usize) -> scrollable::Id { - scrollable::Id::new(format!("scrollable-{}", i)) + fn hovered(&self, style: &Self::Style) -> Scrollbar { + style.hovered(&theme::Scrollable::Default) + } + + fn hovered_horizontal(&self, style: &Self::Style) -> Scrollbar { + Scrollbar { + background: style.active(&theme::Scrollable::default()).background, + border_radius: 0.0, + border_width: 0.0, + border_color: Default::default(), + scroller: Scroller { + color: Color::from_rgb8(250, 85, 134), + border_radius: 0.0, + border_width: 0.0, + border_color: Default::default(), + }, + } + } +} + +struct ProgressBarCustomStyle; + +impl progress_bar::StyleSheet for ProgressBarCustomStyle { + type Style = Theme; + + fn appearance(&self, style: &Self::Style) -> progress_bar::Appearance { + progress_bar::Appearance { + background: style.extended_palette().background.strong.color.into(), + bar: Color::from_rgb8(250, 85, 134).into(), + border_radius: 0.0, + } } } diff --git a/examples/websocket/src/main.rs b/examples/websocket/src/main.rs index ff2929da..b10ef17e 100644 --- a/examples/websocket/src/main.rs +++ b/examples/websocket/src/main.rs @@ -1,10 +1,10 @@ mod echo; use iced::alignment::{self, Alignment}; -use iced::executor; use iced::widget::{ button, column, container, row, scrollable, text, text_input, Column, }; +use iced::{executor, Vector}; use iced::{ Application, Color, Command, Element, Length, Settings, Subscription, Theme, }; @@ -81,7 +81,10 @@ impl Application for WebSocket { echo::Event::MessageReceived(message) => { self.messages.push(message); - scrollable::snap_to(MESSAGE_LOG.clone(), 1.0) + scrollable::snap_to( + MESSAGE_LOG.clone(), + Vector::new(0.0, 1.0), + ) } }, Message::Server => Command::none(), diff --git a/native/src/widget/column.rs b/native/src/widget/column.rs index f2ef132a..5ad4d858 100644 --- a/native/src/widget/column.rs +++ b/native/src/widget/column.rs @@ -10,8 +10,6 @@ use crate::{ Shell, Widget, }; -use std::u32; - /// A container that distributes its contents vertically. #[allow(missing_debug_implementations)] pub struct Column<'a, Message, Renderer> { diff --git a/native/src/widget/operation/scrollable.rs b/native/src/widget/operation/scrollable.rs index 2210137d..1e8b7543 100644 --- a/native/src/widget/operation/scrollable.rs +++ b/native/src/widget/operation/scrollable.rs @@ -1,27 +1,22 @@ //! Operate on widgets that can be scrolled. use crate::widget::{Id, Operation}; +use iced_core::Vector; /// The internal state of a widget that can be scrolled. pub trait Scrollable { /// Snaps the scroll of the widget to the given `percentage`. - fn snap_to(&mut self, percentage: f32); + fn snap_to(&mut self, percentage: Vector); } /// Produces an [`Operation`] that snaps the widget with the given [`Id`] to /// the provided `percentage`. -pub fn snap_to(target: Id, percentage: f32) -> impl Operation { +pub fn snap_to(target: Id, percentage: Vector) -> impl Operation { struct SnapTo { target: Id, - percentage: f32, + percentage: Vector, } impl Operation for SnapTo { - fn scrollable(&mut self, state: &mut dyn Scrollable, id: Option<&Id>) { - if Some(&self.target) == id { - state.snap_to(self.percentage); - } - } - fn container( &mut self, _id: Option<&Id>, @@ -29,6 +24,12 @@ pub fn snap_to(target: Id, percentage: f32) -> impl Operation { ) { operate_on_children(self) } + + fn scrollable(&mut self, state: &mut dyn Scrollable, id: Option<&Id>) { + if Some(&self.target) == id { + state.snap_to(self.percentage); + } + } } SnapTo { target, percentage } diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs index 20780f89..ec081343 100644 --- a/native/src/widget/scrollable.rs +++ b/native/src/widget/scrollable.rs @@ -13,8 +13,6 @@ use crate::{ Rectangle, Shell, Size, Vector, Widget, }; -use std::{f32, u32}; - pub use iced_style::scrollable::StyleSheet; pub mod style { @@ -37,8 +35,9 @@ where scrollbar_width: u16, scrollbar_margin: u16, scroller_width: u16, + scroll_horizontal: Option, content: Element<'a, Message, Renderer>, - on_scroll: Option Message + 'a>>, + on_scroll: Option) -> Message + 'a>>, style: ::Style, } @@ -55,6 +54,7 @@ where scrollbar_width: 10, scrollbar_margin: 0, scroller_width: 10, + scroll_horizontal: None, content: content.into(), on_scroll: None, style: Default::default(), @@ -74,7 +74,7 @@ where } /// Sets the scrollbar width of the [`Scrollable`] . - /// Silently enforces a minimum value of 1. + /// Silently enforces a minimum width of 1. pub fn scrollbar_width(mut self, scrollbar_width: u16) -> Self { self.scrollbar_width = scrollbar_width.max(1); self @@ -88,17 +88,26 @@ where /// Sets the scroller width of the [`Scrollable`] . /// - /// It silently enforces a minimum value of 1. + /// It silently enforces a minimum width of 1. pub fn scroller_width(mut self, scroller_width: u16) -> Self { self.scroller_width = scroller_width.max(1); self } + /// Allow scrolling in a horizontal direction within the [`Scrollable`] . + pub fn horizontal_scroll(mut self, horizontal: Horizontal) -> Self { + self.scroll_horizontal = Some(horizontal); + self + } + /// Sets a function to call when the [`Scrollable`] is scrolled. /// - /// The function takes the new relative offset of the [`Scrollable`] - /// (e.g. `0` means top, while `1` means bottom). - pub fn on_scroll(mut self, f: impl Fn(f32) -> Message + 'a) -> Self { + /// The function takes the new relative x & y offset of the [`Scrollable`] + /// (e.g. `0` means beginning, while `1` means end). + pub fn on_scroll( + mut self, + f: impl Fn(Vector) -> Message + 'a, + ) -> Self { self.on_scroll = Some(Box::new(f)); self } @@ -113,28 +122,57 @@ where } } +/// Properties of a horizontal scrollbar within a [`Scrollable`]. +#[derive(Debug)] +pub struct Horizontal { + scrollbar_height: u16, + scrollbar_margin: u16, + scroller_height: u16, +} + +impl Default for Horizontal { + fn default() -> Self { + Self { + scrollbar_height: 10, + scrollbar_margin: 0, + scroller_height: 10, + } + } +} + +impl Horizontal { + /// Creates a new [`Horizontal`] for use in a [`Scrollable`]. + pub fn new() -> Self { + Self::default() + } + + /// Sets the [`Horizontal`] scrollbar height of the [`Scrollable`] . + /// Silently enforces a minimum height of 1. + pub fn scrollbar_height(mut self, scrollbar_height: u16) -> Self { + self.scrollbar_height = scrollbar_height.max(1); + self + } + + /// Sets the [`Horizontal`] scrollbar margin of the [`Scrollable`] . + pub fn scrollbar_margin(mut self, scrollbar_margin: u16) -> Self { + self.scrollbar_margin = scrollbar_margin; + self + } + + /// Sets the scroller height of the [`Horizontal`] scrollbar of the [`Scrollable`] . + /// Silently enforces a minimum height of 1. + pub fn scroller_height(mut self, scroller_height: u16) -> Self { + self.scroller_height = scroller_height.max(1); + self + } +} + impl<'a, Message, Renderer> Widget for Scrollable<'a, Message, Renderer> where Renderer: crate::Renderer, Renderer::Theme: StyleSheet, { - fn tag(&self) -> tree::Tag { - tree::Tag::of::() - } - - fn state(&self) -> tree::State { - tree::State::new(State::new()) - } - - fn children(&self) -> Vec { - vec![Tree::new(&self.content)] - } - - fn diff(&self, tree: &mut Tree) { - tree.diff_children(std::slice::from_ref(&self.content)) - } - fn width(&self) -> Length { self.content.as_widget().width() } @@ -153,18 +191,64 @@ where limits, Widget::::width(self), self.height, - u32::MAX, + self.scroll_horizontal.is_some(), |renderer, limits| { self.content.as_widget().layout(renderer, limits) }, ) } + fn draw( + &self, + tree: &Tree, + renderer: &mut Renderer, + theme: &Renderer::Theme, + style: &renderer::Style, + layout: Layout<'_>, + cursor_position: Point, + _viewport: &Rectangle, + ) { + draw( + tree.state.downcast_ref::(), + renderer, + theme, + layout, + cursor_position, + &self.style, + |renderer, layout, cursor_position, viewport| { + self.content.as_widget().draw( + &tree.children[0], + renderer, + theme, + style, + layout, + cursor_position, + viewport, + ) + }, + ) + } + + fn tag(&self) -> tree::Tag { + tree::Tag::of::() + } + + fn state(&self) -> tree::State { + tree::State::new(State::new()) + } + + fn children(&self) -> Vec { + vec![Tree::new(&self.content)] + } + + fn diff(&self, tree: &mut Tree) { + tree.diff_children(std::slice::from_ref(&self.content)) + } + fn operate( &self, tree: &mut Tree, layout: Layout<'_>, - renderer: &Renderer, operation: &mut dyn Operation, ) { let state = tree.state.downcast_mut::(); @@ -175,7 +259,6 @@ where self.content.as_widget().operate( &mut tree.children[0], layout.children().next().unwrap(), - renderer, operation, ); }); @@ -201,6 +284,7 @@ where self.scrollbar_width, self.scrollbar_margin, self.scroller_width, + self.scroll_horizontal.as_ref(), &self.on_scroll, |event, layout, cursor_position, clipboard, shell| { self.content.as_widget_mut().on_event( @@ -216,40 +300,6 @@ where ) } - fn draw( - &self, - tree: &Tree, - renderer: &mut Renderer, - theme: &Renderer::Theme, - style: &renderer::Style, - layout: Layout<'_>, - cursor_position: Point, - _viewport: &Rectangle, - ) { - draw( - tree.state.downcast_ref::(), - renderer, - theme, - layout, - cursor_position, - self.scrollbar_width, - self.scrollbar_margin, - self.scroller_width, - &self.style, - |renderer, layout, cursor_position, viewport| { - self.content.as_widget().draw( - &tree.children[0], - renderer, - theme, - style, - layout, - cursor_position, - viewport, - ) - }, - ) - } - fn mouse_interaction( &self, tree: &Tree, @@ -262,9 +312,6 @@ where tree.state.downcast_ref::(), layout, cursor_position, - self.scrollbar_width, - self.scrollbar_margin, - self.scroller_width, |layout, cursor_position, viewport| { self.content.as_widget().mouse_interaction( &tree.children[0], @@ -278,13 +325,13 @@ where } fn overlay<'b>( - &'b mut self, + &'b self, tree: &'b mut Tree, layout: Layout<'_>, renderer: &Renderer, ) -> Option> { self.content - .as_widget_mut() + .as_widget() .overlay( &mut tree.children[0], layout.children().next().unwrap(), @@ -294,12 +341,15 @@ where let bounds = layout.bounds(); let content_layout = layout.children().next().unwrap(); let content_bounds = content_layout.bounds(); - let offset = tree + let (offset_x, offset_y) = tree .state .downcast_ref::() .offset(bounds, content_bounds); - overlay.translate(Vector::new(0.0, -(offset as f32))) + overlay.translate(Vector::new( + -(offset_x as f32), + -(offset_y as f32), + )) }) } } @@ -344,7 +394,10 @@ impl From for widget::Id { /// Produces a [`Command`] that snaps the [`Scrollable`] with the given [`Id`] /// to the provided `percentage`. -pub fn snap_to(id: Id, percentage: f32) -> Command { +pub fn snap_to( + id: Id, + percentage: Vector, +) -> Command { Command::widget(operation::scrollable::snap_to(id.0, percentage)) } @@ -354,14 +407,29 @@ pub fn layout( limits: &layout::Limits, width: Length, height: Length, - max_height: u32, + horizontal_enabled: bool, layout_content: impl FnOnce(&Renderer, &layout::Limits) -> layout::Node, ) -> layout::Node { - let limits = limits.max_height(max_height).width(width).height(height); + let limits = limits + .max_height(u32::MAX) + .max_width(if horizontal_enabled { + u32::MAX + } else { + limits.max().width as u32 + }) + .width(width) + .height(height); let child_limits = layout::Limits::new( Size::new(limits.min().width, 0.0), - Size::new(limits.max().width, f32::INFINITY), + Size::new( + if horizontal_enabled { + f32::INFINITY + } else { + limits.max().width + }, + f32::MAX, + ), ); let content = layout_content(renderer, &child_limits); @@ -382,7 +450,8 @@ pub fn update( scrollbar_width: u16, scrollbar_margin: u16, scroller_width: u16, - on_scroll: &Option Message + '_>>, + horizontal: Option<&Horizontal>, + on_scroll: &Option) -> Message + '_>>, update_content: impl FnOnce( Event, Layout<'_>, @@ -392,36 +461,39 @@ pub fn update( ) -> event::Status, ) -> event::Status { let bounds = layout.bounds(); - let is_mouse_over = bounds.contains(cursor_position); + let mouse_over_scrollable = bounds.contains(cursor_position); let content = layout.children().next().unwrap(); let content_bounds = content.bounds(); - let scrollbar = scrollbar( - state, + state.create_scrollbars_maybe( + horizontal, scrollbar_width, scrollbar_margin, scroller_width, bounds, content_bounds, ); - let is_mouse_over_scrollbar = scrollbar - .as_ref() - .map(|scrollbar| scrollbar.is_mouse_over(cursor_position)) - .unwrap_or(false); + + let (mouse_over_x_scrollbar, mouse_over_y_scrollbar) = + state.mouse_over_scrollbars(cursor_position); let event_status = { - let cursor_position = if is_mouse_over && !is_mouse_over_scrollbar { + let cursor_position = if mouse_over_scrollable + && !(mouse_over_y_scrollbar || mouse_over_x_scrollbar) + { + let (offset_x, offset_y) = state.offset(bounds, content_bounds); + Point::new( - cursor_position.x, - cursor_position.y + state.offset(bounds, content_bounds) as f32, + cursor_position.x + offset_x as f32, + cursor_position.y + offset_y as f32, ) } else { // TODO: Make `cursor_position` an `Option` so we can encode // cursor availability. // This will probably happen naturally once we add multi-window // support. - Point::new(cursor_position.x, -1.0) + Point::new(-1.0, -1.0) }; update_content( @@ -437,18 +509,18 @@ pub fn update( return event::Status::Captured; } - if is_mouse_over { + if mouse_over_scrollable { match event { Event::Mouse(mouse::Event::WheelScrolled { delta }) => { - match delta { - mouse::ScrollDelta::Lines { y, .. } => { - // TODO: Configurable speed (?) - state.scroll(y * 60.0, bounds, content_bounds); + let delta = match delta { + mouse::ScrollDelta::Lines { x, y } => { + // TODO: Configurable speed/friction (?) + Vector::new(x * 60.0, y * 60.0) } - mouse::ScrollDelta::Pixels { y, .. } => { - state.scroll(y, bounds, content_bounds); - } - } + mouse::ScrollDelta::Pixels { x, y } => Vector::new(x, y), + }; + + state.scroll(delta, bounds, content_bounds); notify_on_scroll( state, @@ -463,18 +535,21 @@ pub fn update( Event::Touch(event) => { match event { touch::Event::FingerPressed { .. } => { - state.scroll_box_touched_at = Some(cursor_position); + state.scroll_area_touched_at = Some(cursor_position); } touch::Event::FingerMoved { .. } => { if let Some(scroll_box_touched_at) = - state.scroll_box_touched_at + state.scroll_area_touched_at { - let delta = - cursor_position.y - scroll_box_touched_at.y; + let delta = Vector::new( + cursor_position.x - scroll_box_touched_at.x, + cursor_position.y - scroll_box_touched_at.y, + ); state.scroll(delta, bounds, content_bounds); - state.scroll_box_touched_at = Some(cursor_position); + state.scroll_area_touched_at = + Some(cursor_position); notify_on_scroll( state, @@ -487,7 +562,7 @@ pub fn update( } touch::Event::FingerLifted { .. } | touch::Event::FingerLost { .. } => { - state.scroll_box_touched_at = None; + state.scroll_area_touched_at = None; } } @@ -497,21 +572,21 @@ pub fn update( } } - if state.is_scroller_grabbed() { - match event { - Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)) - | Event::Touch(touch::Event::FingerLifted { .. }) - | Event::Touch(touch::Event::FingerLost { .. }) => { - state.scroller_grabbed_at = None; + if let Some(scrollbar) = &mut state.scrollbar_y { + if let Some(scroller_grabbed_at) = scrollbar.scroller.grabbed_at { + match event { + Event::Mouse(mouse::Event::ButtonReleased( + mouse::Button::Left, + )) + | Event::Touch(touch::Event::FingerLifted { .. }) + | Event::Touch(touch::Event::FingerLost { .. }) => { + scrollbar.scroller.grabbed_at = None; - return event::Status::Captured; - } - Event::Mouse(mouse::Event::CursorMoved { .. }) - | Event::Touch(touch::Event::FingerMoved { .. }) => { - if let (Some(scrollbar), Some(scroller_grabbed_at)) = - (scrollbar, state.scroller_grabbed_at) - { - state.scroll_to( + return event::Status::Captured; + } + Event::Mouse(mouse::Event::CursorMoved { .. }) + | Event::Touch(touch::Event::FingerMoved { .. }) => { + scrollbar.scroll_to( scrollbar.scroll_percentage( scroller_grabbed_at, cursor_position, @@ -530,18 +605,18 @@ pub fn update( return event::Status::Captured; } + _ => {} } - _ => {} - } - } else if is_mouse_over_scrollbar { - match event { - Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) - | Event::Touch(touch::Event::FingerPressed { .. }) => { - if let Some(scrollbar) = scrollbar { + } else if scrollbar.is_mouse_over(cursor_position) { + match event { + Event::Mouse(mouse::Event::ButtonPressed( + mouse::Button::Left, + )) + | Event::Touch(touch::Event::FingerPressed { .. }) => { if let Some(scroller_grabbed_at) = scrollbar.grab_scroller(cursor_position) { - state.scroll_to( + scrollbar.scroll_to( scrollbar.scroll_percentage( scroller_grabbed_at, cursor_position, @@ -550,7 +625,8 @@ pub fn update( content_bounds, ); - state.scroller_grabbed_at = Some(scroller_grabbed_at); + scrollbar.scroller.grabbed_at = + Some(scroller_grabbed_at); notify_on_scroll( state, @@ -559,12 +635,84 @@ pub fn update( content_bounds, shell, ); - - return event::Status::Captured; } + + return event::Status::Captured; } + _ => {} + } + } + } + + if let Some(scrollbar) = &mut state.scrollbar_x { + if let Some(scroller_grabbed_at) = scrollbar.scroller.grabbed_at { + match event { + Event::Mouse(mouse::Event::ButtonReleased( + mouse::Button::Left, + )) + | Event::Touch(touch::Event::FingerLifted { .. }) + | Event::Touch(touch::Event::FingerLost { .. }) => { + scrollbar.scroller.grabbed_at = None; + + return event::Status::Captured; + } + Event::Mouse(mouse::Event::CursorMoved { .. }) + | Event::Touch(touch::Event::FingerMoved { .. }) => { + scrollbar.scroll_to( + scrollbar.scroll_percentage( + scroller_grabbed_at, + cursor_position, + ), + bounds, + content_bounds, + ); + + notify_on_scroll( + state, + on_scroll, + bounds, + content_bounds, + shell, + ); + + return event::Status::Captured; + } + _ => {} + } + } else if scrollbar.is_mouse_over(cursor_position) { + match event { + Event::Mouse(mouse::Event::ButtonPressed( + mouse::Button::Left, + )) + | Event::Touch(touch::Event::FingerPressed { .. }) => { + if let Some(scroller_grabbed_at) = + scrollbar.grab_scroller(cursor_position) + { + scrollbar.scroll_to( + scrollbar.scroll_percentage( + scroller_grabbed_at, + cursor_position, + ), + bounds, + content_bounds, + ); + + scrollbar.scroller.grabbed_at = + Some(scroller_grabbed_at); + + notify_on_scroll( + state, + on_scroll, + bounds, + content_bounds, + shell, + ); + } + + return event::Status::Captured; + } + _ => {} } - _ => {} } } @@ -576,9 +724,6 @@ pub fn mouse_interaction( state: &State, layout: Layout<'_>, cursor_position: Point, - scrollbar_width: u16, - scrollbar_margin: u16, - scroller_width: u16, content_interaction: impl FnOnce( Layout<'_>, Point, @@ -586,39 +731,38 @@ pub fn mouse_interaction( ) -> mouse::Interaction, ) -> mouse::Interaction { let bounds = layout.bounds(); + let mouse_over_scrollable = bounds.contains(cursor_position); + let content_layout = layout.children().next().unwrap(); let content_bounds = content_layout.bounds(); - let scrollbar = scrollbar( - state, - scrollbar_width, - scrollbar_margin, - scroller_width, - bounds, - content_bounds, - ); - let is_mouse_over = bounds.contains(cursor_position); - let is_mouse_over_scrollbar = scrollbar - .as_ref() - .map(|scrollbar| scrollbar.is_mouse_over(cursor_position)) - .unwrap_or(false); + let (mouse_over_x_scrollbar, mouse_over_y_scrollbar) = + state.mouse_over_scrollbars(cursor_position); - if is_mouse_over_scrollbar || state.is_scroller_grabbed() { + if (mouse_over_x_scrollbar || mouse_over_y_scrollbar) + || state.scrollers_grabbed() + { mouse::Interaction::Idle } else { - let offset = state.offset(bounds, content_bounds); + let (offset_x, offset_y) = state.offset(bounds, content_bounds); - let cursor_position = if is_mouse_over && !is_mouse_over_scrollbar { - Point::new(cursor_position.x, cursor_position.y + offset as f32) + let cursor_position = if mouse_over_scrollable + && !(mouse_over_y_scrollbar || mouse_over_x_scrollbar) + { + Point::new( + cursor_position.x + offset_x as f32, + cursor_position.y + offset_y as f32, + ) } else { - Point::new(cursor_position.x, -1.0) + Point::new(-1.0, -1.0) }; content_interaction( content_layout, cursor_position, &Rectangle { - y: bounds.y + offset as f32, + y: bounds.y + offset_y as f32, + x: bounds.x + offset_x as f32, ..bounds }, ) @@ -632,9 +776,6 @@ pub fn draw( theme: &Renderer::Theme, layout: Layout<'_>, cursor_position: Point, - scrollbar_width: u16, - scrollbar_margin: u16, - scroller_width: u16, style: &::Style, draw_content: impl FnOnce(&mut Renderer, Layout<'_>, Point, &Rectangle), ) where @@ -644,39 +785,38 @@ pub fn draw( let bounds = layout.bounds(); let content_layout = layout.children().next().unwrap(); let content_bounds = content_layout.bounds(); - let offset = state.offset(bounds, content_bounds); - let scrollbar = scrollbar( - state, - scrollbar_width, - scrollbar_margin, - scroller_width, - bounds, - content_bounds, - ); - let is_mouse_over = bounds.contains(cursor_position); - let is_mouse_over_scrollbar = scrollbar - .as_ref() - .map(|scrollbar| scrollbar.is_mouse_over(cursor_position)) - .unwrap_or(false); + let (offset_x, offset_y) = state.offset(bounds, content_bounds); - let cursor_position = if is_mouse_over && !is_mouse_over_scrollbar { - Point::new(cursor_position.x, cursor_position.y + offset as f32) + let mouse_over_scrollable = bounds.contains(cursor_position); + + let (mouse_over_x_scrollbar, mouse_over_y_scrollbar) = + state.mouse_over_scrollbars(cursor_position); + + let cursor_position = if mouse_over_scrollable + && !(mouse_over_x_scrollbar || mouse_over_y_scrollbar) + { + Point::new( + cursor_position.x + offset_x as f32, + cursor_position.y + offset_y as f32, + ) } else { - Point::new(cursor_position.x, -1.0) + Point::new(-1.0, -1.0) }; - if let Some(scrollbar) = scrollbar { + // Draw inner content + if state.scrollbar_y.is_some() || state.scrollbar_x.is_some() { renderer.with_layer(bounds, |renderer| { renderer.with_translation( - Vector::new(0.0, -(offset as f32)), + Vector::new(-(offset_x as f32), -(offset_y as f32)), |renderer| { draw_content( renderer, content_layout, cursor_position, &Rectangle { - y: bounds.y + offset as f32, + y: bounds.y + offset_y as f32, + x: bounds.x + offset_x as f32, ..bounds }, ); @@ -684,16 +824,65 @@ pub fn draw( ); }); - let style = if state.is_scroller_grabbed() { - theme.dragging(style) - } else if is_mouse_over_scrollbar { - theme.hovered(style) - } else { - theme.active(style) - }; + let draw_scrollbar = + |renderer: &mut Renderer, scrollbar: Option<&Scrollbar>| { + if let Some(scrollbar) = scrollbar { + let style = match scrollbar.direction { + Direction::Vertical => { + if scrollbar.scroller.grabbed_at.is_some() { + theme.dragging(style) + } else if mouse_over_y_scrollbar { + theme.hovered(style) + } else { + theme.active(style) + } + } + Direction::Horizontal => { + if scrollbar.scroller.grabbed_at.is_some() { + theme.dragging_horizontal(style) + } else if mouse_over_x_scrollbar { + theme.hovered_horizontal(style) + } else { + theme.active_horizontal(style) + } + } + }; - let is_scrollbar_visible = - style.background.is_some() || style.border_width > 0.0; + //track + if style.background.is_some() + || (style.border_color != Color::TRANSPARENT + && style.border_width > 0.0) + { + renderer.fill_quad( + renderer::Quad { + bounds: scrollbar.bounds, + border_radius: style.border_radius, + border_width: style.border_width, + border_color: style.border_color, + }, + style.background.unwrap_or(Background::Color( + Color::TRANSPARENT, + )), + ); + } + + //thumb + if style.scroller.color != Color::TRANSPARENT + || (style.scroller.border_color != Color::TRANSPARENT + && style.scroller.border_width > 0.0) + { + renderer.fill_quad( + renderer::Quad { + bounds: scrollbar.scroller.bounds, + border_radius: style.scroller.border_radius, + border_width: style.scroller.border_width, + border_color: style.scroller.border_color, + }, + style.scroller.color, + ); + } + } + }; renderer.with_layer( Rectangle { @@ -702,33 +891,8 @@ pub fn draw( ..bounds }, |renderer| { - if is_scrollbar_visible { - renderer.fill_quad( - renderer::Quad { - bounds: scrollbar.bounds, - border_radius: style.border_radius.into(), - border_width: style.border_width, - border_color: style.border_color, - }, - style - .background - .unwrap_or(Background::Color(Color::TRANSPARENT)), - ); - } - - if (is_mouse_over || state.is_scroller_grabbed()) - && is_scrollbar_visible - { - renderer.fill_quad( - renderer::Quad { - bounds: scrollbar.scroller.bounds, - border_radius: style.scroller.border_radius.into(), - border_width: style.scroller.border_width, - border_color: style.scroller.border_color, - }, - style.scroller.color, - ); - } + draw_scrollbar(renderer, state.scrollbar_y.as_ref()); + draw_scrollbar(renderer, state.scrollbar_x.as_ref()); }, ); } else { @@ -737,161 +901,376 @@ pub fn draw( content_layout, cursor_position, &Rectangle { - y: bounds.y + offset as f32, + x: bounds.x + offset_x as f32, + y: bounds.y + offset_y as f32, ..bounds }, ); } } -fn scrollbar( - state: &State, - scrollbar_width: u16, - scrollbar_margin: u16, - scroller_width: u16, - bounds: Rectangle, - content_bounds: Rectangle, -) -> Option { - let offset = state.offset(bounds, content_bounds); - - if content_bounds.height > bounds.height { - let outer_width = - scrollbar_width.max(scroller_width) + 2 * scrollbar_margin; - - let outer_bounds = Rectangle { - x: bounds.x + bounds.width - outer_width as f32, - y: bounds.y, - width: outer_width as f32, - height: bounds.height, - }; - - let scrollbar_bounds = Rectangle { - x: bounds.x + bounds.width - - f32::from(outer_width / 2 + scrollbar_width / 2), - y: bounds.y, - width: scrollbar_width as f32, - height: bounds.height, - }; - - let ratio = bounds.height / content_bounds.height; - let scroller_height = bounds.height * ratio; - let y_offset = offset as f32 * ratio; - - let scroller_bounds = Rectangle { - x: bounds.x + bounds.width - - f32::from(outer_width / 2 + scroller_width / 2), - y: scrollbar_bounds.y + y_offset, - width: scroller_width as f32, - height: scroller_height, - }; - - Some(Scrollbar { - outer_bounds, - bounds: scrollbar_bounds, - scroller: Scroller { - bounds: scroller_bounds, - }, - }) - } else { - None - } -} - fn notify_on_scroll( state: &State, - on_scroll: &Option Message + '_>>, + on_scroll: &Option) -> Message + '_>>, bounds: Rectangle, content_bounds: Rectangle, shell: &mut Shell<'_, Message>, ) { - if content_bounds.height <= bounds.height { - return; - } - if let Some(on_scroll) = on_scroll { - shell.publish(on_scroll( - state.offset.absolute(bounds, content_bounds) - / (content_bounds.height - bounds.height), - )); + let delta_x = if content_bounds.width <= bounds.width { + 0.0 + } else { + state.scrollbar_x.map_or(0.0, |scrollbar| { + scrollbar.offset.absolute( + Direction::Horizontal, + bounds, + content_bounds, + ) / (content_bounds.width - bounds.width) + }) + }; + + let delta_y = if content_bounds.height <= bounds.height { + 0.0 + } else { + state.scrollbar_y.map_or(0.0, |scrollbar| { + scrollbar.offset.absolute( + Direction::Vertical, + bounds, + content_bounds, + ) / (content_bounds.height - bounds.height) + }) + }; + + shell.publish(on_scroll(Vector::new(delta_x, delta_y))) } } +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +/// The direction of the [`Scrollable`]. +pub enum Direction { + /// X or horizontal + Horizontal, + /// Y or vertical + Vertical, +} + /// The local state of a [`Scrollable`]. -#[derive(Debug, Clone, Copy)] +#[derive(Debug, Clone, Copy, Default)] pub struct State { - scroller_grabbed_at: Option, - scroll_box_touched_at: Option, - offset: Offset, -} - -impl Default for State { - fn default() -> Self { - Self { - scroller_grabbed_at: None, - scroll_box_touched_at: None, - offset: Offset::Absolute(0.0), - } - } + scroll_area_touched_at: Option, + scrollbar_x: Option, + scrollbar_y: Option, } impl operation::Scrollable for State { - fn snap_to(&mut self, percentage: f32) { - State::snap_to(self, percentage); - } -} - -/// The local state of a [`Scrollable`]. -#[derive(Debug, Clone, Copy)] -enum Offset { - Absolute(f32), - Relative(f32), -} - -impl Offset { - fn absolute(self, bounds: Rectangle, content_bounds: Rectangle) -> f32 { - match self { - Self::Absolute(absolute) => { - let hidden_content = - (content_bounds.height - bounds.height).max(0.0); - - absolute.min(hidden_content) - } - Self::Relative(percentage) => { - ((content_bounds.height - bounds.height) * percentage).max(0.0) - } + fn snap_to(&mut self, percentage: Vector) { + if let Some(scrollbar) = &mut self.scrollbar_y { + scrollbar.snap_to(percentage.y) + } + if let Some(scrollbar) = &mut self.scrollbar_x { + scrollbar.snap_to(percentage.x) } } } impl State { - /// Creates a new [`State`] with the scrollbar located at the top. + /// Creates a new [`State`]. pub fn new() -> Self { State::default() } + /// Create y or x scrollbars if content is overflowing the [`Scrollable`] bounds. + pub fn create_scrollbars_maybe( + &mut self, + horizontal: Option<&Horizontal>, + scrollbar_width: u16, + scrollbar_margin: u16, + scroller_width: u16, + bounds: Rectangle, + content_bounds: Rectangle, + ) { + let show_scrollbar_x = horizontal.and_then(|h| { + if content_bounds.width > bounds.width { + Some(h) + } else { + None + } + }); + + self.scrollbar_y = if content_bounds.height > bounds.height { + let (offset_y, scroller_grabbed) = + if let Some(scrollbar) = &self.scrollbar_y { + ( + scrollbar.offset.absolute( + scrollbar.direction, + bounds, + content_bounds, + ), + scrollbar.scroller.grabbed_at, + ) + } else { + (0.0, None) + }; + + // Need to adjust the height of the vertical scrollbar if the horizontal scrollbar + // is present + let scrollbar_x_height = show_scrollbar_x.map_or(0.0, |h| { + (h.scrollbar_height.max(h.scroller_height) + h.scrollbar_margin) + as f32 + }); + + let total_scrollbar_width = + scrollbar_width.max(scroller_width) + 2 * scrollbar_margin; + + // Total bounds of the scrollbar + margin + scroller width + let total_scrollbar_bounds = Rectangle { + x: bounds.x + bounds.width - total_scrollbar_width as f32, + y: bounds.y, + width: total_scrollbar_width as f32, + height: (bounds.height - scrollbar_x_height).max(0.0), + }; + + // Bounds of just the scrollbar + let scrollbar_bounds = Rectangle { + x: bounds.x + bounds.width + - f32::from( + total_scrollbar_width / 2 + scrollbar_width / 2, + ), + y: bounds.y, + width: scrollbar_width as f32, + height: (bounds.height - scrollbar_x_height).max(0.0), + }; + + let ratio = bounds.height / content_bounds.height; + // min height for easier grabbing with super tall content + let scroller_height = (bounds.height * ratio).max(2.0); + let scroller_offset = offset_y as f32 * ratio; + + let scroller_bounds = Rectangle { + x: bounds.x + bounds.width + - f32::from(total_scrollbar_width / 2 + scroller_width / 2), + y: (scrollbar_bounds.y + scroller_offset - scrollbar_x_height) + .max(0.0), + width: scroller_width as f32, + height: scroller_height, + }; + + Some(Scrollbar { + total_bounds: total_scrollbar_bounds, + bounds: scrollbar_bounds, + direction: Direction::Vertical, + scroller: Scroller { + bounds: scroller_bounds, + grabbed_at: scroller_grabbed, + }, + offset: Offset::Absolute(offset_y), + }) + } else { + None + }; + + self.scrollbar_x = if let Some(horizontal) = show_scrollbar_x { + let (offset_x, scroller_grabbed) = + if let Some(scrollbar) = &self.scrollbar_x { + ( + scrollbar.offset.absolute( + scrollbar.direction, + bounds, + content_bounds, + ), + scrollbar.scroller.grabbed_at, + ) + } else { + (0.0, None) + }; + + // Need to adjust the width of the horizontal scrollbar if the vertical scrollbar + // is present + let scrollbar_y_width = self.scrollbar_y.map_or(0.0, |_| { + (scrollbar_width.max(scroller_width) + scrollbar_margin) as f32 + }); + + let total_scrollbar_height = + horizontal.scrollbar_height.max(horizontal.scroller_height) + + 2 * horizontal.scrollbar_margin; + + // Total bounds of the scrollbar + margin + scroller width + let total_scrollbar_bounds = Rectangle { + x: bounds.x, + y: bounds.y + bounds.height - total_scrollbar_height as f32, + width: (bounds.width - scrollbar_y_width).max(0.0), + height: total_scrollbar_height as f32, + }; + + // Bounds of just the scrollbar + let scrollbar_bounds = Rectangle { + x: bounds.x, + y: bounds.y + bounds.height + - f32::from( + total_scrollbar_height / 2 + + horizontal.scrollbar_height / 2, + ), + width: (bounds.width - scrollbar_y_width).max(0.0), + height: horizontal.scrollbar_height as f32, + }; + + let ratio = bounds.width / content_bounds.width; + // min width for easier grabbing with extra wide content + let scroller_width = (bounds.width * ratio).max(2.0); + let scroller_offset = offset_x as f32 * ratio; + + let scroller_bounds = Rectangle { + x: (scrollbar_bounds.x + scroller_offset - scrollbar_y_width) + .max(0.0), + y: bounds.y + bounds.height + - f32::from( + total_scrollbar_height / 2 + + horizontal.scroller_height / 2, + ), + width: scroller_width, + height: horizontal.scroller_height as f32, + }; + + Some(Scrollbar { + total_bounds: total_scrollbar_bounds, + bounds: scrollbar_bounds, + direction: Direction::Horizontal, + scroller: Scroller { + bounds: scroller_bounds, + grabbed_at: scroller_grabbed, + }, + offset: Offset::Absolute(offset_x), + }) + } else { + None + }; + } + + /// Returns whether the mouse is within the bounds of each scrollbar. + fn mouse_over_scrollbars(&self, cursor_position: Point) -> (bool, bool) { + ( + self.scrollbar_x.map_or(false, |scrollbar| { + scrollbar.is_mouse_over(cursor_position) + }), + self.scrollbar_y.map_or(false, |scrollbar| { + scrollbar.is_mouse_over(cursor_position) + }), + ) + } + + /// Returns whether the scroller for either scrollbar is currently grabbed. + fn scrollers_grabbed(&self) -> bool { + self.scrollbar_x + .map_or(false, |scrollbar| scrollbar.scroller.grabbed_at.is_some()) + || self.scrollbar_y.map_or(false, |scrollbar| { + scrollbar.scroller.grabbed_at.is_some() + }) + } + /// Apply a scrolling offset to the current [`State`], given the bounds of /// the [`Scrollable`] and its contents. pub fn scroll( &mut self, - delta_y: f32, + delta: Vector, bounds: Rectangle, content_bounds: Rectangle, ) { - if bounds.height >= content_bounds.height { - return; + if delta.x != 0.0 && bounds.width < content_bounds.width { + if let Some(scrollbar) = &mut self.scrollbar_x { + scrollbar.offset = Offset::Absolute( + (scrollbar.offset.absolute( + Direction::Horizontal, + bounds, + content_bounds, + ) - delta.x) + .max(0.0) + .min((content_bounds.width - bounds.width) as f32), + ); + } } - self.offset = Offset::Absolute( - (self.offset.absolute(bounds, content_bounds) - delta_y) - .clamp(0.0, content_bounds.height - bounds.height), - ); + if delta.y != 0.0 && bounds.height < content_bounds.height { + if let Some(scrollbar) = &mut self.scrollbar_y { + scrollbar.offset = Offset::Absolute( + (scrollbar.offset.absolute( + Direction::Vertical, + bounds, + content_bounds, + ) - delta.y) + .max(0.0) + .min((content_bounds.height - bounds.height) as f32), + ) + } + } } - /// Scrolls the [`Scrollable`] to a relative amount. + /// Returns the current x & y scrolling offset of the [`State`], given the bounds + /// of the [`Scrollable`] and its contents. + pub fn offset( + &self, + bounds: Rectangle, + content_bounds: Rectangle, + ) -> (f32, f32) { + ( + self.scrollbar_x.map_or(0.0, |scrollbar| { + scrollbar.offset.absolute( + Direction::Horizontal, + bounds, + content_bounds, + ) + }), + self.scrollbar_y.map_or(0.0, |scrollbar| { + scrollbar.offset.absolute( + Direction::Vertical, + bounds, + content_bounds, + ) + }), + ) + } +} + +/// The scrollbar of a [`Scrollable`]. +#[derive(Debug, Copy, Clone)] +struct Scrollbar { + /// The total bounds of the [`Scrollbar`], including the scrollbar, the scroller, + /// and the scrollbar margin. + total_bounds: Rectangle, + + /// The bounds of just the [`Scrollbar`]. + bounds: Rectangle, + + /// The direction of the [`Scrollbar`]. + direction: Direction, + + /// The state of this scrollbar's [`Scroller`]. + scroller: Scroller, + + /// The current offset of the [`Scrollbar`]. + offset: Offset, +} + +impl Scrollbar { + /// Snaps the scroll position to a relative amount. /// - /// `0` represents scrollbar at the top, while `1` represents scrollbar at - /// the bottom. - pub fn scroll_to( + /// `0` represents scrollbar at the beginning, while `1` represents scrollbar at + /// the end. + pub fn snap_to(&mut self, percentage: f32) { + self.offset = Offset::Relative(percentage.max(0.0).min(1.0)); + } + + /// Unsnaps the current scroll position if snapped, given the bounds of the [`Scrollable`] + /// and its contents. + pub fn unsnap(&mut self, bounds: Rectangle, content_bounds: Rectangle) { + self.offset = Offset::Absolute(self.offset.absolute( + self.direction, + bounds, + content_bounds, + )); + } + + /// Scrolls the [`Scrollbar`] to a certain percentage. + fn scroll_to( &mut self, percentage: f32, bounds: Rectangle, @@ -901,62 +1280,24 @@ impl State { self.unsnap(bounds, content_bounds); } - /// Snaps the scroll position to a relative amount. - /// - /// `0` represents scrollbar at the top, while `1` represents scrollbar at - /// the bottom. - pub fn snap_to(&mut self, percentage: f32) { - self.offset = Offset::Relative(percentage.clamp(0.0, 1.0)); - } - - /// Unsnaps the current scroll position, if snapped, given the bounds of the - /// [`Scrollable`] and its contents. - pub fn unsnap(&mut self, bounds: Rectangle, content_bounds: Rectangle) { - self.offset = - Offset::Absolute(self.offset.absolute(bounds, content_bounds)); - } - - /// Returns the current scrolling offset of the [`State`], given the bounds - /// of the [`Scrollable`] and its contents. - pub fn offset(&self, bounds: Rectangle, content_bounds: Rectangle) -> u32 { - self.offset.absolute(bounds, content_bounds) as u32 - } - - /// Returns whether the scroller is currently grabbed or not. - pub fn is_scroller_grabbed(&self) -> bool { - self.scroller_grabbed_at.is_some() - } - - /// Returns whether the scroll box is currently touched or not. - pub fn is_scroll_box_touched(&self) -> bool { - self.scroll_box_touched_at.is_some() - } -} - -/// The scrollbar of a [`Scrollable`]. -#[derive(Debug)] -struct Scrollbar { - /// The outer bounds of the scrollable, including the [`Scrollbar`] and - /// [`Scroller`]. - outer_bounds: Rectangle, - - /// The bounds of the [`Scrollbar`]. - bounds: Rectangle, - - /// The bounds of the [`Scroller`]. - scroller: Scroller, -} - -impl Scrollbar { + /// Returns whether the mouse is over the scrollbar or not. fn is_mouse_over(&self, cursor_position: Point) -> bool { - self.outer_bounds.contains(cursor_position) + self.total_bounds.contains(cursor_position) } fn grab_scroller(&self, cursor_position: Point) -> Option { - if self.outer_bounds.contains(cursor_position) { + if self.total_bounds.contains(cursor_position) { Some(if self.scroller.bounds.contains(cursor_position) { - (cursor_position.y - self.scroller.bounds.y) - / self.scroller.bounds.height + match self.direction { + Direction::Vertical => { + (cursor_position.y - self.scroller.bounds.y) + / self.scroller.bounds.height + } + Direction::Horizontal => { + (cursor_position.x - self.scroller.bounds.x) + / self.scroller.bounds.width + } + } } else { 0.5 }) @@ -970,10 +1311,56 @@ impl Scrollbar { grabbed_at: f32, cursor_position: Point, ) -> f32 { - (cursor_position.y - - self.bounds.y - - self.scroller.bounds.height * grabbed_at) - / (self.bounds.height - self.scroller.bounds.height) + match self.direction { + Direction::Vertical => { + (cursor_position.y + - self.bounds.y + - self.scroller.bounds.height * grabbed_at) + / (self.bounds.height - self.scroller.bounds.height) + } + Direction::Horizontal => { + (cursor_position.x + - self.bounds.x + - self.scroller.bounds.width * grabbed_at) + / (self.bounds.width - self.scroller.bounds.width) + } + } + } +} + +/// The directional offset of a [`Scrollable`]. +#[derive(Debug, Clone, Copy)] +enum Offset { + Absolute(f32), + Relative(f32), +} + +impl Offset { + fn absolute( + self, + direction: Direction, + bounds: Rectangle, + content_bounds: Rectangle, + ) -> f32 { + match self { + Self::Absolute(absolute) => match direction { + Direction::Horizontal => { + absolute.min((content_bounds.width - bounds.width).max(0.0)) + } + Direction::Vertical => absolute + .min((content_bounds.height - bounds.height).max(0.0)), + }, + Self::Relative(percentage) => match direction { + Direction::Horizontal => { + ((content_bounds.width - bounds.width) * percentage) + .max(0.0) + } + Direction::Vertical => { + ((content_bounds.height - bounds.height) * percentage) + .max(0.0) + } + }, + } } } @@ -982,4 +1369,7 @@ impl Scrollbar { struct Scroller { /// The bounds of the [`Scroller`]. bounds: Rectangle, + + /// Whether or not the scroller is currently grabbed. + grabbed_at: Option, } diff --git a/src/widget.rs b/src/widget.rs index 76cea7be..ee30548c 100644 --- a/src/widget.rs +++ b/src/widget.rs @@ -99,7 +99,8 @@ pub mod radio { pub mod scrollable { //! Navigate an endless amount of content with a scrollbar. pub use iced_native::widget::scrollable::{ - snap_to, style::Scrollbar, style::Scroller, Id, StyleSheet, + snap_to, style::Scrollbar, style::Scroller, Direction, Horizontal, Id, + StyleSheet, }; /// A widget that can vertically display an infinite amount of content diff --git a/style/src/scrollable.rs b/style/src/scrollable.rs index c6d7d537..64ed8462 100644 --- a/style/src/scrollable.rs +++ b/style/src/scrollable.rs @@ -37,11 +37,26 @@ pub trait StyleSheet { /// Produces the style of an active scrollbar. fn active(&self, style: &Self::Style) -> Scrollbar; - /// Produces the style of an hovered scrollbar. + /// Produces the style of a hovered scrollbar. fn hovered(&self, style: &Self::Style) -> Scrollbar; /// Produces the style of a scrollbar that is being dragged. fn dragging(&self, style: &Self::Style) -> Scrollbar { self.hovered(style) } + + /// Produces the style of an active horizontal scrollbar. + fn active_horizontal(&self, style: &Self::Style) -> Scrollbar { + self.active(style) + } + + /// Produces the style of a hovered horizontal scrollbar. + fn hovered_horizontal(&self, style: &Self::Style) -> Scrollbar { + self.hovered(style) + } + + /// Produces the style of a horizontal scrollbar that is being dragged. + fn dragging_horizontal(&self, style: &Self::Style) -> Scrollbar { + self.hovered_horizontal(style) + } } diff --git a/style/src/theme.rs b/style/src/theme.rs index 271d9a29..cef8f2be 100644 --- a/style/src/theme.rs +++ b/style/src/theme.rs @@ -925,6 +925,30 @@ impl scrollable::StyleSheet for Theme { Scrollable::Custom(custom) => custom.dragging(self), } } + + fn active_horizontal(&self, style: &Self::Style) -> scrollable::Scrollbar { + match style { + Scrollable::Default => self.active(style), + Scrollable::Custom(custom) => custom.active_horizontal(self), + } + } + + fn hovered_horizontal(&self, style: &Self::Style) -> scrollable::Scrollbar { + match style { + Scrollable::Default => self.hovered(style), + Scrollable::Custom(custom) => custom.hovered_horizontal(self), + } + } + + fn dragging_horizontal( + &self, + style: &Self::Style, + ) -> scrollable::Scrollbar { + match style { + Scrollable::Default => self.hovered_horizontal(style), + Scrollable::Custom(custom) => custom.dragging_horizontal(self), + } + } } /// The style of text. From 9f85e0c721927f1e3bd195a998ec7a80ec0e7455 Mon Sep 17 00:00:00 2001 From: bungoboingo Date: Sat, 24 Dec 2022 21:27:44 -0800 Subject: [PATCH 2/7] Reworked Scrollable to account for lack of widget order guarantees. Fixed thumb "snapping" bug on scrollable when cursor is out of bounds. --- core/src/point.rs | 8 + core/src/rectangle.rs | 6 + examples/scrollable/Cargo.toml | 2 +- examples/scrollable/src/main.rs | 134 +-- examples/websocket/src/main.rs | 4 +- native/src/widget/operation/scrollable.rs | 10 +- native/src/widget/scrollable.rs | 1145 ++++++++++----------- src/widget.rs | 3 +- style/src/theme.rs | 9 + 9 files changed, 624 insertions(+), 697 deletions(-) diff --git a/core/src/point.rs b/core/src/point.rs index 9bf7726b..d351befd 100644 --- a/core/src/point.rs +++ b/core/src/point.rs @@ -75,3 +75,11 @@ impl std::ops::Sub for Point { Vector::new(self.x - point.x, self.y - point.y) } } + +impl std::ops::Add for Point { + type Output = Point; + + fn add(self, point: Point) -> Point { + Point::new(self.x + point.x, self.y + point.y) + } +} diff --git a/core/src/rectangle.rs b/core/src/rectangle.rs index 4fe91519..c6e6fce4 100644 --- a/core/src/rectangle.rs +++ b/core/src/rectangle.rs @@ -111,6 +111,12 @@ impl Rectangle { } } +impl std::cmp::PartialOrd for Rectangle { + fn partial_cmp(&self, other: &Self) -> Option { + (self.width * self.height).partial_cmp(&(other.width * other.height)) + } +} + impl std::ops::Mul for Rectangle { type Output = Self; diff --git a/examples/scrollable/Cargo.toml b/examples/scrollable/Cargo.toml index 4bef4281..e6411e26 100644 --- a/examples/scrollable/Cargo.toml +++ b/examples/scrollable/Cargo.toml @@ -7,4 +7,4 @@ publish = false [dependencies] iced = { path = "../..", features = ["debug"] } -lazy_static = "1.4" +once_cell = "1.16.0" diff --git a/examples/scrollable/src/main.rs b/examples/scrollable/src/main.rs index 1481afcc..43c863cb 100644 --- a/examples/scrollable/src/main.rs +++ b/examples/scrollable/src/main.rs @@ -1,15 +1,13 @@ -use iced::widget::scrollable::{Scrollbar, Scroller}; +use iced::widget::scrollable::{Properties, Scrollbar, Scroller}; use iced::widget::{ button, column, container, horizontal_space, progress_bar, radio, row, scrollable, slider, text, vertical_space, }; -use iced::{executor, theme, Alignment, Color, Vector}; +use iced::{executor, theme, Alignment, Color, Point}; use iced::{Application, Command, Element, Length, Settings, Theme}; -use lazy_static::lazy_static; +use once_cell::sync::Lazy; -lazy_static! { - static ref SCROLLABLE_ID: scrollable::Id = scrollable::Id::unique(); -} +static SCROLLABLE_ID: Lazy = Lazy::new(scrollable::Id::unique); pub fn main() -> iced::Result { ScrollableDemo::run(Settings::default()) @@ -20,7 +18,7 @@ struct ScrollableDemo { scrollbar_width: u16, scrollbar_margin: u16, scroller_width: u16, - current_scroll_offset: Vector, + current_scroll_offset: Point, } #[derive(Debug, Clone, Eq, PartialEq, Copy)] @@ -36,9 +34,9 @@ enum Message { ScrollbarWidthChanged(u16), ScrollbarMarginChanged(u16), ScrollerWidthChanged(u16), - ScrollToBeginning(scrollable::Direction), - ScrollToEnd(scrollable::Direction), - Scrolled(Vector), + ScrollToBeginning, + ScrollToEnd, + Scrolled(Point), } impl Application for ScrollableDemo { @@ -54,7 +52,7 @@ impl Application for ScrollableDemo { scrollbar_width: 10, scrollbar_margin: 0, scroller_width: 10, - current_scroll_offset: Vector::new(0.0, 0.0), + current_scroll_offset: Point::ORIGIN, }, Command::none(), ) @@ -67,10 +65,13 @@ impl Application for ScrollableDemo { fn update(&mut self, message: Message) -> Command { match message { Message::SwitchDirection(direction) => { - self.current_scroll_offset = Vector::new(0.0, 0.0); + self.current_scroll_offset = Point::ORIGIN; self.scrollable_direction = direction; - Command::none() + scrollable::snap_to( + SCROLLABLE_ID.clone(), + self.current_scroll_offset, + ) } Message::ScrollbarWidthChanged(width) => { self.scrollbar_width = width; @@ -87,40 +88,20 @@ impl Application for ScrollableDemo { Command::none() } - Message::ScrollToBeginning(direction) => { - match direction { - scrollable::Direction::Horizontal => { - self.current_scroll_offset.x = 0.0; - } - scrollable::Direction::Vertical => { - self.current_scroll_offset.y = 0.0; - } - } + Message::ScrollToBeginning => { + self.current_scroll_offset = Point::ORIGIN; scrollable::snap_to( SCROLLABLE_ID.clone(), - Vector::new( - self.current_scroll_offset.x, - self.current_scroll_offset.y, - ), + self.current_scroll_offset, ) } - Message::ScrollToEnd(direction) => { - match direction { - scrollable::Direction::Horizontal => { - self.current_scroll_offset.x = 1.0; - } - scrollable::Direction::Vertical => { - self.current_scroll_offset.y = 1.0; - } - } + Message::ScrollToEnd => { + self.current_scroll_offset = Point::new(1.0, 1.0); scrollable::snap_to( SCROLLABLE_ID.clone(), - Vector::new( - self.current_scroll_offset.x, - self.current_scroll_offset.y, - ), + self.current_scroll_offset, ) } Message::Scrolled(offset) => { @@ -186,33 +167,29 @@ impl Application for ScrollableDemo { .spacing(20) .width(Length::Fill); - let scroll_to_end_button = |direction: scrollable::Direction| { + let scroll_to_end_button = || { button("Scroll to end") .padding(10) - .width(Length::Units(120)) - .on_press(Message::ScrollToEnd(direction)) + .on_press(Message::ScrollToEnd) }; - let scroll_to_beginning_button = |direction: scrollable::Direction| { + let scroll_to_beginning_button = || { button("Scroll to beginning") .padding(10) - .width(Length::Units(120)) - .on_press(Message::ScrollToBeginning(direction)) + .on_press(Message::ScrollToBeginning) }; let scrollable_content: Element = Element::from(match self.scrollable_direction { Direction::Vertical => scrollable( column![ - scroll_to_end_button(scrollable::Direction::Vertical), + scroll_to_end_button(), text("Beginning!"), vertical_space(Length::Units(1200)), text("Middle!"), vertical_space(Length::Units(1200)), text("End!"), - scroll_to_beginning_button( - scrollable::Direction::Vertical - ), + scroll_to_beginning_button(), ] .width(Length::Fill) .align_items(Alignment::Center) @@ -220,22 +197,23 @@ impl Application for ScrollableDemo { .spacing(40), ) .height(Length::Fill) - .scrollbar_width(self.scrollbar_width) - .scrollbar_margin(self.scrollbar_margin) - .scroller_width(self.scroller_width) + .vertical_scroll( + Properties::new() + .width(self.scrollbar_width) + .margin(self.scrollbar_margin) + .scroller_width(self.scroller_width), + ) .id(SCROLLABLE_ID.clone()) .on_scroll(Message::Scrolled), Direction::Horizontal => scrollable( row![ - scroll_to_end_button(scrollable::Direction::Horizontal), + scroll_to_end_button(), text("Beginning!"), horizontal_space(Length::Units(1200)), text("Middle!"), horizontal_space(Length::Units(1200)), text("End!"), - scroll_to_beginning_button( - scrollable::Direction::Horizontal - ), + scroll_to_beginning_button(), ] .height(Length::Units(450)) .align_items(Alignment::Center) @@ -244,14 +222,12 @@ impl Application for ScrollableDemo { ) .height(Length::Fill) .horizontal_scroll( - scrollable::Horizontal::new() - .scrollbar_height(self.scrollbar_width) - .scrollbar_margin(self.scrollbar_margin) - .scroller_height(self.scroller_width), + Properties::new() + .width(self.scrollbar_width) + .margin(self.scrollbar_margin) + .scroller_width(self.scroller_width), ) - .style(theme::Scrollable::Custom(Box::new( - ScrollbarCustomStyle, - ))) + .style(theme::Scrollable::custom(ScrollbarCustomStyle)) .id(SCROLLABLE_ID.clone()) .on_scroll(Message::Scrolled), Direction::Multi => scrollable( @@ -261,45 +237,43 @@ impl Application for ScrollableDemo { text("Let's do some scrolling!"), vertical_space(Length::Units(2400)) ], - scroll_to_end_button(scrollable::Direction::Horizontal), + scroll_to_end_button(), text("Horizontal - Beginning!"), horizontal_space(Length::Units(1200)), //vertical content column![ text("Horizontal - Middle!"), - scroll_to_end_button( - scrollable::Direction::Vertical - ), + scroll_to_end_button(), text("Vertical - Beginning!"), vertical_space(Length::Units(1200)), text("Vertical - Middle!"), vertical_space(Length::Units(1200)), text("Vertical - End!"), - scroll_to_beginning_button( - scrollable::Direction::Vertical - ) + scroll_to_beginning_button(), + vertical_space(Length::Units(40)), ] .align_items(Alignment::Fill) .spacing(40), horizontal_space(Length::Units(1200)), text("Horizontal - End!"), - scroll_to_beginning_button( - scrollable::Direction::Horizontal - ), + scroll_to_beginning_button(), ] .align_items(Alignment::Center) .padding([0, 40, 0, 40]) .spacing(40), ) .height(Length::Fill) - .scrollbar_width(self.scrollbar_width) - .scrollbar_margin(self.scrollbar_margin) - .scroller_width(self.scroller_width) + .vertical_scroll( + Properties::new() + .width(self.scrollbar_width) + .margin(self.scrollbar_margin) + .scroller_width(self.scroller_width), + ) .horizontal_scroll( - scrollable::Horizontal::new() - .scrollbar_height(self.scrollbar_width) - .scrollbar_margin(self.scrollbar_margin) - .scroller_height(self.scroller_width), + Properties::new() + .width(self.scrollbar_width) + .margin(self.scrollbar_margin) + .scroller_width(self.scroller_width), ) .style(theme::Scrollable::Custom(Box::new( ScrollbarCustomStyle, diff --git a/examples/websocket/src/main.rs b/examples/websocket/src/main.rs index b10ef17e..d1e45571 100644 --- a/examples/websocket/src/main.rs +++ b/examples/websocket/src/main.rs @@ -4,7 +4,7 @@ use iced::alignment::{self, Alignment}; use iced::widget::{ button, column, container, row, scrollable, text, text_input, Column, }; -use iced::{executor, Vector}; +use iced::{executor, Point}; use iced::{ Application, Color, Command, Element, Length, Settings, Subscription, Theme, }; @@ -83,7 +83,7 @@ impl Application for WebSocket { scrollable::snap_to( MESSAGE_LOG.clone(), - Vector::new(0.0, 1.0), + Point::new(0.0, 1.0), ) } }, diff --git a/native/src/widget/operation/scrollable.rs b/native/src/widget/operation/scrollable.rs index 1e8b7543..6981b1f4 100644 --- a/native/src/widget/operation/scrollable.rs +++ b/native/src/widget/operation/scrollable.rs @@ -1,19 +1,19 @@ //! Operate on widgets that can be scrolled. use crate::widget::{Id, Operation}; -use iced_core::Vector; +use iced_core::Point; /// The internal state of a widget that can be scrolled. pub trait Scrollable { - /// Snaps the scroll of the widget to the given `percentage`. - fn snap_to(&mut self, percentage: Vector); + /// Snaps the scroll of the widget to the given `percentage` along the horizontal & vertical axis. + fn snap_to(&mut self, percentage: Point); } /// Produces an [`Operation`] that snaps the widget with the given [`Id`] to /// the provided `percentage`. -pub fn snap_to(target: Id, percentage: Vector) -> impl Operation { +pub fn snap_to(target: Id, percentage: Point) -> impl Operation { struct SnapTo { target: Id, - percentage: Vector, + percentage: Point, } impl Operation for SnapTo { diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs index ec081343..39f970d7 100644 --- a/native/src/widget/scrollable.rs +++ b/native/src/widget/scrollable.rs @@ -32,12 +32,10 @@ where { id: Option, height: Length, - scrollbar_width: u16, - scrollbar_margin: u16, - scroller_width: u16, - scroll_horizontal: Option, + vertical: Properties, + horizontal: Option, content: Element<'a, Message, Renderer>, - on_scroll: Option) -> Message + 'a>>, + on_scroll: Option Message + 'a>>, style: ::Style, } @@ -51,10 +49,8 @@ where Scrollable { id: None, height: Length::Shrink, - scrollbar_width: 10, - scrollbar_margin: 0, - scroller_width: 10, - scroll_horizontal: None, + vertical: Properties::default(), + horizontal: None, content: content.into(), on_scroll: None, style: Default::default(), @@ -73,30 +69,15 @@ where self } - /// Sets the scrollbar width of the [`Scrollable`] . - /// Silently enforces a minimum width of 1. - pub fn scrollbar_width(mut self, scrollbar_width: u16) -> Self { - self.scrollbar_width = scrollbar_width.max(1); + /// Configures the vertical scrollbar of the [`Scrollable`] . + pub fn vertical_scroll(mut self, properties: Properties) -> Self { + self.vertical = properties; self } - /// Sets the scrollbar margin of the [`Scrollable`] . - pub fn scrollbar_margin(mut self, scrollbar_margin: u16) -> Self { - self.scrollbar_margin = scrollbar_margin; - self - } - - /// Sets the scroller width of the [`Scrollable`] . - /// - /// It silently enforces a minimum width of 1. - pub fn scroller_width(mut self, scroller_width: u16) -> Self { - self.scroller_width = scroller_width.max(1); - self - } - - /// Allow scrolling in a horizontal direction within the [`Scrollable`] . - pub fn horizontal_scroll(mut self, horizontal: Horizontal) -> Self { - self.scroll_horizontal = Some(horizontal); + /// Configures the horizontal scrollbar of the [`Scrollable`] . + pub fn horizontal_scroll(mut self, properties: Properties) -> Self { + self.horizontal = Some(properties); self } @@ -104,10 +85,7 @@ where /// /// The function takes the new relative x & y offset of the [`Scrollable`] /// (e.g. `0` means beginning, while `1` means end). - pub fn on_scroll( - mut self, - f: impl Fn(Vector) -> Message + 'a, - ) -> Self { + pub fn on_scroll(mut self, f: impl Fn(Point) -> Message + 'a) -> Self { self.on_scroll = Some(Box::new(f)); self } @@ -122,47 +100,47 @@ where } } -/// Properties of a horizontal scrollbar within a [`Scrollable`]. +/// Properties of a scrollbar within a [`Scrollable`]. #[derive(Debug)] -pub struct Horizontal { - scrollbar_height: u16, - scrollbar_margin: u16, - scroller_height: u16, +pub struct Properties { + width: u16, + margin: u16, + scroller_width: u16, } -impl Default for Horizontal { +impl Default for Properties { fn default() -> Self { Self { - scrollbar_height: 10, - scrollbar_margin: 0, - scroller_height: 10, + width: 10, + margin: 0, + scroller_width: 10, } } } -impl Horizontal { - /// Creates a new [`Horizontal`] for use in a [`Scrollable`]. +impl Properties { + /// Creates new [`Properties`] for use in a [`Scrollable`]. pub fn new() -> Self { Self::default() } - /// Sets the [`Horizontal`] scrollbar height of the [`Scrollable`] . - /// Silently enforces a minimum height of 1. - pub fn scrollbar_height(mut self, scrollbar_height: u16) -> Self { - self.scrollbar_height = scrollbar_height.max(1); + /// Sets the scrollbar width of the [`Scrollable`] . + /// Silently enforces a minimum width of 1. + pub fn width(mut self, width: u16) -> Self { + self.width = width.max(1); self } - /// Sets the [`Horizontal`] scrollbar margin of the [`Scrollable`] . - pub fn scrollbar_margin(mut self, scrollbar_margin: u16) -> Self { - self.scrollbar_margin = scrollbar_margin; + /// Sets the scrollbar margin of the [`Scrollable`] . + pub fn margin(mut self, margin: u16) -> Self { + self.margin = margin; self } - /// Sets the scroller height of the [`Horizontal`] scrollbar of the [`Scrollable`] . - /// Silently enforces a minimum height of 1. - pub fn scroller_height(mut self, scroller_height: u16) -> Self { - self.scroller_height = scroller_height.max(1); + /// Sets the scroller width of the [`Scrollable`] . + /// Silently enforces a minimum width of 1. + pub fn scroller_width(mut self, scroller_width: u16) -> Self { + self.scroller_width = scroller_width.max(1); self } } @@ -173,6 +151,22 @@ where Renderer: crate::Renderer, Renderer::Theme: StyleSheet, { + fn tag(&self) -> tree::Tag { + tree::Tag::of::() + } + + fn state(&self) -> tree::State { + tree::State::new(State::new()) + } + + fn children(&self) -> Vec { + vec![Tree::new(&self.content)] + } + + fn diff(&self, tree: &mut Tree) { + tree.diff_children(std::slice::from_ref(&self.content)) + } + fn width(&self) -> Length { self.content.as_widget().width() } @@ -191,64 +185,18 @@ where limits, Widget::::width(self), self.height, - self.scroll_horizontal.is_some(), + self.horizontal.is_some(), |renderer, limits| { self.content.as_widget().layout(renderer, limits) }, ) } - fn draw( - &self, - tree: &Tree, - renderer: &mut Renderer, - theme: &Renderer::Theme, - style: &renderer::Style, - layout: Layout<'_>, - cursor_position: Point, - _viewport: &Rectangle, - ) { - draw( - tree.state.downcast_ref::(), - renderer, - theme, - layout, - cursor_position, - &self.style, - |renderer, layout, cursor_position, viewport| { - self.content.as_widget().draw( - &tree.children[0], - renderer, - theme, - style, - layout, - cursor_position, - viewport, - ) - }, - ) - } - - fn tag(&self) -> tree::Tag { - tree::Tag::of::() - } - - fn state(&self) -> tree::State { - tree::State::new(State::new()) - } - - fn children(&self) -> Vec { - vec![Tree::new(&self.content)] - } - - fn diff(&self, tree: &mut Tree) { - tree.diff_children(std::slice::from_ref(&self.content)) - } - fn operate( &self, tree: &mut Tree, layout: Layout<'_>, + renderer: &Renderer, operation: &mut dyn Operation, ) { let state = tree.state.downcast_mut::(); @@ -259,6 +207,7 @@ where self.content.as_widget().operate( &mut tree.children[0], layout.children().next().unwrap(), + renderer, operation, ); }); @@ -281,10 +230,8 @@ where cursor_position, clipboard, shell, - self.scrollbar_width, - self.scrollbar_margin, - self.scroller_width, - self.scroll_horizontal.as_ref(), + &self.vertical, + self.horizontal.as_ref(), &self.on_scroll, |event, layout, cursor_position, clipboard, shell| { self.content.as_widget_mut().on_event( @@ -300,6 +247,39 @@ where ) } + fn draw( + &self, + tree: &Tree, + renderer: &mut Renderer, + theme: &Renderer::Theme, + style: &renderer::Style, + layout: Layout<'_>, + cursor_position: Point, + _viewport: &Rectangle, + ) { + draw( + tree.state.downcast_ref::(), + renderer, + theme, + layout, + cursor_position, + &self.vertical, + self.horizontal.as_ref(), + &self.style, + |renderer, layout, cursor_position, viewport| { + self.content.as_widget().draw( + &tree.children[0], + renderer, + theme, + style, + layout, + cursor_position, + viewport, + ) + }, + ) + } + fn mouse_interaction( &self, tree: &Tree, @@ -312,6 +292,8 @@ where tree.state.downcast_ref::(), layout, cursor_position, + &self.vertical, + self.horizontal.as_ref(), |layout, cursor_position, viewport| { self.content.as_widget().mouse_interaction( &tree.children[0], @@ -325,13 +307,13 @@ where } fn overlay<'b>( - &'b self, + &'b mut self, tree: &'b mut Tree, layout: Layout<'_>, renderer: &Renderer, ) -> Option> { self.content - .as_widget() + .as_widget_mut() .overlay( &mut tree.children[0], layout.children().next().unwrap(), @@ -341,15 +323,12 @@ where let bounds = layout.bounds(); let content_layout = layout.children().next().unwrap(); let content_bounds = content_layout.bounds(); - let (offset_x, offset_y) = tree + let offset = tree .state .downcast_ref::() .offset(bounds, content_bounds); - overlay.translate(Vector::new( - -(offset_x as f32), - -(offset_y as f32), - )) + overlay.translate(Vector::new(-offset.x, -offset.y)) }) } } @@ -393,10 +372,10 @@ impl From for widget::Id { } /// Produces a [`Command`] that snaps the [`Scrollable`] with the given [`Id`] -/// to the provided `percentage`. +/// to the provided `percentage` along the x & y axis. pub fn snap_to( id: Id, - percentage: Vector, + percentage: Point, ) -> Command { Command::widget(operation::scrollable::snap_to(id.0, percentage)) } @@ -447,11 +426,9 @@ pub fn update( cursor_position: Point, clipboard: &mut dyn Clipboard, shell: &mut Shell<'_, Message>, - scrollbar_width: u16, - scrollbar_margin: u16, - scroller_width: u16, - horizontal: Option<&Horizontal>, - on_scroll: &Option) -> Message + '_>>, + vertical: &Properties, + horizontal: Option<&Properties>, + on_scroll: &Option Message + '_>>, update_content: impl FnOnce( Event, Layout<'_>, @@ -466,28 +443,17 @@ pub fn update( let content = layout.children().next().unwrap(); let content_bounds = content.bounds(); - state.create_scrollbars_maybe( - horizontal, - scrollbar_width, - scrollbar_margin, - scroller_width, - bounds, - content_bounds, - ); + let scrollbars = + Scrollbars::new(state, vertical, horizontal, bounds, content_bounds); - let (mouse_over_x_scrollbar, mouse_over_y_scrollbar) = - state.mouse_over_scrollbars(cursor_position); + let (mouse_over_y_scrollbar, mouse_over_x_scrollbar) = + scrollbars.is_mouse_over(cursor_position); let event_status = { let cursor_position = if mouse_over_scrollable && !(mouse_over_y_scrollbar || mouse_over_x_scrollbar) { - let (offset_x, offset_y) = state.offset(bounds, content_bounds); - - Point::new( - cursor_position.x + offset_x as f32, - cursor_position.y + offset_y as f32, - ) + cursor_position + state.offset(bounds, content_bounds) } else { // TODO: Make `cursor_position` an `Option` so we can encode // cursor availability. @@ -572,22 +538,20 @@ pub fn update( } } - if let Some(scrollbar) = &mut state.scrollbar_y { - if let Some(scroller_grabbed_at) = scrollbar.scroller.grabbed_at { - match event { - Event::Mouse(mouse::Event::ButtonReleased( - mouse::Button::Left, - )) - | Event::Touch(touch::Event::FingerLifted { .. }) - | Event::Touch(touch::Event::FingerLost { .. }) => { - scrollbar.scroller.grabbed_at = None; + if let Some(scroller_grabbed_at) = state.y_scroller_grabbed_at { + 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; - return event::Status::Captured; - } - Event::Mouse(mouse::Event::CursorMoved { .. }) - | Event::Touch(touch::Event::FingerMoved { .. }) => { - scrollbar.scroll_to( - scrollbar.scroll_percentage( + return event::Status::Captured; + } + Event::Mouse(mouse::Event::CursorMoved { .. }) + | Event::Touch(touch::Event::FingerMoved { .. }) => { + if let Some(scrollbar) = scrollbars.y { + state.scroll_y_to( + scrollbar.scroll_percentage_y( scroller_grabbed_at, cursor_position, ), @@ -605,61 +569,56 @@ pub fn update( return event::Status::Captured; } - _ => {} } - } else if scrollbar.is_mouse_over(cursor_position) { - match event { - Event::Mouse(mouse::Event::ButtonPressed( - mouse::Button::Left, - )) - | Event::Touch(touch::Event::FingerPressed { .. }) => { - if let Some(scroller_grabbed_at) = - scrollbar.grab_scroller(cursor_position) - { - scrollbar.scroll_to( - scrollbar.scroll_percentage( - scroller_grabbed_at, - cursor_position, - ), - bounds, - content_bounds, - ); + _ => {} + } + } else if mouse_over_y_scrollbar { + match event { + Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) + | Event::Touch(touch::Event::FingerPressed { .. }) => { + if let (Some(scroller_grabbed_at), Some(scrollbar)) = + (scrollbars.grab_y_scroller(cursor_position), scrollbars.y) + { + state.scroll_y_to( + scrollbar.scroll_percentage_y( + scroller_grabbed_at, + cursor_position, + ), + bounds, + content_bounds, + ); - scrollbar.scroller.grabbed_at = - Some(scroller_grabbed_at); + state.y_scroller_grabbed_at = Some(scroller_grabbed_at); - notify_on_scroll( - state, - on_scroll, - bounds, - content_bounds, - shell, - ); - } - - return event::Status::Captured; + notify_on_scroll( + state, + on_scroll, + bounds, + content_bounds, + shell, + ); } - _ => {} + + return event::Status::Captured; } + _ => {} } } - if let Some(scrollbar) = &mut state.scrollbar_x { - if let Some(scroller_grabbed_at) = scrollbar.scroller.grabbed_at { - match event { - Event::Mouse(mouse::Event::ButtonReleased( - mouse::Button::Left, - )) - | Event::Touch(touch::Event::FingerLifted { .. }) - | Event::Touch(touch::Event::FingerLost { .. }) => { - scrollbar.scroller.grabbed_at = None; + if let Some(scroller_grabbed_at) = state.x_scroller_grabbed_at { + 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; - return event::Status::Captured; - } - Event::Mouse(mouse::Event::CursorMoved { .. }) - | Event::Touch(touch::Event::FingerMoved { .. }) => { - scrollbar.scroll_to( - scrollbar.scroll_percentage( + return event::Status::Captured; + } + Event::Mouse(mouse::Event::CursorMoved { .. }) + | Event::Touch(touch::Event::FingerMoved { .. }) => { + if let Some(scrollbar) = scrollbars.x { + state.scroll_x_to( + scrollbar.scroll_percentage_x( scroller_grabbed_at, cursor_position, ), @@ -674,45 +633,42 @@ pub fn update( content_bounds, shell, ); + } + + return event::Status::Captured; + } + _ => {} + } + } else if mouse_over_x_scrollbar { + match event { + Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) + | Event::Touch(touch::Event::FingerPressed { .. }) => { + if let (Some(scroller_grabbed_at), Some(scrollbar)) = + (scrollbars.grab_x_scroller(cursor_position), scrollbars.x) + { + state.scroll_x_to( + scrollbar.scroll_percentage_x( + scroller_grabbed_at, + cursor_position, + ), + bounds, + content_bounds, + ); + + state.x_scroller_grabbed_at = Some(scroller_grabbed_at); + + notify_on_scroll( + state, + on_scroll, + bounds, + content_bounds, + shell, + ); return event::Status::Captured; } - _ => {} - } - } else if scrollbar.is_mouse_over(cursor_position) { - match event { - Event::Mouse(mouse::Event::ButtonPressed( - mouse::Button::Left, - )) - | Event::Touch(touch::Event::FingerPressed { .. }) => { - if let Some(scroller_grabbed_at) = - scrollbar.grab_scroller(cursor_position) - { - scrollbar.scroll_to( - scrollbar.scroll_percentage( - scroller_grabbed_at, - cursor_position, - ), - bounds, - content_bounds, - ); - - scrollbar.scroller.grabbed_at = - Some(scroller_grabbed_at); - - notify_on_scroll( - state, - on_scroll, - bounds, - content_bounds, - shell, - ); - } - - return event::Status::Captured; - } - _ => {} } + _ => {} } } @@ -724,6 +680,8 @@ pub fn mouse_interaction( state: &State, layout: Layout<'_>, cursor_position: Point, + vertical: &Properties, + horizontal: Option<&Properties>, content_interaction: impl FnOnce( Layout<'_>, Point, @@ -736,23 +694,23 @@ pub fn mouse_interaction( let content_layout = layout.children().next().unwrap(); let content_bounds = content_layout.bounds(); - let (mouse_over_x_scrollbar, mouse_over_y_scrollbar) = - state.mouse_over_scrollbars(cursor_position); + let scrollbars = + Scrollbars::new(state, vertical, horizontal, bounds, content_bounds); + + let (mouse_over_y_scrollbar, mouse_over_x_scrollbar) = + scrollbars.is_mouse_over(cursor_position); if (mouse_over_x_scrollbar || mouse_over_y_scrollbar) || state.scrollers_grabbed() { mouse::Interaction::Idle } else { - let (offset_x, offset_y) = state.offset(bounds, content_bounds); + let offset = state.offset(bounds, content_bounds); let cursor_position = if mouse_over_scrollable && !(mouse_over_y_scrollbar || mouse_over_x_scrollbar) { - Point::new( - cursor_position.x + offset_x as f32, - cursor_position.y + offset_y as f32, - ) + cursor_position + offset } else { Point::new(-1.0, -1.0) }; @@ -761,8 +719,8 @@ pub fn mouse_interaction( content_layout, cursor_position, &Rectangle { - y: bounds.y + offset_y as f32, - x: bounds.x + offset_x as f32, + y: bounds.y + offset.y, + x: bounds.x + offset.x, ..bounds }, ) @@ -776,6 +734,8 @@ pub fn draw( theme: &Renderer::Theme, layout: Layout<'_>, cursor_position: Point, + vertical: &Properties, + horizontal: Option<&Properties>, style: &::Style, draw_content: impl FnOnce(&mut Renderer, Layout<'_>, Point, &Rectangle), ) where @@ -786,37 +746,36 @@ pub fn draw( let content_layout = layout.children().next().unwrap(); let content_bounds = content_layout.bounds(); - let (offset_x, offset_y) = state.offset(bounds, content_bounds); + let scrollbars = + Scrollbars::new(state, vertical, horizontal, bounds, content_bounds); let mouse_over_scrollable = bounds.contains(cursor_position); + let (mouse_over_y_scrollbar, mouse_over_x_scrollbar) = + scrollbars.is_mouse_over(cursor_position); - let (mouse_over_x_scrollbar, mouse_over_y_scrollbar) = - state.mouse_over_scrollbars(cursor_position); + let offset = state.offset(bounds, content_bounds); let cursor_position = if mouse_over_scrollable && !(mouse_over_x_scrollbar || mouse_over_y_scrollbar) { - Point::new( - cursor_position.x + offset_x as f32, - cursor_position.y + offset_y as f32, - ) + cursor_position + offset } else { Point::new(-1.0, -1.0) }; // Draw inner content - if state.scrollbar_y.is_some() || state.scrollbar_x.is_some() { + if scrollbars.active() { renderer.with_layer(bounds, |renderer| { renderer.with_translation( - Vector::new(-(offset_x as f32), -(offset_y as f32)), + Vector::new(-offset.x, -offset.y), |renderer| { draw_content( renderer, content_layout, cursor_position, &Rectangle { - y: bounds.y + offset_y as f32, - x: bounds.x + offset_x as f32, + y: bounds.y + offset.y, + x: bounds.x + offset.x, ..bounds }, ); @@ -825,62 +784,41 @@ pub fn draw( }); let draw_scrollbar = - |renderer: &mut Renderer, scrollbar: Option<&Scrollbar>| { - if let Some(scrollbar) = scrollbar { - let style = match scrollbar.direction { - Direction::Vertical => { - if scrollbar.scroller.grabbed_at.is_some() { - theme.dragging(style) - } else if mouse_over_y_scrollbar { - theme.hovered(style) - } else { - theme.active(style) - } - } - Direction::Horizontal => { - if scrollbar.scroller.grabbed_at.is_some() { - theme.dragging_horizontal(style) - } else if mouse_over_x_scrollbar { - theme.hovered_horizontal(style) - } else { - theme.active_horizontal(style) - } - } - }; + |renderer: &mut Renderer, + style: style::Scrollbar, + scrollbar: &Scrollbar| { + //track + if style.background.is_some() + || (style.border_color != Color::TRANSPARENT + && style.border_width > 0.0) + { + renderer.fill_quad( + renderer::Quad { + bounds: scrollbar.bounds, + border_radius: style.border_radius.into(), + border_width: style.border_width, + border_color: style.border_color, + }, + style + .background + .unwrap_or(Background::Color(Color::TRANSPARENT)), + ); + } - //track - if style.background.is_some() - || (style.border_color != Color::TRANSPARENT - && style.border_width > 0.0) - { - renderer.fill_quad( - renderer::Quad { - bounds: scrollbar.bounds, - border_radius: style.border_radius, - border_width: style.border_width, - border_color: style.border_color, - }, - style.background.unwrap_or(Background::Color( - Color::TRANSPARENT, - )), - ); - } - - //thumb - if style.scroller.color != Color::TRANSPARENT - || (style.scroller.border_color != Color::TRANSPARENT - && style.scroller.border_width > 0.0) - { - renderer.fill_quad( - renderer::Quad { - bounds: scrollbar.scroller.bounds, - border_radius: style.scroller.border_radius, - border_width: style.scroller.border_width, - border_color: style.scroller.border_color, - }, - style.scroller.color, - ); - } + //thumb + if style.scroller.color != Color::TRANSPARENT + || (style.scroller.border_color != Color::TRANSPARENT + && style.scroller.border_width > 0.0) + { + renderer.fill_quad( + renderer::Quad { + bounds: scrollbar.scroller.bounds, + border_radius: style.scroller.border_radius.into(), + border_width: style.scroller.border_width, + border_color: style.scroller.border_color, + }, + style.scroller.color, + ); } }; @@ -891,8 +829,31 @@ pub fn draw( ..bounds }, |renderer| { - draw_scrollbar(renderer, state.scrollbar_y.as_ref()); - draw_scrollbar(renderer, state.scrollbar_x.as_ref()); + //draw y scrollbar + if let Some(scrollbar) = scrollbars.y { + let style = if state.y_scroller_grabbed_at.is_some() { + theme.dragging(style) + } else if mouse_over_y_scrollbar { + theme.hovered(style) + } else { + theme.active(style) + }; + + draw_scrollbar(renderer, style, &scrollbar); + } + + //draw x scrollbar + if let Some(scrollbar) = scrollbars.x { + let style = if state.x_scroller_grabbed_at.is_some() { + theme.dragging_horizontal(style) + } else if mouse_over_x_scrollbar { + theme.hovered_horizontal(style) + } else { + theme.active_horizontal(style) + }; + + draw_scrollbar(renderer, style, &scrollbar); + } }, ); } else { @@ -901,8 +862,8 @@ pub fn draw( content_layout, cursor_position, &Rectangle { - x: bounds.x + offset_x as f32, - y: bounds.y + offset_y as f32, + x: bounds.x + offset.x, + y: bounds.y + offset.y, ..bounds }, ); @@ -911,84 +872,198 @@ pub fn draw( fn notify_on_scroll( state: &State, - on_scroll: &Option) -> Message + '_>>, + on_scroll: &Option Message + '_>>, bounds: Rectangle, content_bounds: Rectangle, shell: &mut Shell<'_, Message>, ) { if let Some(on_scroll) = on_scroll { - let delta_x = if content_bounds.width <= bounds.width { - 0.0 - } else { - state.scrollbar_x.map_or(0.0, |scrollbar| { - scrollbar.offset.absolute( - Direction::Horizontal, - bounds, - content_bounds, - ) / (content_bounds.width - bounds.width) - }) - }; + if content_bounds <= bounds { + return; + } - let delta_y = if content_bounds.height <= bounds.height { - 0.0 - } else { - state.scrollbar_y.map_or(0.0, |scrollbar| { - scrollbar.offset.absolute( - Direction::Vertical, - bounds, - content_bounds, - ) / (content_bounds.height - bounds.height) - }) - }; + let x_offset = state.offset_x.absolute_x(bounds, content_bounds) + / (content_bounds.width - bounds.width); - shell.publish(on_scroll(Vector::new(delta_x, delta_y))) + let y_offset = state.offset_y.absolute_y(bounds, content_bounds) + / (content_bounds.height - bounds.height); + + shell.publish(on_scroll(Point::new(x_offset, y_offset))) } } -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -/// The direction of the [`Scrollable`]. -pub enum Direction { - /// X or horizontal - Horizontal, - /// Y or vertical - Vertical, -} - /// The local state of a [`Scrollable`]. -#[derive(Debug, Clone, Copy, Default)] +#[derive(Debug, Clone, Copy)] pub struct State { scroll_area_touched_at: Option, - scrollbar_x: Option, - scrollbar_y: Option, + offset_y: Offset, + y_scroller_grabbed_at: Option, + offset_x: Offset, + x_scroller_grabbed_at: Option, +} + +impl Default for State { + fn default() -> Self { + Self { + scroll_area_touched_at: None, + offset_y: Offset::Absolute(0.0), + y_scroller_grabbed_at: None, + offset_x: Offset::Absolute(0.0), + x_scroller_grabbed_at: None, + } + } } impl operation::Scrollable for State { - fn snap_to(&mut self, percentage: Vector) { - if let Some(scrollbar) = &mut self.scrollbar_y { - scrollbar.snap_to(percentage.y) + fn snap_to(&mut self, percentage: Point) { + State::snap_to(self, percentage); + } +} + +/// The offset of a [`Scrollable`]. +#[derive(Debug, Clone, Copy)] +enum Offset { + Absolute(f32), + Relative(f32), +} + +impl Offset { + fn absolute_x(self, bounds: Rectangle, content_bounds: Rectangle) -> f32 { + match self { + Offset::Absolute(absolute) => { + absolute.min((content_bounds.width - bounds.width).max(0.0)) + } + Offset::Relative(percentage) => { + ((content_bounds.width - bounds.width) * percentage).max(0.0) + } } - if let Some(scrollbar) = &mut self.scrollbar_x { - scrollbar.snap_to(percentage.x) + } + + fn absolute_y(self, bounds: Rectangle, content_bounds: Rectangle) -> f32 { + match self { + Offset::Absolute(absolute) => { + absolute.min((content_bounds.height - bounds.height).max(0.0)) + } + Offset::Relative(percentage) => { + ((content_bounds.height - bounds.height) * percentage).max(0.0) + } } } } impl State { - /// Creates a new [`State`]. + /// Creates a new [`State`] with the scrollbar(s) at the beginning. pub fn new() -> Self { State::default() } - /// Create y or x scrollbars if content is overflowing the [`Scrollable`] bounds. - pub fn create_scrollbars_maybe( + /// Apply a scrolling offset to the current [`State`], given the bounds of + /// the [`Scrollable`] and its contents. + pub fn scroll( &mut self, - horizontal: Option<&Horizontal>, - scrollbar_width: u16, - scrollbar_margin: u16, - scroller_width: u16, + delta: Vector, bounds: Rectangle, content_bounds: Rectangle, ) { + if bounds.height < content_bounds.height { + self.offset_y = Offset::Absolute( + (self.offset_y.absolute_y(bounds, content_bounds) - delta.y) + .clamp(0.0, content_bounds.height - bounds.height), + ) + } + + if bounds.width < content_bounds.width { + self.offset_x = Offset::Absolute( + (self.offset_x.absolute_x(bounds, content_bounds) - delta.x) + .clamp(0.0, content_bounds.width - bounds.width), + ); + } + } + + /// Scrolls the [`Scrollable`] to a relative amount along the y axis. + /// + /// `0` represents scrollbar at the beginning, while `1` represents scrollbar at + /// the end. + pub fn scroll_y_to( + &mut self, + percentage: f32, + bounds: Rectangle, + content_bounds: Rectangle, + ) { + self.offset_y = Offset::Relative(percentage.clamp(0.0, 1.0)); + self.unsnap(bounds, content_bounds); + } + + /// Scrolls the [`Scrollable`] to a relative amount along the x axis. + /// + /// `0` represents scrollbar at the beginning, while `1` represents scrollbar at + /// the end. + pub fn scroll_x_to( + &mut self, + percentage: f32, + bounds: Rectangle, + content_bounds: Rectangle, + ) { + self.offset_x = Offset::Relative(percentage.clamp(0.0, 1.0)); + self.unsnap(bounds, content_bounds); + } + + /// Snaps the scroll position to a relative amount. + /// + /// `0` represents scrollbar at the beginning, while `1` represents scrollbar at + /// the end. + pub fn snap_to(&mut self, percentage: Point) { + self.offset_x = Offset::Relative(percentage.x.clamp(0.0, 1.0)); + self.offset_y = Offset::Relative(percentage.y.clamp(0.0, 1.0)); + } + + /// Unsnaps the current scroll position, if snapped, given the bounds of the + /// [`Scrollable`] and its contents. + pub fn unsnap(&mut self, bounds: Rectangle, content_bounds: Rectangle) { + self.offset_x = + Offset::Absolute(self.offset_x.absolute_x(bounds, content_bounds)); + self.offset_y = + Offset::Absolute(self.offset_y.absolute_y(bounds, content_bounds)); + } + + /// Returns the current x & y scrolling offset of the [`State`], given the bounds + /// of the [`Scrollable`] and its contents. + pub fn offset( + &self, + bounds: Rectangle, + content_bounds: Rectangle, + ) -> Point { + Point::new( + self.offset_x.absolute_x(bounds, content_bounds), + self.offset_y.absolute_y(bounds, content_bounds), + ) + } + + /// Returns whether any scroller is currently grabbed or not. + pub fn scrollers_grabbed(&self) -> bool { + self.x_scroller_grabbed_at.is_some() + || self.y_scroller_grabbed_at.is_some() + } +} + +#[derive(Debug)] +/// State of both [`Scrollbar`]s. +struct Scrollbars { + y: Option, + x: Option, +} + +impl Scrollbars { + /// Create y and/or x scrollbar(s) if content is overflowing the [`Scrollable`] bounds. + fn new( + state: &State, + vertical: &Properties, + horizontal: Option<&Properties>, + bounds: Rectangle, + content_bounds: Rectangle, + ) -> Self { + let offset = state.offset(bounds, content_bounds); + let show_scrollbar_x = horizontal.and_then(|h| { if content_bounds.width > bounds.width { Some(h) @@ -997,59 +1072,47 @@ impl State { } }); - self.scrollbar_y = if content_bounds.height > bounds.height { - let (offset_y, scroller_grabbed) = - if let Some(scrollbar) = &self.scrollbar_y { - ( - scrollbar.offset.absolute( - scrollbar.direction, - bounds, - content_bounds, - ), - scrollbar.scroller.grabbed_at, - ) - } else { - (0.0, None) - }; + let y_scrollbar = if content_bounds.height > bounds.height { + let Properties { + width, + margin, + scroller_width, + } = *vertical; - // Need to adjust the height of the vertical scrollbar if the horizontal scrollbar + // Adjust the height of the vertical scrollbar if the horizontal scrollbar // is present - let scrollbar_x_height = show_scrollbar_x.map_or(0.0, |h| { - (h.scrollbar_height.max(h.scroller_height) + h.scrollbar_margin) - as f32 + let x_scrollbar_height = show_scrollbar_x.map_or(0.0, |h| { + (h.width.max(h.scroller_width) + h.margin) as f32 }); - let total_scrollbar_width = - scrollbar_width.max(scroller_width) + 2 * scrollbar_margin; + let total_scrollbar_width = width.max(scroller_width) + 2 * margin; // Total bounds of the scrollbar + margin + scroller width let total_scrollbar_bounds = Rectangle { x: bounds.x + bounds.width - total_scrollbar_width as f32, y: bounds.y, width: total_scrollbar_width as f32, - height: (bounds.height - scrollbar_x_height).max(0.0), + height: (bounds.height - x_scrollbar_height).max(0.0), }; // Bounds of just the scrollbar let scrollbar_bounds = Rectangle { x: bounds.x + bounds.width - - f32::from( - total_scrollbar_width / 2 + scrollbar_width / 2, - ), + - f32::from(total_scrollbar_width / 2 + width / 2), y: bounds.y, - width: scrollbar_width as f32, - height: (bounds.height - scrollbar_x_height).max(0.0), + width: width as f32, + height: (bounds.height - x_scrollbar_height).max(0.0), }; let ratio = bounds.height / content_bounds.height; // min height for easier grabbing with super tall content let scroller_height = (bounds.height * ratio).max(2.0); - let scroller_offset = offset_y as f32 * ratio; + let scroller_offset = offset.y * ratio; let scroller_bounds = Rectangle { x: bounds.x + bounds.width - f32::from(total_scrollbar_width / 2 + scroller_width / 2), - y: (scrollbar_bounds.y + scroller_offset - scrollbar_x_height) + y: (scrollbar_bounds.y + scroller_offset - x_scrollbar_height) .max(0.0), width: scroller_width as f32, height: scroller_height, @@ -1058,41 +1121,29 @@ impl State { Some(Scrollbar { total_bounds: total_scrollbar_bounds, bounds: scrollbar_bounds, - direction: Direction::Vertical, scroller: Scroller { bounds: scroller_bounds, - grabbed_at: scroller_grabbed, }, - offset: Offset::Absolute(offset_y), }) } else { None }; - self.scrollbar_x = if let Some(horizontal) = show_scrollbar_x { - let (offset_x, scroller_grabbed) = - if let Some(scrollbar) = &self.scrollbar_x { - ( - scrollbar.offset.absolute( - scrollbar.direction, - bounds, - content_bounds, - ), - scrollbar.scroller.grabbed_at, - ) - } else { - (0.0, None) - }; + let x_scrollbar = if let Some(horizontal) = show_scrollbar_x { + let Properties { + width, + margin, + scroller_width, + } = *horizontal; // Need to adjust the width of the horizontal scrollbar if the vertical scrollbar // is present - let scrollbar_y_width = self.scrollbar_y.map_or(0.0, |_| { - (scrollbar_width.max(scroller_width) + scrollbar_margin) as f32 + let scrollbar_y_width = y_scrollbar.map_or(0.0, |_| { + (vertical.width.max(vertical.scroller_width) + vertical.margin) + as f32 }); - let total_scrollbar_height = - horizontal.scrollbar_height.max(horizontal.scroller_height) - + 2 * horizontal.scrollbar_margin; + let total_scrollbar_height = width.max(scroller_width) + 2 * margin; // Total bounds of the scrollbar + margin + scroller width let total_scrollbar_bounds = Rectangle { @@ -1106,128 +1157,90 @@ impl State { let scrollbar_bounds = Rectangle { x: bounds.x, y: bounds.y + bounds.height - - f32::from( - total_scrollbar_height / 2 - + horizontal.scrollbar_height / 2, - ), + - f32::from(total_scrollbar_height / 2 + width / 2), width: (bounds.width - scrollbar_y_width).max(0.0), - height: horizontal.scrollbar_height as f32, + height: width as f32, }; let ratio = bounds.width / content_bounds.width; // min width for easier grabbing with extra wide content - let scroller_width = (bounds.width * ratio).max(2.0); - let scroller_offset = offset_x as f32 * ratio; + let scroller_length = (bounds.width * ratio).max(2.0); + let scroller_offset = offset.x * ratio; let scroller_bounds = Rectangle { x: (scrollbar_bounds.x + scroller_offset - scrollbar_y_width) .max(0.0), y: bounds.y + bounds.height - f32::from( - total_scrollbar_height / 2 - + horizontal.scroller_height / 2, + total_scrollbar_height / 2 + scroller_width / 2, ), - width: scroller_width, - height: horizontal.scroller_height as f32, + width: scroller_length, + height: scroller_width as f32, }; Some(Scrollbar { total_bounds: total_scrollbar_bounds, bounds: scrollbar_bounds, - direction: Direction::Horizontal, scroller: Scroller { bounds: scroller_bounds, - grabbed_at: scroller_grabbed, }, - offset: Offset::Absolute(offset_x), }) } else { None }; - } - /// Returns whether the mouse is within the bounds of each scrollbar. - fn mouse_over_scrollbars(&self, cursor_position: Point) -> (bool, bool) { - ( - self.scrollbar_x.map_or(false, |scrollbar| { - scrollbar.is_mouse_over(cursor_position) - }), - self.scrollbar_y.map_or(false, |scrollbar| { - scrollbar.is_mouse_over(cursor_position) - }), - ) - } - - /// Returns whether the scroller for either scrollbar is currently grabbed. - fn scrollers_grabbed(&self) -> bool { - self.scrollbar_x - .map_or(false, |scrollbar| scrollbar.scroller.grabbed_at.is_some()) - || self.scrollbar_y.map_or(false, |scrollbar| { - scrollbar.scroller.grabbed_at.is_some() - }) - } - - /// Apply a scrolling offset to the current [`State`], given the bounds of - /// the [`Scrollable`] and its contents. - pub fn scroll( - &mut self, - delta: Vector, - bounds: Rectangle, - content_bounds: Rectangle, - ) { - if delta.x != 0.0 && bounds.width < content_bounds.width { - if let Some(scrollbar) = &mut self.scrollbar_x { - scrollbar.offset = Offset::Absolute( - (scrollbar.offset.absolute( - Direction::Horizontal, - bounds, - content_bounds, - ) - delta.x) - .max(0.0) - .min((content_bounds.width - bounds.width) as f32), - ); - } - } - - if delta.y != 0.0 && bounds.height < content_bounds.height { - if let Some(scrollbar) = &mut self.scrollbar_y { - scrollbar.offset = Offset::Absolute( - (scrollbar.offset.absolute( - Direction::Vertical, - bounds, - content_bounds, - ) - delta.y) - .max(0.0) - .min((content_bounds.height - bounds.height) as f32), - ) - } + Self { + y: y_scrollbar, + x: x_scrollbar, } } - /// Returns the current x & y scrolling offset of the [`State`], given the bounds - /// of the [`Scrollable`] and its contents. - pub fn offset( - &self, - bounds: Rectangle, - content_bounds: Rectangle, - ) -> (f32, f32) { + fn is_mouse_over(&self, cursor_position: Point) -> (bool, bool) { ( - self.scrollbar_x.map_or(0.0, |scrollbar| { - scrollbar.offset.absolute( - Direction::Horizontal, - bounds, - content_bounds, - ) - }), - self.scrollbar_y.map_or(0.0, |scrollbar| { - scrollbar.offset.absolute( - Direction::Vertical, - bounds, - content_bounds, - ) - }), + self.y + .as_ref() + .map(|scrollbar| scrollbar.is_mouse_over(cursor_position)) + .unwrap_or(false), + self.x + .as_ref() + .map(|scrollbar| scrollbar.is_mouse_over(cursor_position)) + .unwrap_or(false), ) } + + fn grab_y_scroller(&self, cursor_position: Point) -> Option { + self.y.and_then(|scrollbar| { + if scrollbar.total_bounds.contains(cursor_position) { + Some(if scrollbar.scroller.bounds.contains(cursor_position) { + (cursor_position.y - scrollbar.scroller.bounds.y) + / scrollbar.scroller.bounds.height + } else { + 0.5 + }) + } else { + None + } + }) + } + + fn grab_x_scroller(&self, cursor_position: Point) -> Option { + self.x.and_then(|scrollbar| { + if scrollbar.total_bounds.contains(cursor_position) { + Some(if scrollbar.scroller.bounds.contains(cursor_position) { + (cursor_position.x - scrollbar.scroller.bounds.x) + / scrollbar.scroller.bounds.width + } else { + 0.5 + }) + } else { + None + } + }) + } + + fn active(&self) -> bool { + self.y.is_some() || self.x.is_some() + } } /// The scrollbar of a [`Scrollable`]. @@ -1240,126 +1253,47 @@ struct Scrollbar { /// The bounds of just the [`Scrollbar`]. bounds: Rectangle, - /// The direction of the [`Scrollbar`]. - direction: Direction, - /// The state of this scrollbar's [`Scroller`]. scroller: Scroller, - - /// The current offset of the [`Scrollbar`]. - offset: Offset, } impl Scrollbar { - /// Snaps the scroll position to a relative amount. - /// - /// `0` represents scrollbar at the beginning, while `1` represents scrollbar at - /// the end. - pub fn snap_to(&mut self, percentage: f32) { - self.offset = Offset::Relative(percentage.max(0.0).min(1.0)); - } - - /// Unsnaps the current scroll position if snapped, given the bounds of the [`Scrollable`] - /// and its contents. - pub fn unsnap(&mut self, bounds: Rectangle, content_bounds: Rectangle) { - self.offset = Offset::Absolute(self.offset.absolute( - self.direction, - bounds, - content_bounds, - )); - } - - /// Scrolls the [`Scrollbar`] to a certain percentage. - fn scroll_to( - &mut self, - percentage: f32, - bounds: Rectangle, - content_bounds: Rectangle, - ) { - self.snap_to(percentage); - self.unsnap(bounds, content_bounds); - } - /// Returns whether the mouse is over the scrollbar or not. fn is_mouse_over(&self, cursor_position: Point) -> bool { self.total_bounds.contains(cursor_position) } - fn grab_scroller(&self, cursor_position: Point) -> Option { - if self.total_bounds.contains(cursor_position) { - Some(if self.scroller.bounds.contains(cursor_position) { - match self.direction { - Direction::Vertical => { - (cursor_position.y - self.scroller.bounds.y) - / self.scroller.bounds.height - } - Direction::Horizontal => { - (cursor_position.x - self.scroller.bounds.x) - / self.scroller.bounds.width - } - } - } else { - 0.5 - }) - } else { - None - } - } - - fn scroll_percentage( + /// Returns the y-axis scrolled percentage from the cursor position. + fn scroll_percentage_y( &self, grabbed_at: f32, cursor_position: Point, ) -> f32 { - match self.direction { - Direction::Vertical => { - (cursor_position.y - - self.bounds.y - - self.scroller.bounds.height * grabbed_at) - / (self.bounds.height - self.scroller.bounds.height) - } - Direction::Horizontal => { - (cursor_position.x - - self.bounds.x - - self.scroller.bounds.width * grabbed_at) - / (self.bounds.width - self.scroller.bounds.width) - } + if cursor_position.x < 0.0 && cursor_position.y < 0.0 { + // cursor position is unavailable! Set to either end or beginning of scrollbar depending + // on where the thumb currently is in the track + (self.scroller.bounds.y / self.total_bounds.height).round() + } else { + (cursor_position.y + - self.bounds.y + - self.scroller.bounds.height * grabbed_at) + / (self.bounds.height - self.scroller.bounds.height) } } -} -/// The directional offset of a [`Scrollable`]. -#[derive(Debug, Clone, Copy)] -enum Offset { - Absolute(f32), - Relative(f32), -} - -impl Offset { - fn absolute( - self, - direction: Direction, - bounds: Rectangle, - content_bounds: Rectangle, + /// Returns the x-axis scrolled percentage from the cursor position. + fn scroll_percentage_x( + &self, + grabbed_at: f32, + cursor_position: Point, ) -> f32 { - match self { - Self::Absolute(absolute) => match direction { - Direction::Horizontal => { - absolute.min((content_bounds.width - bounds.width).max(0.0)) - } - Direction::Vertical => absolute - .min((content_bounds.height - bounds.height).max(0.0)), - }, - Self::Relative(percentage) => match direction { - Direction::Horizontal => { - ((content_bounds.width - bounds.width) * percentage) - .max(0.0) - } - Direction::Vertical => { - ((content_bounds.height - bounds.height) * percentage) - .max(0.0) - } - }, + if cursor_position.x < 0.0 && cursor_position.y < 0.0 { + (self.scroller.bounds.x / self.total_bounds.width).round() + } else { + (cursor_position.x + - self.bounds.x + - self.scroller.bounds.width * grabbed_at) + / (self.bounds.width - self.scroller.bounds.width) } } } @@ -1369,7 +1303,4 @@ impl Offset { struct Scroller { /// The bounds of the [`Scroller`]. bounds: Rectangle, - - /// Whether or not the scroller is currently grabbed. - grabbed_at: Option, } diff --git a/src/widget.rs b/src/widget.rs index ee30548c..d034200c 100644 --- a/src/widget.rs +++ b/src/widget.rs @@ -99,8 +99,7 @@ pub mod radio { pub mod scrollable { //! Navigate an endless amount of content with a scrollbar. pub use iced_native::widget::scrollable::{ - snap_to, style::Scrollbar, style::Scroller, Direction, Horizontal, Id, - StyleSheet, + snap_to, style::Scrollbar, style::Scroller, Id, Properties, StyleSheet, }; /// A widget that can vertically display an infinite amount of content diff --git a/style/src/theme.rs b/style/src/theme.rs index cef8f2be..f780f952 100644 --- a/style/src/theme.rs +++ b/style/src/theme.rs @@ -872,6 +872,15 @@ pub enum Scrollable { Custom(Box>), } +impl Scrollable { + /// Creates a custom [`Scrollable`] theme. + pub fn custom + 'static>( + style: T, + ) -> Self { + Self::Custom(Box::new(style)) + } +} + impl scrollable::StyleSheet for Theme { type Style = Scrollable; From 624a4ada7981eb05c0b50cafa7e9545ad8347cb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Sun, 8 Jan 2023 20:07:11 +0100 Subject: [PATCH 3/7] Introduce `RelativeOffset` type in `scrollable` --- core/src/point.rs | 8 --- examples/scrollable/src/main.rs | 14 ++-- examples/websocket/src/main.rs | 4 +- native/src/widget/operation/scrollable.rs | 30 ++++++-- native/src/widget/scrollable.rs | 85 +++++++++++------------ src/widget.rs | 3 +- 6 files changed, 75 insertions(+), 69 deletions(-) diff --git a/core/src/point.rs b/core/src/point.rs index d351befd..9bf7726b 100644 --- a/core/src/point.rs +++ b/core/src/point.rs @@ -75,11 +75,3 @@ impl std::ops::Sub for Point { Vector::new(self.x - point.x, self.y - point.y) } } - -impl std::ops::Add for Point { - type Output = Point; - - fn add(self, point: Point) -> Point { - Point::new(self.x + point.x, self.y + point.y) - } -} diff --git a/examples/scrollable/src/main.rs b/examples/scrollable/src/main.rs index 43c863cb..702ade35 100644 --- a/examples/scrollable/src/main.rs +++ b/examples/scrollable/src/main.rs @@ -3,7 +3,7 @@ use iced::widget::{ button, column, container, horizontal_space, progress_bar, radio, row, scrollable, slider, text, vertical_space, }; -use iced::{executor, theme, Alignment, Color, Point}; +use iced::{executor, theme, Alignment, Color}; use iced::{Application, Command, Element, Length, Settings, Theme}; use once_cell::sync::Lazy; @@ -18,7 +18,7 @@ struct ScrollableDemo { scrollbar_width: u16, scrollbar_margin: u16, scroller_width: u16, - current_scroll_offset: Point, + current_scroll_offset: scrollable::RelativeOffset, } #[derive(Debug, Clone, Eq, PartialEq, Copy)] @@ -36,7 +36,7 @@ enum Message { ScrollerWidthChanged(u16), ScrollToBeginning, ScrollToEnd, - Scrolled(Point), + Scrolled(scrollable::RelativeOffset), } impl Application for ScrollableDemo { @@ -52,7 +52,7 @@ impl Application for ScrollableDemo { scrollbar_width: 10, scrollbar_margin: 0, scroller_width: 10, - current_scroll_offset: Point::ORIGIN, + current_scroll_offset: scrollable::RelativeOffset::START, }, Command::none(), ) @@ -65,7 +65,7 @@ impl Application for ScrollableDemo { fn update(&mut self, message: Message) -> Command { match message { Message::SwitchDirection(direction) => { - self.current_scroll_offset = Point::ORIGIN; + self.current_scroll_offset = scrollable::RelativeOffset::START; self.scrollable_direction = direction; scrollable::snap_to( @@ -89,7 +89,7 @@ impl Application for ScrollableDemo { Command::none() } Message::ScrollToBeginning => { - self.current_scroll_offset = Point::ORIGIN; + self.current_scroll_offset = scrollable::RelativeOffset::START; scrollable::snap_to( SCROLLABLE_ID.clone(), @@ -97,7 +97,7 @@ impl Application for ScrollableDemo { ) } Message::ScrollToEnd => { - self.current_scroll_offset = Point::new(1.0, 1.0); + self.current_scroll_offset = scrollable::RelativeOffset::END; scrollable::snap_to( SCROLLABLE_ID.clone(), diff --git a/examples/websocket/src/main.rs b/examples/websocket/src/main.rs index d1e45571..ccd9c815 100644 --- a/examples/websocket/src/main.rs +++ b/examples/websocket/src/main.rs @@ -1,10 +1,10 @@ mod echo; use iced::alignment::{self, Alignment}; +use iced::executor; use iced::widget::{ button, column, container, row, scrollable, text, text_input, Column, }; -use iced::{executor, Point}; use iced::{ Application, Color, Command, Element, Length, Settings, Subscription, Theme, }; @@ -83,7 +83,7 @@ impl Application for WebSocket { scrollable::snap_to( MESSAGE_LOG.clone(), - Point::new(0.0, 1.0), + scrollable::RelativeOffset::END, ) } }, diff --git a/native/src/widget/operation/scrollable.rs b/native/src/widget/operation/scrollable.rs index 6981b1f4..3b20631f 100644 --- a/native/src/widget/operation/scrollable.rs +++ b/native/src/widget/operation/scrollable.rs @@ -1,19 +1,18 @@ //! Operate on widgets that can be scrolled. use crate::widget::{Id, Operation}; -use iced_core::Point; /// The internal state of a widget that can be scrolled. pub trait Scrollable { /// Snaps the scroll of the widget to the given `percentage` along the horizontal & vertical axis. - fn snap_to(&mut self, percentage: Point); + fn snap_to(&mut self, offset: RelativeOffset); } /// Produces an [`Operation`] that snaps the widget with the given [`Id`] to /// the provided `percentage`. -pub fn snap_to(target: Id, percentage: Point) -> impl Operation { +pub fn snap_to(target: Id, offset: RelativeOffset) -> impl Operation { struct SnapTo { target: Id, - percentage: Point, + offset: RelativeOffset, } impl Operation for SnapTo { @@ -27,10 +26,29 @@ pub fn snap_to(target: Id, percentage: Point) -> impl Operation { fn scrollable(&mut self, state: &mut dyn Scrollable, id: Option<&Id>) { if Some(&self.target) == id { - state.snap_to(self.percentage); + state.snap_to(self.offset); } } } - SnapTo { target, percentage } + SnapTo { target, offset } +} + +/// The amount of offset in each direction of a [`Scrollable`]. +/// +/// A value of `0.0` means start, while `1.0` means end. +#[derive(Debug, Clone, Copy, PartialEq, Default)] +pub struct RelativeOffset { + /// The amount of horizontal offset + pub x: f32, + /// The amount of vertical offset + pub y: f32, +} + +impl RelativeOffset { + /// A relative offset that points to the top-left of a [`Scrollable`]. + pub const START: Self = Self { x: 0.0, y: 0.0 }; + + /// A relative offset that points to the bottom-right of a [`Scrollable`]. + pub const END: Self = Self { x: 1.0, y: 1.0 }; } diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs index 39f970d7..63e7312f 100644 --- a/native/src/widget/scrollable.rs +++ b/native/src/widget/scrollable.rs @@ -14,6 +14,7 @@ use crate::{ }; pub use iced_style::scrollable::StyleSheet; +pub use operation::scrollable::RelativeOffset; pub mod style { //! The styles of a [`Scrollable`]. @@ -35,7 +36,7 @@ where vertical: Properties, horizontal: Option, content: Element<'a, Message, Renderer>, - on_scroll: Option Message + 'a>>, + on_scroll: Option Message + 'a>>, style: ::Style, } @@ -85,7 +86,10 @@ where /// /// The function takes the new relative x & y offset of the [`Scrollable`] /// (e.g. `0` means beginning, while `1` means end). - pub fn on_scroll(mut self, f: impl Fn(Point) -> Message + 'a) -> Self { + pub fn on_scroll( + mut self, + f: impl Fn(RelativeOffset) -> Message + 'a, + ) -> Self { self.on_scroll = Some(Box::new(f)); self } @@ -375,9 +379,9 @@ impl From for widget::Id { /// to the provided `percentage` along the x & y axis. pub fn snap_to( id: Id, - percentage: Point, + offset: RelativeOffset, ) -> Command { - Command::widget(operation::scrollable::snap_to(id.0, percentage)) + Command::widget(operation::scrollable::snap_to(id.0, offset)) } /// Computes the layout of a [`Scrollable`]. @@ -428,7 +432,7 @@ pub fn update( shell: &mut Shell<'_, Message>, vertical: &Properties, horizontal: Option<&Properties>, - on_scroll: &Option Message + '_>>, + on_scroll: &Option Message + '_>>, update_content: impl FnOnce( Event, Layout<'_>, @@ -872,7 +876,7 @@ pub fn draw( fn notify_on_scroll( state: &State, - on_scroll: &Option Message + '_>>, + on_scroll: &Option Message + '_>>, bounds: Rectangle, content_bounds: Rectangle, shell: &mut Shell<'_, Message>, @@ -882,13 +886,15 @@ fn notify_on_scroll( return; } - let x_offset = state.offset_x.absolute_x(bounds, content_bounds) + let x = state.offset_x.absolute(bounds.width, content_bounds.width) / (content_bounds.width - bounds.width); - let y_offset = state.offset_y.absolute_y(bounds, content_bounds) + let y = state + .offset_y + .absolute(bounds.height, content_bounds.height) / (content_bounds.height - bounds.height); - shell.publish(on_scroll(Point::new(x_offset, y_offset))) + shell.publish(on_scroll(RelativeOffset { x, y })) } } @@ -915,12 +921,11 @@ impl Default for State { } impl operation::Scrollable for State { - fn snap_to(&mut self, percentage: Point) { - State::snap_to(self, percentage); + fn snap_to(&mut self, offset: RelativeOffset) { + State::snap_to(self, offset); } } -/// The offset of a [`Scrollable`]. #[derive(Debug, Clone, Copy)] enum Offset { Absolute(f32), @@ -928,24 +933,13 @@ enum Offset { } impl Offset { - fn absolute_x(self, bounds: Rectangle, content_bounds: Rectangle) -> f32 { + fn absolute(self, window: f32, content: f32) -> f32 { match self { Offset::Absolute(absolute) => { - absolute.min((content_bounds.width - bounds.width).max(0.0)) + absolute.min((content - window).max(0.0)) } Offset::Relative(percentage) => { - ((content_bounds.width - bounds.width) * percentage).max(0.0) - } - } - } - - fn absolute_y(self, bounds: Rectangle, content_bounds: Rectangle) -> f32 { - match self { - Offset::Absolute(absolute) => { - absolute.min((content_bounds.height - bounds.height).max(0.0)) - } - Offset::Relative(percentage) => { - ((content_bounds.height - bounds.height) * percentage).max(0.0) + ((content - window) * percentage).max(0.0) } } } @@ -967,14 +961,16 @@ impl State { ) { if bounds.height < content_bounds.height { self.offset_y = Offset::Absolute( - (self.offset_y.absolute_y(bounds, content_bounds) - delta.y) + (self.offset_y.absolute(bounds.height, content_bounds.height) + - delta.y) .clamp(0.0, content_bounds.height - bounds.height), ) } if bounds.width < content_bounds.width { self.offset_x = Offset::Absolute( - (self.offset_x.absolute_x(bounds, content_bounds) - delta.x) + (self.offset_x.absolute(bounds.width, content_bounds.width) + - delta.x) .clamp(0.0, content_bounds.width - bounds.width), ); } @@ -1008,34 +1004,33 @@ impl State { self.unsnap(bounds, content_bounds); } - /// Snaps the scroll position to a relative amount. - /// - /// `0` represents scrollbar at the beginning, while `1` represents scrollbar at - /// the end. - pub fn snap_to(&mut self, percentage: Point) { - self.offset_x = Offset::Relative(percentage.x.clamp(0.0, 1.0)); - self.offset_y = Offset::Relative(percentage.y.clamp(0.0, 1.0)); + /// Snaps the scroll position to a [`RelativeOffset`]. + pub fn snap_to(&mut self, offset: RelativeOffset) { + self.offset_x = Offset::Relative(offset.x.clamp(0.0, 1.0)); + self.offset_y = Offset::Relative(offset.y.clamp(0.0, 1.0)); } /// Unsnaps the current scroll position, if snapped, given the bounds of the /// [`Scrollable`] and its contents. pub fn unsnap(&mut self, bounds: Rectangle, content_bounds: Rectangle) { - self.offset_x = - Offset::Absolute(self.offset_x.absolute_x(bounds, content_bounds)); - self.offset_y = - Offset::Absolute(self.offset_y.absolute_y(bounds, content_bounds)); + self.offset_x = Offset::Absolute( + self.offset_x.absolute(bounds.width, content_bounds.width), + ); + self.offset_y = Offset::Absolute( + self.offset_y.absolute(bounds.height, content_bounds.height), + ); } - /// Returns the current x & y scrolling offset of the [`State`], given the bounds - /// of the [`Scrollable`] and its contents. + /// Returns the scrolling offset of the [`State`], given the bounds of the + /// [`Scrollable`] and its contents. pub fn offset( &self, bounds: Rectangle, content_bounds: Rectangle, - ) -> Point { - Point::new( - self.offset_x.absolute_x(bounds, content_bounds), - self.offset_y.absolute_y(bounds, content_bounds), + ) -> Vector { + Vector::new( + self.offset_x.absolute(bounds.width, content_bounds.width), + self.offset_y.absolute(bounds.height, content_bounds.height), ) } diff --git a/src/widget.rs b/src/widget.rs index d034200c..f87782d0 100644 --- a/src/widget.rs +++ b/src/widget.rs @@ -99,7 +99,8 @@ pub mod radio { pub mod scrollable { //! Navigate an endless amount of content with a scrollbar. pub use iced_native::widget::scrollable::{ - snap_to, style::Scrollbar, style::Scroller, Id, Properties, StyleSheet, + snap_to, style::Scrollbar, style::Scroller, Id, Properties, + RelativeOffset, StyleSheet, }; /// A widget that can vertically display an infinite amount of content From 0c2bcecd445820aa6bc92fb5cd507b419085d81e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Sun, 8 Jan 2023 20:09:47 +0100 Subject: [PATCH 4/7] Add some missing `spacing` to `scrollable` example --- examples/scrollable/src/main.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/scrollable/src/main.rs b/examples/scrollable/src/main.rs index 702ade35..128d98b2 100644 --- a/examples/scrollable/src/main.rs +++ b/examples/scrollable/src/main.rs @@ -134,6 +134,7 @@ impl Application for ScrollableDemo { text("Scroller width:"), scroller_width_slider, ] + .spacing(10) .width(Length::Fill); let scroll_orientation_controls = column(vec![ @@ -160,6 +161,7 @@ impl Application for ScrollableDemo { ) .into(), ]) + .spacing(10) .width(Length::Fill); let scroll_controls = From 19f4373863beb4a0d307dcd6f9632c1736b2355a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Sun, 8 Jan 2023 20:17:11 +0100 Subject: [PATCH 5/7] Enable horizontal scrolling with `Shift+MouseWheel` --- native/src/widget/scrollable.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs index 63e7312f..efd66d1b 100644 --- a/native/src/widget/scrollable.rs +++ b/native/src/widget/scrollable.rs @@ -1,5 +1,6 @@ //! Navigate an endless amount of content with a scrollbar. use crate::event::{self, Event}; +use crate::keyboard; use crate::layout; use crate::mouse; use crate::overlay; @@ -479,13 +480,26 @@ pub fn update( return event::Status::Captured; } + if let Event::Keyboard(keyboard::Event::ModifiersChanged(modifiers)) = event + { + state.keyboard_modifiers = modifiers; + + return event::Status::Ignored; + } + if mouse_over_scrollable { match event { Event::Mouse(mouse::Event::WheelScrolled { delta }) => { let delta = match delta { mouse::ScrollDelta::Lines { x, y } => { // TODO: Configurable speed/friction (?) - Vector::new(x * 60.0, y * 60.0) + let movement = if state.keyboard_modifiers.shift() { + Vector::new(y, x) + } else { + Vector::new(x, y) + }; + + movement * 60.0 } mouse::ScrollDelta::Pixels { x, y } => Vector::new(x, y), }; @@ -906,6 +920,7 @@ pub struct State { y_scroller_grabbed_at: Option, offset_x: Offset, x_scroller_grabbed_at: Option, + keyboard_modifiers: keyboard::Modifiers, } impl Default for State { @@ -916,6 +931,7 @@ impl Default for State { y_scroller_grabbed_at: None, offset_x: Offset::Absolute(0.0), x_scroller_grabbed_at: None, + keyboard_modifiers: keyboard::Modifiers::default(), } } } From f64e95e2469bd0f8012742a585c41c770634030e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Sun, 8 Jan 2023 20:19:36 +0100 Subject: [PATCH 6/7] Remove `PartialOrd` implementation for `Rectangle` A `PartialOrd` implementation is unclear for this type, since it has a position besides its dimensions. --- core/src/rectangle.rs | 6 ------ native/src/widget/scrollable.rs | 4 +++- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/core/src/rectangle.rs b/core/src/rectangle.rs index c6e6fce4..4fe91519 100644 --- a/core/src/rectangle.rs +++ b/core/src/rectangle.rs @@ -111,12 +111,6 @@ impl Rectangle { } } -impl std::cmp::PartialOrd for Rectangle { - fn partial_cmp(&self, other: &Self) -> Option { - (self.width * self.height).partial_cmp(&(other.width * other.height)) - } -} - impl std::ops::Mul for Rectangle { type Output = Self; diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs index efd66d1b..46b757b9 100644 --- a/native/src/widget/scrollable.rs +++ b/native/src/widget/scrollable.rs @@ -896,7 +896,9 @@ fn notify_on_scroll( shell: &mut Shell<'_, Message>, ) { if let Some(on_scroll) = on_scroll { - if content_bounds <= bounds { + if content_bounds.width <= bounds.width + && content_bounds.height <= bounds.height + { return; } From 2d007474dd002dfc936f75f7379f1bbae72c5ad4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Sun, 8 Jan 2023 20:27:15 +0100 Subject: [PATCH 7/7] Avoid dragging scroll area when touching scrollbars for `Scrollable` --- native/src/widget/scrollable.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs index 46b757b9..82286036 100644 --- a/native/src/widget/scrollable.rs +++ b/native/src/widget/scrollable.rs @@ -516,7 +516,10 @@ pub fn update( return event::Status::Captured; } - Event::Touch(event) => { + Event::Touch(event) + if state.scroll_area_touched_at.is_some() + || !mouse_over_y_scrollbar && !mouse_over_x_scrollbar => + { match event { touch::Event::FingerPressed { .. } => { state.scroll_area_touched_at = Some(cursor_position);

-WcQS4`f+HRns^zUeWAM@4l!%ii43 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 z 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 literal 104995 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