Files
Foundry-VTT-Docker/resources/app/node_modules/@pixi/utils/lib/media/CanvasRenderTarget.mjs

67 lines
2.3 KiB
JavaScript
Raw Normal View History

2025-01-04 00:34:03 +01:00
import { settings } from "@pixi/settings";
class CanvasRenderTarget {
/**
* @param width - the width for the newly created canvas
* @param height - the height for the newly created canvas
* @param {number} [resolution=PIXI.settings.RESOLUTION] - The resolution / device pixel ratio of the canvas
*/
constructor(width, height, resolution) {
this._canvas = settings.ADAPTER.createCanvas(), this._context = this._canvas.getContext("2d"), this.resolution = resolution || settings.RESOLUTION, this.resize(width, height);
}
/**
* Clears the canvas that was created by the CanvasRenderTarget class.
* @private
*/
clear() {
this._checkDestroyed(), this._context.setTransform(1, 0, 0, 1, 0, 0), this._context.clearRect(0, 0, this._canvas.width, this._canvas.height);
}
/**
* Resizes the canvas to the specified width and height.
* @param desiredWidth - the desired width of the canvas
* @param desiredHeight - the desired height of the canvas
*/
resize(desiredWidth, desiredHeight) {
this._checkDestroyed(), this._canvas.width = Math.round(desiredWidth * this.resolution), this._canvas.height = Math.round(desiredHeight * this.resolution);
}
/** Destroys this canvas. */
destroy() {
this._context = null, this._canvas = null;
}
/**
* The width of the canvas buffer in pixels.
* @member {number}
*/
get width() {
return this._checkDestroyed(), this._canvas.width;
}
set width(val) {
this._checkDestroyed(), this._canvas.width = Math.round(val);
}
/**
* The height of the canvas buffer in pixels.
* @member {number}
*/
get height() {
return this._checkDestroyed(), this._canvas.height;
}
set height(val) {
this._checkDestroyed(), this._canvas.height = Math.round(val);
}
/** The Canvas object that belongs to this CanvasRenderTarget. */
get canvas() {
return this._checkDestroyed(), this._canvas;
}
/** A CanvasRenderingContext2D object representing a two-dimensional rendering context. */
get context() {
return this._checkDestroyed(), this._context;
}
_checkDestroyed() {
if (this._canvas === null)
throw new TypeError("The CanvasRenderTarget has already been destroyed");
}
}
export {
CanvasRenderTarget
};
//# sourceMappingURL=CanvasRenderTarget.mjs.map