diff options
-rw-r--r-- | graphics/src/text.rs | 8 | ||||
-rw-r--r-- | tiny_skia/src/layer.rs | 4 |
2 files changed, 7 insertions, 5 deletions
diff --git a/graphics/src/text.rs b/graphics/src/text.rs index 31b6de28..30269e69 100644 --- a/graphics/src/text.rs +++ b/graphics/src/text.rs @@ -78,10 +78,12 @@ impl Text { position, paragraph, clip_bounds, + transformation, .. } => ( Rectangle::new(*position, paragraph.min_bounds) - .intersection(clip_bounds), + .intersection(clip_bounds) + .map(|bounds| bounds * *transformation), Some(paragraph.horizontal_alignment), Some(paragraph.vertical_alignment), ), @@ -89,10 +91,12 @@ impl Text { editor, position, clip_bounds, + transformation, .. } => ( Rectangle::new(*position, editor.bounds) - .intersection(clip_bounds), + .intersection(clip_bounds) + .map(|bounds| bounds * *transformation), None, None, ), diff --git a/tiny_skia/src/layer.rs b/tiny_skia/src/layer.rs index 0d770d81..17e6ac13 100644 --- a/tiny_skia/src/layer.rs +++ b/tiny_skia/src/layer.rs @@ -200,9 +200,7 @@ impl Layer { |text| { text.visible_bounds() .into_iter() - .filter_map(|bounds| { - bounds.intersection(&text_a.clip_bounds()) - }) + .map(|bounds| bounds * text_a.transformation()) .collect() }, |text_a, text_b| text_a == text_b, |