/**
* Creates a Canvas element of the given size.
*
* @class
* @memberof PIXI
* @param width {number} the width for the newly created canvas
* @param height {number} the height for the newly created canvas
*/
function CanvasBuffer(width, height)
{
/**
* The Canvas object that belongs to this CanvasBuffer.
*
* @member {HTMLCanvasElement}
*/
this.canvas = document.createElement('canvas');
/**
* A CanvasRenderingContext2D object representing a two-dimensional rendering context.
*
* @member {CanvasRenderingContext2D}
*/
this.context = this.canvas.getContext('2d');
this.canvas.width = width;
this.canvas.height = height;
}
CanvasBuffer.prototype.constructor = CanvasBuffer;
module.exports = CanvasBuffer;
Object.defineProperties(CanvasBuffer.prototype, {
/**
* The width of the canvas buffer in pixels.
*
* @member {number}
* @memberof PIXI.CanvasBuffer#
*/
width: {
get: function ()
{
return this.canvas.width;
},
set: function (val)
{
this.canvas.width = val;
}
},
/**
* The height of the canvas buffer in pixels.
*
* @member {number}
* @memberof PIXI.CanvasBuffer#
*/
height: {
get: function ()
{
return this.canvas.height;
},
set: function (val)
{
this.canvas.height = val;
}
}
});
/**
* Clears the canvas that was created by the CanvasBuffer class.
*
* @private
*/
CanvasBuffer.prototype.clear = function ()
{
this.context.setTransform(1, 0, 0, 1, 0, 0);
this.context.clearRect(0,0, this.canvas.width, this.canvas.height);
};
/**
* Resizes the canvas to the specified width and height.
*
* @param width {number} the new width of the canvas
* @param height {number} the new height of the canvas
*/
CanvasBuffer.prototype.resize = function (width, height)
{
this.canvas.width = width;
this.canvas.height = height;
};
/**
* Destroys this canvas.
*
*/
CanvasBuffer.prototype.destroy = function ()
{
this.context = null;
this.canvas = null;
};