46 lines
833 B
Rust
46 lines
833 B
Rust
|
|
use crate::button;
|
||
|
|
|
||
|
|
use iced_core::{Color, Vector};
|
||
|
|
|
||
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||
|
|
pub enum Theme {
|
||
|
|
Light,
|
||
|
|
Dark,
|
||
|
|
}
|
||
|
|
|
||
|
|
impl Default for Theme {
|
||
|
|
fn default() -> Self {
|
||
|
|
Self::Light
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||
|
|
pub enum Button {
|
||
|
|
Primary,
|
||
|
|
Secondary,
|
||
|
|
Positive,
|
||
|
|
Destructive,
|
||
|
|
Text,
|
||
|
|
}
|
||
|
|
|
||
|
|
impl Default for Button {
|
||
|
|
fn default() -> Self {
|
||
|
|
Self::Primary
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
impl button::StyleSheet for Theme {
|
||
|
|
type Variant = Button;
|
||
|
|
|
||
|
|
fn active(&self, _variant: Self::Variant) -> button::Style {
|
||
|
|
button::Style {
|
||
|
|
shadow_offset: Vector::default(),
|
||
|
|
background: None,
|
||
|
|
border_radius: 0.0,
|
||
|
|
border_width: 0.0,
|
||
|
|
border_color: Color::TRANSPARENT,
|
||
|
|
text_color: Color::BLACK,
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|