summaryrefslogtreecommitdiffstats
path: root/tiny_skia
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-01-17 15:53:08 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-01-17 15:53:08 +0100
commit5d4c55c07a80d93e6009e94c2a861ad549d30aab (patch)
tree54997b5c711614d3612c6e56ac4cdcab7835ca01 /tiny_skia
parentacee3b030baf4df24a871e56789772c677b66bcf (diff)
downloadiced-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.rs21
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,
}));
}