Make shadow optional in renderer::Quad
This commit is contained in:
parent
83902921a3
commit
b7b457a575
8 changed files with 57 additions and 46 deletions
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue