diff options
author | 2023-06-03 03:04:38 +0200 | |
---|---|---|
committer | 2023-06-03 03:04:38 +0200 | |
commit | c15f1b5f6575792cc89bb5fba2e613428397e46a (patch) | |
tree | 77526943d7aac8004e3ac7dca07154dcbbe25a0f /wgpu/src/text.rs | |
parent | b353767d2d9703aae35f10ebf8a9ee1490c3ae37 (diff) | |
parent | b5fc0f4a3aa45d33d81d5799396f0b0770c4dff3 (diff) | |
download | iced-c15f1b5f6575792cc89bb5fba2e613428397e46a.tar.gz iced-c15f1b5f6575792cc89bb5fba2e613428397e46a.tar.bz2 iced-c15f1b5f6575792cc89bb5fba2e613428397e46a.zip |
Merge pull request #1888 from iced-rs/web-colors
Introduce `web-colors` feature flag to enable "sRGB linear" blending
Diffstat (limited to 'wgpu/src/text.rs')
-rw-r--r-- | wgpu/src/text.rs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/wgpu/src/text.rs b/wgpu/src/text.rs index 714e0400..0d88865c 100644 --- a/wgpu/src/text.rs +++ b/wgpu/src/text.rs @@ -2,6 +2,7 @@ use crate::core::alignment; use crate::core::font::{self, Font}; use crate::core::text::{Hit, LineHeight, Shaping}; use crate::core::{Pixels, Point, Rectangle, Size}; +use crate::graphics::color; use crate::layer::Text; use rustc_hash::{FxHashMap, FxHashSet}; @@ -35,7 +36,16 @@ impl Pipeline { .into_iter(), )), renderers: Vec::new(), - atlas: glyphon::TextAtlas::new(device, queue, format), + atlas: glyphon::TextAtlas::new( + device, + queue, + format, + if color::GAMMA_CORRECTION { + glyphon::ColorMode::Accurate + } else { + glyphon::ColorMode::Web + }, + ), prepare_layer: 0, measurement_cache: RefCell::new(Cache::new()), render_cache: Cache::new(), @@ -155,7 +165,8 @@ impl Pipeline { bottom: (clip_bounds.y + clip_bounds.height) as i32, }, default_color: { - let [r, g, b, a] = section.color.into_linear(); + let [r, g, b, a] = + color::pack(section.color).components(); glyphon::Color::rgba( (r * 255.0) as u8, |