mirror of
https://github.com/penpot/penpot.git
synced 2025-12-11 22:14:05 +01:00
🔧 Always return shadows in reverse order
This commit is contained in:
@@ -1005,24 +1005,36 @@ impl Shape {
|
||||
self.shadows.clear();
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub fn drop_shadows(&self) -> impl DoubleEndedIterator<Item = &Shadow> {
|
||||
self.shadows
|
||||
.iter()
|
||||
.rev()
|
||||
.filter(|shadow| shadow.style() == ShadowStyle::Drop)
|
||||
}
|
||||
|
||||
pub fn drop_shadows_visible(&self) -> impl DoubleEndedIterator<Item = &Shadow> {
|
||||
self.shadows
|
||||
.iter()
|
||||
.rev()
|
||||
.filter(|shadow| shadow.style() == ShadowStyle::Drop && !shadow.hidden())
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub fn inner_shadows(&self) -> impl DoubleEndedIterator<Item = &Shadow> {
|
||||
self.shadows
|
||||
.iter()
|
||||
.rev()
|
||||
.filter(|shadow| shadow.style() == ShadowStyle::Inner)
|
||||
}
|
||||
|
||||
pub fn inner_shadows_visible(&self) -> impl DoubleEndedIterator<Item = &Shadow> {
|
||||
self.shadows
|
||||
.iter()
|
||||
.rev()
|
||||
.filter(|shadow| shadow.style() == ShadowStyle::Inner && !shadow.hidden())
|
||||
}
|
||||
|
||||
pub fn to_path_transform(&self) -> Option<Matrix> {
|
||||
match self.shape_type {
|
||||
Type::Path(_) | Type::Bool(_) => {
|
||||
@@ -1201,8 +1213,8 @@ impl Shape {
|
||||
}
|
||||
|
||||
pub fn drop_shadow_paints(&self) -> Vec<skia_safe::Paint> {
|
||||
let drop_shadows: Vec<&crate::shapes::shadows::Shadow> =
|
||||
self.drop_shadows().rev().filter(|s| !s.hidden()).collect();
|
||||
let drop_shadows: Vec<&Shadow> = self.drop_shadows_visible().collect();
|
||||
|
||||
drop_shadows
|
||||
.into_iter()
|
||||
.map(|shadow| {
|
||||
@@ -1215,8 +1227,8 @@ impl Shape {
|
||||
}
|
||||
|
||||
pub fn inner_shadow_paints(&self) -> Vec<skia_safe::Paint> {
|
||||
let inner_shadows: Vec<&crate::shapes::shadows::Shadow> =
|
||||
self.inner_shadows().rev().filter(|s| !s.hidden()).collect();
|
||||
let inner_shadows: Vec<&Shadow> = self.inner_shadows_visible().collect();
|
||||
|
||||
inner_shadows
|
||||
.into_iter()
|
||||
.map(|shadow| {
|
||||
|
||||
Reference in New Issue
Block a user