From e1b165b9833c6770dc2345397d650abf43f6ed33 Mon Sep 17 00:00:00 2001 From: Andrea Bogazzi Date: Sat, 24 Oct 2015 16:04:53 +0200 Subject: [PATCH 1/2] switch to save and restore methods --- src/canvas.class.js | 6 ++++-- src/static_canvas.class.js | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/canvas.class.js b/src/canvas.class.js index 1bdd5653..5fca3334 100644 --- a/src/canvas.class.js +++ b/src/canvas.class.js @@ -1248,9 +1248,11 @@ * @param {CanvasRenderingContext2D} ctx Context to render controls on */ drawControls: function(ctx) { + var activeGroup = this.getActiveGroup(), + iVpt = fabric.util.invertTransform(this.viewportTransform); + ctx.save(); - ctx.setTransform.apply(ctx, [1, 0, 0, 1, 0, 0]); - var activeGroup = this.getActiveGroup(); + ctx.transform.apply(ctx, iVpt); if (activeGroup) { activeGroup._renderControls(ctx); } diff --git a/src/static_canvas.class.js b/src/static_canvas.class.js index e746cce7..bb5e2786 100644 --- a/src/static_canvas.class.js +++ b/src/static_canvas.class.js @@ -861,6 +861,7 @@ this.fire('before:render'); + canvasToDrawOn.save() if (this.clipTo) { fabric.util.clipContext(this, canvasToDrawOn); } @@ -868,7 +869,7 @@ objsToRender = this._chooseObjectsToRender(); //apply viewport transform once for all rendering process - canvasToDrawOn.setTransform.apply(canvasToDrawOn, this.viewportTransform); + canvasToDrawOn.transform.apply(canvasToDrawOn, this.viewportTransform); this._renderBackground(canvasToDrawOn); this._renderObjects(canvasToDrawOn, objsToRender); this.preserveObjectStacking || this._renderObjects(canvasToDrawOn, [this.getActiveGroup()]); @@ -887,7 +888,7 @@ } this.fire('after:render'); - canvasToDrawOn.setTransform.apply(canvasToDrawOn, [1, 0, 0, 1, 0, 0]); + canvasToDrawOn.restore(); return this; }, From 41d247d700b8127fa7dad6664cd1a99419954f01 Mon Sep 17 00:00:00 2001 From: Andrea Bogazzi Date: Sat, 24 Oct 2015 16:16:34 +0200 Subject: [PATCH 2/2] Update static_canvas.class.js --- src/static_canvas.class.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static_canvas.class.js b/src/static_canvas.class.js index bb5e2786..5b89bcf7 100644 --- a/src/static_canvas.class.js +++ b/src/static_canvas.class.js @@ -861,7 +861,7 @@ this.fire('before:render'); - canvasToDrawOn.save() + canvasToDrawOn.save(); if (this.clipTo) { fabric.util.clipContext(this, canvasToDrawOn); }