Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
*/
this.vertexData = new Float32Array(1);
/**
* If geometry is changed used to decide to re-transform
* the vertexData.
* @member {number}
* @private
*/
this.vertexDirty = 0;
this._transformID = -1;
// Inherited from DisplayMode, set defaults
this.tint = 0xFFFFFF;
this.blendMode = BLEND_MODES.NORMAL;
/**
* Internal roundPixels field
*
* @member {boolean}
* @private
*/
this._roundPixels = settings.ROUND_PIXELS;
/**
* Batched UV's are cached for atlas textures
* @member {PIXI.MeshBatchUvs}
* @private
*/
this.batchUvs = null;
}
texture._frame.y * resolution,
width * resolution,
height * resolution,
dx * renderer.resolution,
dy * renderer.resolution,
width * renderer.resolution,
height * renderer.resolution
);
}
if (outerBlend)
{
context.restore();
}
// just in case, leaking outer blend here will be catastrophic!
renderer.setBlendMode(BLEND_MODES.NORMAL);
}
displayObject.parent = cacheParent;
if (transform)
{
// Clear the matrix cache one more time,
// we dont have our computations to affect standard "transform=null" case
displayObject.transform._parentID = -1;
}
// displayObject.hitArea = //TODO add a temp hit area
}
context.save();
context.setTransform(1, 0, 0, 1, 0, 0);
context.globalAlpha = 1;
this._activeBlendMode = BLEND_MODES.NORMAL;
this._outerBlend = false;
context.globalCompositeOperation = this.blendModes[BLEND_MODES.NORMAL];
if (clear !== undefined ? clear : this.clearBeforeRender)
{
if (this.renderingToScreen)
{
if (this.transparent)
{
context.clearRect(0, 0, this.width, this.height);
}
else
{
context.fillStyle = this._backgroundColorString;
context.fillRect(0, 0, this.width, this.height);
}
} // else {
// TODO: implement background for CanvasRenderTarget or RenderTexture?
constructor()
{
this.data = 0;
this.blendMode = BLEND_MODES.NORMAL;
this.polygonOffset = 0;
this.blend = true;
// this.depthTest = true;
}
displayObject.updateTransform();
displayObject.parent = cacheParent;
if (transform)
{
// Clear the matrix cache one more time,
// we dont have our computations to affect standard "transform=null" case
displayObject.transform._parentID = -1;
}
// displayObject.hitArea = //TODO add a temp hit area
}
context.save();
context.setTransform(1, 0, 0, 1, 0, 0);
context.globalAlpha = 1;
this._activeBlendMode = BLEND_MODES.NORMAL;
this._outerBlend = false;
context.globalCompositeOperation = this.blendModes[BLEND_MODES.NORMAL];
if (clear !== undefined ? clear : this.clearBeforeRender)
{
if (this.renderingToScreen)
{
if (this.transparent)
{
context.clearRect(0, 0, this.width, this.height);
}
else
{
context.fillStyle = this._backgroundColorString;
context.fillRect(0, 0, this.width, this.height);
}
setBlendMode(blendMode, readyForOuterBlend)
{
const outerBlend = blendMode === BLEND_MODES.SRC_IN
|| blendMode === BLEND_MODES.SRC_OUT
|| blendMode === BLEND_MODES.DST_IN
|| blendMode === BLEND_MODES.DST_ATOP;
if (!readyForOuterBlend && outerBlend)
{
blendMode = BLEND_MODES.NORMAL;
}
if (this._activeBlendMode === blendMode)
{
return;
}
this._activeBlendMode = blendMode;
this._outerBlend = outerBlend;
this.context.globalCompositeOperation = this.blendModes[blendMode];
}
* @private
* @member {number}
* @default 0xFFFFFF
*/
this._tint = null;
this._tintRGB = null;
this.tint = 0xFFFFFF;
/**
* The blend mode to be applied to the sprite. Apply a value of `PIXI.BLEND_MODES.NORMAL` to reset the blend mode.
*
* @member {number}
* @default PIXI.BLEND_MODES.NORMAL
* @see PIXI.BLEND_MODES
*/
this.blendMode = BLEND_MODES.NORMAL;
/**
* The shader that will be used to render the sprite. Set to null to remove a current shader.
*
* @member {PIXI.Filter|PIXI.Shader}
*/
this.shader = null;
/**
* An internal cached value of the tint.
*
* @private
* @member {number}
* @default 0xFFFFFF
*/
this.cachedTint = 0xFFFFFF;
* @private
* @member {number}
* @default 0xFFFFFF
*/
this._tint = null;
this._tintRGB = null;
this.tint = 0xFFFFFF;
/**
* The blend mode to be applied to the sprite. Apply a value of `PIXI.BLEND_MODES.NORMAL` to reset the blend mode.
*
* @member {number}
* @default PIXI.BLEND_MODES.NORMAL
* @see PIXI.BLEND_MODES
*/
this.blendMode = BLEND_MODES.NORMAL;
/**
* The shader that will be used to render the sprite. Set to null to remove a current shader.
*
* @member {PIXI.Filter|PIXI.Shader}
*/
this.shader = null;
/**
* Cached tint value so we can tell when the tint is changed.
* Value is used for 2d CanvasRenderer.
*
* @protected
* @member {number}
* @default 0xFFFFFF
*/
/**
* @member {boolean}
*
*/
this.interactiveChildren = false;
/**
* The blend mode to be applied to the sprite. Apply a value of `PIXI.BLEND_MODES.NORMAL`
* to reset the blend mode.
*
* @member {number}
* @default PIXI.BLEND_MODES.NORMAL
* @see PIXI.BLEND_MODES
*/
this.blendMode = BLEND_MODES.NORMAL;
/**
* If true, container allocates more batches in case there are more than `maxSize` particles.
* @member {boolean}
* @default false
*/
this.autoResize = autoResize;
/**
* If true PixiJS will Math.floor() x/y values when rendering, stopping pixel interpolation.
* Advantages can include sharper image quality (like text) and faster rendering on canvas.
* The main disadvantage is movement of objects may appear less smooth.
* Default to true here as performance is usually the priority for particles.
*
* @member {boolean}
* @default true