ltk/widget/slider/
theme.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// SPDX-License-Identifier: LGPL-2.1-only
// Copyright (C) 2026 Liberux Labs, S. L. <info@liberux.net>

use crate::types::Color;
pub fn track_bg()     -> Color { crate::theme::palette().divider }
pub fn track_fill()   -> Color { crate::theme::palette().accent }
/// Thumb — uses the page-background colour so it reads as the
/// inverse of the accent fill regardless of mode.
pub fn thumb()        -> Color { crate::theme::palette().bg }
pub fn thumb_border() -> Color { crate::theme::palette().text_primary }
pub const TRACK_H:       f32 = 10.0;
pub const THUMB_SIZE:    f32 = 24.0;
pub const HEIGHT:        f32 = 36.0;
pub const THUMB_BORDER_W: f32 = 2.0;
/// White ring + inner coloured pill of the [`super::Slider::accent_thumb`]
/// variant. Outer diameter is [`ACCENT_THUMB_OUTER`]; the visible
/// pill is smaller than [`THUMB_SIZE`], which is the hit-target /
/// reserved layout footprint shared with the default thumb.
pub const ACCENT_THUMB_BORDER_W: f32 = 4.0;
pub const ACCENT_THUMB_OUTER:    f32 = 20.0;

/// Default theme slot id for the [`Slider`](super::Slider) track
/// background. Mirrors the equivalent constant in `vslider::theme`
/// so the same default-theme entries cover both axes — only the
/// rendering geometry differs between the widgets.
pub const SURFACE_TRACK: &str = "surface-slider-track";
/// Default theme slot id for the [`Slider`](super::Slider) fill.
pub const SURFACE_FILL:  &str = "surface-slider-fill";