From 00a8a167122301983753a2f4b43d136c79a7d5cb Mon Sep 17 00:00:00 2001 From: shan Date: Thu, 29 Sep 2022 10:52:58 -0700 Subject: Adds linear gradient support to 2D meshes in the canvas widget. --- graphics/src/gradient.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 graphics/src/gradient.rs (limited to 'graphics/src/gradient.rs') diff --git a/graphics/src/gradient.rs b/graphics/src/gradient.rs new file mode 100644 index 00000000..4d1eff62 --- /dev/null +++ b/graphics/src/gradient.rs @@ -0,0 +1,23 @@ +//! For creating a Gradient. + +use iced_native::Color; +use crate::widget::canvas::gradient::Linear; + +#[derive(Debug, Clone, PartialEq)] +/// A fill which transitions colors progressively along a direction, either linearly, radially, +/// or conically. +pub enum Gradient { + /// A linear gradient interpolates colors along a direction from its [`start`] to its [`end`] + /// point. + Linear(Linear), +} + + +#[derive(Debug, Clone, Copy, PartialEq)] +/// A point along the gradient vector where the specified [`color`] is unmixed. +pub struct ColorStop { + /// Offset along the gradient vector. + pub offset: f32, + /// The color of the gradient at the specified [`offset`]. + pub color: Color, +} \ No newline at end of file -- cgit