mirror of
https://github.com/photonstorm/phaser
synced 2024-11-27 07:01:20 +00:00
Merging in the CanvasPool changes to the core.
This commit is contained in:
parent
50516e3d34
commit
e901fb80f6
7 changed files with 49 additions and 10 deletions
|
@ -673,11 +673,11 @@ Phaser.Game.prototype = {
|
|||
|
||||
if (this.config['canvasID'])
|
||||
{
|
||||
this.canvas = Phaser.Canvas.create(this.width, this.height, this.config['canvasID']);
|
||||
this.canvas = Phaser.Canvas.create(this, this.width, this.height, this.config['canvasID']);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.canvas = Phaser.Canvas.create(this.width, this.height);
|
||||
this.canvas = Phaser.Canvas.create(this, this.width, this.height);
|
||||
}
|
||||
|
||||
if (this.config['canvasStyle'])
|
||||
|
|
|
@ -45,7 +45,8 @@ Phaser.BitmapData = function (game, key, width, height) {
|
|||
* @property {HTMLCanvasElement} canvas - The canvas to which this BitmapData draws.
|
||||
* @default
|
||||
*/
|
||||
this.canvas = Phaser.Canvas.create(width, height, '', true);
|
||||
// this.canvas = Phaser.Canvas.create(width, height, '', true);
|
||||
this.canvas = PIXI.CanvasPool.create(this, width, height);
|
||||
|
||||
/**
|
||||
* @property {CanvasRenderingContext2D} context - The 2d context of the canvas.
|
||||
|
@ -213,7 +214,7 @@ Phaser.BitmapData = function (game, key, width, height) {
|
|||
* @property {HTMLCanvasElement} _swapCanvas - A swap canvas.
|
||||
* @private
|
||||
*/
|
||||
this._swapCanvas = Phaser.Canvas.create(width, height, '', true);
|
||||
this._swapCanvas = PIXI.CanvasPool.create(this, width, height);
|
||||
|
||||
};
|
||||
|
||||
|
@ -1680,6 +1681,17 @@ Phaser.BitmapData.prototype = {
|
|||
|
||||
},
|
||||
|
||||
/**
|
||||
* Destroys this BitmapData and puts the canvas it was using back into the canvas pool for re-use.
|
||||
*
|
||||
* @method Phaser.BitmapData#destroy
|
||||
*/
|
||||
destroy: function () {
|
||||
|
||||
PIXI.CanvasPool.remove(this);
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Resets the blend mode (effectively sets it to 'source-over')
|
||||
*
|
||||
|
|
|
@ -135,6 +135,8 @@ Phaser.Component.Destroy.prototype = {
|
|||
this._currentBounds = null;
|
||||
this._mask = null;
|
||||
|
||||
|
||||
|
||||
this._destroyCachedSprite();
|
||||
|
||||
this.destroyPhase = false;
|
||||
|
|
|
@ -53,7 +53,8 @@ PIXI.CanvasPool = {
|
|||
{
|
||||
canvas.width = width;
|
||||
canvas.height = height;
|
||||
canvas.clearRect(0, 0, width, height);
|
||||
// var context = canvas.getContext('2d');
|
||||
// context.clearRect(0, 0, width, height);
|
||||
}
|
||||
|
||||
return canvas;
|
||||
|
|
|
@ -26,7 +26,7 @@ Phaser.Canvas = {
|
|||
width = width || 256;
|
||||
height = height || 256;
|
||||
|
||||
var canvas = document.createElement('canvas');
|
||||
var canvas = PIXI.CanvasPool.create(this, width, height);
|
||||
|
||||
if (typeof id === 'string' && id !== '')
|
||||
{
|
||||
|
|
|
@ -56,7 +56,7 @@ Phaser.TilemapLayer = function (game, tilemap, index, width, height) {
|
|||
* @property {HTMLCanvasElement} canvas
|
||||
* @protected
|
||||
*/
|
||||
this.canvas = Phaser.Canvas.create(width, height);
|
||||
this.canvas = PIXI.CanvasPool.create(this, width, height);
|
||||
|
||||
/**
|
||||
* The 2d context of the canvas.
|
||||
|
@ -255,6 +255,7 @@ Phaser.TilemapLayer.sharedCopyCanvas = null;
|
|||
*
|
||||
* Code that uses the canvas is responsible to ensure the dimensions and save/restore state as appropriate.
|
||||
*
|
||||
* @method Phaser.TilemapLayer#ensureSharedCopyCanvas
|
||||
* @protected
|
||||
* @static
|
||||
*/
|
||||
|
@ -272,8 +273,7 @@ Phaser.TilemapLayer.ensureSharedCopyCanvas = function () {
|
|||
/**
|
||||
* Automatically called by World.preUpdate.
|
||||
*
|
||||
* @method Phaser.Image#preUpdate
|
||||
* @memberof Phaser.Image
|
||||
* @method Phaser.TilemapLayer#preUpdate
|
||||
*/
|
||||
Phaser.TilemapLayer.prototype.preUpdate = function() {
|
||||
|
||||
|
@ -301,6 +301,19 @@ Phaser.TilemapLayer.prototype.postUpdate = function () {
|
|||
|
||||
};
|
||||
|
||||
/**
|
||||
* Destroys this TilemapLayer.
|
||||
*
|
||||
* @method Phaser.TilemapLayer#destroy
|
||||
*/
|
||||
Phaser.TilemapLayer.prototype.destroy = function() {
|
||||
|
||||
PIXI.CanvasPool.remove(this);
|
||||
|
||||
Phaser.Component.Destroy.prototype.destroy.call(this);
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Resizes the internal canvas and texture frame used by this TilemapLayer.
|
||||
*
|
||||
|
|
|
@ -108,7 +108,7 @@ Phaser.Utils.Debug.prototype = {
|
|||
this.sprite = this.game.make.image(0, 0, this.bmd);
|
||||
this.game.stage.addChild(this.sprite);
|
||||
|
||||
this.canvas = Phaser.Canvas.create(this.game.width, this.game.height, '', true);
|
||||
this.canvas = PIXI.CanvasPool.create(this, this.game.width, this.game.height);
|
||||
this.context = this.canvas.getContext('2d');
|
||||
}
|
||||
|
||||
|
@ -812,6 +812,17 @@ Phaser.Utils.Debug.prototype = {
|
|||
Phaser.Physics.Box2D.renderBody(this.context, body, color);
|
||||
this.stop();
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Destroy this object.
|
||||
*
|
||||
* @method Phaser.Utils.Debug#destroy
|
||||
*/
|
||||
destroy: function () {
|
||||
|
||||
PIXI.CanvasPool.remove(this);
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue