UNPKG

ngx-spine

Version:

[![Build Status](https://travis-ci.org/PoiScript/ngx-spine.svg?branch=master)](https://travis-ci.org/PoiScript/ngx-spine)

125 lines 12.4 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /****************************************************************************** * Spine Runtimes License Agreement * Last updated May 1, 2019. Replaces all prior versions. * * Copyright (c) 2013-2019, 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. * * THIS SOFTWARE IS 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 THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ import { RegionAttachment } from "./attachments/RegionAttachment"; import { PointAttachment } from "./attachments/PointAttachment"; import { ClippingAttachment } from "./attachments/ClippingAttachment"; import { PathAttachment } from "./attachments/PathAttachment"; import { BoundingBoxAttachment } from "./attachments/BoundingBoxAttachment"; import { MeshAttachment } from "./attachments/MeshAttachment"; export class AtlasAttachmentLoader { /** * @param {?} atlas */ constructor(atlas) { this.atlas = atlas; } /** * @param {?} skin * @param {?} name * @param {?} path * @return {?} May be null to not load an attachment. */ newRegionAttachment(skin, name, path) { /** @type {?} */ let region = this.atlas.findRegion(path); if (region == null) throw new Error("Region not found in atlas: " + path + " (region attachment: " + name + ")"); region.renderObject = region; /** @type {?} */ let attachment = new RegionAttachment(name); attachment.setRegion(region); return attachment; } /** * @param {?} skin * @param {?} name * @param {?} path * @return {?} May be null to not load an attachment. */ newMeshAttachment(skin, name, path) { /** @type {?} */ let region = this.atlas.findRegion(path); if (region == null) throw new Error("Region not found in atlas: " + path + " (mesh attachment: " + name + ")"); region.renderObject = region; /** @type {?} */ let attachment = new MeshAttachment(name); attachment.region = region; return attachment; } /** * @param {?} skin * @param {?} name * @return {?} May be null to not load an attachment. */ newBoundingBoxAttachment(skin, name) { return new BoundingBoxAttachment(name); } /** * @param {?} skin * @param {?} name * @return {?} May be null to not load an attachment */ newPathAttachment(skin, name) { return new PathAttachment(name); } /** * @param {?} skin * @param {?} name * @return {?} */ newPointAttachment(skin, name) { return new PointAttachment(name); } /** * @param {?} skin * @param {?} name * @return {?} */ newClippingAttachment(skin, name) { return new ClippingAttachment(name); } } if (false) { /** @type {?} */ AtlasAttachmentLoader.prototype.atlas; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXRsYXNBdHRhY2htZW50TG9hZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXNwaW5lLyIsInNvdXJjZXMiOlsibGliL3NwaW5lLXRzL2NvcmUvQXRsYXNBdHRhY2htZW50TG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0NBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRzlELE1BQU0sT0FBTyxxQkFBcUI7Ozs7SUFHaEMsWUFBWSxLQUFtQjtRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDOzs7Ozs7O0lBR0QsbUJBQW1CLENBQ2pCLElBQVUsRUFDVixJQUFZLEVBQ1osSUFBWTs7WUFFUixNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3hDLElBQUksTUFBTSxJQUFJLElBQUk7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FDYiw2QkFBNkI7Z0JBQzNCLElBQUk7Z0JBQ0osdUJBQXVCO2dCQUN2QixJQUFJO2dCQUNKLEdBQUcsQ0FDTixDQUFDO1FBQ0osTUFBTSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7O1lBQ3pCLFVBQVUsR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUMzQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7Ozs7Ozs7SUFHRCxpQkFBaUIsQ0FBQyxJQUFVLEVBQUUsSUFBWSxFQUFFLElBQVk7O1lBQ2xELE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDeEMsSUFBSSxNQUFNLElBQUksSUFBSTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUNiLDZCQUE2QjtnQkFDM0IsSUFBSTtnQkFDSixxQkFBcUI7Z0JBQ3JCLElBQUk7Z0JBQ0osR0FBRyxDQUNOLENBQUM7UUFDSixNQUFNLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQzs7WUFDekIsVUFBVSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQztRQUN6QyxVQUFVLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUMzQixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzs7Ozs7SUFHRCx3QkFBd0IsQ0FBQyxJQUFVLEVBQUUsSUFBWTtRQUMvQyxPQUFPLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7Ozs7O0lBR0QsaUJBQWlCLENBQUMsSUFBVSxFQUFFLElBQVk7UUFDeEMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7Ozs7SUFFRCxrQkFBa0IsQ0FBQyxJQUFVLEVBQUUsSUFBWTtRQUN6QyxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7Ozs7OztJQUVELHFCQUFxQixDQUFDLElBQVUsRUFBRSxJQUFZO1FBQzVDLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7OztJQTdEQyxzQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBTcGluZSBSdW50aW1lcyBMaWNlbnNlIEFncmVlbWVudFxuICogTGFzdCB1cGRhdGVkIE1heSAxLCAyMDE5LiBSZXBsYWNlcyBhbGwgcHJpb3IgdmVyc2lvbnMuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTksIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xuICpcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcbiAqIGNvbmRpdGlvbnMgb2YgU2VjdGlvbiAyIG9mIHRoZSBTcGluZSBFZGl0b3IgTGljZW5zZSBBZ3JlZW1lbnQ6XG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcbiAqXG4gKiBPdGhlcndpc2UsIGl0IGlzIHBlcm1pdHRlZCB0byBpbnRlZ3JhdGUgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmVcbiAqIG9yIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cbiAqIFNwaW5lIEVkaXRvciBsaWNlbnNlIGFuZCByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZHVjdHMgaW4gYW55IGZvcm0gbXVzdFxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXG4gKlxuICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBFU09URVJJQyBTT0ZUV0FSRSBMTEMgXCJBUyBJU1wiIEFORCBBTlkgRVhQUkVTU1xuICogT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFU1xuICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU5cbiAqIE5PIEVWRU5UIFNIQUxMIEVTT1RFUklDIFNPRlRXQVJFIExMQyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULFxuICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORyxcbiAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUywgQlVTSU5FU1NcbiAqIElOVEVSUlVQVElPTiwgT1IgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFMpIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTllcbiAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElOR1xuICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLFxuICogRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHt9IGZyb20gXCIuL1V0aWxzXCI7XG5pbXBvcnQgeyBUZXh0dXJlQXRsYXMgfSBmcm9tIFwiLi9UZXh0dXJlQXRsYXNcIjtcbmltcG9ydCB7IFNraW4gfSBmcm9tIFwiLi9Ta2luXCI7XG5pbXBvcnQgeyBSZWdpb25BdHRhY2htZW50IH0gZnJvbSBcIi4vYXR0YWNobWVudHMvUmVnaW9uQXR0YWNobWVudFwiO1xuaW1wb3J0IHsgUG9pbnRBdHRhY2htZW50IH0gZnJvbSBcIi4vYXR0YWNobWVudHMvUG9pbnRBdHRhY2htZW50XCI7XG5pbXBvcnQgeyBDbGlwcGluZ0F0dGFjaG1lbnQgfSBmcm9tIFwiLi9hdHRhY2htZW50cy9DbGlwcGluZ0F0dGFjaG1lbnRcIjtcbmltcG9ydCB7IFBhdGhBdHRhY2htZW50IH0gZnJvbSBcIi4vYXR0YWNobWVudHMvUGF0aEF0dGFjaG1lbnRcIjtcbmltcG9ydCB7IEJvdW5kaW5nQm94QXR0YWNobWVudCB9IGZyb20gXCIuL2F0dGFjaG1lbnRzL0JvdW5kaW5nQm94QXR0YWNobWVudFwiO1xuaW1wb3J0IHsgTWVzaEF0dGFjaG1lbnQgfSBmcm9tIFwiLi9hdHRhY2htZW50cy9NZXNoQXR0YWNobWVudFwiO1xuaW1wb3J0IHsgQXR0YWNobWVudExvYWRlciB9IGZyb20gXCIuL2F0dGFjaG1lbnRzL0F0dGFjaG1lbnRMb2FkZXJcIjtcblxuZXhwb3J0IGNsYXNzIEF0bGFzQXR0YWNobWVudExvYWRlciBpbXBsZW1lbnRzIEF0dGFjaG1lbnRMb2FkZXIge1xuICBhdGxhczogVGV4dHVyZUF0bGFzO1xuXG4gIGNvbnN0cnVjdG9yKGF0bGFzOiBUZXh0dXJlQXRsYXMpIHtcbiAgICB0aGlzLmF0bGFzID0gYXRsYXM7XG4gIH1cblxuICAvKiogQHJldHVybiBNYXkgYmUgbnVsbCB0byBub3QgbG9hZCBhbiBhdHRhY2htZW50LiAqL1xuICBuZXdSZWdpb25BdHRhY2htZW50KFxuICAgIHNraW46IFNraW4sXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZ1xuICApOiBSZWdpb25BdHRhY2htZW50IHtcbiAgICBsZXQgcmVnaW9uID0gdGhpcy5hdGxhcy5maW5kUmVnaW9uKHBhdGgpO1xuICAgIGlmIChyZWdpb24gPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJSZWdpb24gbm90IGZvdW5kIGluIGF0bGFzOiBcIiArXG4gICAgICAgICAgcGF0aCArXG4gICAgICAgICAgXCIgKHJlZ2lvbiBhdHRhY2htZW50OiBcIiArXG4gICAgICAgICAgbmFtZSArXG4gICAgICAgICAgXCIpXCJcbiAgICAgICk7XG4gICAgcmVnaW9uLnJlbmRlck9iamVjdCA9IHJlZ2lvbjtcbiAgICBsZXQgYXR0YWNobWVudCA9IG5ldyBSZWdpb25BdHRhY2htZW50KG5hbWUpO1xuICAgIGF0dGFjaG1lbnQuc2V0UmVnaW9uKHJlZ2lvbik7XG4gICAgcmV0dXJuIGF0dGFjaG1lbnQ7XG4gIH1cblxuICAvKiogQHJldHVybiBNYXkgYmUgbnVsbCB0byBub3QgbG9hZCBhbiBhdHRhY2htZW50LiAqL1xuICBuZXdNZXNoQXR0YWNobWVudChza2luOiBTa2luLCBuYW1lOiBzdHJpbmcsIHBhdGg6IHN0cmluZyk6IE1lc2hBdHRhY2htZW50IHtcbiAgICBsZXQgcmVnaW9uID0gdGhpcy5hdGxhcy5maW5kUmVnaW9uKHBhdGgpO1xuICAgIGlmIChyZWdpb24gPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJSZWdpb24gbm90IGZvdW5kIGluIGF0bGFzOiBcIiArXG4gICAgICAgICAgcGF0aCArXG4gICAgICAgICAgXCIgKG1lc2ggYXR0YWNobWVudDogXCIgK1xuICAgICAgICAgIG5hbWUgK1xuICAgICAgICAgIFwiKVwiXG4gICAgICApO1xuICAgIHJlZ2lvbi5yZW5kZXJPYmplY3QgPSByZWdpb247XG4gICAgbGV0IGF0dGFjaG1lbnQgPSBuZXcgTWVzaEF0dGFjaG1lbnQobmFtZSk7XG4gICAgYXR0YWNobWVudC5yZWdpb24gPSByZWdpb247XG4gICAgcmV0dXJuIGF0dGFjaG1lbnQ7XG4gIH1cblxuICAvKiogQHJldHVybiBNYXkgYmUgbnVsbCB0byBub3QgbG9hZCBhbiBhdHRhY2htZW50LiAqL1xuICBuZXdCb3VuZGluZ0JveEF0dGFjaG1lbnQoc2tpbjogU2tpbiwgbmFtZTogc3RyaW5nKTogQm91bmRpbmdCb3hBdHRhY2htZW50IHtcbiAgICByZXR1cm4gbmV3IEJvdW5kaW5nQm94QXR0YWNobWVudChuYW1lKTtcbiAgfVxuXG4gIC8qKiBAcmV0dXJuIE1heSBiZSBudWxsIHRvIG5vdCBsb2FkIGFuIGF0dGFjaG1lbnQgKi9cbiAgbmV3UGF0aEF0dGFjaG1lbnQoc2tpbjogU2tpbiwgbmFtZTogc3RyaW5nKTogUGF0aEF0dGFjaG1lbnQge1xuICAgIHJldHVybiBuZXcgUGF0aEF0dGFjaG1lbnQobmFtZSk7XG4gIH1cblxuICBuZXdQb2ludEF0dGFjaG1lbnQoc2tpbjogU2tpbiwgbmFtZTogc3RyaW5nKTogUG9pbnRBdHRhY2htZW50IHtcbiAgICByZXR1cm4gbmV3IFBvaW50QXR0YWNobWVudChuYW1lKTtcbiAgfVxuXG4gIG5ld0NsaXBwaW5nQXR0YWNobWVudChza2luOiBTa2luLCBuYW1lOiBzdHJpbmcpOiBDbGlwcGluZ0F0dGFjaG1lbnQge1xuICAgIHJldHVybiBuZXcgQ2xpcHBpbmdBdHRhY2htZW50KG5hbWUpO1xuICB9XG59XG4iXX0=