UNPKG

ngx-spine

Version:

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

120 lines 11.6 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 { Color } from "./Utils"; export class Slot { /** * @param {?} data * @param {?} bone */ constructor(data, bone) { this.deform = new Array(); if (data == null) throw new Error("data cannot be null."); if (bone == null) throw new Error("bone cannot be null."); this.data = data; this.bone = bone; this.color = new Color(); this.darkColor = data.darkColor == null ? null : new Color(); this.setToSetupPose(); } /** * @return {?} May be null. */ getAttachment() { return this.attachment; } /** * Sets the attachment and if it changed, resets {\@link #getAttachmentTime()} and clears {\@link #getAttachmentVertices()}. * @param {?} attachment May be null. * @return {?} */ setAttachment(attachment) { if (this.attachment == attachment) return; this.attachment = attachment; this.attachmentTime = this.bone.skeleton.time; this.deform.length = 0; } /** * @param {?} time * @return {?} */ setAttachmentTime(time) { this.attachmentTime = this.bone.skeleton.time - time; } /** * Returns the time since the attachment was set. * @return {?} */ getAttachmentTime() { return this.bone.skeleton.time - this.attachmentTime; } /** * @return {?} */ setToSetupPose() { this.color.setFromColor(this.data.color); if (this.darkColor != null) this.darkColor.setFromColor(this.data.darkColor); if (this.data.attachmentName == null) this.attachment = null; else { this.attachment = null; this.setAttachment(this.bone.skeleton.getAttachment(this.data.index, this.data.attachmentName)); } } } if (false) { /** @type {?} */ Slot.prototype.data; /** @type {?} */ Slot.prototype.bone; /** @type {?} */ Slot.prototype.color; /** @type {?} */ Slot.prototype.darkColor; /** * @type {?} * @private */ Slot.prototype.attachment; /** * @type {?} * @private */ Slot.prototype.attachmentTime; /** @type {?} */ Slot.prototype.deform; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xvdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1zcGluZS8iLCJzb3VyY2VzIjpbImxpYi9zcGluZS10cy9jb3JlL1Nsb3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QkEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUtoQyxNQUFNLE9BQU8sSUFBSTs7Ozs7SUFRZixZQUFZLElBQWMsRUFBRSxJQUFVO1FBRHRDLFdBQU0sR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1FBRTNCLElBQUksSUFBSSxJQUFJLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDMUQsSUFBSSxJQUFJLElBQUksSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs7O0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDOzs7Ozs7SUFHRCxhQUFhLENBQUMsVUFBc0I7UUFDbEMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVU7WUFBRSxPQUFPO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDOzs7OztJQUNELGlCQUFpQixDQUFDLElBQVk7UUFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3ZELENBQUM7Ozs7O0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUN2RCxDQUFDOzs7O0lBQ0QsY0FBYztRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUk7WUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUk7WUFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzthQUN4RDtZQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQ3pCLENBQ0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQztDQUNGOzs7SUFsREMsb0JBQWU7O0lBQ2Ysb0JBQVc7O0lBQ1gscUJBQWE7O0lBQ2IseUJBQWlCOzs7OztJQUNqQiwwQkFBK0I7Ozs7O0lBQy9CLDhCQUErQjs7SUFDL0Isc0JBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiBTcGluZSBSdW50aW1lcyBMaWNlbnNlIEFncmVlbWVudFxyXG4gKiBMYXN0IHVwZGF0ZWQgTWF5IDEsIDIwMTkuIFJlcGxhY2VzIGFsbCBwcmlvciB2ZXJzaW9ucy5cclxuICpcclxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTksIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xyXG4gKlxyXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcclxuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcclxuICogY29uZGl0aW9ucyBvZiBTZWN0aW9uIDIgb2YgdGhlIFNwaW5lIEVkaXRvciBMaWNlbnNlIEFncmVlbWVudDpcclxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXHJcbiAqXHJcbiAqIE90aGVyd2lzZSwgaXQgaXMgcGVybWl0dGVkIHRvIGludGVncmF0ZSB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZVxyXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXHJcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cclxuICogU3BpbmUgRWRpdG9yIGxpY2Vuc2UgYW5kIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9kdWN0cyBpbiBhbnkgZm9ybSBtdXN0XHJcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxyXG4gKlxyXG4gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEVTT1RFUklDIFNPRlRXQVJFIExMQyBcIkFTIElTXCIgQU5EIEFOWSBFWFBSRVNTXHJcbiAqIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVNcclxuICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU5cclxuICogTk8gRVZFTlQgU0hBTEwgRVNPVEVSSUMgU09GVFdBUkUgTExDIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsXHJcbiAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsXHJcbiAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUywgQlVTSU5FU1NcclxuICogSU5URVJSVVBUSU9OLCBPUiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUykgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWVxyXG4gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkdcclxuICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLFxyXG4gKiBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5pbXBvcnQgeyBDb2xvciB9IGZyb20gXCIuL1V0aWxzXCI7XHJcbmltcG9ydCB7IFNsb3REYXRhIH0gZnJvbSBcIi4vU2xvdERhdGFcIjtcclxuaW1wb3J0IHsgQm9uZSB9IGZyb20gXCIuL0JvbmVcIjtcclxuaW1wb3J0IHsgQXR0YWNobWVudCB9IGZyb20gXCIuL2F0dGFjaG1lbnRzL0F0dGFjaG1lbnRcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTbG90IHtcclxuICBkYXRhOiBTbG90RGF0YTtcclxuICBib25lOiBCb25lO1xyXG4gIGNvbG9yOiBDb2xvcjtcclxuICBkYXJrQ29sb3I6IENvbG9yO1xyXG4gIHByaXZhdGUgYXR0YWNobWVudDogQXR0YWNobWVudDtcclxuICBwcml2YXRlIGF0dGFjaG1lbnRUaW1lOiBudW1iZXI7XHJcbiAgZGVmb3JtID0gbmV3IEFycmF5PG51bWJlcj4oKTtcclxuICBjb25zdHJ1Y3RvcihkYXRhOiBTbG90RGF0YSwgYm9uZTogQm9uZSkge1xyXG4gICAgaWYgKGRhdGEgPT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKFwiZGF0YSBjYW5ub3QgYmUgbnVsbC5cIik7XHJcbiAgICBpZiAoYm9uZSA9PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoXCJib25lIGNhbm5vdCBiZSBudWxsLlwiKTtcclxuICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICB0aGlzLmJvbmUgPSBib25lO1xyXG4gICAgdGhpcy5jb2xvciA9IG5ldyBDb2xvcigpO1xyXG4gICAgdGhpcy5kYXJrQ29sb3IgPSBkYXRhLmRhcmtDb2xvciA9PSBudWxsID8gbnVsbCA6IG5ldyBDb2xvcigpO1xyXG4gICAgdGhpcy5zZXRUb1NldHVwUG9zZSgpO1xyXG4gIH1cclxuICAvKiogQHJldHVybiBNYXkgYmUgbnVsbC4gKi9cclxuICBnZXRBdHRhY2htZW50KCk6IEF0dGFjaG1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuYXR0YWNobWVudDtcclxuICB9XHJcbiAgLyoqIFNldHMgdGhlIGF0dGFjaG1lbnQgYW5kIGlmIGl0IGNoYW5nZWQsIHJlc2V0cyB7QGxpbmsgI2dldEF0dGFjaG1lbnRUaW1lKCl9IGFuZCBjbGVhcnMge0BsaW5rICNnZXRBdHRhY2htZW50VmVydGljZXMoKX0uXHJcbiAgICogQHBhcmFtIGF0dGFjaG1lbnQgTWF5IGJlIG51bGwuICovXHJcbiAgc2V0QXR0YWNobWVudChhdHRhY2htZW50OiBBdHRhY2htZW50KSB7XHJcbiAgICBpZiAodGhpcy5hdHRhY2htZW50ID09IGF0dGFjaG1lbnQpIHJldHVybjtcclxuICAgIHRoaXMuYXR0YWNobWVudCA9IGF0dGFjaG1lbnQ7XHJcbiAgICB0aGlzLmF0dGFjaG1lbnRUaW1lID0gdGhpcy5ib25lLnNrZWxldG9uLnRpbWU7XHJcbiAgICB0aGlzLmRlZm9ybS5sZW5ndGggPSAwO1xyXG4gIH1cclxuICBzZXRBdHRhY2htZW50VGltZSh0aW1lOiBudW1iZXIpIHtcclxuICAgIHRoaXMuYXR0YWNobWVudFRpbWUgPSB0aGlzLmJvbmUuc2tlbGV0b24udGltZSAtIHRpbWU7XHJcbiAgfVxyXG4gIC8qKiBSZXR1cm5zIHRoZSB0aW1lIHNpbmNlIHRoZSBhdHRhY2htZW50IHdhcyBzZXQuICovXHJcbiAgZ2V0QXR0YWNobWVudFRpbWUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmJvbmUuc2tlbGV0b24udGltZSAtIHRoaXMuYXR0YWNobWVudFRpbWU7XHJcbiAgfVxyXG4gIHNldFRvU2V0dXBQb3NlKCkge1xyXG4gICAgdGhpcy5jb2xvci5zZXRGcm9tQ29sb3IodGhpcy5kYXRhLmNvbG9yKTtcclxuICAgIGlmICh0aGlzLmRhcmtDb2xvciAhPSBudWxsKVxyXG4gICAgICB0aGlzLmRhcmtDb2xvci5zZXRGcm9tQ29sb3IodGhpcy5kYXRhLmRhcmtDb2xvcik7XHJcbiAgICBpZiAodGhpcy5kYXRhLmF0dGFjaG1lbnROYW1lID09IG51bGwpIHRoaXMuYXR0YWNobWVudCA9IG51bGw7XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5hdHRhY2htZW50ID0gbnVsbDtcclxuICAgICAgdGhpcy5zZXRBdHRhY2htZW50KFxyXG4gICAgICAgIHRoaXMuYm9uZS5za2VsZXRvbi5nZXRBdHRhY2htZW50KFxyXG4gICAgICAgICAgdGhpcy5kYXRhLmluZGV4LFxyXG4gICAgICAgICAgdGhpcy5kYXRhLmF0dGFjaG1lbnROYW1lXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=