@esotericsoftware/spine-core 4.1.25 → 4.1.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Animation.d.ts +382 -0
- package/dist/Animation.js +2052 -0
- package/dist/AnimationState.d.ts +398 -0
- package/dist/AnimationState.js +1096 -0
- package/dist/AnimationStateData.d.ts +51 -0
- package/dist/AnimationStateData.js +70 -0
- package/dist/AssetManagerBase.d.ts +75 -0
- package/dist/AssetManagerBase.js +320 -0
- package/dist/AtlasAttachmentLoader.d.ts +53 -0
- package/dist/AtlasAttachmentLoader.js +95 -0
- package/dist/Bone.d.ts +138 -0
- package/dist/Bone.js +336 -0
- package/dist/BoneData.d.ts +72 -0
- package/dist/BoneData.js +80 -0
- package/dist/ConstraintData.d.ts +35 -0
- package/dist/ConstraintData.js +37 -0
- package/dist/Event.d.ts +44 -0
- package/dist/Event.js +48 -0
- package/dist/EventData.d.ts +41 -0
- package/dist/EventData.js +43 -0
- package/dist/IkConstraint.d.ts +64 -0
- package/dist/IkConstraint.js +296 -0
- package/dist/IkConstraintData.d.ts +56 -0
- package/dist/IkConstraintData.js +63 -0
- package/dist/PathConstraint.d.ts +71 -0
- package/dist/PathConstraint.js +476 -0
- package/dist/PathConstraintData.d.ts +82 -0
- package/dist/PathConstraintData.js +91 -0
- package/dist/Skeleton.d.ts +163 -0
- package/dist/Skeleton.js +588 -0
- package/dist/SkeletonBinary.d.ts +68 -0
- package/dist/SkeletonBinary.js +1172 -0
- package/dist/SkeletonBounds.d.ts +77 -0
- package/dist/SkeletonBounds.js +219 -0
- package/dist/SkeletonClipping.d.ts +50 -0
- package/dist/SkeletonClipping.js +326 -0
- package/dist/SkeletonData.d.ts +114 -0
- package/dist/SkeletonData.js +190 -0
- package/dist/SkeletonJson.d.ts +53 -0
- package/dist/SkeletonJson.js +1027 -0
- package/dist/Skin.d.ts +71 -0
- package/dist/Skin.js +201 -0
- package/dist/Slot.d.ts +69 -0
- package/dist/Slot.js +93 -0
- package/dist/SlotData.d.ts +57 -0
- package/dist/SlotData.js +64 -0
- package/dist/Texture.d.ts +69 -0
- package/dist/Texture.js +73 -0
- package/dist/TextureAtlas.d.ts +67 -0
- package/dist/TextureAtlas.js +263 -0
- package/dist/TransformConstraint.d.ts +60 -0
- package/dist/TransformConstraint.js +247 -0
- package/dist/TransformConstraintData.d.ts +62 -0
- package/dist/TransformConstraintData.js +69 -0
- package/dist/Triangulator.d.ts +43 -0
- package/dist/Triangulator.js +244 -0
- package/dist/Updatable.d.ts +37 -0
- package/dist/Updatable.js +30 -0
- package/dist/Utils.d.ts +168 -0
- package/dist/Utils.js +404 -0
- package/dist/attachments/Attachment.d.ts +72 -0
- package/dist/attachments/Attachment.js +147 -0
- package/dist/attachments/AttachmentLoader.d.ts +54 -0
- package/dist/attachments/AttachmentLoader.js +30 -0
- package/dist/attachments/BoundingBoxAttachment.d.ts +40 -0
- package/dist/attachments/BoundingBoxAttachment.js +48 -0
- package/dist/attachments/ClippingAttachment.d.ts +42 -0
- package/dist/attachments/ClippingAttachment.js +51 -0
- package/dist/attachments/HasTextureRegion.d.ts +44 -0
- package/dist/attachments/HasTextureRegion.js +30 -0
- package/dist/attachments/MeshAttachment.d.ts +79 -0
- package/dist/attachments/MeshAttachment.js +188 -0
- package/dist/attachments/PathAttachment.d.ts +47 -0
- package/dist/attachments/PathAttachment.js +59 -0
- package/dist/attachments/PointAttachment.d.ts +48 -0
- package/dist/attachments/PointAttachment.js +66 -0
- package/dist/attachments/RegionAttachment.d.ts +111 -0
- package/dist/attachments/RegionAttachment.js +215 -0
- package/dist/attachments/Sequence.d.ts +55 -0
- package/dist/attachments/Sequence.js +91 -0
- package/dist/attachments/index.d.ts +8 -0
- package/dist/attachments/index.js +9 -0
- package/dist/iife/spine-core.js +10703 -0
- package/dist/iife/spine-core.js.map +7 -0
- package/dist/iife/spine-core.min.js +2 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.js +40 -0
- package/dist/polyfills.d.ts +29 -0
- package/dist/polyfills.js +39 -0
- package/package.json +1 -1
package/dist/Skin.d.ts
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Spine Runtimes License Agreement
|
|
3
|
+
* Last updated September 24, 2021. Replaces all prior versions.
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2013-2021, Esoteric Software LLC
|
|
6
|
+
*
|
|
7
|
+
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
|
+
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
|
+
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
|
+
* http://esotericsoftware.com/spine-editor-license
|
|
11
|
+
*
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
|
+
* "Products"), provided that each user of the Products must obtain their own
|
|
15
|
+
* Spine Editor license and redistribution of the Products in any form must
|
|
16
|
+
* include this license and copyright notice.
|
|
17
|
+
*
|
|
18
|
+
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
|
19
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
20
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
+
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
|
22
|
+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
23
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
|
+
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*****************************************************************************/
|
|
29
|
+
import { Attachment } from "./attachments/Attachment";
|
|
30
|
+
import { BoneData } from "./BoneData";
|
|
31
|
+
import { ConstraintData } from "./ConstraintData";
|
|
32
|
+
import { Skeleton } from "./Skeleton";
|
|
33
|
+
import { StringMap } from "./Utils";
|
|
34
|
+
/** Stores an entry in the skin consisting of the slot index, name, and attachment **/
|
|
35
|
+
export declare class SkinEntry {
|
|
36
|
+
slotIndex: number;
|
|
37
|
+
name: string;
|
|
38
|
+
attachment: Attachment;
|
|
39
|
+
constructor(slotIndex: number, name: string, attachment: Attachment);
|
|
40
|
+
}
|
|
41
|
+
/** Stores attachments by slot index and attachment name.
|
|
42
|
+
*
|
|
43
|
+
* See SkeletonData {@link SkeletonData#defaultSkin}, Skeleton {@link Skeleton#skin}, and
|
|
44
|
+
* [Runtime skins](http://esotericsoftware.com/spine-runtime-skins) in the Spine Runtimes Guide. */
|
|
45
|
+
export declare class Skin {
|
|
46
|
+
/** The skin's name, which is unique across all skins in the skeleton. */
|
|
47
|
+
name: string;
|
|
48
|
+
attachments: StringMap<Attachment>[];
|
|
49
|
+
bones: BoneData[];
|
|
50
|
+
constraints: ConstraintData[];
|
|
51
|
+
constructor(name: string);
|
|
52
|
+
/** Adds an attachment to the skin for the specified slot index and name. */
|
|
53
|
+
setAttachment(slotIndex: number, name: string, attachment: Attachment): void;
|
|
54
|
+
/** Adds all attachments, bones, and constraints from the specified skin to this skin. */
|
|
55
|
+
addSkin(skin: Skin): void;
|
|
56
|
+
/** Adds all bones and constraints and copies of all attachments from the specified skin to this skin. Mesh attachments are not
|
|
57
|
+
* copied, instead a new linked mesh is created. The attachment copies can be modified without affecting the originals. */
|
|
58
|
+
copySkin(skin: Skin): void;
|
|
59
|
+
/** Returns the attachment for the specified slot index and name, or null. */
|
|
60
|
+
getAttachment(slotIndex: number, name: string): Attachment | null;
|
|
61
|
+
/** Removes the attachment in the skin for the specified slot index and name, if any. */
|
|
62
|
+
removeAttachment(slotIndex: number, name: string): void;
|
|
63
|
+
/** Returns all attachments in this skin. */
|
|
64
|
+
getAttachments(): Array<SkinEntry>;
|
|
65
|
+
/** Returns all attachments in this skin for the specified slot index. */
|
|
66
|
+
getAttachmentsForSlot(slotIndex: number, attachments: Array<SkinEntry>): void;
|
|
67
|
+
/** Clears all attachments, bones, and constraints. */
|
|
68
|
+
clear(): void;
|
|
69
|
+
/** Attach each attachment in this skin if the corresponding attachment in the old skin is currently attached. */
|
|
70
|
+
attachAll(skeleton: Skeleton, oldSkin: Skin): void;
|
|
71
|
+
}
|
package/dist/Skin.js
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Spine Runtimes License Agreement
|
|
3
|
+
* Last updated September 24, 2021. Replaces all prior versions.
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2013-2021, Esoteric Software LLC
|
|
6
|
+
*
|
|
7
|
+
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
|
+
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
|
+
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
|
+
* http://esotericsoftware.com/spine-editor-license
|
|
11
|
+
*
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
|
+
* "Products"), provided that each user of the Products must obtain their own
|
|
15
|
+
* Spine Editor license and redistribution of the Products in any form must
|
|
16
|
+
* include this license and copyright notice.
|
|
17
|
+
*
|
|
18
|
+
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
|
19
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
20
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
+
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
|
22
|
+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
23
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
|
+
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*****************************************************************************/
|
|
29
|
+
import { MeshAttachment } from "./attachments/MeshAttachment";
|
|
30
|
+
/** Stores an entry in the skin consisting of the slot index, name, and attachment **/
|
|
31
|
+
export class SkinEntry {
|
|
32
|
+
constructor(slotIndex = 0, name, attachment) {
|
|
33
|
+
this.slotIndex = slotIndex;
|
|
34
|
+
this.name = name;
|
|
35
|
+
this.attachment = attachment;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/** Stores attachments by slot index and attachment name.
|
|
39
|
+
*
|
|
40
|
+
* See SkeletonData {@link SkeletonData#defaultSkin}, Skeleton {@link Skeleton#skin}, and
|
|
41
|
+
* [Runtime skins](http://esotericsoftware.com/spine-runtime-skins) in the Spine Runtimes Guide. */
|
|
42
|
+
export class Skin {
|
|
43
|
+
constructor(name) {
|
|
44
|
+
this.attachments = new Array();
|
|
45
|
+
this.bones = Array();
|
|
46
|
+
this.constraints = new Array();
|
|
47
|
+
if (!name)
|
|
48
|
+
throw new Error("name cannot be null.");
|
|
49
|
+
this.name = name;
|
|
50
|
+
}
|
|
51
|
+
/** Adds an attachment to the skin for the specified slot index and name. */
|
|
52
|
+
setAttachment(slotIndex, name, attachment) {
|
|
53
|
+
if (!attachment)
|
|
54
|
+
throw new Error("attachment cannot be null.");
|
|
55
|
+
let attachments = this.attachments;
|
|
56
|
+
if (slotIndex >= attachments.length)
|
|
57
|
+
attachments.length = slotIndex + 1;
|
|
58
|
+
if (!attachments[slotIndex])
|
|
59
|
+
attachments[slotIndex] = {};
|
|
60
|
+
attachments[slotIndex][name] = attachment;
|
|
61
|
+
}
|
|
62
|
+
/** Adds all attachments, bones, and constraints from the specified skin to this skin. */
|
|
63
|
+
addSkin(skin) {
|
|
64
|
+
for (let i = 0; i < skin.bones.length; i++) {
|
|
65
|
+
let bone = skin.bones[i];
|
|
66
|
+
let contained = false;
|
|
67
|
+
for (let ii = 0; ii < this.bones.length; ii++) {
|
|
68
|
+
if (this.bones[ii] == bone) {
|
|
69
|
+
contained = true;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (!contained)
|
|
74
|
+
this.bones.push(bone);
|
|
75
|
+
}
|
|
76
|
+
for (let i = 0; i < skin.constraints.length; i++) {
|
|
77
|
+
let constraint = skin.constraints[i];
|
|
78
|
+
let contained = false;
|
|
79
|
+
for (let ii = 0; ii < this.constraints.length; ii++) {
|
|
80
|
+
if (this.constraints[ii] == constraint) {
|
|
81
|
+
contained = true;
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (!contained)
|
|
86
|
+
this.constraints.push(constraint);
|
|
87
|
+
}
|
|
88
|
+
let attachments = skin.getAttachments();
|
|
89
|
+
for (let i = 0; i < attachments.length; i++) {
|
|
90
|
+
var attachment = attachments[i];
|
|
91
|
+
this.setAttachment(attachment.slotIndex, attachment.name, attachment.attachment);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/** Adds all bones and constraints and copies of all attachments from the specified skin to this skin. Mesh attachments are not
|
|
95
|
+
* copied, instead a new linked mesh is created. The attachment copies can be modified without affecting the originals. */
|
|
96
|
+
copySkin(skin) {
|
|
97
|
+
for (let i = 0; i < skin.bones.length; i++) {
|
|
98
|
+
let bone = skin.bones[i];
|
|
99
|
+
let contained = false;
|
|
100
|
+
for (let ii = 0; ii < this.bones.length; ii++) {
|
|
101
|
+
if (this.bones[ii] == bone) {
|
|
102
|
+
contained = true;
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (!contained)
|
|
107
|
+
this.bones.push(bone);
|
|
108
|
+
}
|
|
109
|
+
for (let i = 0; i < skin.constraints.length; i++) {
|
|
110
|
+
let constraint = skin.constraints[i];
|
|
111
|
+
let contained = false;
|
|
112
|
+
for (let ii = 0; ii < this.constraints.length; ii++) {
|
|
113
|
+
if (this.constraints[ii] == constraint) {
|
|
114
|
+
contained = true;
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (!contained)
|
|
119
|
+
this.constraints.push(constraint);
|
|
120
|
+
}
|
|
121
|
+
let attachments = skin.getAttachments();
|
|
122
|
+
for (let i = 0; i < attachments.length; i++) {
|
|
123
|
+
var attachment = attachments[i];
|
|
124
|
+
if (!attachment.attachment)
|
|
125
|
+
continue;
|
|
126
|
+
if (attachment.attachment instanceof MeshAttachment) {
|
|
127
|
+
attachment.attachment = attachment.attachment.newLinkedMesh();
|
|
128
|
+
this.setAttachment(attachment.slotIndex, attachment.name, attachment.attachment);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
attachment.attachment = attachment.attachment.copy();
|
|
132
|
+
this.setAttachment(attachment.slotIndex, attachment.name, attachment.attachment);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/** Returns the attachment for the specified slot index and name, or null. */
|
|
137
|
+
getAttachment(slotIndex, name) {
|
|
138
|
+
let dictionary = this.attachments[slotIndex];
|
|
139
|
+
return dictionary ? dictionary[name] : null;
|
|
140
|
+
}
|
|
141
|
+
/** Removes the attachment in the skin for the specified slot index and name, if any. */
|
|
142
|
+
removeAttachment(slotIndex, name) {
|
|
143
|
+
let dictionary = this.attachments[slotIndex];
|
|
144
|
+
if (dictionary)
|
|
145
|
+
delete dictionary[name];
|
|
146
|
+
}
|
|
147
|
+
/** Returns all attachments in this skin. */
|
|
148
|
+
getAttachments() {
|
|
149
|
+
let entries = new Array();
|
|
150
|
+
for (var i = 0; i < this.attachments.length; i++) {
|
|
151
|
+
let slotAttachments = this.attachments[i];
|
|
152
|
+
if (slotAttachments) {
|
|
153
|
+
for (let name in slotAttachments) {
|
|
154
|
+
let attachment = slotAttachments[name];
|
|
155
|
+
if (attachment)
|
|
156
|
+
entries.push(new SkinEntry(i, name, attachment));
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return entries;
|
|
161
|
+
}
|
|
162
|
+
/** Returns all attachments in this skin for the specified slot index. */
|
|
163
|
+
getAttachmentsForSlot(slotIndex, attachments) {
|
|
164
|
+
let slotAttachments = this.attachments[slotIndex];
|
|
165
|
+
if (slotAttachments) {
|
|
166
|
+
for (let name in slotAttachments) {
|
|
167
|
+
let attachment = slotAttachments[name];
|
|
168
|
+
if (attachment)
|
|
169
|
+
attachments.push(new SkinEntry(slotIndex, name, attachment));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/** Clears all attachments, bones, and constraints. */
|
|
174
|
+
clear() {
|
|
175
|
+
this.attachments.length = 0;
|
|
176
|
+
this.bones.length = 0;
|
|
177
|
+
this.constraints.length = 0;
|
|
178
|
+
}
|
|
179
|
+
/** Attach each attachment in this skin if the corresponding attachment in the old skin is currently attached. */
|
|
180
|
+
attachAll(skeleton, oldSkin) {
|
|
181
|
+
let slotIndex = 0;
|
|
182
|
+
for (let i = 0; i < skeleton.slots.length; i++) {
|
|
183
|
+
let slot = skeleton.slots[i];
|
|
184
|
+
let slotAttachment = slot.getAttachment();
|
|
185
|
+
if (slotAttachment && slotIndex < oldSkin.attachments.length) {
|
|
186
|
+
let dictionary = oldSkin.attachments[slotIndex];
|
|
187
|
+
for (let key in dictionary) {
|
|
188
|
+
let skinAttachment = dictionary[key];
|
|
189
|
+
if (slotAttachment == skinAttachment) {
|
|
190
|
+
let attachment = this.getAttachment(slotIndex, key);
|
|
191
|
+
if (attachment)
|
|
192
|
+
slot.setAttachment(attachment);
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
slotIndex++;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2tpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Ta2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUcvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFNOUQsc0ZBQXNGO0FBQ3RGLE1BQU0sT0FBTyxTQUFTO0lBQ3JCLFlBQW9CLFlBQW9CLENBQUMsRUFBUyxJQUFZLEVBQVMsVUFBc0I7UUFBekUsY0FBUyxHQUFULFNBQVMsQ0FBWTtRQUFTLFNBQUksR0FBSixJQUFJLENBQVE7UUFBUyxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUksQ0FBQztDQUNsRztBQUVEOzs7bUdBR21HO0FBQ25HLE1BQU0sT0FBTyxJQUFJO0lBUWhCLFlBQWEsSUFBWTtRQUp6QixnQkFBVyxHQUFHLElBQUksS0FBSyxFQUF5QixDQUFDO1FBQ2pELFVBQUssR0FBRyxLQUFLLEVBQVksQ0FBQztRQUMxQixnQkFBVyxHQUFHLElBQUksS0FBSyxFQUFrQixDQUFDO1FBR3pDLElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsYUFBYSxDQUFFLFNBQWlCLEVBQUUsSUFBWSxFQUFFLFVBQXNCO1FBQ3JFLElBQUksQ0FBQyxVQUFVO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQy9ELElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDbkMsSUFBSSxTQUFTLElBQUksV0FBVyxDQUFDLE1BQU07WUFBRSxXQUFXLENBQUMsTUFBTSxHQUFHLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7WUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3pELFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDM0MsQ0FBQztJQUVELHlGQUF5RjtJQUN6RixPQUFPLENBQUUsSUFBVTtRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDM0MsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdEIsS0FBSyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUM5QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFO29CQUMzQixTQUFTLEdBQUcsSUFBSSxDQUFDO29CQUNqQixNQUFNO2lCQUNOO2FBQ0Q7WUFDRCxJQUFJLENBQUMsU0FBUztnQkFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QztRQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqRCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN0QixLQUFLLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0JBQ3BELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxVQUFVLEVBQUU7b0JBQ3ZDLFNBQVMsR0FBRyxJQUFJLENBQUM7b0JBQ2pCLE1BQU07aUJBQ047YUFDRDtZQUNELElBQUksQ0FBQyxTQUFTO2dCQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzVDLElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDakY7SUFDRixDQUFDO0lBRUQ7OEhBQzBIO0lBQzFILFFBQVEsQ0FBRSxJQUFVO1FBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzQyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN0QixLQUFLLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0JBQzlDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLEVBQUU7b0JBQzNCLFNBQVMsR0FBRyxJQUFJLENBQUM7b0JBQ2pCLE1BQU07aUJBQ047YUFDRDtZQUNELElBQUksQ0FBQyxTQUFTO2dCQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RDO1FBRUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2pELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLEtBQUssSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRTtnQkFDcEQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFVBQVUsRUFBRTtvQkFDdkMsU0FBUyxHQUFHLElBQUksQ0FBQztvQkFDakIsTUFBTTtpQkFDTjthQUNEO1lBQ0QsSUFBSSxDQUFDLFNBQVM7Z0JBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEQ7UUFFRCxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsSUFBSSxVQUFVLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVTtnQkFBRSxTQUFTO1lBQ3JDLElBQUksVUFBVSxDQUFDLFVBQVUsWUFBWSxjQUFjLEVBQUU7Z0JBQ3BELFVBQVUsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2pGO2lCQUFNO2dCQUNOLFVBQVUsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDckQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2pGO1NBQ0Q7SUFDRixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLGFBQWEsQ0FBRSxTQUFpQixFQUFFLElBQVk7UUFDN0MsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QyxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUVELHdGQUF3RjtJQUN4RixnQkFBZ0IsQ0FBRSxTQUFpQixFQUFFLElBQVk7UUFDaEQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QyxJQUFJLFVBQVU7WUFBRSxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsNENBQTRDO0lBQzVDLGNBQWM7UUFDYixJQUFJLE9BQU8sR0FBRyxJQUFJLEtBQUssRUFBYSxDQUFDO1FBQ3JDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqRCxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLElBQUksZUFBZSxFQUFFO2dCQUNwQixLQUFLLElBQUksSUFBSSxJQUFJLGVBQWUsRUFBRTtvQkFDakMsSUFBSSxVQUFVLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN2QyxJQUFJLFVBQVU7d0JBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7aUJBQ2pFO2FBQ0Q7U0FDRDtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2hCLENBQUM7SUFFRCx5RUFBeUU7SUFDekUscUJBQXFCLENBQUUsU0FBaUIsRUFBRSxXQUE2QjtRQUN0RSxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELElBQUksZUFBZSxFQUFFO1lBQ3BCLEtBQUssSUFBSSxJQUFJLElBQUksZUFBZSxFQUFFO2dCQUNqQyxJQUFJLFVBQVUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksVUFBVTtvQkFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQzthQUM3RTtTQUNEO0lBQ0YsQ0FBQztJQUVELHNEQUFzRDtJQUN0RCxLQUFLO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGlIQUFpSDtJQUNqSCxTQUFTLENBQUUsUUFBa0IsRUFBRSxPQUFhO1FBQzNDLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDMUMsSUFBSSxjQUFjLElBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO2dCQUM3RCxJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNoRCxLQUFLLElBQUksR0FBRyxJQUFJLFVBQVUsRUFBRTtvQkFDM0IsSUFBSSxjQUFjLEdBQWUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNqRCxJQUFJLGNBQWMsSUFBSSxjQUFjLEVBQUU7d0JBQ3JDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3dCQUNwRCxJQUFJLFVBQVU7NEJBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQzt3QkFDL0MsTUFBTTtxQkFDTjtpQkFDRDthQUNEO1lBQ0QsU0FBUyxFQUFFLENBQUM7U0FDWjtJQUNGLENBQUM7Q0FDRCJ9
|
package/dist/Slot.d.ts
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Spine Runtimes License Agreement
|
|
3
|
+
* Last updated September 24, 2021. Replaces all prior versions.
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2013-2021, Esoteric Software LLC
|
|
6
|
+
*
|
|
7
|
+
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
|
+
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
|
+
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
|
+
* http://esotericsoftware.com/spine-editor-license
|
|
11
|
+
*
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
|
+
* "Products"), provided that each user of the Products must obtain their own
|
|
15
|
+
* Spine Editor license and redistribution of the Products in any form must
|
|
16
|
+
* include this license and copyright notice.
|
|
17
|
+
*
|
|
18
|
+
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
|
19
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
20
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
+
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
|
22
|
+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
23
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
|
+
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*****************************************************************************/
|
|
29
|
+
import { Attachment } from "./attachments/Attachment";
|
|
30
|
+
import { Bone } from "./Bone";
|
|
31
|
+
import { Skeleton } from "./Skeleton";
|
|
32
|
+
import { SlotData } from "./SlotData";
|
|
33
|
+
import { Color } from "./Utils";
|
|
34
|
+
/** Stores a slot's current pose. Slots organize attachments for {@link Skeleton#drawOrder} purposes and provide a place to store
|
|
35
|
+
* state for an attachment. State cannot be stored in an attachment itself because attachments are stateless and may be shared
|
|
36
|
+
* across multiple skeletons. */
|
|
37
|
+
export declare class Slot {
|
|
38
|
+
/** The slot's setup pose data. */
|
|
39
|
+
data: SlotData;
|
|
40
|
+
/** The bone this slot belongs to. */
|
|
41
|
+
bone: Bone;
|
|
42
|
+
/** The color used to tint the slot's attachment. If {@link #getDarkColor()} is set, this is used as the light color for two
|
|
43
|
+
* color tinting. */
|
|
44
|
+
color: Color;
|
|
45
|
+
/** The dark color used to tint the slot's attachment for two color tinting, or null if two color tinting is not used. The dark
|
|
46
|
+
* color's alpha is not used. */
|
|
47
|
+
darkColor: Color | null;
|
|
48
|
+
attachment: Attachment | null;
|
|
49
|
+
attachmentState: number;
|
|
50
|
+
/** The index of the texture region to display when the slot's attachment has a {@link Sequence}. -1 represents the
|
|
51
|
+
* {@link Sequence#getSetupIndex()}. */
|
|
52
|
+
sequenceIndex: number;
|
|
53
|
+
/** Values to deform the slot's attachment. For an unweighted mesh, the entries are local positions for each vertex. For a
|
|
54
|
+
* weighted mesh, the entries are an offset for each vertex which will be added to the mesh's local vertex positions.
|
|
55
|
+
*
|
|
56
|
+
* See {@link VertexAttachment#computeWorldVertices()} and {@link DeformTimeline}. */
|
|
57
|
+
deform: number[];
|
|
58
|
+
constructor(data: SlotData, bone: Bone);
|
|
59
|
+
/** The skeleton this slot belongs to. */
|
|
60
|
+
getSkeleton(): Skeleton;
|
|
61
|
+
/** The current attachment for the slot, or null if the slot has no attachment. */
|
|
62
|
+
getAttachment(): Attachment | null;
|
|
63
|
+
/** Sets the slot's attachment and, if the attachment changed, resets {@link #sequenceIndex} and clears the {@link #deform}.
|
|
64
|
+
* The deform is not cleared if the old attachment has the same {@link VertexAttachment#getTimelineAttachment()} as the
|
|
65
|
+
* specified attachment. */
|
|
66
|
+
setAttachment(attachment: Attachment | null): void;
|
|
67
|
+
/** Sets this slot to the setup pose. */
|
|
68
|
+
setToSetupPose(): void;
|
|
69
|
+
}
|
package/dist/Slot.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Spine Runtimes License Agreement
|
|
3
|
+
* Last updated September 24, 2021. Replaces all prior versions.
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2013-2021, Esoteric Software LLC
|
|
6
|
+
*
|
|
7
|
+
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
|
+
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
|
+
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
|
+
* http://esotericsoftware.com/spine-editor-license
|
|
11
|
+
*
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
|
+
* "Products"), provided that each user of the Products must obtain their own
|
|
15
|
+
* Spine Editor license and redistribution of the Products in any form must
|
|
16
|
+
* include this license and copyright notice.
|
|
17
|
+
*
|
|
18
|
+
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
|
19
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
20
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
+
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
|
22
|
+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
23
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
|
+
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*****************************************************************************/
|
|
29
|
+
import { VertexAttachment } from "./attachments/Attachment";
|
|
30
|
+
import { Color } from "./Utils";
|
|
31
|
+
/** Stores a slot's current pose. Slots organize attachments for {@link Skeleton#drawOrder} purposes and provide a place to store
|
|
32
|
+
* state for an attachment. State cannot be stored in an attachment itself because attachments are stateless and may be shared
|
|
33
|
+
* across multiple skeletons. */
|
|
34
|
+
export class Slot {
|
|
35
|
+
constructor(data, bone) {
|
|
36
|
+
/** The dark color used to tint the slot's attachment for two color tinting, or null if two color tinting is not used. The dark
|
|
37
|
+
* color's alpha is not used. */
|
|
38
|
+
this.darkColor = null;
|
|
39
|
+
this.attachment = null;
|
|
40
|
+
this.attachmentState = 0;
|
|
41
|
+
/** The index of the texture region to display when the slot's attachment has a {@link Sequence}. -1 represents the
|
|
42
|
+
* {@link Sequence#getSetupIndex()}. */
|
|
43
|
+
this.sequenceIndex = -1;
|
|
44
|
+
/** Values to deform the slot's attachment. For an unweighted mesh, the entries are local positions for each vertex. For a
|
|
45
|
+
* weighted mesh, the entries are an offset for each vertex which will be added to the mesh's local vertex positions.
|
|
46
|
+
*
|
|
47
|
+
* See {@link VertexAttachment#computeWorldVertices()} and {@link DeformTimeline}. */
|
|
48
|
+
this.deform = new Array();
|
|
49
|
+
if (!data)
|
|
50
|
+
throw new Error("data cannot be null.");
|
|
51
|
+
if (!bone)
|
|
52
|
+
throw new Error("bone cannot be null.");
|
|
53
|
+
this.data = data;
|
|
54
|
+
this.bone = bone;
|
|
55
|
+
this.color = new Color();
|
|
56
|
+
this.darkColor = !data.darkColor ? null : new Color();
|
|
57
|
+
this.setToSetupPose();
|
|
58
|
+
}
|
|
59
|
+
/** The skeleton this slot belongs to. */
|
|
60
|
+
getSkeleton() {
|
|
61
|
+
return this.bone.skeleton;
|
|
62
|
+
}
|
|
63
|
+
/** The current attachment for the slot, or null if the slot has no attachment. */
|
|
64
|
+
getAttachment() {
|
|
65
|
+
return this.attachment;
|
|
66
|
+
}
|
|
67
|
+
/** Sets the slot's attachment and, if the attachment changed, resets {@link #sequenceIndex} and clears the {@link #deform}.
|
|
68
|
+
* The deform is not cleared if the old attachment has the same {@link VertexAttachment#getTimelineAttachment()} as the
|
|
69
|
+
* specified attachment. */
|
|
70
|
+
setAttachment(attachment) {
|
|
71
|
+
if (this.attachment == attachment)
|
|
72
|
+
return;
|
|
73
|
+
if (!(attachment instanceof VertexAttachment) || !(this.attachment instanceof VertexAttachment)
|
|
74
|
+
|| attachment.timelineAttachment != this.attachment.timelineAttachment) {
|
|
75
|
+
this.deform.length = 0;
|
|
76
|
+
}
|
|
77
|
+
this.attachment = attachment;
|
|
78
|
+
this.sequenceIndex = -1;
|
|
79
|
+
}
|
|
80
|
+
/** Sets this slot to the setup pose. */
|
|
81
|
+
setToSetupPose() {
|
|
82
|
+
this.color.setFromColor(this.data.color);
|
|
83
|
+
if (this.darkColor)
|
|
84
|
+
this.darkColor.setFromColor(this.data.darkColor);
|
|
85
|
+
if (!this.data.attachmentName)
|
|
86
|
+
this.attachment = null;
|
|
87
|
+
else {
|
|
88
|
+
this.attachment = null;
|
|
89
|
+
this.setAttachment(this.bone.skeleton.getAttachment(this.data.index, this.data.attachmentName));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xvdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TbG90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUUvRSxPQUFPLEVBQWMsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl4RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhDOztnQ0FFZ0M7QUFDaEMsTUFBTSxPQUFPLElBQUk7SUE2QmhCLFlBQWEsSUFBYyxFQUFFLElBQVU7UUFsQnZDO3dDQUNnQztRQUNoQyxjQUFTLEdBQWlCLElBQUksQ0FBQztRQUUvQixlQUFVLEdBQXNCLElBQUksQ0FBQztRQUVyQyxvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUU1QjsrQ0FDdUM7UUFDdkMsa0JBQWEsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUUzQjs7OzZGQUdxRjtRQUNyRixXQUFNLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUc1QixJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN0RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELHlDQUF5QztJQUN6QyxXQUFXO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0ZBQWtGO0lBQ2xGLGFBQWE7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDeEIsQ0FBQztJQUVEOzsrQkFFMkI7SUFDM0IsYUFBYSxDQUFFLFVBQTZCO1FBQzNDLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVO1lBQUUsT0FBTztRQUMxQyxJQUFJLENBQUMsQ0FBQyxVQUFVLFlBQVksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsWUFBWSxnQkFBZ0IsQ0FBQztlQUN4RSxVQUFXLENBQUMsa0JBQWtCLElBQXVCLElBQUksQ0FBQyxVQUFXLENBQUMsa0JBQWtCLEVBQUU7WUFDaEgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLGNBQWM7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksSUFBSSxDQUFDLFNBQVM7WUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVUsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7YUFDbkI7WUFDSixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7U0FDaEc7SUFDRixDQUFDO0NBQ0QifQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Spine Runtimes License Agreement
|
|
3
|
+
* Last updated September 24, 2021. Replaces all prior versions.
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2013-2021, Esoteric Software LLC
|
|
6
|
+
*
|
|
7
|
+
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
|
+
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
|
+
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
|
+
* http://esotericsoftware.com/spine-editor-license
|
|
11
|
+
*
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
|
+
* "Products"), provided that each user of the Products must obtain their own
|
|
15
|
+
* Spine Editor license and redistribution of the Products in any form must
|
|
16
|
+
* include this license and copyright notice.
|
|
17
|
+
*
|
|
18
|
+
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
|
19
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
20
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
+
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
|
22
|
+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
23
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
|
+
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*****************************************************************************/
|
|
29
|
+
import { BoneData } from "./BoneData";
|
|
30
|
+
import { Color } from "./Utils";
|
|
31
|
+
/** Stores the setup pose for a {@link Slot}. */
|
|
32
|
+
export declare class SlotData {
|
|
33
|
+
/** The index of the slot in {@link Skeleton#getSlots()}. */
|
|
34
|
+
index: number;
|
|
35
|
+
/** The name of the slot, which is unique across all slots in the skeleton. */
|
|
36
|
+
name: string;
|
|
37
|
+
/** The bone this slot belongs to. */
|
|
38
|
+
boneData: BoneData;
|
|
39
|
+
/** The color used to tint the slot's attachment. If {@link #getDarkColor()} is set, this is used as the light color for two
|
|
40
|
+
* color tinting. */
|
|
41
|
+
color: Color;
|
|
42
|
+
/** The dark color used to tint the slot's attachment for two color tinting, or null if two color tinting is not used. The dark
|
|
43
|
+
* color's alpha is not used. */
|
|
44
|
+
darkColor: Color | null;
|
|
45
|
+
/** The name of the attachment that is visible for this slot in the setup pose, or null if no attachment is visible. */
|
|
46
|
+
attachmentName: string | null;
|
|
47
|
+
/** The blend mode for drawing the slot's attachment. */
|
|
48
|
+
blendMode: BlendMode;
|
|
49
|
+
constructor(index: number, name: string, boneData: BoneData);
|
|
50
|
+
}
|
|
51
|
+
/** Determines how images are blended with existing pixels when drawn. */
|
|
52
|
+
export declare enum BlendMode {
|
|
53
|
+
Normal = 0,
|
|
54
|
+
Additive = 1,
|
|
55
|
+
Multiply = 2,
|
|
56
|
+
Screen = 3
|
|
57
|
+
}
|
package/dist/SlotData.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Spine Runtimes License Agreement
|
|
3
|
+
* Last updated September 24, 2021. Replaces all prior versions.
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2013-2021, Esoteric Software LLC
|
|
6
|
+
*
|
|
7
|
+
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
|
+
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
|
+
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
|
+
* http://esotericsoftware.com/spine-editor-license
|
|
11
|
+
*
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
|
+
* "Products"), provided that each user of the Products must obtain their own
|
|
15
|
+
* Spine Editor license and redistribution of the Products in any form must
|
|
16
|
+
* include this license and copyright notice.
|
|
17
|
+
*
|
|
18
|
+
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
|
19
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
20
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
+
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
|
22
|
+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
23
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
|
+
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*****************************************************************************/
|
|
29
|
+
import { Color } from "./Utils";
|
|
30
|
+
/** Stores the setup pose for a {@link Slot}. */
|
|
31
|
+
export class SlotData {
|
|
32
|
+
constructor(index, name, boneData) {
|
|
33
|
+
/** The index of the slot in {@link Skeleton#getSlots()}. */
|
|
34
|
+
this.index = 0;
|
|
35
|
+
/** The color used to tint the slot's attachment. If {@link #getDarkColor()} is set, this is used as the light color for two
|
|
36
|
+
* color tinting. */
|
|
37
|
+
this.color = new Color(1, 1, 1, 1);
|
|
38
|
+
/** The dark color used to tint the slot's attachment for two color tinting, or null if two color tinting is not used. The dark
|
|
39
|
+
* color's alpha is not used. */
|
|
40
|
+
this.darkColor = null;
|
|
41
|
+
/** The name of the attachment that is visible for this slot in the setup pose, or null if no attachment is visible. */
|
|
42
|
+
this.attachmentName = null;
|
|
43
|
+
/** The blend mode for drawing the slot's attachment. */
|
|
44
|
+
this.blendMode = BlendMode.Normal;
|
|
45
|
+
if (index < 0)
|
|
46
|
+
throw new Error("index must be >= 0.");
|
|
47
|
+
if (!name)
|
|
48
|
+
throw new Error("name cannot be null.");
|
|
49
|
+
if (!boneData)
|
|
50
|
+
throw new Error("boneData cannot be null.");
|
|
51
|
+
this.index = index;
|
|
52
|
+
this.name = name;
|
|
53
|
+
this.boneData = boneData;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** Determines how images are blended with existing pixels when drawn. */
|
|
57
|
+
export var BlendMode;
|
|
58
|
+
(function (BlendMode) {
|
|
59
|
+
BlendMode[BlendMode["Normal"] = 0] = "Normal";
|
|
60
|
+
BlendMode[BlendMode["Additive"] = 1] = "Additive";
|
|
61
|
+
BlendMode[BlendMode["Multiply"] = 2] = "Multiply";
|
|
62
|
+
BlendMode[BlendMode["Screen"] = 3] = "Screen";
|
|
63
|
+
})(BlendMode || (BlendMode = {}));
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xvdERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU2xvdERhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRy9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEMsZ0RBQWdEO0FBQ2hELE1BQU0sT0FBTyxRQUFRO0lBd0JwQixZQUFhLEtBQWEsRUFBRSxJQUFZLEVBQUUsUUFBa0I7UUF2QjVELDREQUE0RDtRQUM1RCxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBUWxCOzRCQUNvQjtRQUNwQixVQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFOUI7d0NBQ2dDO1FBQ2hDLGNBQVMsR0FBaUIsSUFBSSxDQUFDO1FBRS9CLHVIQUF1SDtRQUN2SCxtQkFBYyxHQUFrQixJQUFJLENBQUM7UUFFckMsd0RBQXdEO1FBQ3hELGNBQVMsR0FBYyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBR3ZDLElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFFBQVE7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDMUIsQ0FBQztDQUNEO0FBRUQseUVBQXlFO0FBQ3pFLE1BQU0sQ0FBTixJQUFZLFNBQWdEO0FBQTVELFdBQVksU0FBUztJQUFHLDZDQUFNLENBQUE7SUFBRSxpREFBUSxDQUFBO0lBQUUsaURBQVEsQ0FBQTtJQUFFLDZDQUFNLENBQUE7QUFBQyxDQUFDLEVBQWhELFNBQVMsS0FBVCxTQUFTLFFBQXVDIn0=
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Spine Runtimes License Agreement
|
|
3
|
+
* Last updated September 24, 2021. Replaces all prior versions.
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2013-2021, Esoteric Software LLC
|
|
6
|
+
*
|
|
7
|
+
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
|
+
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
|
+
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
|
+
* http://esotericsoftware.com/spine-editor-license
|
|
11
|
+
*
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
|
+
* "Products"), provided that each user of the Products must obtain their own
|
|
15
|
+
* Spine Editor license and redistribution of the Products in any form must
|
|
16
|
+
* include this license and copyright notice.
|
|
17
|
+
*
|
|
18
|
+
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
|
19
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
20
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
+
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
|
22
|
+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
23
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
|
+
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*****************************************************************************/
|
|
29
|
+
export declare abstract class Texture {
|
|
30
|
+
protected _image: HTMLImageElement | ImageBitmap;
|
|
31
|
+
constructor(image: HTMLImageElement | ImageBitmap);
|
|
32
|
+
getImage(): HTMLImageElement | ImageBitmap;
|
|
33
|
+
abstract setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void;
|
|
34
|
+
abstract setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void;
|
|
35
|
+
abstract dispose(): void;
|
|
36
|
+
}
|
|
37
|
+
export declare enum TextureFilter {
|
|
38
|
+
Nearest = 9728,
|
|
39
|
+
Linear = 9729,
|
|
40
|
+
MipMap = 9987,
|
|
41
|
+
MipMapNearestNearest = 9984,
|
|
42
|
+
MipMapLinearNearest = 9985,
|
|
43
|
+
MipMapNearestLinear = 9986,
|
|
44
|
+
MipMapLinearLinear = 9987
|
|
45
|
+
}
|
|
46
|
+
export declare enum TextureWrap {
|
|
47
|
+
MirroredRepeat = 33648,
|
|
48
|
+
ClampToEdge = 33071,
|
|
49
|
+
Repeat = 10497
|
|
50
|
+
}
|
|
51
|
+
export declare class TextureRegion {
|
|
52
|
+
renderObject: any;
|
|
53
|
+
u: number;
|
|
54
|
+
v: number;
|
|
55
|
+
u2: number;
|
|
56
|
+
v2: number;
|
|
57
|
+
width: number;
|
|
58
|
+
height: number;
|
|
59
|
+
degrees: number;
|
|
60
|
+
offsetX: number;
|
|
61
|
+
offsetY: number;
|
|
62
|
+
originalWidth: number;
|
|
63
|
+
originalHeight: number;
|
|
64
|
+
}
|
|
65
|
+
export declare class FakeTexture extends Texture {
|
|
66
|
+
setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void;
|
|
67
|
+
setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void;
|
|
68
|
+
dispose(): void;
|
|
69
|
+
}
|