Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// next three fields are created only for root
// re-assigned for everything else
/**
* Source frame
* @member {PIXI.Rectangle}
* @private
*/
this.sourceFrame = new Rectangle();
/**
* Destination frame
* @member {PIXI.Rectangle}
* @private
*/
this.destinationFrame = new Rectangle();
/**
* Collection of filters
* @member {PIXI.Filter[]}
* @private
*/
this.filters = [];
}
getLocalBounds(rect)
{
// we can do a fast local bounds if the sprite has no children!
if (this.children.length === 0)
{
this._bounds.minX = this._width * -this._anchor._x;
this._bounds.minY = this._height * -this._anchor._y;
this._bounds.maxX = this._width * (1 - this._anchor._x);
this._bounds.maxY = this._height * (1 - this._anchor._y);
if (!rect)
{
if (!this._localBoundsRect)
{
this._localBoundsRect = new Rectangle();
}
rect = this._localBoundsRect;
}
return this._bounds.getRectangle(rect);
}
return super.getLocalBounds.call(this, rect);
}
);
}
else
{
frame = new Rectangle(
Math.floor(rect.x) / this.resolution,
Math.floor(rect.y) / this.resolution,
Math.floor(rect.w) / this.resolution,
Math.floor(rect.h) / this.resolution
);
}
// Check to see if the sprite is trimmed
if (data.trimmed !== false && data.spriteSourceSize)
{
trim = new Rectangle(
Math.floor(data.spriteSourceSize.x) / this.resolution,
Math.floor(data.spriteSourceSize.y) / this.resolution,
Math.floor(rect.w) / this.resolution,
Math.floor(rect.h) / this.resolution
);
}
this.textures[i] = new Texture(
this.baseTexture,
frame,
orig,
trim,
data.rotated ? 2 : 0,
data.anchor
);
this.defaultMaskStack = [];
// empty render texture?
/**
* Render texture
* @member {PIXI.RenderTexture}
* @readonly
*/
this.current = null;
/**
* Source frame
* @member {PIXI.Rectangle}
* @readonly
*/
this.sourceFrame = new Rectangle();
/**
* Destination frame
* @member {PIXI.Rectangle}
* @readonly
*/
this.destinationFrame = new Rectangle();
}
constructor(text, style, canvas)
{
canvas = canvas || document.createElement('canvas');
canvas.width = 3;
canvas.height = 3;
const texture = Texture.from(canvas, settings.SCALE_MODE, 'text');
texture.orig = new Rectangle();
texture.trim = new Rectangle();
super(texture);
// base texture is already automatically added to the cache, now adding the actual texture
Texture.addToCache(this._texture, this._texture.baseTexture.textureCacheIds[0]);
/**
* The canvas element that everything is drawn to
*
* @member {HTMLCanvasElement}
*/
this.canvas = canvas;
/**
* The canvas 2d context that everything is drawn with
drawRect(x, y, width, height)
{
this.drawShape(new Rectangle(x, y, width, height));
return this;
}
*/
this.transform = null;
/**
* The frame.
*
* @member {PIXI.Rectangle}
*/
this.frame = null;
/**
* The stencil buffer stores masking data for the render target
*
* @member {glCore.GLBuffer}
*/
this.defaultFrame = new Rectangle();
this.destinationFrame = null;
this.sourceFrame = null;
/**
* The stencil buffer stores masking data for the render target
*
* @member {glCore.GLBuffer}
*/
this.stencilBuffer = null;
/**
* The data structure for the stencil masks
*
* @member {PIXI.Graphics[]}
*/
this.stencilMaskStack = [];
import { System } from '../System';
import { Rectangle } from '@pixi/math';
const tempRect = new Rectangle();
/**
* System plugin to the renderer to manage render textures.
*
* Should be added after FramebufferSystem
*
* @class
* @extends PIXI.System
* @memberof PIXI.systems
*/
export class RenderTextureSystem extends System
{
/**
* @param {PIXI.Renderer} renderer - The renderer this System works for.
*/
* The type of the renderer.
*
* @member {number}
* @default PIXI.RENDERER_TYPE.UNKNOWN
* @see PIXI.RENDERER_TYPE
*/
this.type = RENDERER_TYPE.UNKNOWN;
/**
* Measurements of the screen. (0, 0, screenWidth, screenHeight).
*
* Its safe to use as filterArea or hitArea for the whole stage.
*
* @member {PIXI.Rectangle}
*/
this.screen = new Rectangle(0, 0, options.width, options.height);
/**
* The canvas element that everything is drawn to.
*
* @member {HTMLCanvasElement}
*/
this.view = options.view || document.createElement('canvas');
/**
* The resolution / device pixel ratio of the renderer.
*
* @member {number}
* @default 1
*/
this.resolution = options.resolution || settings.RESOLUTION;
reset()
{
this.current = this.unknownFramebuffer;
this.viewport = new Rectangle();
}
}