diff options
author | 2024-02-15 03:18:15 +0100 | |
---|---|---|
committer | 2024-02-15 03:18:15 +0100 | |
commit | 7555487503234cdac0646db8ed47ec652ccfe8f4 (patch) | |
tree | 02faede5d49a1abcad37d1a6c287af6d4c2e1e11 /tiny_skia/src | |
parent | 84cc9f130b4e29219d47db42cdb76548b054c66b (diff) | |
parent | fbf1895f97f6fd0c4311fba614c74983554761d7 (diff) | |
download | iced-7555487503234cdac0646db8ed47ec652ccfe8f4.tar.gz iced-7555487503234cdac0646db8ed47ec652ccfe8f4.tar.bz2 iced-7555487503234cdac0646db8ed47ec652ccfe8f4.zip |
Merge pull request #2250 from Koranir/text-alpha-fix
Fix text transparency in tiny_skia renderer
Diffstat (limited to 'tiny_skia/src')
-rw-r--r-- | tiny_skia/src/text.rs | 11 |
1 files changed, 10 insertions, 1 deletions
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, ); |