ngx-spine
Version:
[](https://travis-ci.org/PoiScript/ngx-spine)
141 lines • 12.6 kB
JavaScript
/**
* @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";
var Slot = /** @class */ (function () {
function Slot(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. */
/**
* @return {?} May be null.
*/
Slot.prototype.getAttachment = /**
* @return {?} May be null.
*/
function () {
return this.attachment;
};
/** Sets the attachment and if it changed, resets {@link #getAttachmentTime()} and clears {@link #getAttachmentVertices()}.
* @param attachment May be null. */
/**
* Sets the attachment and if it changed, resets {\@link #getAttachmentTime()} and clears {\@link #getAttachmentVertices()}.
* @param {?} attachment May be null.
* @return {?}
*/
Slot.prototype.setAttachment = /**
* Sets the attachment and if it changed, resets {\@link #getAttachmentTime()} and clears {\@link #getAttachmentVertices()}.
* @param {?} attachment May be null.
* @return {?}
*/
function (attachment) {
if (this.attachment == attachment)
return;
this.attachment = attachment;
this.attachmentTime = this.bone.skeleton.time;
this.deform.length = 0;
};
/**
* @param {?} time
* @return {?}
*/
Slot.prototype.setAttachmentTime = /**
* @param {?} time
* @return {?}
*/
function (time) {
this.attachmentTime = this.bone.skeleton.time - time;
};
/** Returns the time since the attachment was set. */
/**
* Returns the time since the attachment was set.
* @return {?}
*/
Slot.prototype.getAttachmentTime = /**
* Returns the time since the attachment was set.
* @return {?}
*/
function () {
return this.bone.skeleton.time - this.attachmentTime;
};
/**
* @return {?}
*/
Slot.prototype.setToSetupPose = /**
* @return {?}
*/
function () {
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));
}
};
return Slot;
}());
export { Slot };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xvdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1zcGluZS8iLCJzb3VyY2VzIjpbImxpYi9zcGluZS10cy9jb3JlL1Nsb3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QkEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUtoQztJQVFFLGNBQVksSUFBYyxFQUFFLElBQVU7UUFEdEMsV0FBTSxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFFM0IsSUFBSSxJQUFJLElBQUksSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMxRCxJQUFJLElBQUksSUFBSSxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDN0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDRCwyQkFBMkI7Ozs7SUFDM0IsNEJBQWE7OztJQUFiO1FBQ0UsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRDt3Q0FDb0M7Ozs7OztJQUNwQyw0QkFBYTs7Ozs7SUFBYixVQUFjLFVBQXNCO1FBQ2xDLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVO1lBQUUsT0FBTztRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQzs7Ozs7SUFDRCxnQ0FBaUI7Ozs7SUFBakIsVUFBa0IsSUFBWTtRQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDdkQsQ0FBQztJQUNELHFEQUFxRDs7Ozs7SUFDckQsZ0NBQWlCOzs7O0lBQWpCO1FBQ0UsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUN2RCxDQUFDOzs7O0lBQ0QsNkJBQWM7OztJQUFkO1FBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSTtZQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ3hEO1lBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FDekIsQ0FDRixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBQ0gsV0FBQztBQUFELENBQUMsQUFuREQsSUFtREM7Ozs7SUFsREMsb0JBQWU7O0lBQ2Ysb0JBQVc7O0lBQ1gscUJBQWE7O0lBQ2IseUJBQWlCOzs7OztJQUNqQiwwQkFBK0I7Ozs7O0lBQy9CLDhCQUErQjs7SUFDL0Isc0JBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiBTcGluZSBSdW50aW1lcyBMaWNlbnNlIEFncmVlbWVudFxyXG4gKiBMYXN0IHVwZGF0ZWQgTWF5IDEsIDIwMTkuIFJlcGxhY2VzIGFsbCBwcmlvciB2ZXJzaW9ucy5cclxuICpcclxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTksIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xyXG4gKlxyXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcclxuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcclxuICogY29uZGl0aW9ucyBvZiBTZWN0aW9uIDIgb2YgdGhlIFNwaW5lIEVkaXRvciBMaWNlbnNlIEFncmVlbWVudDpcclxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXHJcbiAqXHJcbiAqIE90aGVyd2lzZSwgaXQgaXMgcGVybWl0dGVkIHRvIGludGVncmF0ZSB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZVxyXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXHJcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cclxuICogU3BpbmUgRWRpdG9yIGxpY2Vuc2UgYW5kIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9kdWN0cyBpbiBhbnkgZm9ybSBtdXN0XHJcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxyXG4gKlxyXG4gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEVTT1RFUklDIFNPRlRXQVJFIExMQyBcIkFTIElTXCIgQU5EIEFOWSBFWFBSRVNTXHJcbiAqIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVNcclxuICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU5cclxuICogTk8gRVZFTlQgU0hBTEwgRVNPVEVSSUMgU09GVFdBUkUgTExDIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsXHJcbiAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsXHJcbiAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUywgQlVTSU5FU1NcclxuICogSU5URVJSVVBUSU9OLCBPUiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUykgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWVxyXG4gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkdcclxuICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLFxyXG4gKiBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5pbXBvcnQgeyBDb2xvciB9IGZyb20gXCIuL1V0aWxzXCI7XHJcbmltcG9ydCB7IFNsb3REYXRhIH0gZnJvbSBcIi4vU2xvdERhdGFcIjtcclxuaW1wb3J0IHsgQm9uZSB9IGZyb20gXCIuL0JvbmVcIjtcclxuaW1wb3J0IHsgQXR0YWNobWVudCB9IGZyb20gXCIuL2F0dGFjaG1lbnRzL0F0dGFjaG1lbnRcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTbG90IHtcclxuICBkYXRhOiBTbG90RGF0YTtcclxuICBib25lOiBCb25lO1xyXG4gIGNvbG9yOiBDb2xvcjtcclxuICBkYXJrQ29sb3I6IENvbG9yO1xyXG4gIHByaXZhdGUgYXR0YWNobWVudDogQXR0YWNobWVudDtcclxuICBwcml2YXRlIGF0dGFjaG1lbnRUaW1lOiBudW1iZXI7XHJcbiAgZGVmb3JtID0gbmV3IEFycmF5PG51bWJlcj4oKTtcclxuICBjb25zdHJ1Y3RvcihkYXRhOiBTbG90RGF0YSwgYm9uZTogQm9uZSkge1xyXG4gICAgaWYgKGRhdGEgPT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKFwiZGF0YSBjYW5ub3QgYmUgbnVsbC5cIik7XHJcbiAgICBpZiAoYm9uZSA9PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoXCJib25lIGNhbm5vdCBiZSBudWxsLlwiKTtcclxuICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICB0aGlzLmJvbmUgPSBib25lO1xyXG4gICAgdGhpcy5jb2xvciA9IG5ldyBDb2xvcigpO1xyXG4gICAgdGhpcy5kYXJrQ29sb3IgPSBkYXRhLmRhcmtDb2xvciA9PSBudWxsID8gbnVsbCA6IG5ldyBDb2xvcigpO1xyXG4gICAgdGhpcy5zZXRUb1NldHVwUG9zZSgpO1xyXG4gIH1cclxuICAvKiogQHJldHVybiBNYXkgYmUgbnVsbC4gKi9cclxuICBnZXRBdHRhY2htZW50KCk6IEF0dGFjaG1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuYXR0YWNobWVudDtcclxuICB9XHJcbiAgLyoqIFNldHMgdGhlIGF0dGFjaG1lbnQgYW5kIGlmIGl0IGNoYW5nZWQsIHJlc2V0cyB7QGxpbmsgI2dldEF0dGFjaG1lbnRUaW1lKCl9IGFuZCBjbGVhcnMge0BsaW5rICNnZXRBdHRhY2htZW50VmVydGljZXMoKX0uXHJcbiAgICogQHBhcmFtIGF0dGFjaG1lbnQgTWF5IGJlIG51bGwuICovXHJcbiAgc2V0QXR0YWNobWVudChhdHRhY2htZW50OiBBdHRhY2htZW50KSB7XHJcbiAgICBpZiAodGhpcy5hdHRhY2htZW50ID09IGF0dGFjaG1lbnQpIHJldHVybjtcclxuICAgIHRoaXMuYXR0YWNobWVudCA9IGF0dGFjaG1lbnQ7XHJcbiAgICB0aGlzLmF0dGFjaG1lbnRUaW1lID0gdGhpcy5ib25lLnNrZWxldG9uLnRpbWU7XHJcbiAgICB0aGlzLmRlZm9ybS5sZW5ndGggPSAwO1xyXG4gIH1cclxuICBzZXRBdHRhY2htZW50VGltZSh0aW1lOiBudW1iZXIpIHtcclxuICAgIHRoaXMuYXR0YWNobWVudFRpbWUgPSB0aGlzLmJvbmUuc2tlbGV0b24udGltZSAtIHRpbWU7XHJcbiAgfVxyXG4gIC8qKiBSZXR1cm5zIHRoZSB0aW1lIHNpbmNlIHRoZSBhdHRhY2htZW50IHdhcyBzZXQuICovXHJcbiAgZ2V0QXR0YWNobWVudFRpbWUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmJvbmUuc2tlbGV0b24udGltZSAtIHRoaXMuYXR0YWNobWVudFRpbWU7XHJcbiAgfVxyXG4gIHNldFRvU2V0dXBQb3NlKCkge1xyXG4gICAgdGhpcy5jb2xvci5zZXRGcm9tQ29sb3IodGhpcy5kYXRhLmNvbG9yKTtcclxuICAgIGlmICh0aGlzLmRhcmtDb2xvciAhPSBudWxsKVxyXG4gICAgICB0aGlzLmRhcmtDb2xvci5zZXRGcm9tQ29sb3IodGhpcy5kYXRhLmRhcmtDb2xvcik7XHJcbiAgICBpZiAodGhpcy5kYXRhLmF0dGFjaG1lbnROYW1lID09IG51bGwpIHRoaXMuYXR0YWNobWVudCA9IG51bGw7XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5hdHRhY2htZW50ID0gbnVsbDtcclxuICAgICAgdGhpcy5zZXRBdHRhY2htZW50KFxyXG4gICAgICAgIHRoaXMuYm9uZS5za2VsZXRvbi5nZXRBdHRhY2htZW50KFxyXG4gICAgICAgICAgdGhpcy5kYXRhLmluZGV4LFxyXG4gICAgICAgICAgdGhpcy5kYXRhLmF0dGFjaG1lbnROYW1lXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=