From 8f65e9dc69b3d56c8facb8adb85f6c333afd6706 Mon Sep 17 00:00:00 2001 From: canine Date: Fri, 24 Oct 2025 21:21:31 -0400 Subject: [PATCH] don't pollute save count 1, add test --- src/context/page.rs | 4 +--- tests/visual/tests.js | 13 +++++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/context/page.rs b/src/context/page.rs index 7edbfae1..cbff0d80 100644 --- a/src/context/page.rs +++ b/src/context/page.rs @@ -72,9 +72,7 @@ impl PageRecorder{ pub fn set_matrix(&mut self, matrix:Matrix){ self.matrix = matrix; - if let Some(canvas) = self.current.recording_canvas() { - canvas.set_matrix(&matrix.into()); - } + self.restore(); } pub fn set_clip(&mut self, clip:&Option){ diff --git a/tests/visual/tests.js b/tests/visual/tests.js index bf81284c..161877e9 100644 --- a/tests/visual/tests.js +++ b/tests/visual/tests.js @@ -3041,3 +3041,16 @@ tests['transformed drawimage'] = function (ctx) { ctx.transform(1.2, 1, 1.8, 1.3, 0, 0) ctx.drawImage(ctx.canvas, 0, 0) } + +tests['clip path after image data'] = function (ctx) { + ctx.scale(10,10); + const data = ctx.getImageData(0,0,1,1); + ctx.putImageData(data,0,0); + + ctx.rect(5,5,10,10); + ctx.clip(); + + ctx.rect(0,0,15,15); + ctx.fillStyle="black"; + ctx.fill(); +}