don't clone types which implement 'Copy' (clippy::clone_on_copy)

This commit is contained in:
Daniel Eades 2023-12-10 16:47:36 +00:00
parent 87edb63202
commit f8c7985545
3 changed files with 45 additions and 46 deletions

View file

@ -7,7 +7,6 @@
//! //!
pub use model::*; pub use model::*;
pub use output::*;
mod model; mod model;
mod output; mod output;

View file

@ -35,7 +35,7 @@ where
let mut divider_c: Srgba = on_bg.clone().into(); let mut divider_c: Srgba = on_bg.clone().into();
divider_c.alpha = 0.2; divider_c.alpha = 0.2;
let divider = over(divider_c.clone(), bg.clone()); let divider = over(divider_c, bg.clone());
Self { Self {
base: bg, base: bg,
component, component,
@ -121,7 +121,7 @@ where
/// helper for producing a component from a base color a neutral and an accent /// helper for producing a component from a base color a neutral and an accent
pub fn colored_component(base: C, neutral: C, accent: C, hovered: C, pressed: C) -> Self { pub fn colored_component(base: C, neutral: C, accent: C, hovered: C, pressed: C) -> Self {
let base: Srgba = base.into(); let base: Srgba = base.into();
let mut base_50 = base.clone(); let mut base_50 = base;
base_50.alpha *= 0.5; base_50.alpha *= 0.5;
let on_20 = neutral.clone(); let on_20 = neutral.clone();
@ -129,7 +129,7 @@ where
on_50.alpha = 0.5; on_50.alpha = 0.5;
Component { Component {
base: base.clone().into(), base: base.into(),
hover: over(hovered.clone(), base).into(), hover: over(hovered.clone(), base).into(),
pressed: over(pressed, base).into(), pressed: over(pressed, base).into(),
selected: over(hovered, base).into(), selected: over(hovered, base).into(),
@ -174,11 +174,11 @@ where
border: C, border: C,
) -> Self { ) -> Self {
let base = base.into(); let base = base.into();
let mut base_50 = base.clone(); let mut base_50 = base;
base_50.alpha *= 0.5; base_50.alpha *= 0.5;
let mut on_20 = on_component.clone().into(); let mut on_20 = on_component.clone().into();
let mut on_50 = on_20.clone(); let mut on_50 = on_20;
on_20.alpha = 0.2; on_20.alpha = 0.2;
on_50.alpha = 0.5; on_50.alpha = 0.5;
@ -188,7 +188,7 @@ where
disabled_border.alpha *= 0.5; disabled_border.alpha *= 0.5;
Component { Component {
base: base.clone().into(), base: base.into(),
hover: if base.alpha < 0.001 { hover: if base.alpha < 0.001 {
hovered.clone() hovered.clone()
} else { } else {
@ -207,7 +207,7 @@ where
selected_text: accent.clone(), selected_text: accent.clone(),
focus: accent.clone(), focus: accent.clone(),
divider: if is_high_contrast { divider: if is_high_contrast {
on_50.clone().into() on_50.into()
} else { } else {
on_20.into() on_20.into()
}, },

View file

@ -291,142 +291,142 @@ impl Theme<Srgba> {
// TODO convenient getter functions for each named color variable // TODO convenient getter functions for each named color variable
/// get @accent_color /// get @accent_color
pub fn accent_color(&self) -> Srgba { pub fn accent_color(&self) -> Srgba {
self.accent.base.clone() self.accent.base
} }
/// get @success_color /// get @success_color
pub fn success_color(&self) -> Srgba { pub fn success_color(&self) -> Srgba {
self.success.base.clone() self.success.base
} }
/// get @destructive_color /// get @destructive_color
pub fn destructive_color(&self) -> Srgba { pub fn destructive_color(&self) -> Srgba {
self.destructive.base.clone() self.destructive.base
} }
/// get @warning_color /// get @warning_color
pub fn warning_color(&self) -> Srgba { pub fn warning_color(&self) -> Srgba {
self.warning.base.clone() self.warning.base
} }
// Containers // Containers
/// get @bg_color /// get @bg_color
pub fn bg_color(&self) -> Srgba { pub fn bg_color(&self) -> Srgba {
self.background.base.clone() self.background.base
} }
/// get @bg_component_color /// get @bg_component_color
pub fn bg_component_color(&self) -> Srgba { pub fn bg_component_color(&self) -> Srgba {
self.background.component.base.clone() self.background.component.base
} }
/// get @primary_container_color /// get @primary_container_color
pub fn primary_container_color(&self) -> Srgba { pub fn primary_container_color(&self) -> Srgba {
self.primary.base.clone() self.primary.base
} }
/// get @primary_component_color /// get @primary_component_color
pub fn primary_component_color(&self) -> Srgba { pub fn primary_component_color(&self) -> Srgba {
self.primary.component.base.clone() self.primary.component.base
} }
/// get @secondary_container_color /// get @secondary_container_color
pub fn secondary_container_color(&self) -> Srgba { pub fn secondary_container_color(&self) -> Srgba {
self.secondary.base.clone() self.secondary.base
} }
/// get @secondary_component_color /// get @secondary_component_color
pub fn secondary_component_color(&self) -> Srgba { pub fn secondary_component_color(&self) -> Srgba {
self.secondary.component.base.clone() self.secondary.component.base
} }
/// get @button_bg_color /// get @button_bg_color
pub fn button_bg_color(&self) -> Srgba { pub fn button_bg_color(&self) -> Srgba {
self.button.base.clone() self.button.base
} }
// Text // Text
/// get @on_bg_color /// get @on_bg_color
pub fn on_bg_color(&self) -> Srgba { pub fn on_bg_color(&self) -> Srgba {
self.background.on.clone() self.background.on
} }
/// get @on_bg_component_color /// get @on_bg_component_color
pub fn on_bg_component_color(&self) -> Srgba { pub fn on_bg_component_color(&self) -> Srgba {
self.background.component.on.clone() self.background.component.on
} }
/// get @on_primary_color /// get @on_primary_color
pub fn on_primary_container_color(&self) -> Srgba { pub fn on_primary_container_color(&self) -> Srgba {
self.primary.on.clone() self.primary.on
} }
/// get @on_primary_component_color /// get @on_primary_component_color
pub fn on_primary_component_color(&self) -> Srgba { pub fn on_primary_component_color(&self) -> Srgba {
self.primary.component.on.clone() self.primary.component.on
} }
/// get @on_secondary_color /// get @on_secondary_color
pub fn on_secondary_container_color(&self) -> Srgba { pub fn on_secondary_container_color(&self) -> Srgba {
self.secondary.on.clone() self.secondary.on
} }
/// get @on_secondary_component_color /// get @on_secondary_component_color
pub fn on_secondary_component_color(&self) -> Srgba { pub fn on_secondary_component_color(&self) -> Srgba {
self.secondary.component.on.clone() self.secondary.component.on
} }
/// get @accent_text_color /// get @accent_text_color
pub fn accent_text_color(&self) -> Srgba { pub fn accent_text_color(&self) -> Srgba {
self.accent.base.clone() self.accent.base
} }
/// get @success_text_color /// get @success_text_color
pub fn success_text_color(&self) -> Srgba { pub fn success_text_color(&self) -> Srgba {
self.success.base.clone() self.success.base
} }
/// get @warning_text_color /// get @warning_text_color
pub fn warning_text_color(&self) -> Srgba { pub fn warning_text_color(&self) -> Srgba {
self.warning.base.clone() self.warning.base
} }
/// get @destructive_text_color /// get @destructive_text_color
pub fn destructive_text_color(&self) -> Srgba { pub fn destructive_text_color(&self) -> Srgba {
self.destructive.base.clone() self.destructive.base
} }
/// get @on_accent_color /// get @on_accent_color
pub fn on_accent_color(&self) -> Srgba { pub fn on_accent_color(&self) -> Srgba {
self.accent.on.clone() self.accent.on
} }
/// get @on_success_color /// get @on_success_color
pub fn on_success_color(&self) -> Srgba { pub fn on_success_color(&self) -> Srgba {
self.success.on.clone() self.success.on
} }
/// get @oon_warning_color /// get @oon_warning_color
pub fn on_warning_color(&self) -> Srgba { pub fn on_warning_color(&self) -> Srgba {
self.warning.on.clone() self.warning.on
} }
/// get @on_destructive_color /// get @on_destructive_color
pub fn on_destructive_color(&self) -> Srgba { pub fn on_destructive_color(&self) -> Srgba {
self.destructive.on.clone() self.destructive.on
} }
/// get @button_color /// get @button_color
pub fn button_color(&self) -> Srgba { pub fn button_color(&self) -> Srgba {
self.button.on.clone() self.button.on
} }
// Borders and Dividers // Borders and Dividers
/// get @bg_divider /// get @bg_divider
pub fn bg_divider(&self) -> Srgba { pub fn bg_divider(&self) -> Srgba {
self.background.divider.clone() self.background.divider
} }
/// get @bg_component_divider /// get @bg_component_divider
pub fn bg_component_divider(&self) -> Srgba { pub fn bg_component_divider(&self) -> Srgba {
self.background.component.divider.clone() self.background.component.divider
} }
/// get @primary_container_divider /// get @primary_container_divider
pub fn primary_container_divider(&self) -> Srgba { pub fn primary_container_divider(&self) -> Srgba {
self.primary.divider.clone() self.primary.divider
} }
/// get @primary_component_divider /// get @primary_component_divider
pub fn primary_component_divider(&self) -> Srgba { pub fn primary_component_divider(&self) -> Srgba {
self.primary.component.divider.clone() self.primary.component.divider
} }
/// get @secondary_container_divider /// get @secondary_container_divider
pub fn secondary_container_divider(&self) -> Srgba { pub fn secondary_container_divider(&self) -> Srgba {
self.secondary.divider.clone() self.secondary.divider
} }
/// get @button_divider /// get @button_divider
pub fn button_divider(&self) -> Srgba { pub fn button_divider(&self) -> Srgba {
self.button.divider.clone() self.button.divider
} }
/// get @window_header_bg /// get @window_header_bg
pub fn window_header_bg(&self) -> Srgba { pub fn window_header_bg(&self) -> Srgba {
self.background.base.clone() self.background.base
} }
/// get @space_none /// get @space_none
@ -765,7 +765,7 @@ impl ThemeBuilder {
let bg = if let Some(bg_color) = bg_color { let bg = if let Some(bg_color) = bg_color {
bg_color bg_color
} else { } else {
p_ref.gray_1.clone() p_ref.gray_1
}; };
let step_array = steps(bg, NonZeroUsize::new(100).unwrap()); let step_array = steps(bg, NonZeroUsize::new(100).unwrap());
@ -792,10 +792,10 @@ impl ThemeBuilder {
text_steps_array.as_ref(), text_steps_array.as_ref(),
); );
let mut component_hovered_overlay = p_ref.neutral_0.clone(); let mut component_hovered_overlay = p_ref.neutral_0;
component_hovered_overlay.alpha = 0.1; component_hovered_overlay.alpha = 0.1;
let mut component_pressed_overlay = p_ref.neutral_0.clone(); let mut component_pressed_overlay = p_ref.neutral_0;
component_pressed_overlay.alpha = 0.2; component_pressed_overlay.alpha = 0.2;
let bg_component = Component::component( let bg_component = Component::component(
@ -851,7 +851,7 @@ impl ThemeBuilder {
// Standard button background is neutral 7 with 25% opacity // Standard button background is neutral 7 with 25% opacity
let button_bg = { let button_bg = {
let mut color = neutral_7.clone(); let mut color = neutral_7;
color.alpha = 0.25; color.alpha = 0.25;
color color
}; };
@ -955,7 +955,7 @@ impl ThemeBuilder {
p_ref.neutral_8, p_ref.neutral_8,
); );
let mut on_50 = component.on.clone(); let mut on_50 = component.on;
on_50.alpha = 0.5; on_50.alpha = 0.5;
component.on_disabled = over(on_50, component.base); component.on_disabled = over(on_50, component.base);