summaryrefslogtreecommitdiffstats
path: root/graphics/src/primitive.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--graphics/src/primitive.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/graphics/src/primitive.rs b/graphics/src/primitive.rs
index bbf300b0..f079ff6f 100644
--- a/graphics/src/primitive.rs
+++ b/graphics/src/primitive.rs
@@ -230,7 +230,11 @@ impl Primitive {
},
) => {
if bounds_a == bounds_b {
- return content_a.damage(content_b);
+ return content_a
+ .damage(content_b)
+ .into_iter()
+ .filter_map(|r| r.intersection(bounds_a))
+ .collect();
} else {
return vec![*bounds_a, *bounds_b];
}
@@ -246,7 +250,11 @@ impl Primitive {
},
) => {
if translation_a == translation_b {
- return content_a.damage(content_b);
+ return content_a
+ .damage(content_b)
+ .into_iter()
+ .map(|r| r + *translation_a)
+ .collect();
}
}
(