summaryrefslogtreecommitdiffstats
path: root/wgpu/src/quad.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-05-31 21:31:58 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-05-31 21:31:58 +0200
commitfaa7627ea41b1ce372bae7f0d2ae36e9b15a97a3 (patch)
treea4e8dfb4fb901bdf8fa401b45601af6cf44c4567 /wgpu/src/quad.rs
parentb5f102c55835cf42427f9f8672634e81a5d724f6 (diff)
downloadiced-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 'wgpu/src/quad.rs')
-rw-r--r--wgpu/src/quad.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/wgpu/src/quad.rs b/wgpu/src/quad.rs
index 9c5ed05f..37d0c623 100644
--- a/wgpu/src/quad.rs
+++ b/wgpu/src/quad.rs
@@ -5,6 +5,7 @@ use gradient::Gradient;
use solid::Solid;
use crate::core::{Background, Rectangle};
+use crate::graphics::color;
use crate::graphics::{self, Transformation};
use bytemuck::{Pod, Zeroable};
@@ -217,7 +218,7 @@ pub struct Quad {
pub size: [f32; 2],
/// The border color of the [`Quad`], in __linear RGB__.
- pub border_color: [f32; 4],
+ pub border_color: color::Packed,
/// The border radii of the [`Quad`].
pub border_radius: [f32; 4],
@@ -250,7 +251,7 @@ impl Batch {
let kind = match background {
Background::Color(color) => {
self.solids.push(Solid {
- color: color.into_linear(),
+ color: color::pack(*color),
quad,
});