UNPKG

@esotericsoftware/spine-pixi-v8

Version:
103 lines 14.5 kB
/** **************************************************************************** * Spine Runtimes License Agreement * Last updated July 28, 2023. Replaces all prior versions. * * Copyright (c) 2013-2023, Esoteric Software LLC * * Integration of the Spine Runtimes into software or otherwise creating * derivative works of the Spine Runtimes is permitted under the terms and * conditions of Section 2 of the Spine Editor License Agreement: * http://esotericsoftware.com/spine-editor-license * * Otherwise, it is permitted to integrate the Spine Runtimes into software or * otherwise create derivative works of the Spine Runtimes (collectively, * "Products"), provided that each user of the Products must obtain their own * Spine Editor license and redistribution of the Products in any form must * include this license and copyright notice. * * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ export class BatchableSpineSlot { indexOffset = 0; attributeOffset = 0; indexSize; attributeSize; batcherName = 'darkTint'; topology = 'triangle-list'; packAsQuad = false; renderable; positions; indices; uvs; roundPixels; data; blendMode; darkTint; texture; transform; // used internally by batcher specific. Stored for efficient updating. _textureId; _attributeStart; _indexStart; _batcher; _batch; get color() { const slotColor = this.data.color; const parentColor = this.renderable.groupColor; const parentAlpha = this.renderable.groupAlpha; let abgr; const mixedA = (slotColor.a * parentAlpha) * 255; if (parentColor !== 0xFFFFFF) { const parentB = (parentColor >> 16) & 0xFF; const parentG = (parentColor >> 8) & 0xFF; const parentR = parentColor & 0xFF; const mixedR = (slotColor.r * parentR); const mixedG = (slotColor.g * parentG); const mixedB = (slotColor.b * parentB); abgr = ((mixedA) << 24) | (mixedB << 16) | (mixedG << 8) | mixedR; } else { abgr = ((mixedA) << 24) | ((slotColor.b * 255) << 16) | ((slotColor.g * 255) << 8) | (slotColor.r * 255); } return abgr; } get darkColor() { const darkColor = this.data.darkColor; return ((darkColor.b * 255) << 16) | ((darkColor.g * 255) << 8) | (darkColor.r * 255); } get groupTransform() { return this.renderable.groupTransform; } setData(renderable, data, blendMode, roundPixels) { this.renderable = renderable; this.transform = renderable.groupTransform; this.data = data; if (data.clipped) { const clippedData = data.clippedData; this.indexSize = clippedData.indicesCount; this.attributeSize = clippedData.vertexCount; this.positions = clippedData.vertices; this.indices = clippedData.indices; this.uvs = clippedData.uvs; } else { this.indexSize = data.indices.length; this.attributeSize = data.vertices.length / 2; this.positions = data.vertices; this.indices = data.indices; this.uvs = data.uvs; } this.texture = data.texture; this.roundPixels = roundPixels; this.blendMode = blendMode; this.batcherName = data.darkTint ? 'darkTint' : 'default'; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmF0Y2hhYmxlU3BpbmVTbG90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0JhdGNoYWJsZVNwaW5lU2xvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFNL0UsTUFBTSxPQUFPLGtCQUFrQjtJQUM5QixXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFFcEIsU0FBUyxDQUFVO0lBQ25CLGFBQWEsQ0FBVTtJQUV2QixXQUFXLEdBQUcsVUFBVSxDQUFDO0lBRXpCLFFBQVEsR0FBYSxlQUFlLENBQUM7SUFFNUIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUU1QixVQUFVLENBQVM7SUFFbkIsU0FBUyxDQUFnQjtJQUN6QixPQUFPLENBQTBCO0lBQ2pDLEdBQUcsQ0FBZ0I7SUFFbkIsV0FBVyxDQUFTO0lBQ3BCLElBQUksQ0FBdUI7SUFDM0IsU0FBUyxDQUFlO0lBRXhCLFFBQVEsQ0FBVTtJQUVsQixPQUFPLENBQVc7SUFFbEIsU0FBUyxDQUFVO0lBRW5CLHNFQUFzRTtJQUN0RSxVQUFVLENBQVU7SUFDcEIsZUFBZSxDQUFVO0lBQ3pCLFdBQVcsQ0FBVTtJQUNyQixRQUFRLENBQVc7SUFDbkIsTUFBTSxDQUFTO0lBR2YsSUFBSSxLQUFLO1FBQ1IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFbEMsTUFBTSxXQUFXLEdBQVcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDdkQsTUFBTSxXQUFXLEdBQVcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDdkQsSUFBSSxJQUFZLENBQUM7UUFFakIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUVqRCxJQUFJLFdBQVcsS0FBSyxRQUFRLEVBQUUsQ0FB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LEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNyQixDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBRS9CLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTNCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDM0QsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgSnVseSAyOCwgMjAyMy4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDIzLCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yXG4gKiBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhFXG4gKiBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHsgQXR0YWNobWVudENhY2hlRGF0YSwgU3BpbmUgfSBmcm9tICcuL1NwaW5lLmpzJztcblxuaW1wb3J0IHR5cGUgeyBCYXRjaCwgQmF0Y2hlciwgQkxFTkRfTU9ERVMsIERlZmF1bHRCYXRjaGFibGVNZXNoRWxlbWVudCwgTWF0cml4LCBUZXh0dXJlLCBUb3BvbG9neSB9IGZyb20gJ3BpeGkuanMnO1xuXG5leHBvcnQgY2xhc3MgQmF0Y2hhYmxlU3BpbmVTbG90IGltcGxlbWVudHMgRGVmYXVsdEJhdGNoYWJsZU1lc2hFbGVtZW50IHtcblx0aW5kZXhPZmZzZXQgPSAwO1xuXHRhdHRyaWJ1dGVPZmZzZXQgPSAwO1xuXG5cdGluZGV4U2l6ZSE6IG51bWJlcjtcblx0YXR0cmlidXRlU2l6ZSE6IG51bWJlcjtcblxuXHRiYXRjaGVyTmFtZSA9ICdkYXJrVGludCc7XG5cblx0dG9wb2xvZ3k6IFRvcG9sb2d5ID0gJ3RyaWFuZ2xlLWxpc3QnO1xuXG5cdHJlYWRvbmx5IHBhY2tBc1F1YWQgPSBmYWxzZTtcblxuXHRyZW5kZXJhYmxlITogU3BpbmU7XG5cblx0cG9zaXRpb25zITogRmxvYXQzMkFycmF5O1xuXHRpbmRpY2VzITogbnVtYmVyW10gfCBVaW50MTZBcnJheTtcblx0dXZzITogRmxvYXQzMkFycmF5O1xuXG5cdHJvdW5kUGl4ZWxzITogMCB8IDE7XG5cdGRhdGEhOiBBdHRhY2htZW50Q2FjaGVEYXRhO1xuXHRibGVuZE1vZGUhOiBCTEVORF9NT0RFUztcblxuXHRkYXJrVGludCE6IG51bWJlcjtcblxuXHR0ZXh0dXJlITogVGV4dHVyZTtcblxuXHR0cmFuc2Zvcm0hOiBNYXRyaXg7XG5cblx0Ly8gdXNlZCBpbnRlcm5hbGx5IGJ5IGJhdGNoZXIgc3BlY2lmaWMuIFN0b3JlZCBmb3IgZWZmaWNpZW50IHVwZGF0aW5nLlxuXHRfdGV4dHVyZUlkITogbnVtYmVyO1xuXHRfYXR0cmlidXRlU3RhcnQhOiBudW1iZXI7XG5cdF9pbmRleFN0YXJ0ITogbnVtYmVyO1xuXHRfYmF0Y2hlciE6IEJhdGNoZXI7XG5cdF9iYXRjaCE6IEJhdGNoO1xuXG5cblx0Z2V0IGNvbG9yICgpIHtcblx0XHRjb25zdCBzbG90Q29sb3IgPSB0aGlzLmRhdGEuY29sb3I7XG5cblx0XHRjb25zdCBwYXJlbnRDb2xvcjogbnVtYmVyID0gdGhpcy5yZW5kZXJhYmxlLmdyb3VwQ29sb3I7XG5cdFx0Y29uc3QgcGFyZW50QWxwaGE6IG51bWJlciA9IHRoaXMucmVuZGVyYWJsZS5ncm91cEFscGhhO1xuXHRcdGxldCBhYmdyOiBudW1iZXI7XG5cblx0XHRjb25zdCBtaXhlZEEgPSAoc2xvdENvbG9yLmEgKiBwYXJlbnRBbHBoYSkgKiAyNTU7XG5cblx0XHRpZiAocGFyZW50Q29sb3IgIT09IDB4RkZGRkZGKSB7XG5cdFx0XHRjb25zdCBwYXJlbnRCID0gKHBhcmVudENvbG9yID4+IDE2KSAmIDB4RkY7XG5cdFx0XHRjb25zdCBwYXJlbnRHID0gKHBhcmVudENvbG9yID4+IDgpICYgMHhGRjtcblx0XHRcdGNvbnN0IHBhcmVudFIgPSBwYXJlbnRDb2xvciAmIDB4RkY7XG5cblx0XHRcdGNvbnN0IG1peGVkUiA9IChzbG90Q29sb3IuciAqIHBhcmVudFIpO1xuXHRcdFx0Y29uc3QgbWl4ZWRHID0gKHNsb3RDb2xvci5nICogcGFyZW50Ryk7XG5cdFx0XHRjb25zdCBtaXhlZEIgPSAoc2xvdENvbG9yLmIgKiBwYXJlbnRCKTtcblxuXHRcdFx0YWJnciA9ICgobWl4ZWRBKSA8PCAyNCkgfCAobWl4ZWRCIDw8IDE2KSB8IChtaXhlZEcgPDwgOCkgfCBtaXhlZFI7XG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0YWJnciA9ICgobWl4ZWRBKSA8PCAyNCkgfCAoKHNsb3RDb2xvci5iICogMjU1KSA8PCAxNikgfCAoKHNsb3RDb2xvci5nICogMjU1KSA8PCA4KSB8IChzbG90Q29sb3IuciAqIDI1NSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGFiZ3I7XG5cdH1cblxuXHRnZXQgZGFya0NvbG9yICgpIHtcblx0XHRjb25zdCBkYXJrQ29sb3IgPSB0aGlzLmRhdGEuZGFya0NvbG9yO1xuXHRcdHJldHVybiAoKGRhcmtDb2xvci5iICogMjU1KSA8PCAxNikgfCAoKGRhcmtDb2xvci5nICogMjU1KSA8PCA4KSB8IChkYXJrQ29sb3IuciAqIDI1NSk7XG5cdH1cblxuXHRnZXQgZ3JvdXBUcmFuc2Zvcm0gKCkgeyByZXR1cm4gdGhpcy5yZW5kZXJhYmxlLmdyb3VwVHJhbnNmb3JtOyB9XG5cblx0c2V0RGF0YSAoXG5cdFx0cmVuZGVyYWJsZTogU3BpbmUsXG5cdFx0ZGF0YTogQXR0YWNobWVudENhY2hlRGF0YSxcblx0XHRibGVuZE1vZGU6IEJMRU5EX01PREVTLFxuXHRcdHJvdW5kUGl4ZWxzOiAwIHwgMSkge1xuXHRcdHRoaXMucmVuZGVyYWJsZSA9IHJlbmRlcmFibGU7XG5cdFx0dGhpcy50cmFuc2Zvcm0gPSByZW5kZXJhYmxlLmdyb3VwVHJhbnNmb3JtO1xuXHRcdHRoaXMuZGF0YSA9IGRhdGE7XG5cblx0XHRpZiAoZGF0YS5jbGlwcGVkKSB7XG5cdFx0XHRjb25zdCBjbGlwcGVkRGF0YSA9IGRhdGEuY2xpcHBlZERhdGE7XG5cblx0XHRcdHRoaXMuaW5kZXhTaXplID0gY2xpcHBlZERhdGEhLmluZGljZXNDb3VudDtcblx0XHRcdHRoaXMuYXR0cmlidXRlU2l6ZSA9IGNsaXBwZWREYXRhIS52ZXJ0ZXhDb3VudDtcblx0XHRcdHRoaXMucG9zaXRpb25zID0gY2xpcHBlZERhdGEhLnZlcnRpY2VzO1xuXHRcdFx0dGhpcy5pbmRpY2VzID0gY2xpcHBlZERhdGEhLmluZGljZXM7XG5cdFx0XHR0aGlzLnV2cyA9IGNsaXBwZWREYXRhIS51dnM7XG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0dGhpcy5pbmRleFNpemUgPSBkYXRhLmluZGljZXMubGVuZ3RoO1xuXHRcdFx0dGhpcy5hdHRyaWJ1dGVTaXplID0gZGF0YS52ZXJ0aWNlcy5sZW5ndGggLyAyO1xuXHRcdFx0dGhpcy5wb3NpdGlvbnMgPSBkYXRhLnZlcnRpY2VzO1xuXHRcdFx0dGhpcy5pbmRpY2VzID0gZGF0YS5pbmRpY2VzO1xuXHRcdFx0dGhpcy51dnMgPSBkYXRhLnV2cztcblx0XHR9XG5cblx0XHR0aGlzLnRleHR1cmUgPSBkYXRhLnRleHR1cmU7XG5cdFx0dGhpcy5yb3VuZFBpeGVscyA9IHJvdW5kUGl4ZWxzO1xuXG5cdFx0dGhpcy5ibGVuZE1vZGUgPSBibGVuZE1vZGU7XG5cblx0XHR0aGlzLmJhdGNoZXJOYW1lID0gZGF0YS5kYXJrVGludCA/ICdkYXJrVGludCcgOiAnZGVmYXVsdCc7XG5cdH1cbn1cbiJdfQ==