pub trait SelectorButtonStyle {
fn width(&self) -> f64;
fn height(&self) -> f64;
fn radius(&self) -> f64;
fn border_width(&self) -> f64;
fn selected_border_width(&self) -> f64;
fn label_font_size(&self) -> f64;
fn label_gap(&self) -> f64 { 4.0 }
}
pub struct ShapeSelectorStyle;
impl SelectorButtonStyle for ShapeSelectorStyle {
fn width(&self) -> f64 { 24.0 }
fn height(&self) -> f64 { 24.0 }
fn radius(&self) -> f64 { 4.0 }
fn border_width(&self) -> f64 { 1.0 }
fn selected_border_width(&self) -> f64 { 1.5 }
fn label_font_size(&self) -> f64 { 11.0 }
}
pub struct ThemePresetButtonStyle;
impl SelectorButtonStyle for ThemePresetButtonStyle {
fn width(&self) -> f64 { 120.0 } fn height(&self) -> f64 { 26.0 }
fn radius(&self) -> f64 { 3.0 }
fn border_width(&self) -> f64 { 1.0 }
fn selected_border_width(&self) -> f64 { 1.5 }
fn label_font_size(&self) -> f64 { 13.0 }
}
pub struct UIStyleSelectorStyle;
impl SelectorButtonStyle for UIStyleSelectorStyle {
fn width(&self) -> f64 { 80.0 } fn height(&self) -> f64 { 26.0 }
fn radius(&self) -> f64 { 3.0 }
fn border_width(&self) -> f64 { 1.0 }
fn selected_border_width(&self) -> f64 { 1.5 }
fn label_font_size(&self) -> f64 { 13.0 }
}