diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js
index 2f58716..6d923b5 100644
--- a/src/core/graphics/Graphics.js
+++ b/src/core/graphics/Graphics.js
@@ -743,10 +743,9 @@
* @param renderer {CanvasRenderer}
* @private
*/
-Graphics.prototype.renderCanvas = function (renderer)
+Graphics.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || this.isMask === true || !this.renderable)
+ if (this.isMask === true)
{
return;
}
@@ -772,7 +771,7 @@
this._cachedSprite.alpha = this.alpha;
- Sprite.prototype.renderCanvas.call(this._cachedSprite, renderer);
+ Sprite.prototype._renderCanvas.call(this._cachedSprite, renderer);
return;
}
@@ -787,11 +786,6 @@
context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
var resolution = renderer.resolution;
context.setTransform(
transform.a * resolution,
@@ -803,16 +797,6 @@
);
CanvasGraphics.renderGraphics(this, context);
-
- for (var i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
}
};
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js
index 2f58716..6d923b5 100644
--- a/src/core/graphics/Graphics.js
+++ b/src/core/graphics/Graphics.js
@@ -743,10 +743,9 @@
* @param renderer {CanvasRenderer}
* @private
*/
-Graphics.prototype.renderCanvas = function (renderer)
+Graphics.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || this.isMask === true || !this.renderable)
+ if (this.isMask === true)
{
return;
}
@@ -772,7 +771,7 @@
this._cachedSprite.alpha = this.alpha;
- Sprite.prototype.renderCanvas.call(this._cachedSprite, renderer);
+ Sprite.prototype._renderCanvas.call(this._cachedSprite, renderer);
return;
}
@@ -787,11 +786,6 @@
context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
var resolution = renderer.resolution;
context.setTransform(
transform.a * resolution,
@@ -803,16 +797,6 @@
);
CanvasGraphics.renderGraphics(this, context);
-
- for (var i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
}
};
diff --git a/src/core/index.js b/src/core/index.js
index b67c15a..dcbf19d 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -80,16 +80,6 @@
}
return new core.CanvasRenderer(width, height, options);
- },
-
- Stage: function ()
- {
- window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container");
- return new core.Container();
- },
-
- SpriteBatch: function () {
- window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead");
}
};
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js
index 2f58716..6d923b5 100644
--- a/src/core/graphics/Graphics.js
+++ b/src/core/graphics/Graphics.js
@@ -743,10 +743,9 @@
* @param renderer {CanvasRenderer}
* @private
*/
-Graphics.prototype.renderCanvas = function (renderer)
+Graphics.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || this.isMask === true || !this.renderable)
+ if (this.isMask === true)
{
return;
}
@@ -772,7 +771,7 @@
this._cachedSprite.alpha = this.alpha;
- Sprite.prototype.renderCanvas.call(this._cachedSprite, renderer);
+ Sprite.prototype._renderCanvas.call(this._cachedSprite, renderer);
return;
}
@@ -787,11 +786,6 @@
context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
var resolution = renderer.resolution;
context.setTransform(
transform.a * resolution,
@@ -803,16 +797,6 @@
);
CanvasGraphics.renderGraphics(this, context);
-
- for (var i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
}
};
diff --git a/src/core/index.js b/src/core/index.js
index b67c15a..dcbf19d 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -80,16 +80,6 @@
}
return new core.CanvasRenderer(width, height, options);
- },
-
- Stage: function ()
- {
- window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container");
- return new core.Container();
- },
-
- SpriteBatch: function () {
- window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead");
}
};
diff --git a/src/core/particles/ParticleContainer.js b/src/core/particles/ParticleContainer.js
index 823fc78..cf2b4c0 100644
--- a/src/core/particles/ParticleContainer.js
+++ b/src/core/particles/ParticleContainer.js
@@ -66,7 +66,7 @@
/**
* @member {boolean}
- *
+ *
*/
this.interactiveChildren = false;
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js
index 2f58716..6d923b5 100644
--- a/src/core/graphics/Graphics.js
+++ b/src/core/graphics/Graphics.js
@@ -743,10 +743,9 @@
* @param renderer {CanvasRenderer}
* @private
*/
-Graphics.prototype.renderCanvas = function (renderer)
+Graphics.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || this.isMask === true || !this.renderable)
+ if (this.isMask === true)
{
return;
}
@@ -772,7 +771,7 @@
this._cachedSprite.alpha = this.alpha;
- Sprite.prototype.renderCanvas.call(this._cachedSprite, renderer);
+ Sprite.prototype._renderCanvas.call(this._cachedSprite, renderer);
return;
}
@@ -787,11 +786,6 @@
context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
var resolution = renderer.resolution;
context.setTransform(
transform.a * resolution,
@@ -803,16 +797,6 @@
);
CanvasGraphics.renderGraphics(this, context);
-
- for (var i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
}
};
diff --git a/src/core/index.js b/src/core/index.js
index b67c15a..dcbf19d 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -80,16 +80,6 @@
}
return new core.CanvasRenderer(width, height, options);
- },
-
- Stage: function ()
- {
- window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container");
- return new core.Container();
- },
-
- SpriteBatch: function () {
- window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead");
}
};
diff --git a/src/core/particles/ParticleContainer.js b/src/core/particles/ParticleContainer.js
index 823fc78..cf2b4c0 100644
--- a/src/core/particles/ParticleContainer.js
+++ b/src/core/particles/ParticleContainer.js
@@ -66,7 +66,7 @@
/**
* @member {boolean}
- *
+ *
*/
this.interactiveChildren = false;
diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js
index e3c6b54..024d155 100644
--- a/src/core/sprites/Sprite.js
+++ b/src/core/sprites/Sprite.js
@@ -361,9 +361,9 @@
*
* @param renderer {CanvasRenderer} The renderer
*/
-Sprite.prototype.renderCanvas = function (renderer)
+Sprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0 || this.texture.crop.width <= 0 || this.texture.crop.height <= 0 || !this.renderable)
+ if (this.texture.crop.width <= 0 || this.texture.crop.height <= 0)
{
return;
}
@@ -374,11 +374,6 @@
renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
// Ignore null sources
if (this.texture.valid)
{
@@ -498,21 +493,6 @@
);
}
}
-
- for (var i = 0, j = this.children.length; i < j; i++)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-};
-
-Sprite.prototype.setTexture = function ()
-{
- window.console.warn('setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture; ');
};
// some helper functions..
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js
index 2f58716..6d923b5 100644
--- a/src/core/graphics/Graphics.js
+++ b/src/core/graphics/Graphics.js
@@ -743,10 +743,9 @@
* @param renderer {CanvasRenderer}
* @private
*/
-Graphics.prototype.renderCanvas = function (renderer)
+Graphics.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || this.isMask === true || !this.renderable)
+ if (this.isMask === true)
{
return;
}
@@ -772,7 +771,7 @@
this._cachedSprite.alpha = this.alpha;
- Sprite.prototype.renderCanvas.call(this._cachedSprite, renderer);
+ Sprite.prototype._renderCanvas.call(this._cachedSprite, renderer);
return;
}
@@ -787,11 +786,6 @@
context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
var resolution = renderer.resolution;
context.setTransform(
transform.a * resolution,
@@ -803,16 +797,6 @@
);
CanvasGraphics.renderGraphics(this, context);
-
- for (var i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
}
};
diff --git a/src/core/index.js b/src/core/index.js
index b67c15a..dcbf19d 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -80,16 +80,6 @@
}
return new core.CanvasRenderer(width, height, options);
- },
-
- Stage: function ()
- {
- window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container");
- return new core.Container();
- },
-
- SpriteBatch: function () {
- window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead");
}
};
diff --git a/src/core/particles/ParticleContainer.js b/src/core/particles/ParticleContainer.js
index 823fc78..cf2b4c0 100644
--- a/src/core/particles/ParticleContainer.js
+++ b/src/core/particles/ParticleContainer.js
@@ -66,7 +66,7 @@
/**
* @member {boolean}
- *
+ *
*/
this.interactiveChildren = false;
diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js
index e3c6b54..024d155 100644
--- a/src/core/sprites/Sprite.js
+++ b/src/core/sprites/Sprite.js
@@ -361,9 +361,9 @@
*
* @param renderer {CanvasRenderer} The renderer
*/
-Sprite.prototype.renderCanvas = function (renderer)
+Sprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0 || this.texture.crop.width <= 0 || this.texture.crop.height <= 0 || !this.renderable)
+ if (this.texture.crop.width <= 0 || this.texture.crop.height <= 0)
{
return;
}
@@ -374,11 +374,6 @@
renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
// Ignore null sources
if (this.texture.valid)
{
@@ -498,21 +493,6 @@
);
}
}
-
- for (var i = 0, j = this.children.length; i < j; i++)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-};
-
-Sprite.prototype.setTexture = function ()
-{
- window.console.warn('setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture; ');
};
// some helper functions..
diff --git a/src/core/utils/index.js b/src/core/utils/index.js
index 9b38581..7339b24 100644
--- a/src/core/utils/index.js
+++ b/src/core/utils/index.js
@@ -72,26 +72,29 @@
*/
canUseNewCanvasBlendModes: function ()
{
- if (typeof document === 'undefined')
- {
- return false;
- }
+ if (typeof document === 'undefined') return false;
- var canvas = document.createElement('canvas'),
- context = canvas.getContext('2d');
+ var pngHead = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/';
+ var pngEnd = 'AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==';
- canvas.width = 1;
+ var magenta = new Image();
+ magenta.src = pngHead + 'AP804Oa6' + pngEnd;
+
+ var yellow = new Image();
+ yellow.src = pngHead + '/wCKxvRF' + pngEnd;
+
+ var canvas = document.createElement('canvas');
+ canvas.width = 6;
canvas.height = 1;
- context.fillStyle = '#000';
- context.fillRect(0, 0, 1, 1);
-
+ var context = canvas.getContext('2d');
context.globalCompositeOperation = 'multiply';
+ context.drawImage(magenta, 0, 0);
+ context.drawImage(yellow, 2, 0);
- context.fillStyle = '#fff';
- context.fillRect(0, 0, 1, 1);
+ var data = context.getImageData(2,0,1,1).data;
- return context.getImageData(0,0,1,1).data[0] === 0;
+ return (data[0] === 255 && data[1] === 0 && data[2] === 0);
},
/**
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js
index 2f58716..6d923b5 100644
--- a/src/core/graphics/Graphics.js
+++ b/src/core/graphics/Graphics.js
@@ -743,10 +743,9 @@
* @param renderer {CanvasRenderer}
* @private
*/
-Graphics.prototype.renderCanvas = function (renderer)
+Graphics.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || this.isMask === true || !this.renderable)
+ if (this.isMask === true)
{
return;
}
@@ -772,7 +771,7 @@
this._cachedSprite.alpha = this.alpha;
- Sprite.prototype.renderCanvas.call(this._cachedSprite, renderer);
+ Sprite.prototype._renderCanvas.call(this._cachedSprite, renderer);
return;
}
@@ -787,11 +786,6 @@
context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
var resolution = renderer.resolution;
context.setTransform(
transform.a * resolution,
@@ -803,16 +797,6 @@
);
CanvasGraphics.renderGraphics(this, context);
-
- for (var i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
}
};
diff --git a/src/core/index.js b/src/core/index.js
index b67c15a..dcbf19d 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -80,16 +80,6 @@
}
return new core.CanvasRenderer(width, height, options);
- },
-
- Stage: function ()
- {
- window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container");
- return new core.Container();
- },
-
- SpriteBatch: function () {
- window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead");
}
};
diff --git a/src/core/particles/ParticleContainer.js b/src/core/particles/ParticleContainer.js
index 823fc78..cf2b4c0 100644
--- a/src/core/particles/ParticleContainer.js
+++ b/src/core/particles/ParticleContainer.js
@@ -66,7 +66,7 @@
/**
* @member {boolean}
- *
+ *
*/
this.interactiveChildren = false;
diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js
index e3c6b54..024d155 100644
--- a/src/core/sprites/Sprite.js
+++ b/src/core/sprites/Sprite.js
@@ -361,9 +361,9 @@
*
* @param renderer {CanvasRenderer} The renderer
*/
-Sprite.prototype.renderCanvas = function (renderer)
+Sprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0 || this.texture.crop.width <= 0 || this.texture.crop.height <= 0 || !this.renderable)
+ if (this.texture.crop.width <= 0 || this.texture.crop.height <= 0)
{
return;
}
@@ -374,11 +374,6 @@
renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
// Ignore null sources
if (this.texture.valid)
{
@@ -498,21 +493,6 @@
);
}
}
-
- for (var i = 0, j = this.children.length; i < j; i++)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-};
-
-Sprite.prototype.setTexture = function ()
-{
- window.console.warn('setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture; ');
};
// some helper functions..
diff --git a/src/core/utils/index.js b/src/core/utils/index.js
index 9b38581..7339b24 100644
--- a/src/core/utils/index.js
+++ b/src/core/utils/index.js
@@ -72,26 +72,29 @@
*/
canUseNewCanvasBlendModes: function ()
{
- if (typeof document === 'undefined')
- {
- return false;
- }
+ if (typeof document === 'undefined') return false;
- var canvas = document.createElement('canvas'),
- context = canvas.getContext('2d');
+ var pngHead = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/';
+ var pngEnd = 'AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==';
- canvas.width = 1;
+ var magenta = new Image();
+ magenta.src = pngHead + 'AP804Oa6' + pngEnd;
+
+ var yellow = new Image();
+ yellow.src = pngHead + '/wCKxvRF' + pngEnd;
+
+ var canvas = document.createElement('canvas');
+ canvas.width = 6;
canvas.height = 1;
- context.fillStyle = '#000';
- context.fillRect(0, 0, 1, 1);
-
+ var context = canvas.getContext('2d');
context.globalCompositeOperation = 'multiply';
+ context.drawImage(magenta, 0, 0);
+ context.drawImage(yellow, 2, 0);
- context.fillStyle = '#fff';
- context.fillRect(0, 0, 1, 1);
+ var data = context.getImageData(2,0,1,1).data;
- return context.getImageData(0,0,1,1).data[0] === 0;
+ return (data[0] === 255 && data[1] === 0 && data[2] === 0);
},
/**
diff --git a/src/deprecation.js b/src/deprecation.js
new file mode 100644
index 0000000..60d052f
--- /dev/null
+++ b/src/deprecation.js
@@ -0,0 +1,37 @@
+var core = require('./core'),
+ text = require('./text');
+
+core.Stage = function ()
+{
+ window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container.");
+ return new core.Container();
+};
+
+core.SpriteBatch = function ()
+{
+ window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead.");
+};
+
+core.AssetsLoader = function () {
+ window.console.warn("The loader system was overhauled in pixi v3, please see the new PIXI.Loader class.");
+};
+
+core.Sprite.prototype.setTexture = function (texture)
+{
+ this.texture = texture;
+ window.console.warn("setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture;");
+};
+
+text.BitmapText.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myBitmapText.text = 'my text';");
+};
+
+text.Text.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myText.text = 'my text';");
+};
+
+module.exports = {};
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js
index 2f58716..6d923b5 100644
--- a/src/core/graphics/Graphics.js
+++ b/src/core/graphics/Graphics.js
@@ -743,10 +743,9 @@
* @param renderer {CanvasRenderer}
* @private
*/
-Graphics.prototype.renderCanvas = function (renderer)
+Graphics.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || this.isMask === true || !this.renderable)
+ if (this.isMask === true)
{
return;
}
@@ -772,7 +771,7 @@
this._cachedSprite.alpha = this.alpha;
- Sprite.prototype.renderCanvas.call(this._cachedSprite, renderer);
+ Sprite.prototype._renderCanvas.call(this._cachedSprite, renderer);
return;
}
@@ -787,11 +786,6 @@
context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
var resolution = renderer.resolution;
context.setTransform(
transform.a * resolution,
@@ -803,16 +797,6 @@
);
CanvasGraphics.renderGraphics(this, context);
-
- for (var i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
}
};
diff --git a/src/core/index.js b/src/core/index.js
index b67c15a..dcbf19d 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -80,16 +80,6 @@
}
return new core.CanvasRenderer(width, height, options);
- },
-
- Stage: function ()
- {
- window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container");
- return new core.Container();
- },
-
- SpriteBatch: function () {
- window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead");
}
};
diff --git a/src/core/particles/ParticleContainer.js b/src/core/particles/ParticleContainer.js
index 823fc78..cf2b4c0 100644
--- a/src/core/particles/ParticleContainer.js
+++ b/src/core/particles/ParticleContainer.js
@@ -66,7 +66,7 @@
/**
* @member {boolean}
- *
+ *
*/
this.interactiveChildren = false;
diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js
index e3c6b54..024d155 100644
--- a/src/core/sprites/Sprite.js
+++ b/src/core/sprites/Sprite.js
@@ -361,9 +361,9 @@
*
* @param renderer {CanvasRenderer} The renderer
*/
-Sprite.prototype.renderCanvas = function (renderer)
+Sprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0 || this.texture.crop.width <= 0 || this.texture.crop.height <= 0 || !this.renderable)
+ if (this.texture.crop.width <= 0 || this.texture.crop.height <= 0)
{
return;
}
@@ -374,11 +374,6 @@
renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
// Ignore null sources
if (this.texture.valid)
{
@@ -498,21 +493,6 @@
);
}
}
-
- for (var i = 0, j = this.children.length; i < j; i++)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-};
-
-Sprite.prototype.setTexture = function ()
-{
- window.console.warn('setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture; ');
};
// some helper functions..
diff --git a/src/core/utils/index.js b/src/core/utils/index.js
index 9b38581..7339b24 100644
--- a/src/core/utils/index.js
+++ b/src/core/utils/index.js
@@ -72,26 +72,29 @@
*/
canUseNewCanvasBlendModes: function ()
{
- if (typeof document === 'undefined')
- {
- return false;
- }
+ if (typeof document === 'undefined') return false;
- var canvas = document.createElement('canvas'),
- context = canvas.getContext('2d');
+ var pngHead = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/';
+ var pngEnd = 'AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==';
- canvas.width = 1;
+ var magenta = new Image();
+ magenta.src = pngHead + 'AP804Oa6' + pngEnd;
+
+ var yellow = new Image();
+ yellow.src = pngHead + '/wCKxvRF' + pngEnd;
+
+ var canvas = document.createElement('canvas');
+ canvas.width = 6;
canvas.height = 1;
- context.fillStyle = '#000';
- context.fillRect(0, 0, 1, 1);
-
+ var context = canvas.getContext('2d');
context.globalCompositeOperation = 'multiply';
+ context.drawImage(magenta, 0, 0);
+ context.drawImage(yellow, 2, 0);
- context.fillStyle = '#fff';
- context.fillRect(0, 0, 1, 1);
+ var data = context.getImageData(2,0,1,1).data;
- return context.getImageData(0,0,1,1).data[0] === 0;
+ return (data[0] === 255 && data[1] === 0 && data[2] === 0);
},
/**
diff --git a/src/deprecation.js b/src/deprecation.js
new file mode 100644
index 0000000..60d052f
--- /dev/null
+++ b/src/deprecation.js
@@ -0,0 +1,37 @@
+var core = require('./core'),
+ text = require('./text');
+
+core.Stage = function ()
+{
+ window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container.");
+ return new core.Container();
+};
+
+core.SpriteBatch = function ()
+{
+ window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead.");
+};
+
+core.AssetsLoader = function () {
+ window.console.warn("The loader system was overhauled in pixi v3, please see the new PIXI.Loader class.");
+};
+
+core.Sprite.prototype.setTexture = function (texture)
+{
+ this.texture = texture;
+ window.console.warn("setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture;");
+};
+
+text.BitmapText.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myBitmapText.text = 'my text';");
+};
+
+text.Text.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myText.text = 'my text';");
+};
+
+module.exports = {};
diff --git a/src/extras/Strip.js b/src/extras/Strip.js
index 3e0ef1b..b327c8a 100644
--- a/src/extras/Strip.js
+++ b/src/extras/Strip.js
@@ -249,14 +249,8 @@
*
* @param renderer {CanvasRenderer}
*/
-Strip.prototype.renderCanvas = function (renderer)
+Strip.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || !this.renderable)
- {
- return;
- }
-
var context = renderer.context;
var transform = this.worldTransform;
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js
index 2f58716..6d923b5 100644
--- a/src/core/graphics/Graphics.js
+++ b/src/core/graphics/Graphics.js
@@ -743,10 +743,9 @@
* @param renderer {CanvasRenderer}
* @private
*/
-Graphics.prototype.renderCanvas = function (renderer)
+Graphics.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || this.isMask === true || !this.renderable)
+ if (this.isMask === true)
{
return;
}
@@ -772,7 +771,7 @@
this._cachedSprite.alpha = this.alpha;
- Sprite.prototype.renderCanvas.call(this._cachedSprite, renderer);
+ Sprite.prototype._renderCanvas.call(this._cachedSprite, renderer);
return;
}
@@ -787,11 +786,6 @@
context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
var resolution = renderer.resolution;
context.setTransform(
transform.a * resolution,
@@ -803,16 +797,6 @@
);
CanvasGraphics.renderGraphics(this, context);
-
- for (var i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
}
};
diff --git a/src/core/index.js b/src/core/index.js
index b67c15a..dcbf19d 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -80,16 +80,6 @@
}
return new core.CanvasRenderer(width, height, options);
- },
-
- Stage: function ()
- {
- window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container");
- return new core.Container();
- },
-
- SpriteBatch: function () {
- window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead");
}
};
diff --git a/src/core/particles/ParticleContainer.js b/src/core/particles/ParticleContainer.js
index 823fc78..cf2b4c0 100644
--- a/src/core/particles/ParticleContainer.js
+++ b/src/core/particles/ParticleContainer.js
@@ -66,7 +66,7 @@
/**
* @member {boolean}
- *
+ *
*/
this.interactiveChildren = false;
diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js
index e3c6b54..024d155 100644
--- a/src/core/sprites/Sprite.js
+++ b/src/core/sprites/Sprite.js
@@ -361,9 +361,9 @@
*
* @param renderer {CanvasRenderer} The renderer
*/
-Sprite.prototype.renderCanvas = function (renderer)
+Sprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0 || this.texture.crop.width <= 0 || this.texture.crop.height <= 0 || !this.renderable)
+ if (this.texture.crop.width <= 0 || this.texture.crop.height <= 0)
{
return;
}
@@ -374,11 +374,6 @@
renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
// Ignore null sources
if (this.texture.valid)
{
@@ -498,21 +493,6 @@
);
}
}
-
- for (var i = 0, j = this.children.length; i < j; i++)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-};
-
-Sprite.prototype.setTexture = function ()
-{
- window.console.warn('setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture; ');
};
// some helper functions..
diff --git a/src/core/utils/index.js b/src/core/utils/index.js
index 9b38581..7339b24 100644
--- a/src/core/utils/index.js
+++ b/src/core/utils/index.js
@@ -72,26 +72,29 @@
*/
canUseNewCanvasBlendModes: function ()
{
- if (typeof document === 'undefined')
- {
- return false;
- }
+ if (typeof document === 'undefined') return false;
- var canvas = document.createElement('canvas'),
- context = canvas.getContext('2d');
+ var pngHead = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/';
+ var pngEnd = 'AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==';
- canvas.width = 1;
+ var magenta = new Image();
+ magenta.src = pngHead + 'AP804Oa6' + pngEnd;
+
+ var yellow = new Image();
+ yellow.src = pngHead + '/wCKxvRF' + pngEnd;
+
+ var canvas = document.createElement('canvas');
+ canvas.width = 6;
canvas.height = 1;
- context.fillStyle = '#000';
- context.fillRect(0, 0, 1, 1);
-
+ var context = canvas.getContext('2d');
context.globalCompositeOperation = 'multiply';
+ context.drawImage(magenta, 0, 0);
+ context.drawImage(yellow, 2, 0);
- context.fillStyle = '#fff';
- context.fillRect(0, 0, 1, 1);
+ var data = context.getImageData(2,0,1,1).data;
- return context.getImageData(0,0,1,1).data[0] === 0;
+ return (data[0] === 255 && data[1] === 0 && data[2] === 0);
},
/**
diff --git a/src/deprecation.js b/src/deprecation.js
new file mode 100644
index 0000000..60d052f
--- /dev/null
+++ b/src/deprecation.js
@@ -0,0 +1,37 @@
+var core = require('./core'),
+ text = require('./text');
+
+core.Stage = function ()
+{
+ window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container.");
+ return new core.Container();
+};
+
+core.SpriteBatch = function ()
+{
+ window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead.");
+};
+
+core.AssetsLoader = function () {
+ window.console.warn("The loader system was overhauled in pixi v3, please see the new PIXI.Loader class.");
+};
+
+core.Sprite.prototype.setTexture = function (texture)
+{
+ this.texture = texture;
+ window.console.warn("setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture;");
+};
+
+text.BitmapText.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myBitmapText.text = 'my text';");
+};
+
+text.Text.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myText.text = 'my text';");
+};
+
+module.exports = {};
diff --git a/src/extras/Strip.js b/src/extras/Strip.js
index 3e0ef1b..b327c8a 100644
--- a/src/extras/Strip.js
+++ b/src/extras/Strip.js
@@ -249,14 +249,8 @@
*
* @param renderer {CanvasRenderer}
*/
-Strip.prototype.renderCanvas = function (renderer)
+Strip.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || !this.renderable)
- {
- return;
- }
-
var context = renderer.context;
var transform = this.worldTransform;
diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js
index b8431de..e274c8f 100644
--- a/src/extras/TilingSprite.js
+++ b/src/extras/TilingSprite.js
@@ -214,20 +214,10 @@
*
* @param renderer {CanvasRenderer} a reference to the canvas renderer
*/
-TilingSprite.prototype.renderCanvas = function (renderer)
+TilingSprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0)
- {
- return;
- }
-
var context = renderer.context;
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
context.globalAlpha = this.worldAlpha;
var transform = this.worldTransform;
@@ -283,16 +273,6 @@
context.translate(-tilePosition.x + (this.anchor.x * this._width), -tilePosition.y + (this.anchor.y * this._height));
context.scale(1 / tileScale.x, 1 / tileScale.y);
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-
- for (i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
};
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js
index 2f58716..6d923b5 100644
--- a/src/core/graphics/Graphics.js
+++ b/src/core/graphics/Graphics.js
@@ -743,10 +743,9 @@
* @param renderer {CanvasRenderer}
* @private
*/
-Graphics.prototype.renderCanvas = function (renderer)
+Graphics.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || this.isMask === true || !this.renderable)
+ if (this.isMask === true)
{
return;
}
@@ -772,7 +771,7 @@
this._cachedSprite.alpha = this.alpha;
- Sprite.prototype.renderCanvas.call(this._cachedSprite, renderer);
+ Sprite.prototype._renderCanvas.call(this._cachedSprite, renderer);
return;
}
@@ -787,11 +786,6 @@
context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
var resolution = renderer.resolution;
context.setTransform(
transform.a * resolution,
@@ -803,16 +797,6 @@
);
CanvasGraphics.renderGraphics(this, context);
-
- for (var i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
}
};
diff --git a/src/core/index.js b/src/core/index.js
index b67c15a..dcbf19d 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -80,16 +80,6 @@
}
return new core.CanvasRenderer(width, height, options);
- },
-
- Stage: function ()
- {
- window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container");
- return new core.Container();
- },
-
- SpriteBatch: function () {
- window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead");
}
};
diff --git a/src/core/particles/ParticleContainer.js b/src/core/particles/ParticleContainer.js
index 823fc78..cf2b4c0 100644
--- a/src/core/particles/ParticleContainer.js
+++ b/src/core/particles/ParticleContainer.js
@@ -66,7 +66,7 @@
/**
* @member {boolean}
- *
+ *
*/
this.interactiveChildren = false;
diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js
index e3c6b54..024d155 100644
--- a/src/core/sprites/Sprite.js
+++ b/src/core/sprites/Sprite.js
@@ -361,9 +361,9 @@
*
* @param renderer {CanvasRenderer} The renderer
*/
-Sprite.prototype.renderCanvas = function (renderer)
+Sprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0 || this.texture.crop.width <= 0 || this.texture.crop.height <= 0 || !this.renderable)
+ if (this.texture.crop.width <= 0 || this.texture.crop.height <= 0)
{
return;
}
@@ -374,11 +374,6 @@
renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
// Ignore null sources
if (this.texture.valid)
{
@@ -498,21 +493,6 @@
);
}
}
-
- for (var i = 0, j = this.children.length; i < j; i++)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-};
-
-Sprite.prototype.setTexture = function ()
-{
- window.console.warn('setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture; ');
};
// some helper functions..
diff --git a/src/core/utils/index.js b/src/core/utils/index.js
index 9b38581..7339b24 100644
--- a/src/core/utils/index.js
+++ b/src/core/utils/index.js
@@ -72,26 +72,29 @@
*/
canUseNewCanvasBlendModes: function ()
{
- if (typeof document === 'undefined')
- {
- return false;
- }
+ if (typeof document === 'undefined') return false;
- var canvas = document.createElement('canvas'),
- context = canvas.getContext('2d');
+ var pngHead = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/';
+ var pngEnd = 'AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==';
- canvas.width = 1;
+ var magenta = new Image();
+ magenta.src = pngHead + 'AP804Oa6' + pngEnd;
+
+ var yellow = new Image();
+ yellow.src = pngHead + '/wCKxvRF' + pngEnd;
+
+ var canvas = document.createElement('canvas');
+ canvas.width = 6;
canvas.height = 1;
- context.fillStyle = '#000';
- context.fillRect(0, 0, 1, 1);
-
+ var context = canvas.getContext('2d');
context.globalCompositeOperation = 'multiply';
+ context.drawImage(magenta, 0, 0);
+ context.drawImage(yellow, 2, 0);
- context.fillStyle = '#fff';
- context.fillRect(0, 0, 1, 1);
+ var data = context.getImageData(2,0,1,1).data;
- return context.getImageData(0,0,1,1).data[0] === 0;
+ return (data[0] === 255 && data[1] === 0 && data[2] === 0);
},
/**
diff --git a/src/deprecation.js b/src/deprecation.js
new file mode 100644
index 0000000..60d052f
--- /dev/null
+++ b/src/deprecation.js
@@ -0,0 +1,37 @@
+var core = require('./core'),
+ text = require('./text');
+
+core.Stage = function ()
+{
+ window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container.");
+ return new core.Container();
+};
+
+core.SpriteBatch = function ()
+{
+ window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead.");
+};
+
+core.AssetsLoader = function () {
+ window.console.warn("The loader system was overhauled in pixi v3, please see the new PIXI.Loader class.");
+};
+
+core.Sprite.prototype.setTexture = function (texture)
+{
+ this.texture = texture;
+ window.console.warn("setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture;");
+};
+
+text.BitmapText.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myBitmapText.text = 'my text';");
+};
+
+text.Text.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myText.text = 'my text';");
+};
+
+module.exports = {};
diff --git a/src/extras/Strip.js b/src/extras/Strip.js
index 3e0ef1b..b327c8a 100644
--- a/src/extras/Strip.js
+++ b/src/extras/Strip.js
@@ -249,14 +249,8 @@
*
* @param renderer {CanvasRenderer}
*/
-Strip.prototype.renderCanvas = function (renderer)
+Strip.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || !this.renderable)
- {
- return;
- }
-
var context = renderer.context;
var transform = this.worldTransform;
diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js
index b8431de..e274c8f 100644
--- a/src/extras/TilingSprite.js
+++ b/src/extras/TilingSprite.js
@@ -214,20 +214,10 @@
*
* @param renderer {CanvasRenderer} a reference to the canvas renderer
*/
-TilingSprite.prototype.renderCanvas = function (renderer)
+TilingSprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0)
- {
- return;
- }
-
var context = renderer.context;
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
context.globalAlpha = this.worldAlpha;
var transform = this.worldTransform;
@@ -283,16 +273,6 @@
context.translate(-tilePosition.x + (this.anchor.x * this._width), -tilePosition.y + (this.anchor.y * this._height));
context.scale(1 / tileScale.x, 1 / tileScale.y);
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-
- for (i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
};
diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js
index 20f2b99..9fe88df 100644
--- a/src/extras/cacheAsBitmap.js
+++ b/src/extras/cacheAsBitmap.js
@@ -17,6 +17,15 @@
Object.defineProperties(DisplayObject.prototype, {
+
+ /**
+ * Set this to true if you want this display object to be cached as a bitmap.
+ * This basically takes a snap shot of the display object as it is at that moment. It can provide a performance benefit for complex static displayObjects.
+ * To remove simply set this property to 'null'
+ *
+ * @member {boolean}
+ * @memberof DisplayObject#
+ */
cacheAsBitmap: {
get: function ()
{
@@ -60,12 +69,17 @@
this.getBounds = this._originalGetBounds;
this.updateTransform = this._originalUpdateTransform;
- this.containsPoint = this._originalContainesPoint;
+ this.containsPoint = this._originalContainsPoint;
}
}
}
});
-
+/**
+* Renders a cached version of the sprite with WebGL
+*
+* @param renderer {WebGLRenderer} the WebGL renderer
+* @private
+*/
DisplayObject.prototype._renderCachedWebGL = function(renderer)
{
this._initCachedDisplayObject( renderer );
@@ -76,6 +90,12 @@
renderer.plugins.sprite.render( this._cachedSprite );
};
+/**
+* Prepares the WebGL renderer to cache the sprite
+*
+* @param renderer {WebGLRenderer} the WebGL renderer
+* @private
+*/
DisplayObject.prototype._initCachedDisplayObject = function( renderer )
{
if(this._cachedSprite)
@@ -83,6 +103,7 @@
return;
}
+
// first we flush anything left in the renderer (otherwise it would get rendered to the cached texture)
renderer.currentRenderer.flush();
//this.filters= [];
@@ -117,7 +138,7 @@
this.renderWebGL = this._renderCachedWebGL;
this.updateTransform = this.displayObjectUpdateTransform;
- this.getBounds = this._getCahcedBounds;
+ this.getBounds = this._getCachedBounds;
// create our cached sprite
@@ -130,7 +151,12 @@
this.containsPoint = this._cachedSprite.containsPoint.bind(this._cachedSprite);
};
-
+/**
+* Renders a cached version of the sprite with canvas
+*
+* @param renderer {CanvasRenderer} the Canvas renderer
+* @private
+*/
DisplayObject.prototype._renderCachedCanvas = function(renderer)
{
this._initCachedDisplayObjectCanvas( renderer );
@@ -141,6 +167,12 @@
};
//TODO this can be the same as the webGL verison.. will need to do a little tweaking first though..
+/**
+* Prepares the Canvas renderer to cache the sprite
+*
+* @param renderer {CanvasRenderer} the Canvas renderer
+* @private
+*/
DisplayObject.prototype._initCachedDisplayObjectCanvas = function( renderer )
{
if(this._cachedSprite)
@@ -171,7 +203,7 @@
this.renderCanvas = this._renderCachedCanvas;
this.updateTransform = this.displayObjectUpdateTransform;
- this.getBounds = this._getCahcedBounds;
+ this.getBounds = this._getCachedBounds;
// create our cached sprite
@@ -182,13 +214,23 @@
this.hitTest = this._cachedSprite.hitTest.bind(this._cachedSprite);
};
-DisplayObject.prototype._getCahcedBounds = function()
+/**
+* Calculates the bounds of the cached sprite
+*
+* @private
+*/
+DisplayObject.prototype._getCachedBounds = function()
{
this._cachedSprite._currentBounds = null;
return this._cachedSprite.getBounds();
};
+/**
+* Destroys the cached sprite.
+*
+* @private
+*/
DisplayObject.prototype._destroyCachedDisplayObject = function()
{
this._cachedSprite._texture.destroy();
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js
index 2f58716..6d923b5 100644
--- a/src/core/graphics/Graphics.js
+++ b/src/core/graphics/Graphics.js
@@ -743,10 +743,9 @@
* @param renderer {CanvasRenderer}
* @private
*/
-Graphics.prototype.renderCanvas = function (renderer)
+Graphics.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || this.isMask === true || !this.renderable)
+ if (this.isMask === true)
{
return;
}
@@ -772,7 +771,7 @@
this._cachedSprite.alpha = this.alpha;
- Sprite.prototype.renderCanvas.call(this._cachedSprite, renderer);
+ Sprite.prototype._renderCanvas.call(this._cachedSprite, renderer);
return;
}
@@ -787,11 +786,6 @@
context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
var resolution = renderer.resolution;
context.setTransform(
transform.a * resolution,
@@ -803,16 +797,6 @@
);
CanvasGraphics.renderGraphics(this, context);
-
- for (var i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
}
};
diff --git a/src/core/index.js b/src/core/index.js
index b67c15a..dcbf19d 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -80,16 +80,6 @@
}
return new core.CanvasRenderer(width, height, options);
- },
-
- Stage: function ()
- {
- window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container");
- return new core.Container();
- },
-
- SpriteBatch: function () {
- window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead");
}
};
diff --git a/src/core/particles/ParticleContainer.js b/src/core/particles/ParticleContainer.js
index 823fc78..cf2b4c0 100644
--- a/src/core/particles/ParticleContainer.js
+++ b/src/core/particles/ParticleContainer.js
@@ -66,7 +66,7 @@
/**
* @member {boolean}
- *
+ *
*/
this.interactiveChildren = false;
diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js
index e3c6b54..024d155 100644
--- a/src/core/sprites/Sprite.js
+++ b/src/core/sprites/Sprite.js
@@ -361,9 +361,9 @@
*
* @param renderer {CanvasRenderer} The renderer
*/
-Sprite.prototype.renderCanvas = function (renderer)
+Sprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0 || this.texture.crop.width <= 0 || this.texture.crop.height <= 0 || !this.renderable)
+ if (this.texture.crop.width <= 0 || this.texture.crop.height <= 0)
{
return;
}
@@ -374,11 +374,6 @@
renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
// Ignore null sources
if (this.texture.valid)
{
@@ -498,21 +493,6 @@
);
}
}
-
- for (var i = 0, j = this.children.length; i < j; i++)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-};
-
-Sprite.prototype.setTexture = function ()
-{
- window.console.warn('setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture; ');
};
// some helper functions..
diff --git a/src/core/utils/index.js b/src/core/utils/index.js
index 9b38581..7339b24 100644
--- a/src/core/utils/index.js
+++ b/src/core/utils/index.js
@@ -72,26 +72,29 @@
*/
canUseNewCanvasBlendModes: function ()
{
- if (typeof document === 'undefined')
- {
- return false;
- }
+ if (typeof document === 'undefined') return false;
- var canvas = document.createElement('canvas'),
- context = canvas.getContext('2d');
+ var pngHead = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/';
+ var pngEnd = 'AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==';
- canvas.width = 1;
+ var magenta = new Image();
+ magenta.src = pngHead + 'AP804Oa6' + pngEnd;
+
+ var yellow = new Image();
+ yellow.src = pngHead + '/wCKxvRF' + pngEnd;
+
+ var canvas = document.createElement('canvas');
+ canvas.width = 6;
canvas.height = 1;
- context.fillStyle = '#000';
- context.fillRect(0, 0, 1, 1);
-
+ var context = canvas.getContext('2d');
context.globalCompositeOperation = 'multiply';
+ context.drawImage(magenta, 0, 0);
+ context.drawImage(yellow, 2, 0);
- context.fillStyle = '#fff';
- context.fillRect(0, 0, 1, 1);
+ var data = context.getImageData(2,0,1,1).data;
- return context.getImageData(0,0,1,1).data[0] === 0;
+ return (data[0] === 255 && data[1] === 0 && data[2] === 0);
},
/**
diff --git a/src/deprecation.js b/src/deprecation.js
new file mode 100644
index 0000000..60d052f
--- /dev/null
+++ b/src/deprecation.js
@@ -0,0 +1,37 @@
+var core = require('./core'),
+ text = require('./text');
+
+core.Stage = function ()
+{
+ window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container.");
+ return new core.Container();
+};
+
+core.SpriteBatch = function ()
+{
+ window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead.");
+};
+
+core.AssetsLoader = function () {
+ window.console.warn("The loader system was overhauled in pixi v3, please see the new PIXI.Loader class.");
+};
+
+core.Sprite.prototype.setTexture = function (texture)
+{
+ this.texture = texture;
+ window.console.warn("setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture;");
+};
+
+text.BitmapText.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myBitmapText.text = 'my text';");
+};
+
+text.Text.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myText.text = 'my text';");
+};
+
+module.exports = {};
diff --git a/src/extras/Strip.js b/src/extras/Strip.js
index 3e0ef1b..b327c8a 100644
--- a/src/extras/Strip.js
+++ b/src/extras/Strip.js
@@ -249,14 +249,8 @@
*
* @param renderer {CanvasRenderer}
*/
-Strip.prototype.renderCanvas = function (renderer)
+Strip.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || !this.renderable)
- {
- return;
- }
-
var context = renderer.context;
var transform = this.worldTransform;
diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js
index b8431de..e274c8f 100644
--- a/src/extras/TilingSprite.js
+++ b/src/extras/TilingSprite.js
@@ -214,20 +214,10 @@
*
* @param renderer {CanvasRenderer} a reference to the canvas renderer
*/
-TilingSprite.prototype.renderCanvas = function (renderer)
+TilingSprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0)
- {
- return;
- }
-
var context = renderer.context;
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
context.globalAlpha = this.worldAlpha;
var transform = this.worldTransform;
@@ -283,16 +273,6 @@
context.translate(-tilePosition.x + (this.anchor.x * this._width), -tilePosition.y + (this.anchor.y * this._height));
context.scale(1 / tileScale.x, 1 / tileScale.y);
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-
- for (i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
};
diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js
index 20f2b99..9fe88df 100644
--- a/src/extras/cacheAsBitmap.js
+++ b/src/extras/cacheAsBitmap.js
@@ -17,6 +17,15 @@
Object.defineProperties(DisplayObject.prototype, {
+
+ /**
+ * Set this to true if you want this display object to be cached as a bitmap.
+ * This basically takes a snap shot of the display object as it is at that moment. It can provide a performance benefit for complex static displayObjects.
+ * To remove simply set this property to 'null'
+ *
+ * @member {boolean}
+ * @memberof DisplayObject#
+ */
cacheAsBitmap: {
get: function ()
{
@@ -60,12 +69,17 @@
this.getBounds = this._originalGetBounds;
this.updateTransform = this._originalUpdateTransform;
- this.containsPoint = this._originalContainesPoint;
+ this.containsPoint = this._originalContainsPoint;
}
}
}
});
-
+/**
+* Renders a cached version of the sprite with WebGL
+*
+* @param renderer {WebGLRenderer} the WebGL renderer
+* @private
+*/
DisplayObject.prototype._renderCachedWebGL = function(renderer)
{
this._initCachedDisplayObject( renderer );
@@ -76,6 +90,12 @@
renderer.plugins.sprite.render( this._cachedSprite );
};
+/**
+* Prepares the WebGL renderer to cache the sprite
+*
+* @param renderer {WebGLRenderer} the WebGL renderer
+* @private
+*/
DisplayObject.prototype._initCachedDisplayObject = function( renderer )
{
if(this._cachedSprite)
@@ -83,6 +103,7 @@
return;
}
+
// first we flush anything left in the renderer (otherwise it would get rendered to the cached texture)
renderer.currentRenderer.flush();
//this.filters= [];
@@ -117,7 +138,7 @@
this.renderWebGL = this._renderCachedWebGL;
this.updateTransform = this.displayObjectUpdateTransform;
- this.getBounds = this._getCahcedBounds;
+ this.getBounds = this._getCachedBounds;
// create our cached sprite
@@ -130,7 +151,12 @@
this.containsPoint = this._cachedSprite.containsPoint.bind(this._cachedSprite);
};
-
+/**
+* Renders a cached version of the sprite with canvas
+*
+* @param renderer {CanvasRenderer} the Canvas renderer
+* @private
+*/
DisplayObject.prototype._renderCachedCanvas = function(renderer)
{
this._initCachedDisplayObjectCanvas( renderer );
@@ -141,6 +167,12 @@
};
//TODO this can be the same as the webGL verison.. will need to do a little tweaking first though..
+/**
+* Prepares the Canvas renderer to cache the sprite
+*
+* @param renderer {CanvasRenderer} the Canvas renderer
+* @private
+*/
DisplayObject.prototype._initCachedDisplayObjectCanvas = function( renderer )
{
if(this._cachedSprite)
@@ -171,7 +203,7 @@
this.renderCanvas = this._renderCachedCanvas;
this.updateTransform = this.displayObjectUpdateTransform;
- this.getBounds = this._getCahcedBounds;
+ this.getBounds = this._getCachedBounds;
// create our cached sprite
@@ -182,13 +214,23 @@
this.hitTest = this._cachedSprite.hitTest.bind(this._cachedSprite);
};
-DisplayObject.prototype._getCahcedBounds = function()
+/**
+* Calculates the bounds of the cached sprite
+*
+* @private
+*/
+DisplayObject.prototype._getCachedBounds = function()
{
this._cachedSprite._currentBounds = null;
return this._cachedSprite.getBounds();
};
+/**
+* Destroys the cached sprite.
+*
+* @private
+*/
DisplayObject.prototype._destroyCachedDisplayObject = function()
{
this._cachedSprite._texture.destroy();
diff --git a/src/index.js b/src/index.js
index f864027..e3622fb 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,4 +1,5 @@
-var core = module.exports = require('./core');
+var core = require('./core'),
+ deprecation = require('./deprecation');
// plugins:
core.extras = require('./extras');
@@ -7,3 +8,5 @@
core.loaders = require('./loaders');
core.spine = require('./spine');
core.text = require('./text');
+
+module.exports = core;
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js
index 2f58716..6d923b5 100644
--- a/src/core/graphics/Graphics.js
+++ b/src/core/graphics/Graphics.js
@@ -743,10 +743,9 @@
* @param renderer {CanvasRenderer}
* @private
*/
-Graphics.prototype.renderCanvas = function (renderer)
+Graphics.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || this.isMask === true || !this.renderable)
+ if (this.isMask === true)
{
return;
}
@@ -772,7 +771,7 @@
this._cachedSprite.alpha = this.alpha;
- Sprite.prototype.renderCanvas.call(this._cachedSprite, renderer);
+ Sprite.prototype._renderCanvas.call(this._cachedSprite, renderer);
return;
}
@@ -787,11 +786,6 @@
context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
var resolution = renderer.resolution;
context.setTransform(
transform.a * resolution,
@@ -803,16 +797,6 @@
);
CanvasGraphics.renderGraphics(this, context);
-
- for (var i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
}
};
diff --git a/src/core/index.js b/src/core/index.js
index b67c15a..dcbf19d 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -80,16 +80,6 @@
}
return new core.CanvasRenderer(width, height, options);
- },
-
- Stage: function ()
- {
- window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container");
- return new core.Container();
- },
-
- SpriteBatch: function () {
- window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead");
}
};
diff --git a/src/core/particles/ParticleContainer.js b/src/core/particles/ParticleContainer.js
index 823fc78..cf2b4c0 100644
--- a/src/core/particles/ParticleContainer.js
+++ b/src/core/particles/ParticleContainer.js
@@ -66,7 +66,7 @@
/**
* @member {boolean}
- *
+ *
*/
this.interactiveChildren = false;
diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js
index e3c6b54..024d155 100644
--- a/src/core/sprites/Sprite.js
+++ b/src/core/sprites/Sprite.js
@@ -361,9 +361,9 @@
*
* @param renderer {CanvasRenderer} The renderer
*/
-Sprite.prototype.renderCanvas = function (renderer)
+Sprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0 || this.texture.crop.width <= 0 || this.texture.crop.height <= 0 || !this.renderable)
+ if (this.texture.crop.width <= 0 || this.texture.crop.height <= 0)
{
return;
}
@@ -374,11 +374,6 @@
renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
// Ignore null sources
if (this.texture.valid)
{
@@ -498,21 +493,6 @@
);
}
}
-
- for (var i = 0, j = this.children.length; i < j; i++)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-};
-
-Sprite.prototype.setTexture = function ()
-{
- window.console.warn('setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture; ');
};
// some helper functions..
diff --git a/src/core/utils/index.js b/src/core/utils/index.js
index 9b38581..7339b24 100644
--- a/src/core/utils/index.js
+++ b/src/core/utils/index.js
@@ -72,26 +72,29 @@
*/
canUseNewCanvasBlendModes: function ()
{
- if (typeof document === 'undefined')
- {
- return false;
- }
+ if (typeof document === 'undefined') return false;
- var canvas = document.createElement('canvas'),
- context = canvas.getContext('2d');
+ var pngHead = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/';
+ var pngEnd = 'AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==';
- canvas.width = 1;
+ var magenta = new Image();
+ magenta.src = pngHead + 'AP804Oa6' + pngEnd;
+
+ var yellow = new Image();
+ yellow.src = pngHead + '/wCKxvRF' + pngEnd;
+
+ var canvas = document.createElement('canvas');
+ canvas.width = 6;
canvas.height = 1;
- context.fillStyle = '#000';
- context.fillRect(0, 0, 1, 1);
-
+ var context = canvas.getContext('2d');
context.globalCompositeOperation = 'multiply';
+ context.drawImage(magenta, 0, 0);
+ context.drawImage(yellow, 2, 0);
- context.fillStyle = '#fff';
- context.fillRect(0, 0, 1, 1);
+ var data = context.getImageData(2,0,1,1).data;
- return context.getImageData(0,0,1,1).data[0] === 0;
+ return (data[0] === 255 && data[1] === 0 && data[2] === 0);
},
/**
diff --git a/src/deprecation.js b/src/deprecation.js
new file mode 100644
index 0000000..60d052f
--- /dev/null
+++ b/src/deprecation.js
@@ -0,0 +1,37 @@
+var core = require('./core'),
+ text = require('./text');
+
+core.Stage = function ()
+{
+ window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container.");
+ return new core.Container();
+};
+
+core.SpriteBatch = function ()
+{
+ window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead.");
+};
+
+core.AssetsLoader = function () {
+ window.console.warn("The loader system was overhauled in pixi v3, please see the new PIXI.Loader class.");
+};
+
+core.Sprite.prototype.setTexture = function (texture)
+{
+ this.texture = texture;
+ window.console.warn("setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture;");
+};
+
+text.BitmapText.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myBitmapText.text = 'my text';");
+};
+
+text.Text.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myText.text = 'my text';");
+};
+
+module.exports = {};
diff --git a/src/extras/Strip.js b/src/extras/Strip.js
index 3e0ef1b..b327c8a 100644
--- a/src/extras/Strip.js
+++ b/src/extras/Strip.js
@@ -249,14 +249,8 @@
*
* @param renderer {CanvasRenderer}
*/
-Strip.prototype.renderCanvas = function (renderer)
+Strip.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || !this.renderable)
- {
- return;
- }
-
var context = renderer.context;
var transform = this.worldTransform;
diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js
index b8431de..e274c8f 100644
--- a/src/extras/TilingSprite.js
+++ b/src/extras/TilingSprite.js
@@ -214,20 +214,10 @@
*
* @param renderer {CanvasRenderer} a reference to the canvas renderer
*/
-TilingSprite.prototype.renderCanvas = function (renderer)
+TilingSprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0)
- {
- return;
- }
-
var context = renderer.context;
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
context.globalAlpha = this.worldAlpha;
var transform = this.worldTransform;
@@ -283,16 +273,6 @@
context.translate(-tilePosition.x + (this.anchor.x * this._width), -tilePosition.y + (this.anchor.y * this._height));
context.scale(1 / tileScale.x, 1 / tileScale.y);
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-
- for (i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
};
diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js
index 20f2b99..9fe88df 100644
--- a/src/extras/cacheAsBitmap.js
+++ b/src/extras/cacheAsBitmap.js
@@ -17,6 +17,15 @@
Object.defineProperties(DisplayObject.prototype, {
+
+ /**
+ * Set this to true if you want this display object to be cached as a bitmap.
+ * This basically takes a snap shot of the display object as it is at that moment. It can provide a performance benefit for complex static displayObjects.
+ * To remove simply set this property to 'null'
+ *
+ * @member {boolean}
+ * @memberof DisplayObject#
+ */
cacheAsBitmap: {
get: function ()
{
@@ -60,12 +69,17 @@
this.getBounds = this._originalGetBounds;
this.updateTransform = this._originalUpdateTransform;
- this.containsPoint = this._originalContainesPoint;
+ this.containsPoint = this._originalContainsPoint;
}
}
}
});
-
+/**
+* Renders a cached version of the sprite with WebGL
+*
+* @param renderer {WebGLRenderer} the WebGL renderer
+* @private
+*/
DisplayObject.prototype._renderCachedWebGL = function(renderer)
{
this._initCachedDisplayObject( renderer );
@@ -76,6 +90,12 @@
renderer.plugins.sprite.render( this._cachedSprite );
};
+/**
+* Prepares the WebGL renderer to cache the sprite
+*
+* @param renderer {WebGLRenderer} the WebGL renderer
+* @private
+*/
DisplayObject.prototype._initCachedDisplayObject = function( renderer )
{
if(this._cachedSprite)
@@ -83,6 +103,7 @@
return;
}
+
// first we flush anything left in the renderer (otherwise it would get rendered to the cached texture)
renderer.currentRenderer.flush();
//this.filters= [];
@@ -117,7 +138,7 @@
this.renderWebGL = this._renderCachedWebGL;
this.updateTransform = this.displayObjectUpdateTransform;
- this.getBounds = this._getCahcedBounds;
+ this.getBounds = this._getCachedBounds;
// create our cached sprite
@@ -130,7 +151,12 @@
this.containsPoint = this._cachedSprite.containsPoint.bind(this._cachedSprite);
};
-
+/**
+* Renders a cached version of the sprite with canvas
+*
+* @param renderer {CanvasRenderer} the Canvas renderer
+* @private
+*/
DisplayObject.prototype._renderCachedCanvas = function(renderer)
{
this._initCachedDisplayObjectCanvas( renderer );
@@ -141,6 +167,12 @@
};
//TODO this can be the same as the webGL verison.. will need to do a little tweaking first though..
+/**
+* Prepares the Canvas renderer to cache the sprite
+*
+* @param renderer {CanvasRenderer} the Canvas renderer
+* @private
+*/
DisplayObject.prototype._initCachedDisplayObjectCanvas = function( renderer )
{
if(this._cachedSprite)
@@ -171,7 +203,7 @@
this.renderCanvas = this._renderCachedCanvas;
this.updateTransform = this.displayObjectUpdateTransform;
- this.getBounds = this._getCahcedBounds;
+ this.getBounds = this._getCachedBounds;
// create our cached sprite
@@ -182,13 +214,23 @@
this.hitTest = this._cachedSprite.hitTest.bind(this._cachedSprite);
};
-DisplayObject.prototype._getCahcedBounds = function()
+/**
+* Calculates the bounds of the cached sprite
+*
+* @private
+*/
+DisplayObject.prototype._getCachedBounds = function()
{
this._cachedSprite._currentBounds = null;
return this._cachedSprite.getBounds();
};
+/**
+* Destroys the cached sprite.
+*
+* @private
+*/
DisplayObject.prototype._destroyCachedDisplayObject = function()
{
this._cachedSprite._texture.destroy();
diff --git a/src/index.js b/src/index.js
index f864027..e3622fb 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,4 +1,5 @@
-var core = module.exports = require('./core');
+var core = require('./core'),
+ deprecation = require('./deprecation');
// plugins:
core.extras = require('./extras');
@@ -7,3 +8,5 @@
core.loaders = require('./loaders');
core.spine = require('./spine');
core.text = require('./text');
+
+module.exports = core;
diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js
index 1c8b400..f0551a1 100644
--- a/src/loaders/bitmapFontParser.js
+++ b/src/loaders/bitmapFontParser.js
@@ -1,5 +1,6 @@
var Resource = require('resource-loader').Resource,
- core = require('../core');
+ core = require('../core'),
+ text = require('../text');
module.exports = function ()
{
@@ -84,6 +85,10 @@
resource.bitmapFont = data;
+ // I'm leaving this as a temporary fix so we can test the bitmap fonts in v3
+ // but it's very likely to change
+ text.BitmapText.fonts[data.font] = data;
+
next();
});
};
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js
index 2f58716..6d923b5 100644
--- a/src/core/graphics/Graphics.js
+++ b/src/core/graphics/Graphics.js
@@ -743,10 +743,9 @@
* @param renderer {CanvasRenderer}
* @private
*/
-Graphics.prototype.renderCanvas = function (renderer)
+Graphics.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || this.isMask === true || !this.renderable)
+ if (this.isMask === true)
{
return;
}
@@ -772,7 +771,7 @@
this._cachedSprite.alpha = this.alpha;
- Sprite.prototype.renderCanvas.call(this._cachedSprite, renderer);
+ Sprite.prototype._renderCanvas.call(this._cachedSprite, renderer);
return;
}
@@ -787,11 +786,6 @@
context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
var resolution = renderer.resolution;
context.setTransform(
transform.a * resolution,
@@ -803,16 +797,6 @@
);
CanvasGraphics.renderGraphics(this, context);
-
- for (var i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
}
};
diff --git a/src/core/index.js b/src/core/index.js
index b67c15a..dcbf19d 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -80,16 +80,6 @@
}
return new core.CanvasRenderer(width, height, options);
- },
-
- Stage: function ()
- {
- window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container");
- return new core.Container();
- },
-
- SpriteBatch: function () {
- window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead");
}
};
diff --git a/src/core/particles/ParticleContainer.js b/src/core/particles/ParticleContainer.js
index 823fc78..cf2b4c0 100644
--- a/src/core/particles/ParticleContainer.js
+++ b/src/core/particles/ParticleContainer.js
@@ -66,7 +66,7 @@
/**
* @member {boolean}
- *
+ *
*/
this.interactiveChildren = false;
diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js
index e3c6b54..024d155 100644
--- a/src/core/sprites/Sprite.js
+++ b/src/core/sprites/Sprite.js
@@ -361,9 +361,9 @@
*
* @param renderer {CanvasRenderer} The renderer
*/
-Sprite.prototype.renderCanvas = function (renderer)
+Sprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0 || this.texture.crop.width <= 0 || this.texture.crop.height <= 0 || !this.renderable)
+ if (this.texture.crop.width <= 0 || this.texture.crop.height <= 0)
{
return;
}
@@ -374,11 +374,6 @@
renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
// Ignore null sources
if (this.texture.valid)
{
@@ -498,21 +493,6 @@
);
}
}
-
- for (var i = 0, j = this.children.length; i < j; i++)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-};
-
-Sprite.prototype.setTexture = function ()
-{
- window.console.warn('setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture; ');
};
// some helper functions..
diff --git a/src/core/utils/index.js b/src/core/utils/index.js
index 9b38581..7339b24 100644
--- a/src/core/utils/index.js
+++ b/src/core/utils/index.js
@@ -72,26 +72,29 @@
*/
canUseNewCanvasBlendModes: function ()
{
- if (typeof document === 'undefined')
- {
- return false;
- }
+ if (typeof document === 'undefined') return false;
- var canvas = document.createElement('canvas'),
- context = canvas.getContext('2d');
+ var pngHead = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/';
+ var pngEnd = 'AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==';
- canvas.width = 1;
+ var magenta = new Image();
+ magenta.src = pngHead + 'AP804Oa6' + pngEnd;
+
+ var yellow = new Image();
+ yellow.src = pngHead + '/wCKxvRF' + pngEnd;
+
+ var canvas = document.createElement('canvas');
+ canvas.width = 6;
canvas.height = 1;
- context.fillStyle = '#000';
- context.fillRect(0, 0, 1, 1);
-
+ var context = canvas.getContext('2d');
context.globalCompositeOperation = 'multiply';
+ context.drawImage(magenta, 0, 0);
+ context.drawImage(yellow, 2, 0);
- context.fillStyle = '#fff';
- context.fillRect(0, 0, 1, 1);
+ var data = context.getImageData(2,0,1,1).data;
- return context.getImageData(0,0,1,1).data[0] === 0;
+ return (data[0] === 255 && data[1] === 0 && data[2] === 0);
},
/**
diff --git a/src/deprecation.js b/src/deprecation.js
new file mode 100644
index 0000000..60d052f
--- /dev/null
+++ b/src/deprecation.js
@@ -0,0 +1,37 @@
+var core = require('./core'),
+ text = require('./text');
+
+core.Stage = function ()
+{
+ window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container.");
+ return new core.Container();
+};
+
+core.SpriteBatch = function ()
+{
+ window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead.");
+};
+
+core.AssetsLoader = function () {
+ window.console.warn("The loader system was overhauled in pixi v3, please see the new PIXI.Loader class.");
+};
+
+core.Sprite.prototype.setTexture = function (texture)
+{
+ this.texture = texture;
+ window.console.warn("setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture;");
+};
+
+text.BitmapText.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myBitmapText.text = 'my text';");
+};
+
+text.Text.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myText.text = 'my text';");
+};
+
+module.exports = {};
diff --git a/src/extras/Strip.js b/src/extras/Strip.js
index 3e0ef1b..b327c8a 100644
--- a/src/extras/Strip.js
+++ b/src/extras/Strip.js
@@ -249,14 +249,8 @@
*
* @param renderer {CanvasRenderer}
*/
-Strip.prototype.renderCanvas = function (renderer)
+Strip.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || !this.renderable)
- {
- return;
- }
-
var context = renderer.context;
var transform = this.worldTransform;
diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js
index b8431de..e274c8f 100644
--- a/src/extras/TilingSprite.js
+++ b/src/extras/TilingSprite.js
@@ -214,20 +214,10 @@
*
* @param renderer {CanvasRenderer} a reference to the canvas renderer
*/
-TilingSprite.prototype.renderCanvas = function (renderer)
+TilingSprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0)
- {
- return;
- }
-
var context = renderer.context;
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
context.globalAlpha = this.worldAlpha;
var transform = this.worldTransform;
@@ -283,16 +273,6 @@
context.translate(-tilePosition.x + (this.anchor.x * this._width), -tilePosition.y + (this.anchor.y * this._height));
context.scale(1 / tileScale.x, 1 / tileScale.y);
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-
- for (i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
};
diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js
index 20f2b99..9fe88df 100644
--- a/src/extras/cacheAsBitmap.js
+++ b/src/extras/cacheAsBitmap.js
@@ -17,6 +17,15 @@
Object.defineProperties(DisplayObject.prototype, {
+
+ /**
+ * Set this to true if you want this display object to be cached as a bitmap.
+ * This basically takes a snap shot of the display object as it is at that moment. It can provide a performance benefit for complex static displayObjects.
+ * To remove simply set this property to 'null'
+ *
+ * @member {boolean}
+ * @memberof DisplayObject#
+ */
cacheAsBitmap: {
get: function ()
{
@@ -60,12 +69,17 @@
this.getBounds = this._originalGetBounds;
this.updateTransform = this._originalUpdateTransform;
- this.containsPoint = this._originalContainesPoint;
+ this.containsPoint = this._originalContainsPoint;
}
}
}
});
-
+/**
+* Renders a cached version of the sprite with WebGL
+*
+* @param renderer {WebGLRenderer} the WebGL renderer
+* @private
+*/
DisplayObject.prototype._renderCachedWebGL = function(renderer)
{
this._initCachedDisplayObject( renderer );
@@ -76,6 +90,12 @@
renderer.plugins.sprite.render( this._cachedSprite );
};
+/**
+* Prepares the WebGL renderer to cache the sprite
+*
+* @param renderer {WebGLRenderer} the WebGL renderer
+* @private
+*/
DisplayObject.prototype._initCachedDisplayObject = function( renderer )
{
if(this._cachedSprite)
@@ -83,6 +103,7 @@
return;
}
+
// first we flush anything left in the renderer (otherwise it would get rendered to the cached texture)
renderer.currentRenderer.flush();
//this.filters= [];
@@ -117,7 +138,7 @@
this.renderWebGL = this._renderCachedWebGL;
this.updateTransform = this.displayObjectUpdateTransform;
- this.getBounds = this._getCahcedBounds;
+ this.getBounds = this._getCachedBounds;
// create our cached sprite
@@ -130,7 +151,12 @@
this.containsPoint = this._cachedSprite.containsPoint.bind(this._cachedSprite);
};
-
+/**
+* Renders a cached version of the sprite with canvas
+*
+* @param renderer {CanvasRenderer} the Canvas renderer
+* @private
+*/
DisplayObject.prototype._renderCachedCanvas = function(renderer)
{
this._initCachedDisplayObjectCanvas( renderer );
@@ -141,6 +167,12 @@
};
//TODO this can be the same as the webGL verison.. will need to do a little tweaking first though..
+/**
+* Prepares the Canvas renderer to cache the sprite
+*
+* @param renderer {CanvasRenderer} the Canvas renderer
+* @private
+*/
DisplayObject.prototype._initCachedDisplayObjectCanvas = function( renderer )
{
if(this._cachedSprite)
@@ -171,7 +203,7 @@
this.renderCanvas = this._renderCachedCanvas;
this.updateTransform = this.displayObjectUpdateTransform;
- this.getBounds = this._getCahcedBounds;
+ this.getBounds = this._getCachedBounds;
// create our cached sprite
@@ -182,13 +214,23 @@
this.hitTest = this._cachedSprite.hitTest.bind(this._cachedSprite);
};
-DisplayObject.prototype._getCahcedBounds = function()
+/**
+* Calculates the bounds of the cached sprite
+*
+* @private
+*/
+DisplayObject.prototype._getCachedBounds = function()
{
this._cachedSprite._currentBounds = null;
return this._cachedSprite.getBounds();
};
+/**
+* Destroys the cached sprite.
+*
+* @private
+*/
DisplayObject.prototype._destroyCachedDisplayObject = function()
{
this._cachedSprite._texture.destroy();
diff --git a/src/index.js b/src/index.js
index f864027..e3622fb 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,4 +1,5 @@
-var core = module.exports = require('./core');
+var core = require('./core'),
+ deprecation = require('./deprecation');
// plugins:
core.extras = require('./extras');
@@ -7,3 +8,5 @@
core.loaders = require('./loaders');
core.spine = require('./spine');
core.text = require('./text');
+
+module.exports = core;
diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js
index 1c8b400..f0551a1 100644
--- a/src/loaders/bitmapFontParser.js
+++ b/src/loaders/bitmapFontParser.js
@@ -1,5 +1,6 @@
var Resource = require('resource-loader').Resource,
- core = require('../core');
+ core = require('../core'),
+ text = require('../text');
module.exports = function ()
{
@@ -84,6 +85,10 @@
resource.bitmapFont = data;
+ // I'm leaving this as a temporary fix so we can test the bitmap fonts in v3
+ // but it's very likely to change
+ text.BitmapText.fonts[data.font] = data;
+
next();
});
};
diff --git a/src/text/BitmapText.js b/src/text/BitmapText.js
index 2ffd2b4..898b468 100644
--- a/src/text/BitmapText.js
+++ b/src/text/BitmapText.js
@@ -10,7 +10,7 @@
* // in this case the font is in a file called 'desyrel.fnt'
* var bitmapText = new PIXI.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"});
* ```
- *
+ *
*
* http://www.angelcode.com/products/bmfont/ for windows or
* http://www.bmglyph.com/ for mac.
@@ -203,7 +203,7 @@
*/
BitmapText.prototype.updateText = function ()
{
- var data = BitmapText.fonts[this.fontName];
+ var data = BitmapText.fonts[this._style.fontName];
var pos = new core.math.Point();
var prevCharCode = null;
var chars = [];
@@ -275,11 +275,11 @@
{
var alignOffset = 0;
- if (this.style.align === 'right')
+ if (this._style.align === 'right')
{
alignOffset = maxLineWidth - lineWidths[i];
}
- else if (this.style.align === 'center')
+ else if (this._style.align === 'center')
{
alignOffset = (maxLineWidth - lineWidths[i]) / 2;
}
@@ -341,9 +341,4 @@
this.containerUpdateTransform();
};
-BitmapText.prototype.setText = function ()
-{
- window.console.warn(" setText is now deprecated, please use the text property, e.g : myBitmapText.text = 'my text'; ");
-};
-
BitmapText.fonts = {};
diff --git a/README.md b/README.md
index cb417e9..f6d9bef 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@
of course check back on [our site]() as
any breakthroughs will be posted up there too!
+[](http://inch-ci.org/github/GoodBoyDigital/pixi.js)
[](https://bitdeli.com/free "Bitdeli Badge")
### Demos ###
diff --git a/inch.json b/inch.json
index 9ca46c5..a5bc4c0 100644
--- a/inch.json
+++ b/inch.json
@@ -1,8 +1,10 @@
{
"files": {
- // Config file for the docs badge, http://inch-ci.org/github/GoodBoyDigital/pixi.js
+ "included": [
+ "src/**/*.js"
+ ],
"excluded": [
- "src/spine/Spine.js"
+ "src/spine/SpineRuntime.js"
]
}
-}
\ No newline at end of file
+}
diff --git a/src/core/display/Container.js b/src/core/display/Container.js
index 5b97a75..5f9e229 100644
--- a/src/core/display/Container.js
+++ b/src/core/display/Container.js
@@ -490,7 +490,7 @@
/**
* To be overridden by the subclass
- *
+ *
* @param renderer {WebGLRenderer} The renderer
* @private
*/
@@ -499,6 +499,16 @@
// this is where content itself gets rendered...
};
+/**
+ * To be overridden by the subclass
+ *
+ * @param renderer {CanvasRenderer} The renderer
+ * @private
+ */
+Container.prototype._renderCanvas = function (renderer)
+{
+ // this is where content itself gets rendered...
+};
/**
@@ -508,6 +518,7 @@
*/
Container.prototype.renderCanvas = function (renderer)
{
+ // if not visible or the alpha is 0 then no need to render this
if (!this.visible || this.alpha <= 0 || !this.renderable)
{
return;
@@ -518,6 +529,7 @@
renderer.maskManager.pushMask(this._mask, renderer);
}
+ this._renderCanvas(renderer);
for (var i = 0, j = this.children.length; i < j; ++i)
{
this.children[i].renderCanvas(renderer);
diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js
index 2f58716..6d923b5 100644
--- a/src/core/graphics/Graphics.js
+++ b/src/core/graphics/Graphics.js
@@ -743,10 +743,9 @@
* @param renderer {CanvasRenderer}
* @private
*/
-Graphics.prototype.renderCanvas = function (renderer)
+Graphics.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || this.isMask === true || !this.renderable)
+ if (this.isMask === true)
{
return;
}
@@ -772,7 +771,7 @@
this._cachedSprite.alpha = this.alpha;
- Sprite.prototype.renderCanvas.call(this._cachedSprite, renderer);
+ Sprite.prototype._renderCanvas.call(this._cachedSprite, renderer);
return;
}
@@ -787,11 +786,6 @@
context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
var resolution = renderer.resolution;
context.setTransform(
transform.a * resolution,
@@ -803,16 +797,6 @@
);
CanvasGraphics.renderGraphics(this, context);
-
- for (var i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
}
};
diff --git a/src/core/index.js b/src/core/index.js
index b67c15a..dcbf19d 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -80,16 +80,6 @@
}
return new core.CanvasRenderer(width, height, options);
- },
-
- Stage: function ()
- {
- window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container");
- return new core.Container();
- },
-
- SpriteBatch: function () {
- window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead");
}
};
diff --git a/src/core/particles/ParticleContainer.js b/src/core/particles/ParticleContainer.js
index 823fc78..cf2b4c0 100644
--- a/src/core/particles/ParticleContainer.js
+++ b/src/core/particles/ParticleContainer.js
@@ -66,7 +66,7 @@
/**
* @member {boolean}
- *
+ *
*/
this.interactiveChildren = false;
diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js
index e3c6b54..024d155 100644
--- a/src/core/sprites/Sprite.js
+++ b/src/core/sprites/Sprite.js
@@ -361,9 +361,9 @@
*
* @param renderer {CanvasRenderer} The renderer
*/
-Sprite.prototype.renderCanvas = function (renderer)
+Sprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0 || this.texture.crop.width <= 0 || this.texture.crop.height <= 0 || !this.renderable)
+ if (this.texture.crop.width <= 0 || this.texture.crop.height <= 0)
{
return;
}
@@ -374,11 +374,6 @@
renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode];
}
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
// Ignore null sources
if (this.texture.valid)
{
@@ -498,21 +493,6 @@
);
}
}
-
- for (var i = 0, j = this.children.length; i < j; i++)
- {
- this.children[i].renderCanvas(renderer);
- }
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-};
-
-Sprite.prototype.setTexture = function ()
-{
- window.console.warn('setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture; ');
};
// some helper functions..
diff --git a/src/core/utils/index.js b/src/core/utils/index.js
index 9b38581..7339b24 100644
--- a/src/core/utils/index.js
+++ b/src/core/utils/index.js
@@ -72,26 +72,29 @@
*/
canUseNewCanvasBlendModes: function ()
{
- if (typeof document === 'undefined')
- {
- return false;
- }
+ if (typeof document === 'undefined') return false;
- var canvas = document.createElement('canvas'),
- context = canvas.getContext('2d');
+ var pngHead = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/';
+ var pngEnd = 'AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==';
- canvas.width = 1;
+ var magenta = new Image();
+ magenta.src = pngHead + 'AP804Oa6' + pngEnd;
+
+ var yellow = new Image();
+ yellow.src = pngHead + '/wCKxvRF' + pngEnd;
+
+ var canvas = document.createElement('canvas');
+ canvas.width = 6;
canvas.height = 1;
- context.fillStyle = '#000';
- context.fillRect(0, 0, 1, 1);
-
+ var context = canvas.getContext('2d');
context.globalCompositeOperation = 'multiply';
+ context.drawImage(magenta, 0, 0);
+ context.drawImage(yellow, 2, 0);
- context.fillStyle = '#fff';
- context.fillRect(0, 0, 1, 1);
+ var data = context.getImageData(2,0,1,1).data;
- return context.getImageData(0,0,1,1).data[0] === 0;
+ return (data[0] === 255 && data[1] === 0 && data[2] === 0);
},
/**
diff --git a/src/deprecation.js b/src/deprecation.js
new file mode 100644
index 0000000..60d052f
--- /dev/null
+++ b/src/deprecation.js
@@ -0,0 +1,37 @@
+var core = require('./core'),
+ text = require('./text');
+
+core.Stage = function ()
+{
+ window.console.warn("You don't need to use a PIXI Stage any more, you can simply render any container.");
+ return new core.Container();
+};
+
+core.SpriteBatch = function ()
+{
+ window.console.warn("SpriteBatch doesn't exist any more, please use the new ParticleContainer instead.");
+};
+
+core.AssetsLoader = function () {
+ window.console.warn("The loader system was overhauled in pixi v3, please see the new PIXI.Loader class.");
+};
+
+core.Sprite.prototype.setTexture = function (texture)
+{
+ this.texture = texture;
+ window.console.warn("setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture;");
+};
+
+text.BitmapText.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myBitmapText.text = 'my text';");
+};
+
+text.Text.prototype.setText = function (text)
+{
+ this.text = text;
+ window.console.warn("setText is now deprecated, please use the text property, e.g : myText.text = 'my text';");
+};
+
+module.exports = {};
diff --git a/src/extras/Strip.js b/src/extras/Strip.js
index 3e0ef1b..b327c8a 100644
--- a/src/extras/Strip.js
+++ b/src/extras/Strip.js
@@ -249,14 +249,8 @@
*
* @param renderer {CanvasRenderer}
*/
-Strip.prototype.renderCanvas = function (renderer)
+Strip.prototype._renderCanvas = function (renderer)
{
- // if the sprite is not visible or the alpha is 0 then no need to render this element
- if (!this.visible || this.alpha <= 0 || !this.renderable)
- {
- return;
- }
-
var context = renderer.context;
var transform = this.worldTransform;
diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js
index b8431de..e274c8f 100644
--- a/src/extras/TilingSprite.js
+++ b/src/extras/TilingSprite.js
@@ -214,20 +214,10 @@
*
* @param renderer {CanvasRenderer} a reference to the canvas renderer
*/
-TilingSprite.prototype.renderCanvas = function (renderer)
+TilingSprite.prototype._renderCanvas = function (renderer)
{
- if (!this.visible || this.alpha <= 0)
- {
- return;
- }
-
var context = renderer.context;
- if (this._mask)
- {
- renderer.maskManager.pushMask(this._mask, renderer);
- }
-
context.globalAlpha = this.worldAlpha;
var transform = this.worldTransform;
@@ -283,16 +273,6 @@
context.translate(-tilePosition.x + (this.anchor.x * this._width), -tilePosition.y + (this.anchor.y * this._height));
context.scale(1 / tileScale.x, 1 / tileScale.y);
-
- if (this._mask)
- {
- renderer.maskManager.popMask(renderer);
- }
-
- for (i = 0, j = this.children.length; i < j; ++i)
- {
- this.children[i].renderCanvas(renderer);
- }
};
diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js
index 20f2b99..9fe88df 100644
--- a/src/extras/cacheAsBitmap.js
+++ b/src/extras/cacheAsBitmap.js
@@ -17,6 +17,15 @@
Object.defineProperties(DisplayObject.prototype, {
+
+ /**
+ * Set this to true if you want this display object to be cached as a bitmap.
+ * This basically takes a snap shot of the display object as it is at that moment. It can provide a performance benefit for complex static displayObjects.
+ * To remove simply set this property to 'null'
+ *
+ * @member {boolean}
+ * @memberof DisplayObject#
+ */
cacheAsBitmap: {
get: function ()
{
@@ -60,12 +69,17 @@
this.getBounds = this._originalGetBounds;
this.updateTransform = this._originalUpdateTransform;
- this.containsPoint = this._originalContainesPoint;
+ this.containsPoint = this._originalContainsPoint;
}
}
}
});
-
+/**
+* Renders a cached version of the sprite with WebGL
+*
+* @param renderer {WebGLRenderer} the WebGL renderer
+* @private
+*/
DisplayObject.prototype._renderCachedWebGL = function(renderer)
{
this._initCachedDisplayObject( renderer );
@@ -76,6 +90,12 @@
renderer.plugins.sprite.render( this._cachedSprite );
};
+/**
+* Prepares the WebGL renderer to cache the sprite
+*
+* @param renderer {WebGLRenderer} the WebGL renderer
+* @private
+*/
DisplayObject.prototype._initCachedDisplayObject = function( renderer )
{
if(this._cachedSprite)
@@ -83,6 +103,7 @@
return;
}
+
// first we flush anything left in the renderer (otherwise it would get rendered to the cached texture)
renderer.currentRenderer.flush();
//this.filters= [];
@@ -117,7 +138,7 @@
this.renderWebGL = this._renderCachedWebGL;
this.updateTransform = this.displayObjectUpdateTransform;
- this.getBounds = this._getCahcedBounds;
+ this.getBounds = this._getCachedBounds;
// create our cached sprite
@@ -130,7 +151,12 @@
this.containsPoint = this._cachedSprite.containsPoint.bind(this._cachedSprite);
};
-
+/**
+* Renders a cached version of the sprite with canvas
+*
+* @param renderer {CanvasRenderer} the Canvas renderer
+* @private
+*/
DisplayObject.prototype._renderCachedCanvas = function(renderer)
{
this._initCachedDisplayObjectCanvas( renderer );
@@ -141,6 +167,12 @@
};
//TODO this can be the same as the webGL verison.. will need to do a little tweaking first though..
+/**
+* Prepares the Canvas renderer to cache the sprite
+*
+* @param renderer {CanvasRenderer} the Canvas renderer
+* @private
+*/
DisplayObject.prototype._initCachedDisplayObjectCanvas = function( renderer )
{
if(this._cachedSprite)
@@ -171,7 +203,7 @@
this.renderCanvas = this._renderCachedCanvas;
this.updateTransform = this.displayObjectUpdateTransform;
- this.getBounds = this._getCahcedBounds;
+ this.getBounds = this._getCachedBounds;
// create our cached sprite
@@ -182,13 +214,23 @@
this.hitTest = this._cachedSprite.hitTest.bind(this._cachedSprite);
};
-DisplayObject.prototype._getCahcedBounds = function()
+/**
+* Calculates the bounds of the cached sprite
+*
+* @private
+*/
+DisplayObject.prototype._getCachedBounds = function()
{
this._cachedSprite._currentBounds = null;
return this._cachedSprite.getBounds();
};
+/**
+* Destroys the cached sprite.
+*
+* @private
+*/
DisplayObject.prototype._destroyCachedDisplayObject = function()
{
this._cachedSprite._texture.destroy();
diff --git a/src/index.js b/src/index.js
index f864027..e3622fb 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,4 +1,5 @@
-var core = module.exports = require('./core');
+var core = require('./core'),
+ deprecation = require('./deprecation');
// plugins:
core.extras = require('./extras');
@@ -7,3 +8,5 @@
core.loaders = require('./loaders');
core.spine = require('./spine');
core.text = require('./text');
+
+module.exports = core;
diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js
index 1c8b400..f0551a1 100644
--- a/src/loaders/bitmapFontParser.js
+++ b/src/loaders/bitmapFontParser.js
@@ -1,5 +1,6 @@
var Resource = require('resource-loader').Resource,
- core = require('../core');
+ core = require('../core'),
+ text = require('../text');
module.exports = function ()
{
@@ -84,6 +85,10 @@
resource.bitmapFont = data;
+ // I'm leaving this as a temporary fix so we can test the bitmap fonts in v3
+ // but it's very likely to change
+ text.BitmapText.fonts[data.font] = data;
+
next();
});
};
diff --git a/src/text/BitmapText.js b/src/text/BitmapText.js
index 2ffd2b4..898b468 100644
--- a/src/text/BitmapText.js
+++ b/src/text/BitmapText.js
@@ -10,7 +10,7 @@
* // in this case the font is in a file called 'desyrel.fnt'
* var bitmapText = new PIXI.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"});
* ```
- *
+ *
*
* http://www.angelcode.com/products/bmfont/ for windows or
* http://www.bmglyph.com/ for mac.
@@ -203,7 +203,7 @@
*/
BitmapText.prototype.updateText = function ()
{
- var data = BitmapText.fonts[this.fontName];
+ var data = BitmapText.fonts[this._style.fontName];
var pos = new core.math.Point();
var prevCharCode = null;
var chars = [];
@@ -275,11 +275,11 @@
{
var alignOffset = 0;
- if (this.style.align === 'right')
+ if (this._style.align === 'right')
{
alignOffset = maxLineWidth - lineWidths[i];
}
- else if (this.style.align === 'center')
+ else if (this._style.align === 'center')
{
alignOffset = (maxLineWidth - lineWidths[i]) / 2;
}
@@ -341,9 +341,4 @@
this.containerUpdateTransform();
};
-BitmapText.prototype.setText = function ()
-{
- window.console.warn(" setText is now deprecated, please use the text property, e.g : myBitmapText.text = 'my text'; ");
-};
-
BitmapText.fonts = {};
diff --git a/src/text/Text.js b/src/text/Text.js
index 000815b..0eec0e8 100644
--- a/src/text/Text.js
+++ b/src/text/Text.js
@@ -362,7 +362,7 @@
*
* @param renderer {CanvasRenderer}
*/
-Text.prototype.renderCanvas = function (renderer)
+Text.prototype._renderCanvas = function (renderer)
{
if (this.dirty)
{
@@ -371,7 +371,7 @@
this.updateText();
}
- core.Sprite.prototype.renderCanvas.call(this, renderer);
+ core.Sprite.prototype._renderCanvas.call(this, renderer);
};
/**
@@ -553,8 +553,3 @@
this._texture.destroy(destroyBaseTexture === undefined ? true : destroyBaseTexture);
};
-
-Text.prototype.setText = function ()
-{
- window.console.warn(" setText is now deprecated, please use the text property, e.g : myText.text = 'my text'; ");
-};