diff --git a/paint/renderers/htmlcanvas/htmlcanvas.go b/paint/renderers/htmlcanvas/htmlcanvas.go
index 208218daaf..7c91c3c28f 100644
--- a/paint/renderers/htmlcanvas/htmlcanvas.go
+++ b/paint/renderers/htmlcanvas/htmlcanvas.go
@@ -104,7 +104,7 @@ func (rs *Renderer) PopContext(pt *render.ContextPop) {
}
func (rs *Renderer) setTransform(ctx *render.Context) {
- m := ctx.Transform
+ m := ctx.Cumulative
rs.ctx.Call("setTransform", m.XX, m.YX, m.XY, m.YY, m.X0, m.Y0)
}
diff --git a/paint/renderers/htmlcanvas/path.go b/paint/renderers/htmlcanvas/path.go
index 11bac68dad..2387134767 100644
--- a/paint/renderers/htmlcanvas/path.go
+++ b/paint/renderers/htmlcanvas/path.go
@@ -57,7 +57,7 @@ func (rs *Renderer) RenderPath(pt *render.Path) {
rs.ctx.Call("fill", style.Fill.Rule.String())
}
if style.HasStroke() {
- scale := math32.Sqrt(math32.Abs(pt.Context.Transform.Det()))
+ scale := math32.Sqrt(math32.Abs(pt.Context.Cumulative.Det()))
if scale != 1 {
// note: this is a hack to get the effect of [ppath.VectorEffectNonScalingStroke]
stk := style.Stroke