From 7a572655c1302233d5aeb036ec8a71b867326b59 Mon Sep 17 00:00:00 2001 From: Daniel Yoon <101683475+Koranir@users.noreply.github.com> Date: Wed, 14 Feb 2024 09:03:25 +1100 Subject: Fix text transparency in `iced_tiny_skia` --- tiny_skia/src/text.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'tiny_skia') diff --git a/tiny_skia/src/text.rs b/tiny_skia/src/text.rs index 8f36f955..d28cc483 100644 --- a/tiny_skia/src/text.rs +++ b/tiny_skia/src/text.rs @@ -238,6 +238,12 @@ fn draw( ) .expect("Create glyph pixel map"); + let opacity = color.a + * glyph + .color_opt + .map(|c| c.a() as f32 / 255.0) + .unwrap_or(1.0); + pixels.draw_pixmap( physical_glyph.x + placement.left, physical_glyph.y - placement.top @@ -246,7 +252,10 @@ fn draw( * transformation.scale_factor()) .round() as i32, pixmap, - &tiny_skia::PixmapPaint::default(), + &tiny_skia::PixmapPaint { + opacity, + ..tiny_skia::PixmapPaint::default() + }, tiny_skia::Transform::identity(), clip_mask, ); -- cgit