Introduce Custom variants for every style in the built-in Theme

This commit is contained in:
Héctor Ramón Jiménez 2022-11-09 04:05:31 +01:00
parent 8102f96f12
commit 18fb74f200
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
34 changed files with 576 additions and 286 deletions

View file

@ -12,22 +12,22 @@ pub struct Appearance {
/// A set of rules that dictate the style of a text input.
pub trait StyleSheet {
type Style: Default + Copy;
type Style: Default;
/// Produces the style of an active text input.
fn active(&self, style: Self::Style) -> Appearance;
fn active(&self, style: &Self::Style) -> Appearance;
/// Produces the style of a focused text input.
fn focused(&self, style: Self::Style) -> Appearance;
fn focused(&self, style: &Self::Style) -> Appearance;
fn placeholder_color(&self, style: Self::Style) -> Color;
fn placeholder_color(&self, style: &Self::Style) -> Color;
fn value_color(&self, style: Self::Style) -> Color;
fn value_color(&self, style: &Self::Style) -> Color;
fn selection_color(&self, style: Self::Style) -> Color;
fn selection_color(&self, style: &Self::Style) -> Color;
/// Produces the style of an hovered text input.
fn hovered(&self, style: Self::Style) -> Appearance {
fn hovered(&self, style: &Self::Style) -> Appearance {
self.focused(style)
}
}