diff options
author | 2023-05-31 21:31:58 +0200 | |
---|---|---|
committer | 2023-05-31 21:31:58 +0200 | |
commit | faa7627ea41b1ce372bae7f0d2ae36e9b15a97a3 (patch) | |
tree | a4e8dfb4fb901bdf8fa401b45601af6cf44c4567 /wgpu/src/backend.rs | |
parent | b5f102c55835cf42427f9f8672634e81a5d724f6 (diff) | |
download | iced-faa7627ea41b1ce372bae7f0d2ae36e9b15a97a3.tar.gz iced-faa7627ea41b1ce372bae7f0d2ae36e9b15a97a3.tar.bz2 iced-faa7627ea41b1ce372bae7f0d2ae36e9b15a97a3.zip |
Introduce `web-colors` feature flag to enable sRGB linear blending
This is how browsers perform color management. They treat
gamma-corrected sRGB colors as if they were linear RGB.
Correctness aside, this mode is introduced for legacy reasons. Most
UI/UX tooling uses this color management as well, and many have created
an intuition about how color should behave from interacting with a
browser.
This feature flag should facilitate application development with `iced`
in those cases.
More details: https://webcolorisstillbroken.com/
Diffstat (limited to '')
-rw-r--r-- | wgpu/src/backend.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/wgpu/src/backend.rs b/wgpu/src/backend.rs index 844987f2..b524c615 100644 --- a/wgpu/src/backend.rs +++ b/wgpu/src/backend.rs @@ -1,6 +1,7 @@ use crate::core; use crate::core::{Color, Font, Point, Size}; use crate::graphics::backend; +use crate::graphics::color; use crate::graphics::{Primitive, Transformation, Viewport}; use crate::quad; use crate::text; @@ -239,7 +240,7 @@ impl Backend { load: match clear_color { Some(background_color) => wgpu::LoadOp::Clear({ let [r, g, b, a] = - background_color.into_linear(); + color::pack(background_color).components(); wgpu::Color { r: f64::from(r), |