Skip to main content

cosmic/widget/scrollable/
scrollable.rs

1// Copyright 2022 System76 <info@system76.com>
2// SPDX-License-Identifier: MPL-2.0
3
4use crate::{Element, Renderer};
5use iced::widget::scrollable::{Direction, Scrollable, Scrollbar};
6
7pub fn scrollable<'a, Message>(
8    element: impl Into<Element<'a, Message>>,
9) -> Scrollable<'a, Message, crate::Theme, Renderer> {
10    vertical(element)
11}
12
13pub fn vertical<'a, Message>(
14    element: impl Into<Element<'a, Message>>,
15) -> Scrollable<'a, Message, crate::Theme, Renderer> {
16    iced::widget::scrollable(element)
17        .padding(8.0)
18        .direction(Direction::Vertical(
19            Scrollbar::new().width(8.0).scroller_width(8.0),
20        ))
21}
22
23pub fn horizontal<'a, Message>(
24    element: impl Into<Element<'a, Message>>,
25) -> Scrollable<'a, Message, crate::Theme, Renderer> {
26    iced::widget::scrollable(element).direction(Direction::Horizontal(
27        Scrollbar::new().width(8.0).scroller_width(8.0),
28    ))
29}