This commit is contained in:
Akko
2025-08-04 18:57:35 +02:00
parent 8cf6e78a79
commit 9495868c2e
5030 changed files with 518594 additions and 17609 deletions

91
node_modules/pixi.js/lib/app/ResizePlugin.js generated vendored Normal file
View File

@@ -0,0 +1,91 @@
'use strict';
var Extensions = require('../extensions/Extensions.js');
"use strict";
class ResizePlugin {
/**
* Initialize the plugin with scope of application instance
* @static
* @private
* @param {object} [options] - See application options
*/
static init(options) {
Object.defineProperty(
this,
"resizeTo",
/**
* The HTML element or window to automatically resize the
* renderer's view element to match width and height.
* @member {Window|HTMLElement}
* @name resizeTo
* @memberof app.Application#
*/
{
set(dom) {
globalThis.removeEventListener("resize", this.queueResize);
this._resizeTo = dom;
if (dom) {
globalThis.addEventListener("resize", this.queueResize);
this.resize();
}
},
get() {
return this._resizeTo;
}
}
);
this.queueResize = () => {
if (!this._resizeTo) {
return;
}
this._cancelResize();
this._resizeId = requestAnimationFrame(() => this.resize());
};
this._cancelResize = () => {
if (this._resizeId) {
cancelAnimationFrame(this._resizeId);
this._resizeId = null;
}
};
this.resize = () => {
if (!this._resizeTo) {
return;
}
this._cancelResize();
let width;
let height;
if (this._resizeTo === globalThis.window) {
width = globalThis.innerWidth;
height = globalThis.innerHeight;
} else {
const { clientWidth, clientHeight } = this._resizeTo;
width = clientWidth;
height = clientHeight;
}
this.renderer.resize(width, height);
this.render();
};
this._resizeId = null;
this._resizeTo = null;
this.resizeTo = options.resizeTo || null;
}
/**
* Clean up the ticker, scoped to application
* @static
* @private
*/
static destroy() {
globalThis.removeEventListener("resize", this.queueResize);
this._cancelResize();
this._cancelResize = null;
this.queueResize = null;
this.resizeTo = null;
this.resize = null;
}
}
/** @ignore */
ResizePlugin.extension = Extensions.ExtensionType.Application;
exports.ResizePlugin = ResizePlugin;
//# sourceMappingURL=ResizePlugin.js.map