From 47016a37dfe51ebc3cdf290d8afb34ceadb8edae Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Thu, 27 Apr 2023 15:36:45 -0700 Subject: 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`, or `Rc` 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. --- style/src/text.rs | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 style/src/text.rs (limited to 'style/src') 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, -} -- cgit