diff options
author | 2024-01-17 15:53:08 +0100 | |
---|---|---|
committer | 2024-01-17 15:53:08 +0100 | |
commit | 5d4c55c07a80d93e6009e94c2a861ad549d30aab (patch) | |
tree | 54997b5c711614d3612c6e56ac4cdcab7835ca01 /tiny_skia | |
parent | acee3b030baf4df24a871e56789772c677b66bcf (diff) | |
download | iced-5d4c55c07a80d93e6009e94c2a861ad549d30aab.tar.gz iced-5d4c55c07a80d93e6009e94c2a861ad549d30aab.tar.bz2 iced-5d4c55c07a80d93e6009e94c2a861ad549d30aab.zip |
Fix `paint` not being transformed in `iced_tiny_skia`
Diffstat (limited to 'tiny_skia')
-rw-r--r-- | tiny_skia/src/geometry.rs | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/tiny_skia/src/geometry.rs b/tiny_skia/src/geometry.rs index 501638e0..74a08d38 100644 --- a/tiny_skia/src/geometry.rs +++ b/tiny_skia/src/geometry.rs @@ -48,10 +48,13 @@ impl Frame { let fill = fill.into(); + let mut paint = into_paint(fill.style); + paint.shader.transform(self.transform); + self.primitives .push(Primitive::Custom(primitive::Custom::Fill { path, - paint: into_paint(fill.style), + paint, rule: into_fill_rule(fill.rule), })); } @@ -70,13 +73,16 @@ impl Frame { let fill = fill.into(); + let mut paint = tiny_skia::Paint { + anti_alias: false, + ..into_paint(fill.style) + }; + paint.shader.transform(self.transform); + self.primitives .push(Primitive::Custom(primitive::Custom::Fill { path, - paint: tiny_skia::Paint { - anti_alias: false, - ..into_paint(fill.style) - }, + paint, rule: into_fill_rule(fill.rule), })); } @@ -91,10 +97,13 @@ impl Frame { let stroke = stroke.into(); let skia_stroke = into_stroke(&stroke); + let mut paint = into_paint(stroke.style); + paint.shader.transform(self.transform); + self.primitives .push(Primitive::Custom(primitive::Custom::Stroke { path, - paint: into_paint(stroke.style), + paint, stroke: skia_stroke, })); } |