diff options
author | 2023-04-04 20:47:53 +0200 | |
---|---|---|
committer | 2023-04-04 20:47:53 +0200 | |
commit | 6270c33ed9823c67f6b6e6dac8fd32521e4ac5a9 (patch) | |
tree | c1ac08705d97e836595922c9148152cb140b07a0 /graphics/src/primitive.rs | |
parent | 0f7abffc0e94b4bb9f8117db633bfd07d900eb93 (diff) | |
download | iced-6270c33ed9823c67f6b6e6dac8fd32521e4ac5a9.tar.gz iced-6270c33ed9823c67f6b6e6dac8fd32521e4ac5a9.tar.bz2 iced-6270c33ed9823c67f6b6e6dac8fd32521e4ac5a9.zip |
Keep playing with incremental rendering (still very slow)
Diffstat (limited to 'graphics/src/primitive.rs')
-rw-r--r-- | graphics/src/primitive.rs | 12 |
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(); } } ( |