From 00c6cf80cb9c4587700078a062a6b32873b6f8ff Mon Sep 17 00:00:00 2001 From: pml68 Date: Thu, 26 Jun 2025 12:16:52 +0200 Subject: feat: extract `material_theme` into separate repo (`pml68/iced_material`) --- crates/material_theme/src/slider.rs | 63 ------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 crates/material_theme/src/slider.rs (limited to 'crates/material_theme/src/slider.rs') diff --git a/crates/material_theme/src/slider.rs b/crates/material_theme/src/slider.rs deleted file mode 100644 index ae9ee4b..0000000 --- a/crates/material_theme/src/slider.rs +++ /dev/null @@ -1,63 +0,0 @@ -use iced_widget::core::{Background, Color, border}; -use iced_widget::slider::{ - Catalog, Handle, HandleShape, Rail, Status, Style, StyleFn, -}; - -use super::Theme; -use crate::utils::{HOVERED_LAYER_OPACITY, PRESSED_LAYER_OPACITY, mix}; - -impl Catalog for Theme { - type Class<'a> = StyleFn<'a, Self>; - - fn default<'a>() -> ::Class<'a> { - Box::new(default) - } - - fn style( - &self, - class: &::Class<'_>, - status: Status, - ) -> Style { - class(self, status) - } -} - -pub fn styled(left: Color, right: Color, handle_radius: f32) -> Style { - Style { - rail: Rail { - backgrounds: (left.into(), right.into()), - width: 8.0, - border: border::rounded(400), - }, - handle: Handle { - shape: HandleShape::Circle { - radius: handle_radius, - }, - background: Background::Color(left), - border_width: 0.0, - border_color: Color::TRANSPARENT, - }, - } -} - -pub fn default(theme: &Theme, status: Status) -> Style { - let surface = theme.colors().surface; - let primary = theme.colors().primary; - let secondary = theme.colors().secondary; - - match status { - Status::Active => { - styled(primary.color, secondary.secondary_container, 12.0) - } - Status::Hovered => styled( - mix(primary.color, surface.on_surface, HOVERED_LAYER_OPACITY), - secondary.secondary_container, - 12.0, - ), - Status::Dragged => styled( - mix(primary.color, surface.on_surface, PRESSED_LAYER_OPACITY), - secondary.secondary_container, - 11.0, - ), - } -} -- cgit v1.2.3