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 '')
| -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      }  } | 
