Skip to content

Commit

Permalink
Merge pull request #2250 from Koranir/text-alpha-fix
Browse files Browse the repository at this point in the history
Fix text transparency in tiny_skia renderer
  • Loading branch information
hecrj authored Feb 15, 2024
2 parents 84cc9f1 + fbf1895 commit 7555487
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `PaneGrid` click interaction on the top edge. [#2168](https://github.com/iced-rs/iced/pull/2168)
- `iced_wgpu` not rendering text in SVGs. [#2161](https://github.com/iced-rs/iced/pull/2161)
- Text clipping. [#2154](https://github.com/iced-rs/iced/pull/2154)
- Text transparency in `iced_tiny_skia`. [#2250](https://github.com/iced-rs/iced/pull/2250)
- Layout invalidation when `Tooltip` changes `overlay`. [#2143](https://github.com/iced-rs/iced/pull/2143)
- `Overlay` composition. [#2142](https://github.com/iced-rs/iced/pull/2142)
- Incorrect GIF for the `progress_bar` example. [#2141](https://github.com/iced-rs/iced/pull/2141)
Expand Down
11 changes: 10 additions & 1 deletion tiny_skia/src/text.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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,
);
Expand Down

0 comments on commit 7555487

Please sign in to comment.