diff options
author | 2022-10-07 11:41:50 -0700 | |
---|---|---|
committer | 2022-10-07 12:01:07 -0700 | |
commit | 12a87c54eb68b992676060c80e518ffb29445cfc (patch) | |
tree | b3fba16f2dd95a084cdbc3850f59a049c103c355 /graphics/src/widget | |
parent | f9a6efcaa03728f43aaa105af8936c1ed4778388 (diff) | |
download | iced-12a87c54eb68b992676060c80e518ffb29445cfc.tar.gz iced-12a87c54eb68b992676060c80e518ffb29445cfc.tar.bz2 iced-12a87c54eb68b992676060c80e518ffb29445cfc.zip |
Added support for relative positioning of gradient fills. Addressed some PR feedback.
Diffstat (limited to 'graphics/src/widget')
-rw-r--r-- | graphics/src/widget/canvas.rs | 2 | ||||
-rw-r--r-- | graphics/src/widget/canvas/frame.rs | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/graphics/src/widget/canvas.rs b/graphics/src/widget/canvas.rs index fe0f618f..ea8af8c2 100644 --- a/graphics/src/widget/canvas.rs +++ b/graphics/src/widget/canvas.rs @@ -28,7 +28,7 @@ pub use stroke::{LineCap, LineDash, LineJoin, Stroke}; pub use text::Text; use crate::{Backend, Primitive, Renderer}; -pub use crate::gradient::Gradient; +pub use crate::gradient::{Gradient, Position, Location}; use iced_native::layout::{self, Layout}; use iced_native::mouse; diff --git a/graphics/src/widget/canvas/frame.rs b/graphics/src/widget/canvas/frame.rs index ccba840a..6dd0d06a 100644 --- a/graphics/src/widget/canvas/frame.rs +++ b/graphics/src/widget/canvas/frame.rs @@ -1,4 +1,4 @@ -use lyon::geom::euclid::Vector2D; +use lyon::geom::euclid::Point2D; use std::borrow::Cow; use iced_native::{Point, Rectangle, Size, Vector}; @@ -38,11 +38,11 @@ pub(crate) struct Transform { impl Transform { /// Transforms the given [Point] by the transformation matrix. - pub(crate) fn apply_to(&self, mut point: Point) -> Point { + pub(crate) fn transform_point(&self, mut point: Point) -> Point { let transformed = - self.raw.transform_vector(Vector2D::new(point.x, point.y)); - point.x = transformed.x + self.raw.m31; - point.y = transformed.y + self.raw.m32; + self.raw.transform_point(Point2D::new(point.x, point.y)); + point.x = transformed.x; + point.y = transformed.y; point } } |