diff options
author | 2023-04-27 15:36:45 -0700 | |
---|---|---|
committer | 2023-04-28 10:14:15 -0700 | |
commit | 47016a37dfe51ebc3cdf290d8afb34ceadb8edae (patch) | |
tree | 79dfb92903f27f2f743f4c3bcf49cf9956cab8cd /style | |
parent | c31ab8eee6a49a48b4e6ad92207b8ee0360a0eff (diff) | |
download | iced-47016a37dfe51ebc3cdf290d8afb34ceadb8edae.tar.gz iced-47016a37dfe51ebc3cdf290d8afb34ceadb8edae.tar.bz2 iced-47016a37dfe51ebc3cdf290d8afb34ceadb8edae.zip |
Do not require `Copy` for text `StyleSheet::Style`
For most widgets, `Style` only requires `Default`. A few require
`Clone`. Only this one requires `Copy`.
Some of the types in the default theme has a custom variant requiring
`Box<dyn Trait>`, or `Rc<dyn Trait>` to provide `Clone`, but this isn't
possible if `Copy` is required.
It would be good to also address the inconsistency of requiring `Clone`
in some places and not others.
This removes `style/src/text.rs` which is unused in this branch and thus
confusing. If there's a reason to keep it, that can be removed from the
change.
Diffstat (limited to 'style')
-rw-r--r-- | style/src/text.rs | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/style/src/text.rs b/style/src/text.rs deleted file mode 100644 index d5a16bef..00000000 --- a/style/src/text.rs +++ /dev/null @@ -1,20 +0,0 @@ -//! Change the appearance of text. -use crate::core::Color; - -/// The style sheet of some text. -pub trait StyleSheet { - /// The supported style of the [`StyleSheet`]. - type Style: Default + Copy; - - /// Produces the [`Appearance`] of some text. - fn appearance(&self, style: Self::Style) -> Appearance; -} - -/// The apperance of some text. -#[derive(Debug, Clone, Copy, Default)] -pub struct Appearance { - /// The [`Color`] of the text. - /// - /// The default, `None`, means using the inherited color. - pub color: Option<Color>, -} |