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;
6
7pub fn scrollable<'a, Message>(
8    element: impl Into<Element<'a, Message>>,
9) -> widget::Scrollable<'a, Message, crate::Theme, Renderer> {
10    vertical(element)
11}
12
13pub fn vertical<'a, Message>(
14    element: impl Into<Element<'a, Message>>,
15) -> widget::Scrollable<'a, Message, crate::Theme, Renderer> {
16    widget::scrollable(element)
17        .scroller_width(8.0)
18        .scrollbar_width(8.0)
19        .scrollbar_padding(8.0)
20}
21
22pub fn horizontal<'a, Message>(
23    element: impl Into<Element<'a, Message>>,
24) -> widget::Scrollable<'a, Message, crate::Theme, Renderer> {
25    widget::scrollable(element)
26        .direction(widget::scrollable::Direction::Horizontal(
27            widget::scrollable::Scrollbar::new(),
28        ))
29        .scroller_width(8.0)
30        .scrollbar_width(8.0)
31}