diff --git a/src/Canvas.js b/src/Canvas.js index ce9cad9a..5fa05a90 100644 --- a/src/Canvas.js +++ b/src/Canvas.js @@ -187,6 +187,13 @@ if(pixelRatio !== 1) { this.getContext().scale(pixelRatio, pixelRatio); } + }, + _counterPixelRatio: function() { + var pixelRatio = Kinetic.Canvas.pixelRatio; + if(pixelRatio !== 1) { + pixelRatio = 1 / pixelRatio; + this.getContext().scale(pixelRatio, pixelRatio); + } } }; diff --git a/src/Layer.js b/src/Layer.js index d3f45677..b379e89a 100644 --- a/src/Layer.js +++ b/src/Layer.js @@ -40,7 +40,7 @@ this.afterDrawFunc = undefined; this.canvas = new Kinetic.SceneCanvas(); this.canvas.getElement().style.position = 'absolute'; - this.hitCanvas = new Kinetic.HitCanvas(0, 0); + this.hitCanvas = new Kinetic.HitCanvas(); // call super constructor Kinetic.Container.call(this, config); diff --git a/src/Node.js b/src/Node.js index 8a27be74..99205ede 100644 --- a/src/Node.js +++ b/src/Node.js @@ -760,6 +760,8 @@ } context = canvas.getContext(); context.save(); + canvas._counterPixelRatio(); + if(x || y) { context.translate(-1 * x, -1 * y); } diff --git a/src/Stage.js b/src/Stage.js index 23da3e94..6bf912a9 100644 --- a/src/Stage.js +++ b/src/Stage.js @@ -563,7 +563,7 @@ this.attrs.container.appendChild(this.content); this.bufferCanvas = new Kinetic.SceneCanvas(); - this.hitCanvas = new Kinetic.HitCanvas(0, 0); + this.hitCanvas = new Kinetic.HitCanvas(); this._resizeDOM(); },