diff options
author | 2024-01-20 12:11:18 +0100 | |
---|---|---|
committer | 2024-01-20 12:11:18 +0100 | |
commit | b7b457a575cdd103915994f640c50262ce30a7c5 (patch) | |
tree | c8b910de89e2e723051dc8058f796ec022026a49 /graphics | |
parent | 83902921a3065e8dadfaca23c2e03dd770d93780 (diff) | |
download | iced-b7b457a575cdd103915994f640c50262ce30a7c5.tar.gz iced-b7b457a575cdd103915994f640c50262ce30a7c5.tar.bz2 iced-b7b457a575cdd103915994f640c50262ce30a7c5.zip |
Make `shadow` optional in `renderer::Quad`
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/src/damage.rs | 21 | ||||
-rw-r--r-- | graphics/src/primitive.rs | 12 | ||||
-rw-r--r-- | graphics/src/renderer.rs | 4 |
3 files changed, 16 insertions, 21 deletions
diff --git a/graphics/src/damage.rs b/graphics/src/damage.rs index 2aec9b25..cced0c97 100644 --- a/graphics/src/damage.rs +++ b/graphics/src/damage.rs @@ -80,26 +80,25 @@ impl<T: Damage> Damage for Primitive<T> { } Self::Quad { bounds, - shadow_offset, - shadow_blur_radius, + shadow: Some(shadow), .. } => { let bounds_with_shadow = Rectangle { - x: bounds.x + shadow_offset.x.min(0.0) - shadow_blur_radius, - y: bounds.y + shadow_offset.y.min(0.0) - shadow_blur_radius, + x: bounds.x + shadow.offset.x.min(0.0) - shadow.blur_radius, + y: bounds.y + shadow.offset.y.min(0.0) - shadow.blur_radius, width: bounds.width - + shadow_offset.x.abs() - + shadow_blur_radius * 2.0, + + shadow.offset.x.abs() + + shadow.blur_radius * 2.0, height: bounds.height - + shadow_offset.y.abs() - + shadow_blur_radius * 2.0, + + shadow.offset.y.abs() + + shadow.blur_radius * 2.0, }; bounds_with_shadow.expand(1.0) } - Self::Image { bounds, .. } | Self::Svg { bounds, .. } => { - bounds.expand(1.0) - } + Self::Quad { bounds, .. } + | Self::Image { bounds, .. } + | Self::Svg { bounds, .. } => bounds.expand(1.0), Self::Clip { bounds, .. } => bounds.expand(1.0), Self::Group { primitives } => primitives .iter() diff --git a/graphics/src/primitive.rs b/graphics/src/primitive.rs index 795d9609..a428c31a 100644 --- a/graphics/src/primitive.rs +++ b/graphics/src/primitive.rs @@ -3,7 +3,9 @@ use crate::core::alignment; use crate::core::image; use crate::core::svg; use crate::core::text; -use crate::core::{Background, Color, Font, Pixels, Point, Rectangle, Vector}; +use crate::core::{ + Background, Color, Font, Pixels, Point, Rectangle, Shadow, Vector, +}; use crate::text::editor; use crate::text::paragraph; @@ -71,12 +73,8 @@ pub enum Primitive<T> { border_width: f32, /// The border color of the quad border_color: Color, - /// The shadow color of the quad - shadow_color: Color, - /// The shadow offset of the quad - shadow_offset: Vector, - /// The shadow blur radius of the quad - shadow_blur_radius: f32, + /// The [`Shadow`] of the quad + shadow: Option<Shadow>, }, /// An image primitive Image { diff --git a/graphics/src/renderer.rs b/graphics/src/renderer.rs index bd640097..6f312331 100644 --- a/graphics/src/renderer.rs +++ b/graphics/src/renderer.rs @@ -127,9 +127,7 @@ impl<B: Backend, T> iced_core::Renderer for Renderer<B, T> { border_radius: quad.border_radius.into(), border_width: quad.border_width, border_color: quad.border_color, - shadow_color: quad.shadow.color, - shadow_offset: quad.shadow.offset, - shadow_blur_radius: quad.shadow.blur_radius, + shadow: quad.shadow, }); } |