diff --git a/Chart.js b/Chart.js index e34e08a48..3c217c87d 100644 --- a/Chart.js +++ b/Chart.js @@ -25,8 +25,25 @@ this.ctx = context; //Variables global to the chart - var width = this.width = context.canvas.width; - var height = this.height = context.canvas.height; + var computeDimension = function(element,dimension) + { + if (element['offset'+dimension]) + { + return element['offset'+dimension]; + } + else + { + return document.defaultView.getComputedStyle(element).getPropertyValue(dimension); + } + } + + var width = this.width = computeDimension(context.canvas,'Width'); + var height = this.height = computeDimension(context.canvas,'Height'); + + // Firefox requires this to work correctly + context.canvas.width = width; + context.canvas.height = height; + this.aspectRatio = this.width / this.height; //High pixel density displays - multiply the size of the canvas height/width by the device pixel ratio, then scale. helpers.retinaScale(this);