use iced_native::Color;
use crate::style::default_colors;
#[derive(Debug, Clone)]
pub struct Appearance {
pub back_color: Color,
pub back_border_width: f32,
pub back_border_color: Color,
pub line_width: f32,
pub line_center_color: Color,
pub line_up_color: Color,
pub line_down_color: Color,
}
impl Default for Appearance {
fn default() -> Self {
Appearance {
back_color: default_colors::LIGHT_BACK,
back_border_width: 1.0,
back_border_color: default_colors::BORDER,
line_width: 2.0,
line_center_color: default_colors::BORDER,
line_up_color: default_colors::BORDER,
line_down_color: default_colors::BORDER,
}
}
}
pub trait StyleSheet {
type Style: Default;
fn active(&self, style: &Self::Style) -> Appearance;
fn hovered(&self, style: &Self::Style) -> Appearance;
fn dragging(&self, style: &Self::Style) -> Appearance;
}