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

@ -1,9 +1,5 @@
use iced_core::{Background, Color};
use crate::container;
use crate::menu;
use crate::scrollable;
/// The appearance of a pick list.
#[derive(Debug, Clone, Copy)]
pub struct Appearance {
@ -17,13 +13,10 @@ pub struct Appearance {
}
/// A set of rules that dictate the style of a container.
pub trait StyleSheet:
container::StyleSheet + menu::StyleSheet + scrollable::StyleSheet
{
type Style: Default + Copy + Into<<Self as menu::StyleSheet>::Style>;
pub trait StyleSheet {
type Style: Default + Clone;
fn active(&self, style: <Self as StyleSheet>::Style) -> Appearance;
fn active(&self, style: &<Self as StyleSheet>::Style) -> Appearance;
/// Produces the style of a container.
fn hovered(&self, style: <Self as StyleSheet>::Style) -> Appearance;
fn hovered(&self, style: &<Self as StyleSheet>::Style) -> Appearance;
}