summaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-01-20 12:11:18 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-01-20 12:11:18 +0100
commitb7b457a575cdd103915994f640c50262ce30a7c5 (patch)
treec8b910de89e2e723051dc8058f796ec022026a49 /graphics
parent83902921a3065e8dadfaca23c2e03dd770d93780 (diff)
downloadiced-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.rs21
-rw-r--r--graphics/src/primitive.rs12
-rw-r--r--graphics/src/renderer.rs4
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,
});
}