pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
1 lines • 2.84 kB
Source Map (JSON)
{"version":3,"file":"onRenderMixin.mjs","sources":["../../../../src/scene/container/container-mixins/onRenderMixin.ts"],"sourcesContent":["import type { Renderer } from '../../../rendering/renderers/types';\nimport type { Container } from '../Container';\n\n/** @internal */\nexport interface OnRenderMixinConstructor\n{\n /**\n * This callback is used when the container is rendered. It runs every frame during the render process,\n * making it ideal for per-frame updates and animations.\n *\n * > [!NOTE] In v7 many users used `updateTransform` for this, however the way v8 renders objects is different\n * > and \"updateTransform\" is no longer called every frame\n * @example\n * ```ts\n * // Basic rotation animation\n * const container = new Container();\n * container.onRender = () => {\n * container.rotation += 0.01;\n * };\n *\n * // Cleanup when done\n * container.onRender = null; // Removes callback\n * ```\n * @param renderer - The renderer instance\n * @see {@link Renderer} For renderer capabilities\n */\n onRender?: ((renderer: Renderer) => void) | null;\n}\n\n/**\n * The OnRenderMixin interface provides a way to define a callback that is executed\n * every time the container is rendered. This is useful for adding custom rendering logic\n * or animations that need to be updated each frame.\n * @category scene\n * @advanced\n */\nexport interface OnRenderMixin extends Required<OnRenderMixinConstructor>\n{\n /** @private */\n _onRender: ((renderer: Renderer) => void) | null;\n}\n\n/** @internal */\nexport const onRenderMixin: Partial<Container> = {\n _onRender: null,\n\n set onRender(func: (renderer: Renderer) => void)\n {\n const renderGroup = this.renderGroup || this.parentRenderGroup;\n\n if (!func)\n {\n if (this._onRender)\n {\n renderGroup?.removeOnRender(this);\n }\n\n this._onRender = null;\n\n return;\n }\n\n if (!this._onRender)\n {\n renderGroup?.addOnRender(this);\n }\n\n this._onRender = func;\n },\n\n get onRender(): (renderer: Renderer) => void\n {\n return this._onRender;\n }\n} as Container;\n"],"names":[],"mappings":";AA2CO,MAAM,aAAA,GAAoC;AAAA,EAC7C,SAAA,EAAW,IAAA;AAAA,EAEX,IAAI,SAAS,IAAA,EACb;AACI,IAAA,MAAM,WAAA,GAAc,IAAA,CAAK,WAAA,IAAe,IAAA,CAAK,iBAAA;AAE7C,IAAA,IAAI,CAAC,IAAA,EACL;AACI,MAAA,IAAI,KAAK,SAAA,EACT;AACI,QAAA,WAAA,EAAa,eAAe,IAAI,CAAA;AAAA,MACpC;AAEA,MAAA,IAAA,CAAK,SAAA,GAAY,IAAA;AAEjB,MAAA;AAAA,IACJ;AAEA,IAAA,IAAI,CAAC,KAAK,SAAA,EACV;AACI,MAAA,WAAA,EAAa,YAAY,IAAI,CAAA;AAAA,IACjC;AAEA,IAAA,IAAA,CAAK,SAAA,GAAY,IAAA;AAAA,EACrB,CAAA;AAAA,EAEA,IAAI,QAAA,GACJ;AACI,IAAA,OAAO,IAAA,CAAK,SAAA;AAAA,EAChB;AACJ;;;;"}