diff options
author | 2024-03-05 21:16:22 +0100 | |
---|---|---|
committer | 2024-03-05 21:16:22 +0100 | |
commit | 330a6252054b729e4d4d3f5a5d09f32e06cec282 (patch) | |
tree | 9dd78f556c514142de71fe5fae37622be3b1eb07 /style | |
parent | 704ec9cb5cdc1d44f2df2f15de700b0af330b1d7 (diff) | |
download | iced-330a6252054b729e4d4d3f5a5d09f32e06cec282.tar.gz iced-330a6252054b729e4d4d3f5a5d09f32e06cec282.tar.bz2 iced-330a6252054b729e4d4d3f5a5d09f32e06cec282.zip |
Simplify theming for `QRCode` widget
Diffstat (limited to 'style')
-rw-r--r-- | style/src/lib.rs | 1 | ||||
-rw-r--r-- | style/src/qr_code.rs | 20 | ||||
-rw-r--r-- | style/src/theme.rs | 41 |
3 files changed, 0 insertions, 62 deletions
diff --git a/style/src/lib.rs b/style/src/lib.rs index 5906fa0e..7a6be69a 100644 --- a/style/src/lib.rs +++ b/style/src/lib.rs @@ -21,7 +21,6 @@ pub mod menu; pub mod pane_grid; pub mod pick_list; pub mod progress_bar; -pub mod qr_code; pub mod radio; pub mod rule; pub mod slider; diff --git a/style/src/qr_code.rs b/style/src/qr_code.rs deleted file mode 100644 index 02c4709a..00000000 --- a/style/src/qr_code.rs +++ /dev/null @@ -1,20 +0,0 @@ -//! Change the appearance of a QR code. -use crate::core::Color; - -/// The appearance of a QR code. -#[derive(Debug, Clone, Copy, PartialEq)] -pub struct Appearance { - /// The color of the QR code data cells - pub cell: Color, - /// The color of the QR code background - pub background: Color, -} - -/// A set of rules that dictate the style of a QR code. -pub trait StyleSheet { - /// The supported style of the [`StyleSheet`]. - type Style: Default; - - /// Produces the style of a QR code. - fn appearance(&self, style: &Self::Style) -> Appearance; -} diff --git a/style/src/theme.rs b/style/src/theme.rs index 57dfe3c7..9038d730 100644 --- a/style/src/theme.rs +++ b/style/src/theme.rs @@ -9,7 +9,6 @@ use crate::menu; use crate::pane_grid; use crate::pick_list; use crate::progress_bar; -use crate::qr_code; use crate::radio; use crate::rule; use crate::slider; @@ -662,46 +661,6 @@ impl<T: Fn(&Theme) -> progress_bar::Appearance> progress_bar::StyleSheet for T { } } -/// The style of a QR Code. -#[derive(Default)] -pub enum QRCode { - /// The default style. - #[default] - Default, - /// A custom style. - Custom(Box<dyn qr_code::StyleSheet<Style = Theme>>), -} - -impl<T: Fn(&Theme) -> qr_code::Appearance + 'static> From<T> for QRCode { - fn from(f: T) -> Self { - Self::Custom(Box::new(f)) - } -} - -impl qr_code::StyleSheet for Theme { - type Style = QRCode; - - fn appearance(&self, style: &Self::Style) -> qr_code::Appearance { - let palette = self.palette(); - - match style { - QRCode::Default => qr_code::Appearance { - cell: palette.text, - background: palette.background, - }, - QRCode::Custom(custom) => custom.appearance(self), - } - } -} - -impl<T: Fn(&Theme) -> qr_code::Appearance> qr_code::StyleSheet for T { - type Style = Theme; - - fn appearance(&self, style: &Self::Style) -> qr_code::Appearance { - (self)(style) - } -} - /// The style of a rule. #[derive(Default)] pub enum Rule { |