summaryrefslogtreecommitdiffstats
path: root/graphics/src/gradient.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2023-06-03 03:04:38 +0200
committerLibravatar GitHub <noreply@github.com>2023-06-03 03:04:38 +0200
commitc15f1b5f6575792cc89bb5fba2e613428397e46a (patch)
tree77526943d7aac8004e3ac7dca07154dcbbe25a0f /graphics/src/gradient.rs
parentb353767d2d9703aae35f10ebf8a9ee1490c3ae37 (diff)
parentb5fc0f4a3aa45d33d81d5799396f0b0770c4dff3 (diff)
downloadiced-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 'graphics/src/gradient.rs')
-rw-r--r--graphics/src/gradient.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/graphics/src/gradient.rs b/graphics/src/gradient.rs
index d3eabb6f..d26b5665 100644
--- a/graphics/src/gradient.rs
+++ b/graphics/src/gradient.rs
@@ -3,8 +3,10 @@
//! For a gradient that you can use as a background variant for a widget, see [`Gradient`].
//!
//! [`Gradient`]: crate::core::Gradient;
+use crate::color;
use crate::core::gradient::ColorStop;
use crate::core::{self, Color, Point, Rectangle};
+
use std::cmp::Ordering;
#[derive(Debug, Clone, PartialEq)]
@@ -101,7 +103,8 @@ impl Linear {
for (index, stop) in self.stops.iter().enumerate() {
let [r, g, b, a] =
- stop.map_or(Color::default(), |s| s.color).into_linear();
+ color::pack(stop.map_or(Color::default(), |s| s.color))
+ .components();
data[index * 4] = r;
data[(index * 4) + 1] = g;
@@ -133,7 +136,8 @@ pub fn pack(gradient: &core::Gradient, bounds: Rectangle) -> Packed {
for (index, stop) in linear.stops.iter().enumerate() {
let [r, g, b, a] =
- stop.map_or(Color::default(), |s| s.color).into_linear();
+ color::pack(stop.map_or(Color::default(), |s| s.color))
+ .components();
data[index * 4] = r;
data[(index * 4) + 1] = g;