blob: e32960b91a04b0fa927bc647978d3a51530a828e [file] [log] [blame]
function CanvasRender(canvasElement, options) {
this.options = options
this.context = canvasElement.getContext('2d')
var devicePixelRatio = window.devicePixelRatio || 1
var backingStoreRatio = this.context.webkitBackingStorePixelRatio ||
this.context.mozBackingStorePixelRatio ||
this.context.msBackingStorePixelRatio ||
this.context.oBackingStorePixelRatio ||
this.context.backingStorePixelRatio || 1
this.frontBackRatio = devicePixelRatio / backingStoreRatio
if (options.autoScaleForRetina && devicePixelRatio !== backingStoreRatio) {
var oldWidth = canvasElement.width
var oldHeight = canvasElement.height
canvasElement.width = oldWidth * this.frontBackRatio
canvasElement.height = oldHeight * this.frontBackRatio
canvasElement.style.width = oldWidth + 'px'
canvasElement.style.height = oldHeight + 'px'
this.context.scale(this.frontBackRatio, this.frontBackRatio)
}
}
CanvasRender.prototype.draw = function(image) {
this.context.drawImage(image, 0, 0)
}
CanvasRender.prototype.clear = function() {
this.context.clearRect(0, 0, this.context.canvas.width,
this.context.canvas.height)
}
// Check for Non CommonJS world
if (typeof module !== 'undefined') {
module.exports = {
CanvasRender: CanvasRender
}
}