diff --git a/spine-haxe/spine-haxe/spine/Bone.hx b/spine-haxe/spine-haxe/spine/Bone.hx index 3494741d5..fadb6810b 100644 --- a/spine-haxe/spine-haxe/spine/Bone.hx +++ b/spine-haxe/spine-haxe/spine/Bone.hx @@ -70,17 +70,17 @@ class Bone implements Updatable { public var ashearX:Float = 0; /** The applied local shearY. */ public var ashearY:Float = 0; - /** Part of the world transform matrix for the X axis. If changed, {@link #updateAppliedTransform()} should be called. */ + /** Part of the world transform matrix for the X axis. If changed, updateAppliedTransform() should be called. */ public var a:Float = 0; - /** Part of the world transform matrix for the Y axis. If changed, {@link #updateAppliedTransform()} should be called. */ + /** Part of the world transform matrix for the Y axis. If changed, updateAppliedTransform() should be called. */ public var b:Float = 0; - /** Part of the world transform matrix for the X axis. If changed, {@link #updateAppliedTransform()} should be called. */ + /** Part of the world transform matrix for the X axis. If changed, updateAppliedTransform() should be called. */ public var c:Float = 0; - /** Part of the world transform matrix for the Y axis. If changed, {@link #updateAppliedTransform()} should be called. */ + /** Part of the world transform matrix for the Y axis. If changed, updateAppliedTransform() should be called. */ public var d:Float = 0; - /** The world X position. If changed, {@link #updateAppliedTransform()} should be called. */ + /** The world X position. If changed, updateAppliedTransform() should be called. */ public var worldX:Float = 0; - /** The world Y position. If changed, {@link #updateAppliedTransform()} should be called. */ + /** The world Y position. If changed, updateAppliedTransform() should be called. */ public var worldY:Float = 0; /** Determines how parent world transforms affect this bone. */ public var inherit:Inherit = Inherit.normal; @@ -115,7 +115,7 @@ class Bone implements Updatable { return _children; } - /** @param parent May be null. */ + /** Copy constructor. Does not copy the children bones. */ public function new(data:BoneData, skeleton:Skeleton, parent:Bone) { if (data == null) throw new SpineException("data cannot be null."); @@ -138,7 +138,7 @@ class Bone implements Updatable { /** Computes the world transform using the parent bone and this bone's local transform. *

- * See {@link #updateWorldTransformWith(float, float, float, float, float, float, float)}. */ + * See updateWorldTransformWith(). */ public function updateWorldTransform():Void { updateWorldTransformWith(x, y, rotation, scaleX, scaleY, shearX, shearY); } @@ -284,7 +284,7 @@ class Bone implements Updatable { /** Computes the applied transform values from the world transform. *

- * If the world transform is modified (by a constraint, {@link #rotateWorld(float)}, etc) then this method should be called so + * If the world transform is modified (by a constraint, rotateWorld(), etc) then this method should be called so * the applied transform matches the world transform. The applied transform may be needed by other code (eg to apply another * constraint). *

@@ -370,58 +370,49 @@ class Bone implements Updatable { } } - /** The world rotation for the X axis, calculated using {@link #a} and {@link #c}. */ + /** The world rotation for the X axis, calculated using a and c. */ public var worldRotationX(get, never):Float; private function get_worldRotationX():Float { return Math.atan2(c, a) * MathUtils.radDeg; } - /** The world rotation for the Y axis, calculated using {@link #b} and {@link #d}. */ + /** The world rotation for the Y axis, calculated using b and d. */ public var worldRotationY(get, never):Float; private function get_worldRotationY():Float { return Math.atan2(d, b) * MathUtils.radDeg; } - /** The magnitude (always positive) of the world scale X, calculated using {@link #a} and {@link #c}. */ + /** The magnitude (always positive) of the world scale X, calculated using a and c. */ public var worldScaleX(get, never):Float; private function get_worldScaleX():Float { return Math.sqrt(a * a + c * c); } - /** The magnitude (always positive) of the world scale Y, calculated using {@link #b} and {@link #d}. */ + /** The magnitude (always positive) of the world scale Y, calculated using b and d. */ public var worldScaleY(get, never):Float; private function get_worldScaleY():Float { return Math.sqrt(b * b + d * d); } - /** Transforms a point from world coordinates to the parent bone's local coordinates. - * @param world The world coordinates to transform. - * @return The transformed coordinates in the parent's local space. - */ - private function worldToParent(world: Array):Array { + /** Transforms a point from world coordinates to the parent bone's local coordinates. */ + public function worldToParent(world: Array):Array { if (world == null) throw new SpineException("world cannot be null."); return parent == null ? world : parent.worldToLocal(world); } - /** Transforms a point from the parent bone's coordinates to world coordinates. - * @param world The parent coordinates to transform. - * @return The transformed coordinates in world space. - */ - private function parentToWorld(world: Array):Array { + /** Transforms a point from the parent bone's coordinates to world coordinates. */ + public function parentToWorld(world: Array):Array { if (world == null) throw new SpineException("world cannot be null."); return parent == null ? world : parent.localToWorld(world); } - /** Transforms a point from world coordinates to the bone's local coordinates. - * @param world The world coordinates to transform. - * @return The transformed coordinates in local space. - */ + /** Transforms a point from world coordinates to the bone's local coordinates. */ public function worldToLocal(world:Array):Array { var a:Float = a, b:Float = b, c:Float = c, d:Float = d; var invDet:Float = 1 / (a * d - b * c); @@ -431,10 +422,7 @@ class Bone implements Updatable { return world; } - /** Transforms a point from the bone's local coordinates to world coordinates. - * @param local The local coordinates to transform. - * @return The transformed coordinates in world space. - */ + /** Transforms a point from the bone's local coordinates to world coordinates. */ public function localToWorld(local:Array):Array { var localX:Float = local[0], localY:Float = local[1]; local[0] = localX * a + localY * b + worldX; @@ -442,20 +430,14 @@ class Bone implements Updatable { return local; } - /** Transforms a world rotation to a local rotation. - * @param worldRotation The world rotation in degrees. - * @return The rotation in local space in degrees. - */ + /** Transforms a world rotation to a local rotation. */ public function worldToLocalRotation(worldRotation:Float):Float { var sin:Float = MathUtils.sinDeg(worldRotation), cos:Float = MathUtils.cosDeg(worldRotation); return Math.atan2(a * sin - c * cos, d * cos - b * sin) * MathUtils.radDeg + rotation - shearX; } - /** Transforms a local rotation to a world rotation. - * @param localRotation The local rotation in degrees. - * @return The rotation in world space in degrees. - */ + /** Transforms a local rotation to a world rotation. */ public function localToWorldRotation(localRotation:Float):Float { localRotation -= rotation - shearX; var sin:Float = MathUtils.sinDeg(localRotation), @@ -465,10 +447,8 @@ class Bone implements Updatable { /** Rotates the world transform the specified amount. *

- * After changes are made to the world transform, {@link #updateAppliedTransform()} should be called and - * {@link #update(Physics)} will need to be called on any child bones, recursively. - * @param degrees The rotation in degrees. - */ + * After changes are made to the world transform, updateAppliedTransform() should be called and + * update() will need to be called on any child bones, recursively. */ public function rotateWorld(degrees:Float):Void { degrees *= MathUtils.degRad; var sin:Float = Math.sin(degrees), cos:Float = Math.cos(degrees); diff --git a/spine-haxe/spine-haxe/spine/BoneData.hx b/spine-haxe/spine-haxe/spine/BoneData.hx index 698f42914..cf78839f8 100644 --- a/spine-haxe/spine-haxe/spine/BoneData.hx +++ b/spine-haxe/spine-haxe/spine/BoneData.hx @@ -29,7 +29,7 @@ package spine; -/** Stores the setup pose for a {@link Bone}. */ +/** Stores the setup pose for a spine.Bone. */ class BoneData { private var _index:Int; private var _name:String; @@ -53,10 +53,9 @@ class BoneData { public var shearY:Float = 0; /** Determines how parent world transforms affect this bone. */ public var inherit:Inherit = Inherit.normal; - /** When true, {@link Skeleton#updateWorldTransform()} only updates this bone if the {@link Skeleton#getSkin()} contains + /** When true, spine.Skeleton.updateWorldTransform() only updates this bone if the spine.Skeleton.getSkin() contains * this bone. - * - * See {@link Skin#getBones()}. */ + * @see spine.Skin.getBones() */ public var skinRequired:Bool = false; /** The color of the bone as it was in Spine, or a default color if nonessential data was not exported. Bones are not usually * rendered at runtime. */ @@ -66,7 +65,7 @@ class BoneData { /** False if the bone was hidden in Spine and nonessential data was exported. Does not affect runtime rendering. */ public var visible:Bool = false; - /** @param parent May be null. */ + /** Copy constructor. */ public function new(index:Int, name:String, parent:BoneData) { if (index < 0) throw new SpineException("index must be >= 0"); @@ -77,7 +76,7 @@ class BoneData { _parent = parent; } - /** The index of the bone in {@link Skeleton#getBones()}. */ + /** The index of the bone in spine.Skeleton.getBones(). */ public var index(get, never):Int; private function get_index():Int { @@ -87,7 +86,7 @@ class BoneData { /** The name of the bone, which is unique across all bones in the skeleton. */ public var name(get, never):String; - function get_name():String { + private function get_name():String { return _name; } diff --git a/spine-haxe/spine-haxe/spine/ConstraintData.hx b/spine-haxe/spine-haxe/spine/ConstraintData.hx index 1a1c6244b..ab88a6d32 100644 --- a/spine-haxe/spine-haxe/spine/ConstraintData.hx +++ b/spine-haxe/spine-haxe/spine/ConstraintData.hx @@ -34,12 +34,11 @@ class ConstraintData { /** The constraint's name, which is unique across all constraints in the skeleton of the same type. */ public var name:String; /** The ordinal of this constraint for the order a skeleton's constraints will be applied by - * Skeleton#updateWorldTransform(). */ + * spine.Skeleton.updateWorldTransform(). */ public var order:Int = 0; - /** When true, Skeleton#updateWorldTransform() only updates this constraint if the Skeleton#getSkin() + /** When true, spine.Skeleton.updateWorldTransform() only updates this constraint if the spine.Skeleton.getSkin() * contains this constraint. - * - * See Skin#getConstraints(). */ + * @see spine.Skin.getConstraints() */ public var skinRequired:Bool = false; function new(name:String, order:Int, skinRequired:Bool) { diff --git a/spine-haxe/spine-haxe/spine/Event.hx b/spine-haxe/spine-haxe/spine/Event.hx index f100895bd..7d8d4fc80 100644 --- a/spine-haxe/spine-haxe/spine/Event.hx +++ b/spine-haxe/spine-haxe/spine/Event.hx @@ -29,12 +29,12 @@ package spine; -/** Stores the current pose values for an {@link Event}. - *

- * See Timeline - * {@link Timeline#apply(Skeleton, float, float, com.badlogic.gdx.utils.Array, float, com.esotericsoftware.spine.Animation.MixBlend, com.esotericsoftware.spine.Animation.MixDirection)}, - * AnimationStateListener {@link AnimationStateListener#event(com.esotericsoftware.spine.AnimationState.TrackEntry, Event)}, and - * Events in the Spine User Guide. */ +/** Stores the current pose values for an Event. + * + * @see spine.Timeline + * @see spine.Timeline.apply() + * @see spine.AnimationStateListener.event() + * @see Events in the Spine User Guide. */ class Event { private var _data:EventData; diff --git a/spine-haxe/spine-haxe/spine/EventData.hx b/spine-haxe/spine-haxe/spine/EventData.hx index 34c6c28ca..3980d55ea 100644 --- a/spine-haxe/spine-haxe/spine/EventData.hx +++ b/spine-haxe/spine-haxe/spine/EventData.hx @@ -29,8 +29,8 @@ package spine; -/** Stores the setup pose values for an {@link Event}. - *

+/** Stores the setup pose values for an spine.Event. + * * See Events in the Spine User Guide. */ class EventData { private var _name:String; diff --git a/spine-haxe/spine-haxe/spine/HasTextureRegion.hx b/spine-haxe/spine-haxe/spine/HasTextureRegion.hx index a34a79481..af727e472 100644 --- a/spine-haxe/spine-haxe/spine/HasTextureRegion.hx +++ b/spine-haxe/spine-haxe/spine/HasTextureRegion.hx @@ -30,15 +30,15 @@ package spine; interface HasTextureRegion { - /** The name used to find the {@link #region}. */ + /** The name used to find the region. */ public var path:String; /** Sets the region used to draw the attachment. After setting the region or if the region's properties are changed, - * {@link #updateRegion()} must be called. */ + * updateRegion() must be called. */ public var region:TextureRegion; /** The color to tint the attachment. */ public var color:Color; public var sequence:Sequence; - /** Updates any values the attachment calculates using the {@link #region}. Must be called after setting the - * {@link #region} or if the region's properties are changed. */ + /** Updates any values the attachment calculates using the region. Must be called after setting the + * region or if the region's properties are changed. */ public function updateRegion():Void; } diff --git a/spine-haxe/spine-haxe/spine/IkConstraint.hx b/spine-haxe/spine-haxe/spine/IkConstraint.hx index c62015545..2e816bbad 100644 --- a/spine-haxe/spine-haxe/spine/IkConstraint.hx +++ b/spine-haxe/spine-haxe/spine/IkConstraint.hx @@ -46,7 +46,7 @@ class IkConstraint implements Updatable { public var compress:Bool = false; /** When true and the target is out of range, the parent bone is scaled to reach it. *

- * For two bone IK: 1) the child bone's local Y translation is set to 0, 2) stretch is not applied if {@link #getSoftness()} is + * For two bone IK: 1) the child bone's local Y translation is set to 0, 2) stretch is not applied if getSoftness() is * > 0, and 3) if the parent bone has local nonuniform scale, stretch is not applied. */ public var stretch:Bool = false; /** A percentage (0-1) that controls the mix between the constrained and unconstrained rotation. @@ -58,6 +58,7 @@ class IkConstraint implements Updatable { public var softness:Float = 0; public var active:Bool = false; + /** Copy constructor. */ public function new(data:IkConstraintData, skeleton:Skeleton) { if (data == null) throw new SpineException("data cannot be null."); @@ -111,7 +112,7 @@ class IkConstraint implements Updatable { } public function toString():String { - return _data.name != null ? _data.name : "IkContstraint?"; + return _data.name != null ? _data.name : "IkConstraint?"; } /** Applies 1 bone IK. The target is specified in the world coordinate system. */ diff --git a/spine-haxe/spine-haxe/spine/IkConstraintData.hx b/spine-haxe/spine-haxe/spine/IkConstraintData.hx index a26aae5cd..d5fa3128a 100644 --- a/spine-haxe/spine-haxe/spine/IkConstraintData.hx +++ b/spine-haxe/spine-haxe/spine/IkConstraintData.hx @@ -29,8 +29,8 @@ package spine; -/** Stores the setup pose for an {@link IkConstraint}. - *

+/** Stores the setup pose for a spine.IkConstraint. + * * See IK constraints in the Spine User Guide. */ class IkConstraintData extends ConstraintData { /** The bones that are constrained by this IK constraint. */ @@ -47,10 +47,10 @@ class IkConstraintData extends ConstraintData { public var compress:Bool = false; /** When true and the target is out of range, the parent bone is scaled to reach it. * - * For two bone IK: 1) the child bone's local Y translation is set to 0, 2) stretch is not applied if {@link #getSoftness()} is + * For two bone IK: 1) the child bone's local Y translation is set to 0, 2) stretch is not applied if softness is * > 0, and 3) if the parent bone has local nonuniform scale, stretch is not applied. */ public var stretch:Bool = false; - /** When true and {@link #getCompress()} or {@link #getStretch()} is used, the bone is scaled on both the X and Y axes. */ + /** When true and compress or stretch is used, the bone is scaled on both the X and Y axes. */ public var uniform:Bool = false; /** For two bone IK, the target bone's distance from the maximum reach of the bones where rotation begins to slow. The bones * will not straighten completely until the target is this far out of range. */ diff --git a/spine-haxe/spine-haxe/spine/PathConstraintData.hx b/spine-haxe/spine-haxe/spine/PathConstraintData.hx index d9be73750..70db20ef6 100644 --- a/spine-haxe/spine-haxe/spine/PathConstraintData.hx +++ b/spine-haxe/spine-haxe/spine/PathConstraintData.hx @@ -29,14 +29,14 @@ package spine; -/** Stores the setup pose for a {@link PathConstraint}. - *

+/** Stores the setup pose for a spine.PathConstraint. + * * See Path constraints in the Spine User Guide. */ class PathConstraintData extends ConstraintData { /** The bones that will be modified by this path constraint. */ private var _bones:Array = new Array(); - /** The slot whose path attachment will be used to constrained the bones. */ + /** The slot whose path attachment will be used to constrain the bones. */ public var target:SlotData; /** The mode for positioning the first bone on the path. */ public var positionMode:PositionMode = PositionMode.fixed; diff --git a/spine-haxe/spine-haxe/spine/PhysicsConstraint.hx b/spine-haxe/spine-haxe/spine/PhysicsConstraint.hx index 4935e2a4d..9bdad22b6 100644 --- a/spine-haxe/spine-haxe/spine/PhysicsConstraint.hx +++ b/spine-haxe/spine-haxe/spine/PhysicsConstraint.hx @@ -30,7 +30,7 @@ package spine; /** Stores the current pose for a physics constraint. A physics constraint applies physics to bones. - *

+ * * See Physics constraints in the Spine User Guide. */ class PhysicsConstraint implements Updatable { private var _data:PhysicsConstraintData; @@ -42,6 +42,7 @@ class PhysicsConstraint implements Updatable { public var massInverse:Float = 0; public var wind:Float = 0; public var gravity:Float = 0; + /** A percentage (0-1) that controls the mix between the constrained and unconstrained poses. */ public var mix:Float = 0; private var _reset:Bool = true; diff --git a/spine-haxe/spine-haxe/spine/Pool.hx b/spine-haxe/spine-haxe/spine/Pool.hx index bd80fa9a0..e2b09e26e 100644 --- a/spine-haxe/spine-haxe/spine/Pool.hx +++ b/spine-haxe/spine-haxe/spine/Pool.hx @@ -44,6 +44,11 @@ typedef Function = haxe.Constraints.Function; this.instantiator = instantiator; } + /** + * This pool keeps a reference to the obtained instance, so it should be returned to the pool via Pool.free(), + * Pool.freeAll() or clear() to avoid leaking memory. + * @return The obtained instance from the pool or a new instance if the pool is empty. + */ public function obtain():T { return this.items.length > 0 ? this.items.pop() : this.instantiator(); } diff --git a/spine-haxe/spine-haxe/spine/PositionMode.hx b/spine-haxe/spine-haxe/spine/PositionMode.hx index 4c08d68a3..2f8437104 100644 --- a/spine-haxe/spine-haxe/spine/PositionMode.hx +++ b/spine-haxe/spine-haxe/spine/PositionMode.hx @@ -29,10 +29,12 @@ package spine; -/** Controls how the first bone is positioned along the path. +/** + * Controls how the first bone is positioned along the path. *

* See Position mode in the Spine User - * Guide. */ + * Guide. + */ class PositionMode { public static var fixed(default, never):PositionMode = new PositionMode("fixed"); public static var percent(default, never):PositionMode = new PositionMode("percent"); diff --git a/spine-haxe/spine-haxe/spine/Skeleton.hx b/spine-haxe/spine-haxe/spine/Skeleton.hx index d747bb667..99e00f6eb 100644 --- a/spine-haxe/spine-haxe/spine/Skeleton.hx +++ b/spine-haxe/spine-haxe/spine/Skeleton.hx @@ -86,9 +86,9 @@ class Skeleton { *

* Bones that do not inherit translation are still affected by this property. */ public var y:Float = 0; - /** Returns the skeleton's time. This is used for time-based manipulations, such as {@link PhysicsConstraint}. + /** Returns the skeleton's time. This is used for time-based manipulations, such as spine.PhysicsConstraint. *

- * See {@link #update(float)}. */ + * See Skeleton.update(). */ public var time:Float = 0; /** Creates a new skeleton with the specified skeleton data. */ @@ -143,7 +143,7 @@ class Skeleton { updateCache(); } - /** Caches information about bones and constraints. Must be called if the {@link #getSkin()} is modified or if bones, + /** Caches information about bones and constraints. Must be called if the Skeleton.skin is modified or if bones, * constraints, or weighted path attachments are added or removed. */ public function updateCache():Void { _updateCache.resize(0); @@ -463,7 +463,7 @@ class Skeleton { return _data; } - /** The list of bones and constraints, sorted in the order they should be updated, as computed by {@link #updateCache()}. */ + /** The list of bones and constraints, sorted in the order they should be updated, as computed by Skeleton.updateCache(). */ public var getUpdateCache(get, never):Array; private function get_getUpdateCache():Array { @@ -524,7 +524,7 @@ class Skeleton { /** Sets a skin by name. *

- * See {@link #setSkin(Skin)}. */ + * See Skeleton.skin. */ private function set_skinName(skinName:String):String { var skin:Skin = data.findSkin(skinName); if (skin == null) @@ -545,14 +545,14 @@ class Skeleton { return _skin; } - /** Sets the skin used to look up attachments before looking in the {@link SkeletonData#getDefaultSkin() default skin}. If the - * skin is changed, {@link #updateCache()} is called. + /** Sets the skin used to look up attachments before looking in the spine.SkeletonData default skin. If the + * skin is changed, Skeleton.updateCache() is called. *

* Attachments from the new skin are attached if the corresponding attachment from the old skin was attached. If there was no * old skin, each slot's setup mode attachment is attached from the new skin. *

* After changing the skin, the visible attachments can be reset to those attached in the setup pose by calling - * {@link #setSlotsToSetupPose()}. Also, often {@link AnimationState#apply(Skeleton)} is called before the next time the + * Skeleton.setSlotsToSetupPose(). Also, often spine.AnimationState.apply() is called before the next time the * skeleton is rendered to allow any attachment keys in the current animation(s) to hide or show attachments from the new * skin. */ private function set_skin(newSkin:Skin):Skin { @@ -579,15 +579,15 @@ class Skeleton { return _skin; } - /** Finds an attachment by looking in the {@link #skin} and {@link SkeletonData#defaultSkin} using the slot name and attachment + /** Finds an attachment by looking in the Skeleton.skin and spine.SkeletonData defaultSkin using the slot name and attachment * name. *

- * See {@link #getAttachment(int, String)}. */ + * See Skeleton.getAttachmentForSlotIndex(). */ public function getAttachmentForSlotName(slotName:String, attachmentName:String):Attachment { return getAttachmentForSlotIndex(data.findSlot(slotName).index, attachmentName); } - /** Finds an attachment by looking in the {@link #skin} and {@link SkeletonData#defaultSkin} using the slot index and + /** Finds an attachment by looking in the Skeleton.skin and spine.SkeletonData defaultSkin using the slot index and * attachment name. First the skin is checked and if the attachment was not found, the default skin is checked. *

* See Runtime skins in the Spine Runtimes Guide. */ @@ -604,8 +604,8 @@ class Skeleton { return null; } - /** A convenience method to set an attachment by finding the slot with {@link #findSlot(String)}, finding the attachment with - * {@link #getAttachment(int, String)}, then setting the slot's {@link Slot#attachment}. + /** A convenience method to set an attachment by finding the slot with Skeleton.findSlot(), finding the attachment with + * Skeleton.getAttachmentForSlotIndex(), then setting the slot's spine.Slot attachment. * @param attachmentName May be null to clear the slot's attachment. */ public function setAttachment(slotName:String, attachmentName:String):Void { if (slotName == null) @@ -683,8 +683,8 @@ class Skeleton { private var _tempVertices = new Array(); private var _bounds = new Rectangle(); - /** Returns the axis aligned bounding box (AABB) of the region and mesh attachments for the current pose. - * Optionally applies clipping. */ + /** Returns the axis aligned bounding box (AABB) of the region and mesh attachments for the current pose. Optionally applies + * clipping. */ public function getBounds(clipper: SkeletonClipping = null):Rectangle { var minX:Float = Math.POSITIVE_INFINITY; var minY:Float = Math.POSITIVE_INFINITY; @@ -741,18 +741,18 @@ class Skeleton { return _bounds; } - /** Increments the skeleton's {@link #time}. */ + /** Increments the skeleton's Skeleton.time. */ public function update (delta:Float):Void { time += delta; } - /** Calls {@link PhysicsConstraint#translate(float, float)} for each physics constraint. */ + /** Calls spine.PhysicsConstraint.translate() for each physics constraint. */ public function physicsTranslate (x:Float, y:Float):Void { for (physicsConstraint in physicsConstraints) physicsConstraint.translate(x, y); } - /** Calls {@link PhysicsConstraint#rotate(float, float, float)} for each physics constraint. */ + /** Calls spine.PhysicsConstraint.rotate() for each physics constraint. */ public function physicsRotate (x:Float, y:Float, degrees:Float):Void { for (physicsConstraint in physicsConstraints) physicsConstraint.rotate(x, y, degrees); diff --git a/spine-haxe/spine-haxe/spine/SkeletonBinary.hx b/spine-haxe/spine-haxe/spine/SkeletonBinary.hx index 619c81d73..9b9cd1d64 100644 --- a/spine-haxe/spine-haxe/spine/SkeletonBinary.hx +++ b/spine-haxe/spine-haxe/spine/SkeletonBinary.hx @@ -82,6 +82,13 @@ import spine.attachments.PointAttachment; import spine.attachments.RegionAttachment; import spine.attachments.VertexAttachment; +/** + * Loads skeleton data in the Spine binary format. + *

+ * See Spine binary format and + * JSON and binary data in the Spine + * Runtimes Guide. + */ class SkeletonBinary { public var attachmentLoader:AttachmentLoader; public var scale:Float = 1; diff --git a/spine-haxe/spine-haxe/spine/SkeletonClipping.hx b/spine-haxe/spine-haxe/spine/SkeletonClipping.hx index 61e1439cd..73099d0b4 100644 --- a/spine-haxe/spine-haxe/spine/SkeletonClipping.hx +++ b/spine-haxe/spine-haxe/spine/SkeletonClipping.hx @@ -274,8 +274,10 @@ class SkeletonClipping { } } - /** Clips the input triangle against the convex, clockwise clipping area. If the triangle lies entirely within the clipping - * area, false is returned. The clipping area must duplicate the first vertex at the end of the vertices list. */ + /** + * Clips the input triangle against the convex, clockwise clipping area. If the triangle lies entirely within the clipping + * area, false is returned. The clipping area must duplicate the first vertex at the end of the vertices list. + */ public function clip(x1:Float, y1:Float, x2:Float, y2:Float, x3:Float, y3:Float, clippingArea:Array, output:Array):Bool { var originalOutput:Array = output; var clipped:Bool = false; diff --git a/spine-haxe/spine-haxe/spine/SkeletonData.hx b/spine-haxe/spine-haxe/spine/SkeletonData.hx index 7889c2c71..f85210f97 100644 --- a/spine-haxe/spine-haxe/spine/SkeletonData.hx +++ b/spine-haxe/spine-haxe/spine/SkeletonData.hx @@ -108,6 +108,7 @@ class SkeletonData { /** Finds a bone by comparing each bone's name. It is more efficient to cache the results of this method than to call it * multiple times. + * @param boneName The name of the bone to find. * @return May be null. */ public function findBone(boneName:String):BoneData { if (boneName == null) @@ -121,6 +122,7 @@ class SkeletonData { } /** Finds the index of a bone by comparing each bone's name. + * @param boneName The name of the bone to find. * @return -1 if the bone was not found. */ public function findBoneIndex(boneName:String):Int { if (boneName == null) @@ -136,6 +138,7 @@ class SkeletonData { /** Finds a slot by comparing each slot's name. It is more efficient to cache the results of this method than to call it * multiple times. + * @param slotName The name of the slot to find. * @return May be null. */ public function findSlot(slotName:String):SlotData { if (slotName == null) @@ -152,6 +155,7 @@ class SkeletonData { /** Finds a skin by comparing each skin's name. It is more efficient to cache the results of this method than to call it * multiple times. + * @param skinName The name of the skin to find. * @return May be null. */ public function findSkin(skinName:String):Skin { if (skinName == null) @@ -167,6 +171,7 @@ class SkeletonData { /** Finds an event by comparing each events's name. It is more efficient to cache the results of this method than to call it * multiple times. + * @param eventName The name of the event to find. * @return May be null. */ public function findEvent(eventName:String):EventData { if (eventName == null) @@ -182,6 +187,7 @@ class SkeletonData { /** Finds an animation by comparing each animation's name. It is more efficient to cache the results of this method than to * call it multiple times. + * @param animationName The name of the animation to find. * @return May be null. */ public function findAnimation(animationName:String):Animation { if (animationName == null) @@ -197,6 +203,7 @@ class SkeletonData { /** Finds an IK constraint by comparing each IK constraint's name. It is more efficient to cache the results of this method * than to call it multiple times. + * @param constraintName The name of the IK constraint to find. * @return May be null. */ public function findIkConstraint(constraintName:String):IkConstraintData { if (constraintName == null) @@ -212,6 +219,7 @@ class SkeletonData { /** Finds a transform constraint by comparing each transform constraint's name. It is more efficient to cache the results of * this method than to call it multiple times. + * @param constraintName The name of the transform constraint to find. * @return May be null. */ public function findTransformConstraint(constraintName:String):TransformConstraintData { if (constraintName == null) @@ -224,6 +232,7 @@ class SkeletonData { } /** Finds the index of a transform constraint by comparing each transform constraint's name. + * @param transformConstraintName The name of the transform constraint to find. * @return -1 if the transform constraint was not found. */ public function findTransformConstraintIndex(transformConstraintName:String):Int { if (transformConstraintName == null) @@ -239,6 +248,7 @@ class SkeletonData { /** Finds a path constraint by comparing each path constraint's name. It is more efficient to cache the results of this method * than to call it multiple times. + * @param constraintName The name of the path constraint to find. * @return May be null. */ public function findPathConstraint(constraintName:String):PathConstraintData { if (constraintName == null) @@ -252,6 +262,7 @@ class SkeletonData { } /** Finds the index of a path constraint by comparing each path constraint's name. + * @param pathConstraintName The name of the path constraint to find. * @return -1 if the path constraint was not found. */ public function findPathConstraintIndex(pathConstraintName:String):Int { if (pathConstraintName == null) @@ -267,10 +278,11 @@ class SkeletonData { /** Finds a physics constraint by comparing each physics constraint's name. It is more efficient to cache the results of this * method than to call it multiple times. + * @param constraintName The name of the physics constraint to find. * @return May be null. */ public function findPhysicsConstraint(constraintName:String):PhysicsConstraintData { if (constraintName == null) - throw new SpineException("physicsConstraintName cannot be null."); + throw new SpineException("constraintName cannot be null."); for (i in 0...physicsConstraints.length) { var constraint:PhysicsConstraintData = physicsConstraints[i]; if (constraint.name == constraintName) @@ -280,6 +292,7 @@ class SkeletonData { } /** Finds the index of a physics constraint by comparing each physics constraint's name. + * @param constraintName The name of the physics constraint to find. * @return -1 if the physics constraint was not found. */ public function findPhysicsConstraintIndex(constraintName:String):Int { if (constraintName == null) diff --git a/spine-haxe/spine-haxe/spine/Skin.hx b/spine-haxe/spine-haxe/spine/Skin.hx index 8e52609c4..0186ac8f6 100644 --- a/spine-haxe/spine-haxe/spine/Skin.hx +++ b/spine-haxe/spine-haxe/spine/Skin.hx @@ -35,8 +35,8 @@ import spine.attachments.MeshAttachment; /** Stores attachments by slot index and attachment name. * - * See SkeletonData {@link SkeletonData#defaultSkin}, Skeleton {@link Skeleton#skin}, and - * Runtime skins in the Spine Runtimes Guide. */ + * See spine.SkeletonData.defaultSkin, spine.Skeleton.skin, and + * Runtime skins at https://esotericsoftware.com/spine-runtime-skins in the Spine Runtimes Guide. */ class Skin { private var _name:String; private var _attachments:Array> = new Array>(); @@ -215,16 +215,16 @@ class Skin { return _constraints; } + /** The skin's name, which is unique across all skins in the skeleton. */ public var name(get, never):String; - /** The skin's name, which is unique across all skins in the skeleton. */ private function get_name():String { return _name; } + /** The color of the skin as it was in Spine, or a default color if nonessential data was not exported. */ public var color(get, never):Color; - /** The color of the skin as it was in Spine, or a default color if nonessential data was not exported. */ private function get_color():Color { return _color; } diff --git a/spine-haxe/spine-haxe/spine/Slot.hx b/spine-haxe/spine-haxe/spine/Slot.hx index 3c042e23d..f1a83b7bf 100644 --- a/spine-haxe/spine-haxe/spine/Slot.hx +++ b/spine-haxe/spine-haxe/spine/Slot.hx @@ -32,14 +32,14 @@ package spine; import spine.attachments.Attachment; import spine.attachments.VertexAttachment; -/** Stores a slot's current pose. Slots organize attachments for {@link Skeleton#drawOrder} purposes and provide a place to store +/** Stores a slot's current pose. Slots organize attachments for Skeleton.drawOrder purposes and provide a place to store * state for an attachment. State cannot be stored in an attachment itself because attachments are stateless and may be shared * across multiple skeletons. */ class Slot { private var _data:SlotData; private var _bone:Bone; - /** The color used to tint the slot's attachment. If {@link #darkColor} is set, this is used as the light color for two + /** The color used to tint the slot's attachment. If darkColor is set, this is used as the light color for two * color tinting. */ public var color:Color; /** 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 @@ -48,16 +48,15 @@ class Slot { private var _attachment:Attachment; - /** The index of the texture region to display when the slot's attachment has a {@link Sequence}. -1 represents the - * {@link Sequence#setupIndex}. */ + /** The index of the texture region to display when the slot's attachment has a spine.attachments.Sequence. -1 represents the + * Sequence.getSetupIndex(). */ public var sequenceIndex = -1; public var attachmentState:Int = 0; /** Values to deform the slot's attachment. For an unweighted mesh, the entries are local positions for each vertex. For a * weighted mesh, the entries are an offset for each vertex which will be added to the mesh's local vertex positions. - *

- * See {@link VertexAttachment#computeWorldVertices(Slot, int, int, float[], int, int)} and {@link DeformTimeline}. */ - + * @see spine.attachments.VertexAttachment.computeWorldVertices() + * @see spine.animation.DeformTimeline */ public var deform:Array = new Array(); /** Copy constructor. */ @@ -101,8 +100,8 @@ class Slot { return _attachment; } - /** Sets the slot's attachment and, if the attachment changed, resets {@link #sequenceIndex} and clears the {@link #deform}. - * The deform is not cleared if the old attachment has the same {@link VertexAttachment#timelineAttachment} as the + /** Sets the slot's attachment and, if the attachment changed, resets sequenceIndex and clears the deform. + * The deform is not cleared if the old attachment has the same spine.attachments.VertexAttachment.timelineAttachment as the * specified attachment. */ public function set_attachment(attachmentNew:Attachment):Attachment { if (attachment == attachmentNew) diff --git a/spine-haxe/spine-haxe/spine/SlotData.hx b/spine-haxe/spine-haxe/spine/SlotData.hx index 2d97eba93..0b19484fd 100644 --- a/spine-haxe/spine-haxe/spine/SlotData.hx +++ b/spine-haxe/spine-haxe/spine/SlotData.hx @@ -29,13 +29,13 @@ package spine; -/** Stores the setup pose for a {@link Slot}. */ +/** Stores the setup pose for a spine.Slot. */ class SlotData { private var _index:Int; private var _name:String; private var _boneData:BoneData; - /** The color used to tint the slot's attachment. If {@link #getDarkColor()} is set, this is used as the light color for two + /** The color used to tint the slot's attachment. If SlotData.darkColor is set, this is used as the light color for two * color tinting. */ public var color:Color = new Color(1, 1, 1, 1); /** 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 @@ -60,7 +60,7 @@ class SlotData { _boneData = boneData; } - /** The index of the slot in {@link Skeleton#getSlots()}. */ + /** The index of the slot in spine.Skeleton.getSlots(). */ public var index(get, never):Int; private function get_index():Int { diff --git a/spine-haxe/spine-haxe/spine/TransformConstraintData.hx b/spine-haxe/spine-haxe/spine/TransformConstraintData.hx index 391eb23c2..7e5afdd0e 100644 --- a/spine-haxe/spine-haxe/spine/TransformConstraintData.hx +++ b/spine-haxe/spine-haxe/spine/TransformConstraintData.hx @@ -29,9 +29,11 @@ package spine; -/** Stores the setup pose for a {@link TransformConstraint}. - *

- * See Transform constraints in the Spine User Guide. */ +/** + * Stores the setup pose for a spine.TransformConstraint. + * + * See Transform constraints in the Spine User Guide. + */ class TransformConstraintData extends ConstraintData { private var _bones:Array = new Array(); @@ -68,7 +70,9 @@ class TransformConstraintData extends ConstraintData { super(name, 0, false); } - /** The bones that will be modified by this transform constraint. */ + /** + * The bones that will be modified by this transform constraint. + */ public var bones(get, never):Array; private function get_bones():Array { diff --git a/spine-haxe/spine-haxe/spine/Triangulator.hx b/spine-haxe/spine-haxe/spine/Triangulator.hx index 34342d17d..4f576c588 100644 --- a/spine-haxe/spine-haxe/spine/Triangulator.hx +++ b/spine-haxe/spine-haxe/spine/Triangulator.hx @@ -29,9 +29,6 @@ package spine; -/** - * Triangulator class used for polygon triangulation and decomposition. - */ class Triangulator { private var convexPolygons:Array> = new Array>(); private var convexPolygonsIndices:Array> = new Array>(); diff --git a/spine-haxe/spine-haxe/spine/Updatable.hx b/spine-haxe/spine-haxe/spine/Updatable.hx index e42b56b33..2294656e5 100644 --- a/spine-haxe/spine-haxe/spine/Updatable.hx +++ b/spine-haxe/spine-haxe/spine/Updatable.hx @@ -29,17 +29,17 @@ package spine; -/** The interface for items updated by {@link Skeleton#updateWorldTransform(Physics)}. */ +/** The interface for items updated by spine.Skeleton.updateWorldTransform(). */ interface Updatable { /** @param physics Determines how physics and other non-deterministic updates are applied. */ function update(physics:Physics):Void; /** Returns false when this item won't be updated by - * {@link Skeleton#updateWorldTransform(Physics)} because a skin is required and the - * {@link Skeleton#getSkin() active skin} does not contain this item. - * @see Skin#getBones() - * @see Skin#getConstraints() - * @see BoneData#getSkinRequired() - * @see ConstraintData#getSkinRequired() */ + * spine.Skeleton.updateWorldTransform() because a skin is required and the + * active skin does not contain this item. + * @see spine.Skin.getBones() + * @see spine.Skin.getConstraints() + * @see spine.BoneData.getSkinRequired() + * @see spine.ConstraintData.getSkinRequired() */ function isActive():Bool; } diff --git a/spine-haxe/spine-haxe/spine/animation/AlphaTimeline.hx b/spine-haxe/spine-haxe/spine/animation/AlphaTimeline.hx index 0d7c4a9a1..53fdc535c 100644 --- a/spine-haxe/spine-haxe/spine/animation/AlphaTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/AlphaTimeline.hx @@ -33,7 +33,7 @@ import spine.Event; import spine.Skeleton; import spine.Slot; -/** Changes the alpha for a slot's {@link Slot#color}. */ +/** Changes the alpha for a slot's spine.Slot.color. */ class AlphaTimeline extends CurveTimeline1 implements SlotTimeline { private static inline var ENTRIES:Int = 4; private static inline var R:Float = 1; diff --git a/spine-haxe/spine-haxe/spine/animation/Animation.hx b/spine-haxe/spine-haxe/spine/animation/Animation.hx index 28eb33c86..3b76ab57b 100644 --- a/spine-haxe/spine-haxe/spine/animation/Animation.hx +++ b/spine-haxe/spine-haxe/spine/animation/Animation.hx @@ -74,25 +74,25 @@ class Animation { } /** Applies the animation's timelines to the specified skeleton. - *

- * See Timeline {@link Timeline#apply(Skeleton, float, float, Array, float, MixBlend, MixDirection)}. + * + * See Timeline.apply(). * @param skeleton The skeleton the animation is being applied to. This provides access to the bones, slots, and other skeleton * components the timelines may change. * @param lastTime The last time in seconds this animation was applied. Some timelines trigger only at specific times rather * than every frame. Pass -1 the first time an animation is applied to ensure frame 0 is triggered. * @param time The time in seconds the skeleton is being posed for. Most timelines find the frame before and the frame after - * this time and interpolate between the frame values. If beyond the {@link #getDuration()} and loop is + * this time and interpolate between the frame values. If beyond the duration and loop is * true then the animation will repeat, else the last frame will be applied. - * @param loop If true, the animation repeats after the {@link #getDuration()}. + * @param loop If true, the animation repeats after the duration. * @param events If any events are fired, they are added to this list. Can be null to ignore fired events or if no timelines * fire events. - * @param alpha 0 applies the current or setup values (depending on blend). 1 applies the timeline values. Between + * @param alpha 0 applies the current or setup values (depending on blend). 1 applies the timeline values. Between * 0 and 1 applies values between the current or setup values and the timeline values. By adjusting - * alpha over time, an animation can be mixed in or out. alpha can also be useful to apply + * alpha over time, an animation can be mixed in or out. alpha can also be useful to apply * animations on top of each other (layering). - * @param blend Controls how mixing is applied when alpha < 1. + * @param blend Controls how mixing is applied when alpha < 1. * @param direction Indicates whether the timelines are mixing in or out. Used by timelines which perform instant transitions, - * such as {@link DrawOrderTimeline} or {@link AttachmentTimeline}. */ + * such as DrawOrderTimeline or AttachmentTimeline. */ public function apply(skeleton:Skeleton, lastTime:Float, time:Float, loop:Bool, events:Array, alpha:Float, blend:MixBlend, direction:MixDirection):Void { if (skeleton == null) @@ -109,9 +109,9 @@ class Animation { } } + /** The animation's name, which is unique across all animations in the skeleton. */ public var name(get, never):String; - /** The animation's name, which is unique across all animations in the skeleton. */ private function get_name():String { return _name; } @@ -120,9 +120,9 @@ class Animation { return _name; } + /** If the returned array or the timelines it contains are modified, setTimelines() must be called. */ public var timelines(get, never):Array; - /** If the returned array or the timelines it contains are modified, {@link #setTimelines(Array)} must be called. */ private function get_timelines():Array { return _timelines; } diff --git a/spine-haxe/spine-haxe/spine/animation/AnimationState.hx b/spine-haxe/spine-haxe/spine/animation/AnimationState.hx index 4822ab843..e7d0222bc 100644 --- a/spine-haxe/spine-haxe/spine/animation/AnimationState.hx +++ b/spine-haxe/spine-haxe/spine/animation/AnimationState.hx @@ -35,11 +35,52 @@ import spine.Event; import spine.Pool; import spine.Skeleton; +/** + * Applies animations over time, queues animations for later playback, mixes (crossfading) between animations, and applies + * multiple animations on top of each other (layering). + *

+ * See Applying Animations in the Spine Runtimes Guide. + */ class AnimationState { + /** + * 1) A previously applied timeline has set this property.
+ * Result: Mix from the current pose to the timeline pose. + */ public static inline var SUBSEQUENT:Int = 0; + /** + * 1) This is the first timeline to set this property.
+ * 2) The next track entry applied after this one does not have a timeline to set this property.
+ * Result: Mix from the setup pose to the timeline pose. + */ public static inline var FIRST:Int = 1; + /** + * 1) A previously applied timeline has set this property.
+ * 2) The next track entry to be applied does have a timeline to set this property.
+ * 3) The next track entry after that one does not have a timeline to set this property.
+ * Result: Mix from the current pose to the timeline pose, but do not mix out. This avoids "dipping" when crossfading + * animations that key the same property. A subsequent timeline will set this property using a mix. + */ public static inline var HOLD_SUBSEQUENT:Int = 2; + /** + * 1) This is the first timeline to set this property.
+ * 2) The next track entry to be applied does have a timeline to set this property.
+ * 3) The next track entry after that one does not have a timeline to set this property.
+ * Result: Mix from the setup pose to the timeline pose, but do not mix out. This avoids "dipping" when crossfading animations + * that key the same property. A subsequent timeline will set this property using a mix. + */ public static inline var HOLD_FIRST:Int = 3; + /** + * 1) This is the first timeline to set this property.
+ * 2) The next track entry to be applied does have a timeline to set this property.
+ * 3) The next track entry after that one does have a timeline to set this property.
+ * 4) timelineHoldMix stores the first subsequent track entry that does not have a timeline to set this property.
+ * Result: The same as HOLD except the mix percentage from the timelineHoldMix track entry is used. This handles when more than + * 2 track entries in a row have a timeline that sets the same property.
+ * Eg, A -> B -> C -> D where A, B, and C have a timeline setting same property, but D does not. When A is applied, to avoid + * "dipping" A is not mixed out, however D (the first entry that doesn't set the property) mixing in is used to mix out A + * (which affects B and C). Without using D to mix out, A would be applied fully until mixing completes, then snap to the mixed + * out position. + */ public static inline var HOLD_MIX:Int = 4; public static inline var SETUP:Int = 1; public static inline var CURRENT:Int = 2; @@ -67,6 +108,9 @@ class AnimationState { private var unkeyedState:Int = 0; + /** + * Creates an uninitialized AnimationState. The animation state data must be set before use. + */ public function new(data:AnimationStateData) { if (data == null) throw new SpineException("data can not be null"); @@ -77,6 +121,9 @@ class AnimationState { }); } + /** + * Increments each track entry spine.animation.TrackEntry.getTrackTime(), setting queued animations as current if needed. + */ public function update(delta:Float):Void { delta *= timeScale; for (i in 0...tracks.length) { @@ -138,6 +185,9 @@ class AnimationState { queue.drain(); } + /** + * Returns true when all mixing from entries are complete. + */ private function updateMixingFrom(to:TrackEntry, delta:Float):Bool { var from:TrackEntry = to.mixingFrom; if (from == null) @@ -165,6 +215,11 @@ class AnimationState { return false; } + /** + * Poses the skeleton using the track entry animations. The animation state is not changed, so can be applied to multiple + * skeletons to pose them identically. + * @return True if any animations were applied. + */ public function apply(skeleton:Skeleton):Bool { if (skeleton == null) throw new SpineException("skeleton cannot be null."); @@ -350,6 +405,12 @@ class AnimationState { return mix; } + /** + * Applies the attachment timeline and sets spine.Slot.attachmentState. + * @param attachments False when: 1) the attachment timeline is mixing out, 2) mix < attachmentThreshold, and 3) the timeline + * is not the last timeline to set the slot's attachment. In that case the timeline is applied only so subsequent + * timelines see any deform. + */ public function applyAttachmentTimeline(timeline:AttachmentTimeline, skeleton:Skeleton, time:Float, blend:MixBlend, attachments:Bool) { var slot = skeleton.slots[timeline.slotIndex]; if (!slot.bone.active) @@ -366,6 +427,10 @@ class AnimationState { slot.attachmentState = this.unkeyedState + SETUP; } + /** + * Applies the rotate timeline, mixing with the current pose while keeping the same rotation direction chosen as the shortest + * the first time the mixing was applied. + */ public function applyRotateTimeline(timeline:RotateTimeline, skeleton:Skeleton, time:Float, alpha:Float, blend:MixBlend, timelinesRotation:Array, i:Int, firstFrame:Bool) { if (firstFrame) @@ -481,6 +546,12 @@ class AnimationState { } } + /** + * Removes all animations from all tracks, leaving skeletons in their current pose. + *

+ * It may be desired to use spine.animation.AnimationState.setEmptyAnimations() to mix the skeletons back to the setup pose, + * rather than leaving them in their current pose. + */ public function clearTracks():Void { var oldTrainDisabled:Bool = queue.drainDisabled; queue.drainDisabled = true; @@ -492,6 +563,12 @@ class AnimationState { queue.drain(); } + /** + * Removes all animations from the track, leaving skeletons in their current pose. + *

+ * It may be desired to use spine.animation.AnimationState.setEmptyAnimation() to mix the skeletons back to the setup pose, + * rather than leaving them in their current pose. + */ public function clearTrack(trackIndex:Int):Void { if (trackIndex >= tracks.length) return; @@ -540,6 +617,11 @@ class AnimationState { queue.start(current); } + /** + * Sets an animation by name. + *

+ * See spine.animation.AnimationState.setAnimation(). + */ public function setAnimationByName(trackIndex:Int, animationName:String, loop:Bool):TrackEntry { var animation:Animation = data.skeletonData.findAnimation(animationName); if (animation == null) @@ -547,6 +629,14 @@ class AnimationState { return setAnimation(trackIndex, animation, loop); } + /** + * Sets the current animation for a track, discarding any queued animations. If the formerly current track entry was never + * applied to a skeleton, it is replaced (not mixed from). + * @param loop If true, the animation will repeat. If false it will not, instead its last frame is applied if played beyond its + * duration. In either case spine.animation.TrackEntry.getTrackEnd() determines when the track is cleared. + * @return A track entry to allow further customization of animation playback. References to the track entry must not be kept + * after the spine.animation.AnimationStateListener.dispose() event occurs. + */ public function setAnimation(trackIndex:Int, animation:Animation, loop:Bool):TrackEntry { if (animation == null) throw new SpineException("animation cannot be null."); @@ -571,6 +661,11 @@ class AnimationState { return entry; } + /** + * Queues an animation by name. + *

+ * See spine.animation.AnimationState.addAnimation(). + */ public function addAnimationByName(trackIndex:Int, animationName:String, loop:Bool, delay:Float):TrackEntry { var animation:Animation = data.skeletonData.findAnimation(animationName); if (animation == null) @@ -578,6 +673,16 @@ class AnimationState { return addAnimation(trackIndex, animation, loop, delay); } + /** + * Adds an animation to be played after the current or last queued animation for a track. If the track is empty, it is + * equivalent to calling spine.animation.AnimationState.setAnimation(). + * @param delay If > 0, sets spine.animation.TrackEntry.getDelay(). If <= 0, the delay set is the duration of the previous track entry + * minus any mix duration (from the spine.animation.AnimationStateData) plus the specified delay (ie the mix + * ends at (delay = 0) or before (delay < 0) the previous track entry duration). If the + * previous entry is looping, its next loop completion is used instead of its duration. + * @return A track entry to allow further customization of animation playback. References to the track entry must not be kept + * after the spine.animation.AnimationStateListener.dispose() event occurs. + */ public function addAnimation(trackIndex:Int, animation:Animation, loop:Bool, delay:Float):TrackEntry { if (animation == null) throw new SpineException("animation cannot be null."); @@ -605,6 +710,23 @@ class AnimationState { return entry; } + /** + * Sets an empty animation for a track, discarding any queued animations, and sets the track entry's + * spine.animation.TrackEntry.getMixDuration(). An empty animation has no timelines and serves as a placeholder for mixing in or out. + *

+ * Mixing out is done by setting an empty animation with a mix duration using either spine.animation.AnimationState.setEmptyAnimation(), + * spine.animation.AnimationState.setEmptyAnimations(), or spine.animation.AnimationState.addEmptyAnimation(). Mixing to an empty animation causes + * the previous animation to be applied less and less over the mix duration. Properties keyed in the previous animation + * transition to the value from lower tracks or to the setup pose value if no lower tracks key the property. A mix duration of + * 0 still mixes out over one frame. + *

+ * Mixing in is done by first setting an empty animation, then adding an animation using + * spine.animation.AnimationState.addAnimation() with the desired delay (an empty animation has a duration of 0) and on + * the returned track entry, set the spine.animation.TrackEntry.setMixDuration(). Mixing from an empty animation causes the new + * animation to be applied more and more over the mix duration. Properties keyed in the new animation transition from the value + * from lower tracks or from the setup pose value if no lower tracks key the property to the value keyed in the new + * animation. + */ public function setEmptyAnimation(trackIndex:Int, mixDuration:Float):TrackEntry { var entry:TrackEntry = setAnimation(trackIndex, emptyAnimation, false); entry.mixDuration = mixDuration; @@ -612,6 +734,19 @@ class AnimationState { return entry; } + /** + * Adds an empty animation to be played after the current or last queued animation for a track, and sets the track entry's + * spine.animation.TrackEntry.getMixDuration(). If the track is empty, it is equivalent to calling + * spine.animation.AnimationState.setEmptyAnimation(). + *

+ * See spine.animation.AnimationState.setEmptyAnimation(). + * @param delay If > 0, sets spine.animation.TrackEntry.getDelay(). If <= 0, the delay set is the duration of the previous track entry + * minus any mix duration plus the specified delay (ie the mix ends at (delay = 0) or + * before (delay < 0) the previous track entry duration). If the previous entry is looping, its next + * loop completion is used instead of its duration. + * @return A track entry to allow further customization of animation playback. References to the track entry must not be kept + * after the spine.animation.AnimationStateListener.dispose() event occurs. + */ public function addEmptyAnimation(trackIndex:Int, mixDuration:Float, delay:Float):TrackEntry { var entry:TrackEntry = addAnimation(trackIndex, emptyAnimation, false, delay); if (delay <= 0) entry.delay = Math.max(entry.delay + entry.mixDuration - mixDuration, 0); @@ -620,6 +755,10 @@ class AnimationState { return entry; } + /** + * Sets an empty animation for every track, discarding any queued animations, and mixes to it over the specified mix + * duration. + */ public function setEmptyAnimations(mixDuration:Float):Void { var oldDrainDisabled:Bool = queue.drainDisabled; queue.drainDisabled = true; @@ -675,7 +814,9 @@ class AnimationState { return entry; } - /** Removes the {@link TrackEntry#getNext() next entry} and all entries after it for the specified entry. */ + /** + * Removes the spine.animation.TrackEntry.getNext() next entry and all entries after it for the specified entry. + */ public function clearNext(entry:TrackEntry):Void { var next:TrackEntry = entry.next; while (next != null) { @@ -757,6 +898,9 @@ class AnimationState { } } + /** + * Returns the track entry for the animation currently playing on the track, or null if no animation is currently playing. + */ public function getCurrent(trackIndex:Int):TrackEntry { if (trackIndex >= tracks.length) return null; @@ -769,6 +913,9 @@ class AnimationState { return onComplete.listeners.length > 0 || onEnd.listeners.length > 0; } + /** + * Removes all listeners added with spine.animation.AnimationState.addListener(). + */ public function clearListeners():Void { onStart.listeners.resize(0); onInterrupt.listeners.resize(0); @@ -778,6 +925,11 @@ class AnimationState { onEvent.listeners.resize(0); } + /** + * Discards all listener notifications that have not yet been delivered. This can be useful to call from an + * spine.animation.AnimationStateListener when it is known that further notifications that may have been already queued for delivery + * are not wanted because new animations are being set. + */ public function clearListenerNotifications():Void { queue.clear(); } diff --git a/spine-haxe/spine-haxe/spine/animation/AnimationStateData.hx b/spine-haxe/spine-haxe/spine/animation/AnimationStateData.hx index 1794858c3..956d2bb38 100644 --- a/spine-haxe/spine-haxe/spine/animation/AnimationStateData.hx +++ b/spine-haxe/spine-haxe/spine/animation/AnimationStateData.hx @@ -32,7 +32,7 @@ package spine.animation; import haxe.ds.StringMap; import spine.SkeletonData; -/** Stores mix (crossfade) durations to be applied when {@link AnimationState} animations are changed. */ +/** Stores mix (crossfade) durations to be applied when spine.animation.AnimationState animations are changed. */ class AnimationStateData { private var _skeletonData:SkeletonData; private var animationToMixTime:StringMap = new StringMap(); @@ -53,7 +53,7 @@ class AnimationStateData { /** Sets a mix duration by animation name. * - * See {@link #setMix(Animation, Animation, float)}. */ + * See AnimationStateData.setMix(). */ public function setMixByName(fromName:String, toName:String, duration:Float):Void { var from:Animation = _skeletonData.findAnimation(fromName); if (from == null) @@ -66,7 +66,7 @@ class AnimationStateData { /** Sets the mix duration when changing from the specified animation to the other. * - * See {@link TrackEntry#mixDuration}. */ + * See spine.animation.TrackEntry.mixDuration. */ public function setMix(from:Animation, to:Animation, duration:Float):Void { if (from == null) throw new SpineException("from cannot be null."); @@ -75,7 +75,7 @@ class AnimationStateData { animationToMixTime.set(from.name + ":" + to.name, duration); } - /** Returns the mix duration to use when changing from the specified animation to the other, or the {@link #defaultMix} if + /** Returns the mix duration to use when changing from the specified animation to the other, or the AnimationStateData.defaultMix if * no mix duration has been set. */ public function getMix(from:Animation, to:Animation):Float { if (animationToMixTime.exists(from.name + ":" + to.name)) diff --git a/spine-haxe/spine-haxe/spine/animation/AttachmentTimeline.hx b/spine-haxe/spine-haxe/spine/animation/AttachmentTimeline.hx index 16dcdb234..7c2090424 100644 --- a/spine-haxe/spine-haxe/spine/animation/AttachmentTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/AttachmentTimeline.hx @@ -33,7 +33,7 @@ import spine.Event; import spine.Skeleton; import spine.Slot; -/** Changes a slot's attachment. */ +/** Changes a slot's spine.Slot.attachment. */ class AttachmentTimeline extends Timeline implements SlotTimeline { public var slotIndex:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/animation/BoneTimeline.hx b/spine-haxe/spine-haxe/spine/animation/BoneTimeline.hx index ac40bd5ff..7b8d2b6d9 100644 --- a/spine-haxe/spine-haxe/spine/animation/BoneTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/BoneTimeline.hx @@ -31,6 +31,6 @@ package spine.animation; /** An interface for timelines which change the property of a bone. */ interface BoneTimeline { - /** The index of the bone in {@link Skeleton#getBones()} that will be changed when this timeline is applied. */ + /** The index of the bone in spine.Skeleton.getBones() that will be changed when this timeline is applied. */ function getBoneIndex():Int; } diff --git a/spine-haxe/spine-haxe/spine/animation/CurveTimeline.hx b/spine-haxe/spine-haxe/spine/animation/CurveTimeline.hx index 2d3e3ab47..70fadca94 100644 --- a/spine-haxe/spine-haxe/spine/animation/CurveTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/CurveTimeline.hx @@ -38,7 +38,7 @@ class CurveTimeline extends Timeline { private var curves:Array; // type, x, y, ... - /** @param bezierCount The maximum number of Bezier curves. See {@link #shrink(int)}. + /** @param bezierCount The maximum number of Bezier curves. See CurveTimeline.shrink(). * @param propertyIds Unique identifiers for the properties the timeline modifies. */ public function new(frameCount:Int, bezierCount:Int, propertyIds:Array) { super(frameCount, propertyIds); @@ -109,9 +109,9 @@ class CurveTimeline extends Timeline { } /** Returns the Bezier interpolated value for the specified time. - * @param frameIndex The index into {@link #getFrames()} for the values of the frame before time. + * @param frameIndex The index into Timeline.getFrames() for the values of the frame before time. * @param valueOffset The offset from frameIndex to the value this curve is used for. - * @param i The index of the Bezier segments. See {@link #getCurveType}. */ + * @param i The index of the Bezier segments. See CurveTimeline.getCurveType(). */ public function getBezierValue(time:Float, frameIndex:Int, valueOffset:Int, i:Int):Float { var x:Float, y:Float; if (curves[i] > time) { diff --git a/spine-haxe/spine-haxe/spine/animation/CurveTimeline1.hx b/spine-haxe/spine-haxe/spine/animation/CurveTimeline1.hx index 882b00cda..0c58fc591 100644 --- a/spine-haxe/spine-haxe/spine/animation/CurveTimeline1.hx +++ b/spine-haxe/spine-haxe/spine/animation/CurveTimeline1.hx @@ -29,12 +29,13 @@ package spine.animation; -/** The base class for a {@link CurveTimeline} that sets one property. */ +/** The base class for a spine.animation.CurveTimeline that sets one property. */ class CurveTimeline1 extends CurveTimeline { private static inline var ENTRIES:Int = 2; private static inline var VALUE:Int = 1; - /** @param bezierCount The maximum number of Bezier curves. See {@link #shrink(Int)}. + /** @param frameCount The number of frames in the timeline. + * @param bezierCount The maximum number of Bezier curves. See spine.animation.CurveTimeline.shrink(). * @param propertyIds Unique identifiers for the properties the timeline modifies. */ public function new(frameCount:Int, bezierCount:Int, propertyIds:Array) { super(frameCount, bezierCount, propertyIds); diff --git a/spine-haxe/spine-haxe/spine/animation/CurveTimeline2.hx b/spine-haxe/spine-haxe/spine/animation/CurveTimeline2.hx index fc8cb1cd4..cff0a5ffb 100644 --- a/spine-haxe/spine-haxe/spine/animation/CurveTimeline2.hx +++ b/spine-haxe/spine-haxe/spine/animation/CurveTimeline2.hx @@ -29,14 +29,15 @@ package spine.animation; -/** The base class for a {@link CurveTimeline} which sets two properties. */ +/** The base class for a spine.animation.CurveTimeline which sets two properties. */ class CurveTimeline2 extends CurveTimeline { private static inline var ENTRIES:Int = 3; private static inline var VALUE1:Int = 1; private static inline var VALUE2:Int = 2; - /** @param bezierCount The maximum number of Bezier curves. See {@link #shrink(Int)}. - * @param propertyIds Unique identifiers for the properties the timeline modifies. */ + /** @param frameCount The number of frames in the timeline. + * @param bezierCount The maximum number of Bezier curves. See spine.animation.CurveTimeline.shrink(). + * @param propertyIds Array of unique identifiers for the properties the timeline modifies. */ public function new(frameCount:Int, bezierCount:Int, propertyIds:Array) { super(frameCount, bezierCount, propertyIds); } diff --git a/spine-haxe/spine-haxe/spine/animation/DeformTimeline.hx b/spine-haxe/spine-haxe/spine/animation/DeformTimeline.hx index cd295210d..22d7f8e8e 100644 --- a/spine-haxe/spine-haxe/spine/animation/DeformTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/DeformTimeline.hx @@ -36,13 +36,13 @@ import spine.Event; import spine.Skeleton; import spine.Slot; -/** Changes a slot's {@link Slot#getDeform()} to deform a {@link VertexAttachment}. */ +/** Changes a slot's spine.Slot.deform to deform a spine.attachments.VertexAttachment. */ class DeformTimeline extends CurveTimeline implements SlotTimeline { public var slotIndex:Int = 0; /** The attachment that will be deformed. - *

- * See {@link VertexAttachment#getTimelineAttachment()}. */ + * + * @see spine.attachments.VertexAttachment.getTimelineAttachment() */ public var attachment:VertexAttachment; /** The vertices for each frame. */ diff --git a/spine-haxe/spine-haxe/spine/animation/DrawOrderTimeline.hx b/spine-haxe/spine-haxe/spine/animation/DrawOrderTimeline.hx index 0479bfe57..9b3d954ab 100644 --- a/spine-haxe/spine-haxe/spine/animation/DrawOrderTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/DrawOrderTimeline.hx @@ -35,7 +35,7 @@ import spine.Slot; /** Changes a skeleton's {@link Skeleton#drawOrder}. */ class DrawOrderTimeline extends Timeline { - /** The draw order for each frame. See {@link #setFrame(Int, Float, Array)}. */ + /** The draw order for each frame. See setFrame(). */ public var drawOrders:Array>; public function new(frameCount:Int) { @@ -53,7 +53,7 @@ class DrawOrderTimeline extends Timeline { /** Sets the time and draw order for the specified frame. * @param frame Between 0 and frameCount, inclusive. * @param time The frame time in seconds. - * @param drawOrder For each slot in {@link Skeleton#slots}, the index of the slot in the new draw order. May be null to use setup pose draw order. */ + * @param drawOrder For each slot in spine.Skeleton.slots, the index of the slot in the new draw order. May be null to use setup pose draw order. */ public function setFrame(frame:Int, time:Float, drawOrder:Array):Void { frames[frame] = time; drawOrders[frame] = drawOrder; diff --git a/spine-haxe/spine-haxe/spine/animation/EventTimeline.hx b/spine-haxe/spine-haxe/spine/animation/EventTimeline.hx index 04d17a959..36e2b235b 100644 --- a/spine-haxe/spine-haxe/spine/animation/EventTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/EventTimeline.hx @@ -33,7 +33,7 @@ import spine.animation.Timeline; import spine.Event; import spine.Skeleton; -/** Fires an {@link Event} when specific animation times are reached. */ +/** Fires an spine.Event when specific animation times are reached. */ class EventTimeline extends Timeline { /** The event for each frame. */ public var events:Array; @@ -49,8 +49,7 @@ class EventTimeline extends Timeline { } /** Sets the time and event for the specified frame. - * @param frame Between 0 and frameCount, inclusive. - * @param event The event to set for the frame. */ + * @param frame Between 0 and frameCount, inclusive. */ public function setFrame(frame:Int, event:Event):Void { frames[frame] = event.time; events[frame] = event; diff --git a/spine-haxe/spine-haxe/spine/animation/EventType.hx b/spine-haxe/spine-haxe/spine/animation/EventType.hx index 48ea1163c..5629860db 100644 --- a/spine-haxe/spine-haxe/spine/animation/EventType.hx +++ b/spine-haxe/spine-haxe/spine/animation/EventType.hx @@ -29,9 +29,6 @@ package spine.animation; -/** - * Animation state event type. - */ class EventType { public static var start(default, never):EventType = new EventType(); public static var interrupt(default, never):EventType = new EventType(); diff --git a/spine-haxe/spine-haxe/spine/animation/IkConstraintTimeline.hx b/spine-haxe/spine-haxe/spine/animation/IkConstraintTimeline.hx index 3a426ddc8..4a6ad1464 100644 --- a/spine-haxe/spine-haxe/spine/animation/IkConstraintTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/IkConstraintTimeline.hx @@ -33,8 +33,8 @@ import spine.Event; import spine.IkConstraint; import spine.Skeleton; -/** Changes an IK constraint's {@link IkConstraint#mix}, {@link IkConstraint#softness}, - * {@link IkConstraint#bendDirection}, {@link IkConstraint#stretch}, and {@link IkConstraint#compress}. */ +/** Changes an IK constraint's spine.IkConstraint.mix, spine.IkConstraint.softness, + * spine.IkConstraint.bendDirection, spine.IkConstraint.stretch, and spine.IkConstraint.compress. */ class IkConstraintTimeline extends CurveTimeline { private static inline var ENTRIES:Int = 6; private static inline var MIX:Int = 1; @@ -43,7 +43,7 @@ class IkConstraintTimeline extends CurveTimeline { private static inline var COMPRESS:Int = 4; private static inline var STRETCH:Int = 5; - /** The index of the IK constraint in {@link Skeleton#ikConstraints} that will be changed when this timeline is + /** The index of the IK constraint in spine.Skeleton.ikConstraints that will be changed when this timeline is * applied. */ public var constraintIndex:Int = 0; @@ -59,11 +59,7 @@ class IkConstraintTimeline extends CurveTimeline { /** Sets the time, mix, softness, bend direction, compress, and stretch for the specified frame. * @param frame Between 0 and frameCount, inclusive. * @param time The frame time in seconds. - * @param mix The mix value. - * @param softness The softness value. - * @param bendDirection 1 or -1. - * @param compress Whether to compress. - * @param stretch Whether to stretch. */ + * @param bendDirection 1 or -1. */ public function setFrame(frame:Int, time:Float, mix:Float, softness:Float, bendDirection:Int, compress:Bool, stretch:Bool):Void { frame *= ENTRIES; frames[frame] = time; diff --git a/spine-haxe/spine-haxe/spine/animation/InheritTimeline.hx b/spine-haxe/spine-haxe/spine/animation/InheritTimeline.hx index 68b9c08a2..b538f3c5d 100644 --- a/spine-haxe/spine-haxe/spine/animation/InheritTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/InheritTimeline.hx @@ -33,7 +33,7 @@ import spine.Bone; import spine.Event; import spine.Skeleton; -/** Changes a bone's {@link Bone#getInherit()}. */ +/** Changes a bone's spine.Bone.inherit. */ class InheritTimeline extends Timeline implements BoneTimeline { public static inline var ENTRIES:Int = 2; private static inline var INHERIT:Int = 1; @@ -53,10 +53,9 @@ class InheritTimeline extends Timeline implements BoneTimeline { return boneIndex; } - /** Sets the inherit value for the specified frame. + /** Sets the transform mode for the specified frame. * @param frame Between 0 and frameCount, inclusive. - * @param time The frame time in seconds. - * @param inherit The inherit value for this frame. */ + * @param time The frame time in seconds. */ public function setFrame(frame:Int, time:Float, inherit: Inherit):Void { frame *= ENTRIES; frames[frame] = time; diff --git a/spine-haxe/spine-haxe/spine/animation/Listeners.hx b/spine-haxe/spine-haxe/spine/animation/Listeners.hx index 8832e1006..bc30e792e 100644 --- a/spine-haxe/spine-haxe/spine/animation/Listeners.hx +++ b/spine-haxe/spine-haxe/spine/animation/Listeners.hx @@ -29,14 +29,9 @@ package spine.animation; -/** The interface to implement for receiving TrackEntry events. It is always safe to call AnimationState methods when receiving - * events. - *

- * TrackEntry events are collected during {@link AnimationState#update(float)} and {@link AnimationState#apply(Skeleton)} and - * fired only after those methods are finished. - *

- * See TrackEntry {@link TrackEntry#setListener(AnimationStateListener)} and AnimationState - * {@link AnimationState#addListener(AnimationStateListener)}. */ +/** + * Manages a collection of listeners for TrackEntry events. + */ class Listeners { private var _listeners:ArrayVoid>; @@ -50,7 +45,7 @@ class Listeners { _listeners = new ArrayVoid>(); } - /** Invoked when this entry has been set as the current entry. {@link #end(TrackEntry)} will occur when this entry will no + /** Invoked when this entry has been set as the current entry. spine.animation.Listeners.end(TrackEntry) will occur when this entry will no * longer be applied. */ public function invoke(entry:TrackEntry) { for (listener in _listeners) { @@ -75,14 +70,9 @@ class Listeners { } } -/** The interface to implement for receiving TrackEntry events. It is always safe to call AnimationState methods when receiving - * events. - *

- * TrackEntry events are collected during {@link AnimationState#update(float)} and {@link AnimationState#apply(Skeleton)} and - * fired only after those methods are finished. - *

- * See TrackEntry {@link TrackEntry#setListener(AnimationStateListener)} and AnimationState - * {@link AnimationState#addListener(AnimationStateListener)}. */ +/** + * Manages a collection of event listeners for TrackEntry events. + */ class EventListeners { private var _listeners:ArrayEvent->Void>; @@ -97,9 +87,9 @@ class EventListeners { } /** Invoked when this entry's animation triggers an event. This may occur during mixing (after - * {@link #interrupt(TrackEntry)}), see {@link TrackEntry#eventThreshold}. + * interrupt(TrackEntry)), see spine.animation.TrackEntry.eventThreshold. *

- * Because this event is triggered at the end of {@link AnimationState#apply(Skeleton)}, any animations set in response to + * Because this event is triggered at the end of spine.animation.AnimationState.apply(Skeleton), any animations set in response to * the event won't be applied until the next time the AnimationState is applied. */ public function invoke(entry:TrackEntry, event:Event) { for (listener in _listeners) { diff --git a/spine-haxe/spine-haxe/spine/animation/MixBlend.hx b/spine-haxe/spine-haxe/spine/animation/MixBlend.hx index 0eba43214..562e55a66 100644 --- a/spine-haxe/spine-haxe/spine/animation/MixBlend.hx +++ b/spine-haxe/spine-haxe/spine/animation/MixBlend.hx @@ -32,7 +32,7 @@ package spine.animation; /** Controls how timeline values are mixed with setup pose values or current pose values when a timeline is applied with * alpha < 1. * - * See Timeline {@link Timeline#apply(Skeleton, float, float, Array, float, MixBlend, MixDirection)}. */ + * @see spine.animation.Timeline.apply() */ class MixBlend { public var ordinal:Int = 0; @@ -44,8 +44,8 @@ class MixBlend { * setup value is set. */ public static var setup(default, never):MixBlend = new MixBlend(0); /** Transitions from the current value to the timeline value. Before the first frame, transitions from the current value to - * the setup value. Timelines which perform instant transitions, such as {@link DrawOrderTimeline} or - * {@link AttachmentTimeline}, use the setup value before the first frame. + * the setup value. Timelines which perform instant transitions, such as spine.animation.DrawOrderTimeline or + * spine.animation.AttachmentTimeline, use the setup value before the first frame. * * first is intended for the first animations applied, not for animations layered on top of those. */ public static var first(default, never):MixBlend = new MixBlend(1); diff --git a/spine-haxe/spine-haxe/spine/animation/MixDirection.hx b/spine-haxe/spine-haxe/spine/animation/MixDirection.hx index 6a76efa0b..719a31d3d 100644 --- a/spine-haxe/spine-haxe/spine/animation/MixDirection.hx +++ b/spine-haxe/spine-haxe/spine/animation/MixDirection.hx @@ -31,8 +31,9 @@ package spine.animation; /** Indicates whether a timeline's alpha is mixing out over time toward 0 (the setup or current pose value) or * mixing in toward 1 (the timeline's value). Some timelines use this to decide how values are applied. - * - * See Timeline apply(Skeleton, float, float, Array, float, MixBlend, MixDirection). */ + * + * @see spine.animation.Timeline.apply() + */ class MixDirection { public var ordinal:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/animation/PathConstraintMixTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PathConstraintMixTimeline.hx index 38f54af0f..37f7c01e5 100644 --- a/spine-haxe/spine-haxe/spine/animation/PathConstraintMixTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/PathConstraintMixTimeline.hx @@ -33,15 +33,15 @@ import spine.Event; import spine.PathConstraint; import spine.Skeleton; -/** Changes a path constraint's {@link PathConstraint#getMixRotate()}, {@link PathConstraint#getMixX()}, and - * {@link PathConstraint#getMixY()}. */ +/** Changes a path constraint's PathConstraint.mixRotate, PathConstraint.mixX, and + * PathConstraint.mixY. */ class PathConstraintMixTimeline extends CurveTimeline { private static inline var ENTRIES:Int = 4; private static inline var ROTATE:Int = 1; private static inline var X:Int = 2; private static inline var Y:Int = 3; - /** The index of the path constraint in {@link Skeleton#getPathConstraints()} that will be changed when this timeline is + /** The index of the path constraint in spine.Skeleton.pathConstraints that will be changed when this timeline is * applied. */ public var constraintIndex:Int = 0; @@ -54,7 +54,7 @@ class PathConstraintMixTimeline extends CurveTimeline { return ENTRIES; } - /** Sets the time and mix values for the specified frame. + /** Sets the time and color for the specified frame. * @param frame Between 0 and frameCount, inclusive. * @param time The frame time in seconds. */ public function setFrame(frame:Int, time:Float, mixRotate:Float, mixX:Float, mixY:Float):Void { diff --git a/spine-haxe/spine-haxe/spine/animation/PathConstraintPositionTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PathConstraintPositionTimeline.hx index d4b96f10e..946471881 100644 --- a/spine-haxe/spine-haxe/spine/animation/PathConstraintPositionTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/PathConstraintPositionTimeline.hx @@ -33,9 +33,9 @@ import spine.Event; import spine.PathConstraint; import spine.Skeleton; -/** Changes a path constraint's {@link PathConstraint#position}. */ +/** Changes a path constraint's spine.PathConstraint.position. */ class PathConstraintPositionTimeline extends CurveTimeline1 { - /** The index of the path constraint in {@link Skeleton#pathConstraints} that will be changed when this timeline is + /** The index of the path constraint in spine.Skeleton.pathConstraints that will be changed when this timeline is * applied. */ public var constraintIndex:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintDampingTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintDampingTimeline.hx index 399b0cbda..1e34e71d1 100644 --- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintDampingTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintDampingTimeline.hx @@ -29,7 +29,7 @@ package spine.animation; -/** Changes a physics constraint's {@link PhysicsConstraint#getDamping()}. */ +/** Changes a physics constraint's spine.PhysicsConstraint.damping. */ class PhysicsConstraintDampingTimeline extends PhysicsConstraintTimeline { public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) { super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintDamping); diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintGravityTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintGravityTimeline.hx index 544540603..ed3b737ff 100644 --- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintGravityTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintGravityTimeline.hx @@ -29,7 +29,7 @@ package spine.animation; -/** Changes a physics constraint's {@link PhysicsConstraint#getGravity()}. */ +/** Changes a physics constraint's spine.PhysicsConstraint.gravity. */ class PhysicsConstraintGravityTimeline extends PhysicsConstraintTimeline { public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) { super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintGravity); diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintInertiaTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintInertiaTimeline.hx index fcfa2db6b..6c88d4d39 100644 --- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintInertiaTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintInertiaTimeline.hx @@ -29,7 +29,7 @@ package spine.animation; -/** Changes a physics constraint's {@link PhysicsConstraint#getInertia()}. */ +/** Changes a physics constraint's spine.PhysicsConstraint.inertia. */ class PhysicsConstraintInertiaTimeline extends PhysicsConstraintTimeline { public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) { super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintInertia); diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMassTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMassTimeline.hx index ce2f41bbd..f6a6ddbdd 100644 --- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMassTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMassTimeline.hx @@ -29,7 +29,7 @@ package spine.animation; -/** Changes a physics constraint's {@link PhysicsConstraint#getMassInverse()}. The timeline values are not inverted. */ +/** Changes a physics constraint's spine.PhysicsConstraint.massInverse. The timeline values are not inverted. */ class PhysicsConstraintMassTimeline extends PhysicsConstraintTimeline { public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) { super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintMass); diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMixTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMixTimeline.hx index 1cd15081b..8c68b16fd 100644 --- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMixTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMixTimeline.hx @@ -29,7 +29,7 @@ package spine.animation; -/** Changes a physics constraint's {@link PhysicsConstraint#getMix()}. */ +/** Changes a physics constraint's spine.PhysicsConstraint.mix. */ class PhysicsConstraintMixTimeline extends PhysicsConstraintTimeline { public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) { super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintMix); diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintStrengthTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintStrengthTimeline.hx index 542769933..2e2a2d9f6 100644 --- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintStrengthTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintStrengthTimeline.hx @@ -29,7 +29,7 @@ package spine.animation; -/** Changes a physics constraint's {@link PhysicsConstraint#getStrength()}. */ +/** Changes a physics constraint's spine.PhysicsConstraint.strength. */ class PhysicsConstraintStrengthTimeline extends PhysicsConstraintTimeline { public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) { super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintStrength); diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintTimeline.hx index 660f84275..c49731c90 100644 --- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintTimeline.hx @@ -33,13 +33,15 @@ import spine.Event; import spine.PathConstraint; import spine.Skeleton; -/** The base class for most {@link PhysicsConstraint} timelines. */ +/** The base class for most spine.PhysicsConstraint timelines. */ abstract class PhysicsConstraintTimeline extends CurveTimeline1 { - /** The index of the physics constraint in {@link Skeleton#getPhysicsConstraints()} that will be changed when this timeline + /** The index of the physics constraint in Skeleton.physicsConstraints that will be changed when this timeline * is applied, or -1 if all physics constraints in the skeleton will be changed. */ public var constraintIndex:Int = 0; - /** @param physicsConstraintIndex -1 for all physics constraints in the skeleton. */ + /** + * @param physicsConstraintIndex -1 for all physics constraints in the skeleton. + */ public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int, property:Int) { super(frameCount, bezierCount, [property + "|" + physicsConstraintIndex]); constraintIndex = physicsConstraintIndex; diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintWindTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintWindTimeline.hx index 083b7a611..5687610aa 100644 --- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintWindTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintWindTimeline.hx @@ -29,7 +29,7 @@ package spine.animation; -/** Changes a physics constraint's {@link PhysicsConstraint#getWind()}. */ +/** Changes a physics constraint's spine.PhysicsConstraint.wind. */ class PhysicsConstraintWindTimeline extends PhysicsConstraintTimeline { public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) { super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintWind); diff --git a/spine-haxe/spine-haxe/spine/animation/RGB2Timeline.hx b/spine-haxe/spine-haxe/spine/animation/RGB2Timeline.hx index d1b9885a7..2427e2e2f 100644 --- a/spine-haxe/spine-haxe/spine/animation/RGB2Timeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/RGB2Timeline.hx @@ -29,7 +29,7 @@ package spine.animation; -/** Changes the RGB for a slot's {@link Slot#getColor()} and {@link Slot#getDarkColor()} for two color tinting. */ +/** Changes the RGB for a slot's spine.Slot.color and spine.Slot.darkColor for two color tinting. */ class RGB2Timeline extends CurveTimeline implements SlotTimeline { private static inline var ENTRIES:Int = 7; private static inline var R:Int = 1; @@ -50,21 +50,15 @@ class RGB2Timeline extends CurveTimeline implements SlotTimeline { return ENTRIES; } - /** The index of the slot in {@link Skeleton#getSlots()} that will be changed when this timeline is applied. The - * {@link Slot#getDarkColor()} must not be null. */ + /** The index of the slot in spine.Skeleton.slots that will be changed when this timeline is applied. The + * spine.Slot.darkColor must not be null. */ public function getSlotIndex():Int { return slotIndex; } /** Sets the time, light color, and dark color for the specified frame. * @param frame Between 0 and frameCount, inclusive. - * @param time The frame time in seconds. - * @param r Red component for the light color (0-1). - * @param g Green component for the light color (0-1). - * @param b Blue component for the light color (0-1). - * @param r2 Red component for the dark color (0-1). - * @param g2 Green component for the dark color (0-1). - * @param b2 Blue component for the dark color (0-1). */ + * @param time The frame time in seconds. */ public function setFrame(frame:Int, time:Float, r:Float, g:Float, b:Float, r2:Float, g2:Float, b2:Float):Void { frame *= ENTRIES; frames[frame] = time; diff --git a/spine-haxe/spine-haxe/spine/animation/RGBA2Timeline.hx b/spine-haxe/spine-haxe/spine/animation/RGBA2Timeline.hx index 115670830..783f36c6d 100644 --- a/spine-haxe/spine-haxe/spine/animation/RGBA2Timeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/RGBA2Timeline.hx @@ -29,7 +29,7 @@ package spine.animation; -/** Changes a slot's {@link Slot#getColor()} and {@link Slot#getDarkColor()} for two color tinting. */ +/** Changes a slot's spine.Slot.getColor() and spine.Slot.getDarkColor() for two color tinting. */ class RGBA2Timeline extends CurveTimeline implements SlotTimeline { private static inline var ENTRIES:Int = 8; private static inline var R:Int = 1; @@ -55,8 +55,8 @@ class RGBA2Timeline extends CurveTimeline implements SlotTimeline { return ENTRIES; } - /** The index of the slot in {@link Skeleton#getSlots()} that will be changed when this timeline is applied. The - * {@link Slot#getDarkColor()} must not be null. */ + /** The index of the slot in spine.Skeleton.getSlots() that will be changed when this timeline is applied. The + * spine.Slot.getDarkColor() must not be null. */ public function getSlotIndex():Int { return slotIndex; } diff --git a/spine-haxe/spine-haxe/spine/animation/RGBATimeline.hx b/spine-haxe/spine-haxe/spine/animation/RGBATimeline.hx index 413d0bc72..2fceeda15 100644 --- a/spine-haxe/spine-haxe/spine/animation/RGBATimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/RGBATimeline.hx @@ -29,7 +29,7 @@ package spine.animation; -/** Changes a slot's {@link Slot#getColor()}. */ +/** Changes a slot's spine.Slot.color. */ class RGBATimeline extends CurveTimeline implements SlotTimeline { private static inline var ENTRIES:Int = 5; private static inline var R:Int = 1; @@ -53,12 +53,8 @@ class RGBATimeline extends CurveTimeline implements SlotTimeline { } /** Sets the time and color for the specified frame. - * @param frame Between 0 and frameCount, inclusive. - * @param time The frame time in seconds. - * @param r The red component. - * @param g The green component. - * @param b The blue component. - * @param a The alpha component. */ + * @param frame Between 0 and frameCount, inclusive. + * @param time The frame time in seconds. */ public function setFrame(frame:Int, time:Float, r:Float, g:Float, b:Float, a:Float):Void { frame *= ENTRIES; frames[frame] = time; diff --git a/spine-haxe/spine-haxe/spine/animation/RGBTimeline.hx b/spine-haxe/spine-haxe/spine/animation/RGBTimeline.hx index 6dc8b01c4..3a7785f7a 100644 --- a/spine-haxe/spine-haxe/spine/animation/RGBTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/RGBTimeline.hx @@ -29,7 +29,7 @@ package spine.animation; -/** Changes the RGB for a slot's {@link Slot#getColor()}. */ +/** Changes the RGB for a slot's spine.Slot.color. */ class RGBTimeline extends CurveTimeline implements SlotTimeline { private static inline var ENTRIES:Int = 4; private static inline var R:Int = 1; diff --git a/spine-haxe/spine-haxe/spine/animation/RotateTimeline.hx b/spine-haxe/spine-haxe/spine/animation/RotateTimeline.hx index 06aebf04f..4b80fe87f 100644 --- a/spine-haxe/spine-haxe/spine/animation/RotateTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/RotateTimeline.hx @@ -33,7 +33,7 @@ import spine.Bone; import spine.Event; import spine.Skeleton; -/** Changes a bone's local {@link Bone#rotation}. */ +/** Changes a bone's local rotation. */ class RotateTimeline extends CurveTimeline1 implements BoneTimeline { public var boneIndex:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/animation/ScaleTimeline.hx b/spine-haxe/spine-haxe/spine/animation/ScaleTimeline.hx index de011141a..5f75ad9cd 100644 --- a/spine-haxe/spine-haxe/spine/animation/ScaleTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/ScaleTimeline.hx @@ -34,7 +34,7 @@ import spine.Event; import spine.MathUtils; import spine.Skeleton; -/** Changes a bone's local {@link Bone#scaleX} and {@link Bone#scaleY}. */ +/** Changes a bone's local spine.Bone.scaleX and spine.Bone.scaleY. */ class ScaleTimeline extends CurveTimeline2 implements BoneTimeline { private var boneIndex:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/animation/ScaleXTimeline.hx b/spine-haxe/spine-haxe/spine/animation/ScaleXTimeline.hx index f411dda05..4d5e6d9ea 100644 --- a/spine-haxe/spine-haxe/spine/animation/ScaleXTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/ScaleXTimeline.hx @@ -34,7 +34,7 @@ import spine.Event; import spine.MathUtils; import spine.Skeleton; -/** Changes a bone's local {@link Bone#scaleX}. */ +/** Changes a bone's local spine.Bone.scaleX. */ class ScaleXTimeline extends CurveTimeline1 implements BoneTimeline { private var boneIndex:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/animation/ScaleYTimeline.hx b/spine-haxe/spine-haxe/spine/animation/ScaleYTimeline.hx index 0636fdcaf..a84a34816 100644 --- a/spine-haxe/spine-haxe/spine/animation/ScaleYTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/ScaleYTimeline.hx @@ -34,7 +34,7 @@ import spine.Event; import spine.MathUtils; import spine.Skeleton; -/** Changes a bone's local {@link Bone#scaleY}. */ +/** Changes a bone's local spine.Bone.scaleY. */ class ScaleYTimeline extends CurveTimeline1 implements BoneTimeline { private var boneIndex:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/animation/SequenceTimeline.hx b/spine-haxe/spine-haxe/spine/animation/SequenceTimeline.hx index 158802a41..ede2cbb09 100644 --- a/spine-haxe/spine-haxe/spine/animation/SequenceTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/SequenceTimeline.hx @@ -63,10 +63,7 @@ class SequenceTimeline extends Timeline implements SlotTimeline { /** Sets the time, mode, index, and frame time for the specified frame. * @param frame Between 0 and frameCount, inclusive. - * @param time Seconds between frames. - * @param mode The sequence mode. - * @param index The sequence index. - * @param delay The delay between frames. */ + * @param time Seconds between frames. */ public function setFrame(frame:Int, time:Float, mode:SequenceMode, index:Int, delay:Float) { frame *= SequenceTimeline.ENTRIES; frames[frame] = time; diff --git a/spine-haxe/spine-haxe/spine/animation/ShearTimeline.hx b/spine-haxe/spine-haxe/spine/animation/ShearTimeline.hx index 60f0fc8ee..d6a3f7d14 100644 --- a/spine-haxe/spine-haxe/spine/animation/ShearTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/ShearTimeline.hx @@ -33,7 +33,7 @@ import spine.Bone; import spine.Event; import spine.Skeleton; -/** Changes a bone's local {@link Bone#shearX} and {@link Bone#shearY}. */ +/** Changes a bone's local spine.Bone.shearX and spine.Bone.shearY. */ class ShearTimeline extends CurveTimeline2 implements BoneTimeline { private var boneIndex:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/animation/ShearXTimeline.hx b/spine-haxe/spine-haxe/spine/animation/ShearXTimeline.hx index f056a29bf..68a04f8fe 100644 --- a/spine-haxe/spine-haxe/spine/animation/ShearXTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/ShearXTimeline.hx @@ -33,7 +33,7 @@ import spine.Bone; import spine.Event; import spine.Skeleton; -/** Changes a bone's local {@link Bone#shearX}. */ +/** Changes a bone's local spine.Bone.shearX. */ class ShearXTimeline extends CurveTimeline1 implements BoneTimeline { private var boneIndex:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/animation/ShearYTimeline.hx b/spine-haxe/spine-haxe/spine/animation/ShearYTimeline.hx index b44ee5716..61eda0f71 100644 --- a/spine-haxe/spine-haxe/spine/animation/ShearYTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/ShearYTimeline.hx @@ -33,7 +33,7 @@ import spine.Bone; import spine.Event; import spine.Skeleton; -/** Changes a bone's local {@link Bone#shearY}. */ +/** Changes a bone's local Bone.shearY. */ class ShearYTimeline extends CurveTimeline1 implements BoneTimeline { private var boneIndex:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/animation/SlotTimeline.hx b/spine-haxe/spine-haxe/spine/animation/SlotTimeline.hx index 8fe08bd27..be257ad84 100644 --- a/spine-haxe/spine-haxe/spine/animation/SlotTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/SlotTimeline.hx @@ -31,6 +31,6 @@ package spine.animation; /** An interface for timelines which change the property of a slot. */ interface SlotTimeline { - /** The index of the slot in {@link Skeleton#getSlots()} that will be changed when this timeline is applied. */ + /** The index of the slot in spine.Skeleton.getSlots() that will be changed when this timeline is applied. */ function getSlotIndex():Int; } diff --git a/spine-haxe/spine-haxe/spine/animation/Timeline.hx b/spine-haxe/spine-haxe/spine/animation/Timeline.hx index daa3b4629..885375910 100644 --- a/spine-haxe/spine-haxe/spine/animation/Timeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/Timeline.hx @@ -41,7 +41,6 @@ class Timeline { /** * @param propertyIds Unique identifiers for the properties the timeline modifies. - * @param frameCount The number of frames for this timeline. */ public function new(frameCount:Int, propertyIds:Array) { this.propertyIds = propertyIds; @@ -67,7 +66,7 @@ class Timeline { /** Applies this timeline to the skeleton. * @param skeleton The skeleton to which the timeline is being applied. This provides access to the bones, slots, and other * skeleton components that the timeline may change. - * @param lastTime The last time in seconds this timeline was applied. Timelines such as {@link EventTimeline} trigger only + * @param lastTime The last time in seconds this timeline was applied. Timelines such as spine.animation.EventTimeline trigger only * at specific times rather than every frame. In that case, the timeline triggers everything between * lastTime (exclusive) and time (inclusive). Pass -1 the first time an animation is * applied to ensure frame 0 is triggered. @@ -82,7 +81,7 @@ class Timeline { * apply animations on top of each other (layering). * @param blend Controls how mixing is applied when alpha < 1. * @param direction Indicates whether the timeline is mixing in or out. Used by timelines which perform instant transitions, - * such as {@link DrawOrderTimeline} or {@link AttachmentTimeline}, and others such as {@link ScaleTimeline}. + * such as spine.animation.DrawOrderTimeline or spine.animation.AttachmentTimeline, and others such as spine.animation.ScaleTimeline. */ public function apply(skeleton:Skeleton, lastTime:Float, time:Float, events:Array, alpha:Float, blend:MixBlend, direction:MixDirection):Void { throw new SpineException("Timeline implementations must override apply()"); diff --git a/spine-haxe/spine-haxe/spine/animation/TrackEntry.hx b/spine-haxe/spine-haxe/spine/animation/TrackEntry.hx index 33eac8d15..9aaaacdfb 100644 --- a/spine-haxe/spine-haxe/spine/animation/TrackEntry.hx +++ b/spine-haxe/spine-haxe/spine/animation/TrackEntry.hx @@ -32,24 +32,24 @@ package spine.animation; import spine.animation.Listeners.EventListeners; import spine.Poolable; -/** Stores settings and other state for the playback of an animation on an {@link AnimationState} track. +/** Stores settings and other state for the playback of an animation on an spine.animation.AnimationState track. *

- * References to a track entry must not be kept after the {@link AnimationStateListener#dispose(TrackEntry)} event occurs. */ + * References to a track entry must not be kept after the AnimationStateListener.dispose(TrackEntry) event occurs. */ class TrackEntry implements Poolable { /** The animation to apply for this track entry. */ public var animation:Animation; - /** The animation queued to start after this animation, or null if there is none. next makes up a doubly linked + /** The animation queued to start after this animation, or null if there is none. next makes up a doubly linked * list. *

- * See {@link AnimationState#clearNext(TrackEntry)} to truncate the list. */ + * See spine.animation.AnimationState.clearNext(TrackEntry) to truncate the list. */ public var next:TrackEntry; - /** The animation queued to play before this animation, or null. previous makes up a doubly linked list. */ + /** The animation queued to play before this animation, or null. previous makes up a doubly linked list. */ public var previous:TrackEntry; /** The track entry for the previous animation when mixing from the previous animation to this animation, or null if no - * mixing is currently occurring. When mixing from multiple animations, mixingFrom makes up a linked list. */ + * mixing is currently occurring. When mixing from multiple animations, mixingFrom makes up a linked list. */ public var mixingFrom:TrackEntry; /** The track entry for the next animation when mixing from this animation to the next animation, or null if no mixing is - * currently occurring. When mixing to multiple animations, mixingTo makes up a linked list. */ + * currently occurring. When mixing to multiple animations, mixingTo makes up a linked list. */ public var mixingTo:TrackEntry; public var onStart:Listeners = new Listeners(); public var onInterrupt:Listeners = new Listeners(); @@ -59,7 +59,7 @@ class TrackEntry implements Poolable { public var onEvent:EventListeners = new EventListeners(); /** The index of the track where this track entry is either current or queued. *

- * See {@link AnimationState#getCurrent(int)}. */ + * See spine.animation.AnimationState.getCurrent(int). */ public var trackIndex:Int = 0; /** If true, the animation will repeat. If false it will not, instead its last frame is applied if played beyond its * duration. */ @@ -71,58 +71,58 @@ class TrackEntry implements Poolable { *

* When mixing between animations that key the same property, if a lower track also keys that property then the value will * briefly dip toward the lower track value during the mix. This happens because the first animation mixes from 100% to 0% - * while the second animation mixes from 0% to 100%. Setting holdPrevious to true applies the first animation + * while the second animation mixes from 0% to 100%. Setting holdPrevious to true applies the first animation * at 100% during the mix so the lower track value is overwritten. Such dipping does not occur on the lowest track which * keys the property, only when a higher track also keys the property. *

- * Snapping will occur if holdPrevious is true and this animation does not key all the same properties as the + * Snapping will occur if holdPrevious is true and this animation does not key all the same properties as the * previous animation. */ public var holdPrevious:Bool = false; - /** When the mix percentage ({@link #getMixTime()} / {@link #getMixDuration()}) is less than the - * eventThreshold, event timelines are applied while this animation is being mixed out. Defaults to 0, so event + /** When the mix percentage (TrackEntry.getMixTime() / TrackEntry.getMixDuration()) is less than the + * eventThreshold, event timelines are applied while this animation is being mixed out. Defaults to 0, so event * timelines are not applied while this animation is being mixed out. */ public var eventThreshold:Float = 0; - /** When the mix percentage ({@link #getMixTime()} / {@link #getMixDuration()}) is less than the - * mixAttachmentThreshold, attachment timelines are applied while this animation is being mixed out. Defaults + /** When the mix percentage (TrackEntry.getMixTime() / TrackEntry.getMixDuration()) is less than the + * mixAttachmentThreshold, attachment timelines are applied while this animation is being mixed out. Defaults * to 0, so attachment timelines are not applied while this animation is being mixed out. */ public var mixAttachmentThreshold:Float = 0; - /** When {@link #getAlpha()} is greater than alphaAttachmentThreshold, attachment timelines are applied. + /** When TrackEntry.getAlpha() is greater than alphaAttachmentThreshold, attachment timelines are applied. * Defaults to 0, so attachment timelines are always applied. */ public var alphaAttachmentThreshold:Float = 0; - /** When the mix percentage ({@link #getMixTime()} / {@link #getMixDuration()}) is less than the - * mixDrawOrderThreshold, draw order timelines are applied while this animation is being mixed out. Defaults to + /** When the mix percentage (TrackEntry.getMixTime() / TrackEntry.getMixDuration()) is less than the + * mixDrawOrderThreshold, draw order timelines are applied while this animation is being mixed out. Defaults to * 0, so draw order timelines are not applied while this animation is being mixed out. */ public var mixDrawOrderThreshold:Float = 0; /** Seconds when this animation starts, both initially and after looping. Defaults to 0. *

- * When changing the animationStart time, it often makes sense to set {@link #getAnimationLast()} to the same + * When changing the animationStart time, it often makes sense to set TrackEntry.getAnimationLast() to the same * value to prevent timeline keys before the start time from triggering. */ public var animationStart:Float = 0; /** Seconds for the last frame of this animation. Non-looping animations won't play past this time. Looping animations will - * loop back to {@link #getAnimationStart()} at this time. Defaults to the animation {@link Animation#duration}. */ + * loop back to TrackEntry.getAnimationStart() at this time. Defaults to the animation spine.animation.Animation.duration. */ public var animationEnd:Float = 0; /** The time in seconds this animation was last applied. Some timelines use this for one-time triggers. Eg, when this - * animation is applied, event timelines will fire all events between the animationLast time (exclusive) and - * animationTime (inclusive). Defaults to -1 to ensure triggers on frame 0 happen the first time this animation + * animation is applied, event timelines will fire all events between the animationLast time (exclusive) and + * animationTime (inclusive). Defaults to -1 to ensure triggers on frame 0 happen the first time this animation * is applied. */ public var animationLast:Float = 0; public var nextAnimationLast:Float = 0; /** Seconds to postpone playing the animation. Must be >= 0. When this track entry is the current track entry, - * delay postpones incrementing the {@link #getTrackTime()}. When this track entry is queued, - * delay is the time from the start of the previous animation to when this track entry will become the current - * track entry (ie when the previous track entry {@link TrackEntry#getTrackTime()} >= this track entry's - * delay). + * delay postpones incrementing the TrackEntry.getTrackTime(). When this track entry is queued, + * delay is the time from the start of the previous animation to when this track entry will become the current + * track entry (ie when the previous track entry TrackEntry.getTrackTime() >= this track entry's + * delay). *

- * {@link #getTimeScale()} affects the delay. + * TrackEntry.getTimeScale() affects the delay. *

- * When passing delay <= 0 to {@link AnimationState#addAnimation(int, Animation, boolean, float)} this - * delay is set using a mix duration from {@link AnimationStateData}. To change the {@link #getMixDuration()} - * afterward, use {@link #setMixDuration(float, float)} so this delay is adjusted. */ + * When passing delay <= 0 to spine.animation.AnimationState.addAnimation(int, Animation, boolean, float) this + * delay is set using a mix duration from spine.animation.AnimationStateData. To change the TrackEntry.getMixDuration() + * afterward, use TrackEntry.setMixDuration(float, float) so this delay is adjusted. */ public var delay(default, set):Float = 0; /** Current time in seconds this track entry has been the current track entry. The track time determines - * {@link #getAnimationTime()}. The track time can be set to start the animation at a time other than 0, without affecting + * TrackEntry.getAnimationTime(). The track time can be set to start the animation at a time other than 0, without affecting * looping. */ public var trackTime:Float = 0; public var trackLast:Float = 0; @@ -132,22 +132,22 @@ class TrackEntry implements Poolable { * is reached, no other animations are queued for playback, and mixing from any previous animations is complete, then the * properties keyed by the animation are set to the setup pose and the track is cleared. *

- * It may be desired to use {@link AnimationState#addEmptyAnimation(int, float, float)} rather than have the animation + * It may be desired to use spine.animation.AnimationState.addEmptyAnimation(int, float, float) rather than have the animation * abruptly cease being applied. */ public var trackEnd:Float = 0; /** Multiplier for the delta time when this track entry is updated, causing time for this animation to pass slower or * faster. Defaults to 1. *

- * Values < 0 are not supported. To play an animation in reverse, use {@link #getReverse()}. + * Values < 0 are not supported. To play an animation in reverse, use TrackEntry.getReverse(). *

- * {@link #getMixTime()} is not affected by track entry time scale, so {@link #getMixDuration()} may need to be adjusted to + * TrackEntry.getMixTime() is not affected by track entry time scale, so TrackEntry.getMixDuration() may need to be adjusted to * match the animation speed. *

- * When using {@link AnimationState#addAnimation(int, Animation, boolean, float)} with a delay <= 0, the - * {@link #getDelay()} is set using the mix duration from the {@link AnimationStateData}, assuming time scale to be 1. If + * When using spine.animation.AnimationState.addAnimation(int, Animation, boolean, float) with a delay <= 0, the + * TrackEntry.getDelay() is set using the mix duration from the spine.animation.AnimationStateData, assuming time scale to be 1. If * the time scale is not 1, the delay may need to be adjusted. *

- * See AnimationState {@link AnimationState#getTimeScale()} for affecting all animations. */ + * See AnimationState spine.animation.AnimationState.getTimeScale() for affecting all animations. */ public var timeScale:Float = 0; /** Values < 1 mix this animation with the skeleton's current pose (usually the pose resulting from lower tracks). Defaults * to 1, which overwrites the skeleton's current pose with this animation. @@ -155,34 +155,34 @@ class TrackEntry implements Poolable { * Typically track 0 is used to completely pose the skeleton, then alpha is used on higher tracks. It doesn't make sense to * use alpha on track 0 if the skeleton pose is from the last frame render. */ public var alpha:Float = 0; - /** Seconds from 0 to the {@link #getMixDuration()} when mixing from the previous animation to this animation. May be - * slightly more than mixDuration when the mix is complete. */ + /** Seconds from 0 to the TrackEntry.getMixDuration() when mixing from the previous animation to this animation. May be + * slightly more than mixDuration when the mix is complete. */ public var mixTime:Float = 0; /** Seconds for mixing from the previous animation to this animation. Defaults to the value provided by AnimationStateData - * {@link AnimationStateData#getMix(Animation, Animation)} based on the animation before this animation (if any). + * spine.animation.AnimationStateData.getMix(Animation, Animation) based on the animation before this animation (if any). *

* A mix duration of 0 still mixes out over one frame to provide the track entry being mixed out a chance to revert the * properties it was animating. A mix duration of 0 can be set at any time to end the mix on the next - * {@link AnimationState#update(float) update}. + * spine.animation.AnimationState.update(float) update. *

- * The mixDuration can be set manually rather than use the value from - * {@link AnimationStateData#getMix(Animation, Animation)}. In that case, the mixDuration can be set for a new - * track entry only before {@link AnimationState#update(float)} is first called. + * The mixDuration can be set manually rather than use the value from + * spine.animation.AnimationStateData.getMix(Animation, Animation). In that case, the mixDuration can be set for a new + * track entry only before spine.animation.AnimationState.update(float) is first called. *

- * When using {@link AnimationState#addAnimation(int, Animation, boolean, float)} with a delay <= 0, the - * {@link #getDelay()} is set using the mix duration from the {@link AnimationStateData}. If mixDuration is set + * When using spine.animation.AnimationState.addAnimation(int, Animation, boolean, float) with a delay <= 0, the + * TrackEntry.getDelay() is set using the mix duration from the spine.animation.AnimationStateData. If mixDuration is set * afterward, the delay may need to be adjusted. For example:
- * entry.delay = entry.previous.getTrackComplete() - entry.mixDuration;
- * Alternatively, {@link #setMixDuration(float, float)} can be used to recompute the delay:
- * entry.setMixDuration(0.25f, 0); */ + * entry.delay = entry.previous.getTrackComplete() - entry.mixDuration;
+ * Alternatively, TrackEntry.setMixDuration(float, float) can be used to recompute the delay:
+ * entry.setMixDuration(0.25f, 0); */ public var mixDuration:Float = 0; public var interruptAlpha:Float = 0; public var totalAlpha:Float = 0; - /** Controls how properties keyed in the animation are mixed with lower tracks. Defaults to {@link MixBlend#replace}. + /** Controls how properties keyed in the animation are mixed with lower tracks. Defaults to spine.animation.MixBlend.replace. *

- * Track entries on track 0 ignore this setting and always use {@link MixBlend#first}. + * Track entries on track 0 ignore this setting and always use spine.animation.MixBlend.first. *

- * The mixBlend can be set for a new track entry only before {@link AnimationState#apply(Skeleton)} is first + * The mixBlend can be set for a new track entry only before spine.animation.AnimationState.apply(Skeleton) is first * called. */ public var mixBlend:MixBlend = MixBlend.replace; public var timelineMode:Array = new Array(); @@ -202,12 +202,12 @@ class TrackEntry implements Poolable { public function new() {} - /** Uses {@link #getTrackTime()} to compute the animationTime. When the trackTime is 0, the - * animationTime is equal to the animationStart time. + /** Uses TrackEntry.getTrackTime() to compute the animationTime. When the trackTime is 0, the + * animationTime is equal to the animationStart time. *

- * The animationTime is between {@link #getAnimationStart()} and {@link #getAnimationEnd()}, except if this - * track entry is non-looping and {@link #getAnimationEnd()} is >= to the animation {@link Animation#duration}, then - * animationTime continues to increase past {@link #getAnimationEnd()}. */ + * The animationTime is between TrackEntry.getAnimationStart() and TrackEntry.getAnimationEnd(), except if this + * track entry is non-looping and TrackEntry.getAnimationEnd() is >= to the animation spine.animation.Animation.duration, then + * animationTime continues to increase past TrackEntry.getAnimationEnd(). */ public function getAnimationTime():Float { if (loop) { var duration:Float = animationEnd - animationStart; @@ -218,9 +218,9 @@ class TrackEntry implements Poolable { return Math.min(trackTime + animationStart, animationEnd); } - /** If this track entry is non-looping, the track time in seconds when {@link #getAnimationEnd()} is reached, or the current - * {@link #getTrackTime()} if it has already been reached. If this track entry is looping, the track time when this - * animation will reach its next {@link #getAnimationEnd()} (the next loop completion). */ + /** If this track entry is non-looping, the track time in seconds when TrackEntry.getAnimationEnd() is reached, or the current + * TrackEntry.getTrackTime() if it has already been reached. If this track entry is looping, the track time when this + * animation will reach its next TrackEntry.getAnimationEnd() (the next loop completion). */ public function getTrackComplete():Float { var duration:Float = animationEnd - animationStart; if (duration != 0) { @@ -234,13 +234,13 @@ class TrackEntry implements Poolable { /** Returns true if this track entry has been applied at least once. *

- * See {@link AnimationState#apply(Skeleton)}. */ + * See spine.animation.AnimationState.apply(Skeleton). */ public function wasApplied() { return nextTrackLast != -1; } - /** Returns true if there is a {@link #getNext()} track entry and it will become the current track entry during the next - * {@link AnimationState#update(float)}. */ + /** Returns true if there is a TrackEntry.getNext() track entry and it will become the current track entry during the next + * spine.animation.AnimationState.update(float). */ public function isNextReady():Bool { return next != null && nextTrackLast - next.delay >= 0; } @@ -263,9 +263,9 @@ class TrackEntry implements Poolable { } /** Resets the rotation directions for mixing this entry's rotate timelines. This can be useful to avoid bones rotating the - * long way around when using {@link #getAlpha()} and starting animations on other tracks. + * long way around when using TrackEntry.getAlpha() and starting animations on other tracks. *

- * Mixing with {@link MixBlend#replace} involves finding a rotation between two others, which has two possible solutions: + * Mixing with spine.animation.MixBlend.replace involves finding a rotation between two others, which has two possible solutions: * the short way or the long way around. The two rotations likely change over time, so which direction is the short or long * way also changes. If the short way was always chosen, bones would flip to the other side when that direction became the * long way. TrackEntry chooses the short way the first time it is applied and remembers that direction. */ @@ -273,10 +273,10 @@ class TrackEntry implements Poolable { timelinesRotation.resize(0); } - /** Sets both {@link #getMixDuration()} and {@link #getDelay()}. - * @param mixDuration If > 0, sets {@link TrackEntry#getDelay()}. If <= 0, the delay set is the duration of the previous track - * entry minus the specified mix duration plus the specified delay (ie the mix ends at - * (delay = 0) or before (delay < 0) the previous track entry duration). If the previous + /** Sets both TrackEntry.getMixDuration() and TrackEntry.getDelay(). + * @param mixDuration If > 0, sets TrackEntry.getDelay(). If <= 0, the delay set is the duration of the previous track + * entry minus the specified mix duration plus the specified delay (ie the mix ends at + * (delay = 0) or before (delay < 0) the previous track entry duration). If the previous * entry is looping, its next loop completion is used instead of its duration. */ public function setMixDurationWithDelay(mixDuration:Float):Float { this.mixDuration = mixDuration; diff --git a/spine-haxe/spine-haxe/spine/animation/TransformConstraintTimeline.hx b/spine-haxe/spine-haxe/spine/animation/TransformConstraintTimeline.hx index c67874f48..5d52d4383 100644 --- a/spine-haxe/spine-haxe/spine/animation/TransformConstraintTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/TransformConstraintTimeline.hx @@ -34,9 +34,9 @@ import spine.Skeleton; import spine.TransformConstraint; import spine.TransformConstraintData; -/** Changes a transform constraint's {@link TransformConstraint#mixRotate}, {@link TransformConstraint#mixX}, - * {@link TransformConstraint#mixY}, {@link TransformConstraint#mixScaleX}, - * {@link TransformConstraint#mixScaleY}, and {@link TransformConstraint#mixShearY}. */ +/** Changes a transform constraint's spine.TransformConstraint.mixRotate, spine.TransformConstraint.mixX, + * spine.TransformConstraint.mixY, spine.TransformConstraint.mixScaleX, + * spine.TransformConstraint.mixScaleY, and spine.TransformConstraint.mixShearY. */ class TransformConstraintTimeline extends CurveTimeline { static public inline var ENTRIES:Int = 7; private static inline var ROTATE:Int = 1; @@ -46,7 +46,7 @@ class TransformConstraintTimeline extends CurveTimeline { private static inline var SCALEY:Int = 5; private static inline var SHEARY:Int = 6; - /** The index of the transform constraint in {@link Skeleton#transformConstraints} that will be changed when this + /** The index of the transform constraint in spine.Skeleton.transformConstraints that will be changed when this * timeline is applied. */ public var constraintIndex:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/animation/TranslateTimeline.hx b/spine-haxe/spine-haxe/spine/animation/TranslateTimeline.hx index 0202ae943..f703b0d14 100644 --- a/spine-haxe/spine-haxe/spine/animation/TranslateTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/TranslateTimeline.hx @@ -33,7 +33,7 @@ import spine.Bone; import spine.Event; import spine.Skeleton; -/** Changes a bone's local {@link Bone#x} and {@link Bone#y}. */ +/** Changes a bone's local spine.Bone.x and spine.Bone.y. */ class TranslateTimeline extends CurveTimeline2 implements BoneTimeline { public var boneIndex:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/animation/TranslateXTimeline.hx b/spine-haxe/spine-haxe/spine/animation/TranslateXTimeline.hx index cc43a29fb..b0f779625 100644 --- a/spine-haxe/spine-haxe/spine/animation/TranslateXTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/TranslateXTimeline.hx @@ -33,7 +33,7 @@ import spine.Bone; import spine.Event; import spine.Skeleton; -/** Changes a bone's local x value. */ +/** Changes a bone's local spine.Bone.x. */ class TranslateXTimeline extends CurveTimeline1 implements BoneTimeline { public var boneIndex:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/animation/TranslateYTimeline.hx b/spine-haxe/spine-haxe/spine/animation/TranslateYTimeline.hx index 0ade5456c..4785d019e 100644 --- a/spine-haxe/spine-haxe/spine/animation/TranslateYTimeline.hx +++ b/spine-haxe/spine-haxe/spine/animation/TranslateYTimeline.hx @@ -33,7 +33,7 @@ import spine.Bone; import spine.Event; import spine.Skeleton; -/** Changes a bone's local {@link Bone#y}. */ +/** Changes a bone's local y translation. */ class TranslateYTimeline extends CurveTimeline1 implements BoneTimeline { public var boneIndex:Int = 0; diff --git a/spine-haxe/spine-haxe/spine/attachments/AtlasAttachmentLoader.hx b/spine-haxe/spine-haxe/spine/attachments/AtlasAttachmentLoader.hx index 05b3595a9..a5ae7bcf7 100644 --- a/spine-haxe/spine-haxe/spine/attachments/AtlasAttachmentLoader.hx +++ b/spine-haxe/spine-haxe/spine/attachments/AtlasAttachmentLoader.hx @@ -32,6 +32,12 @@ package spine.attachments; import spine.atlas.TextureAtlas; import spine.Skin; +/** + * The interface which can be implemented to customize creating and populating attachments. + *

+ * See Loading skeleton data in the Spine + * Runtimes Guide. + */ class AtlasAttachmentLoader implements AttachmentLoader { private var atlas:TextureAtlas; @@ -53,6 +59,9 @@ class AtlasAttachmentLoader implements AttachmentLoader { } } + /** + * @return May be null to not load the attachment. + */ public function newRegionAttachment(skin:Skin, name:String, path:String, sequence:Sequence):RegionAttachment { var attachment = new RegionAttachment(name, path); if (sequence != null) { @@ -66,6 +75,9 @@ class AtlasAttachmentLoader implements AttachmentLoader { return attachment; } + /** + * @return May be null to not load the attachment. In that case null should also be returned for child meshes. + */ public function newMeshAttachment(skin:Skin, name:String, path:String, sequence:Sequence):MeshAttachment { var attachment = new MeshAttachment(name, path); if (sequence != null) { @@ -79,18 +91,30 @@ class AtlasAttachmentLoader implements AttachmentLoader { return attachment; } + /** + * @return May be null to not load the attachment. + */ public function newBoundingBoxAttachment(skin:Skin, name:String):BoundingBoxAttachment { return new BoundingBoxAttachment(name); } + /** + * @return May be null to not load the attachment. + */ public function newPathAttachment(skin:Skin, name:String):PathAttachment { return new PathAttachment(name); } + /** + * @return May be null to not load the attachment. + */ public function newPointAttachment(skin:Skin, name:String):PointAttachment { return new PointAttachment(name); } + /** + * @return May be null to not load the attachment. + */ public function newClippingAttachment(skin:Skin, name:String):ClippingAttachment { return new ClippingAttachment(name); } diff --git a/spine-haxe/spine-haxe/spine/attachments/MeshAttachment.hx b/spine-haxe/spine-haxe/spine/attachments/MeshAttachment.hx index 71e584aab..d6e5e50b4 100644 --- a/spine-haxe/spine-haxe/spine/attachments/MeshAttachment.hx +++ b/spine-haxe/spine-haxe/spine/attachments/MeshAttachment.hx @@ -54,7 +54,7 @@ class MeshAttachment extends VertexAttachment implements HasTextureRegion { public var height:Float = 0; /** The number of entries at the beginning of {@link #vertices} that make up the mesh hull. */ public var hullLength:Int = 0; - /** Vertex index pairs describing edges for controlling triangulation, or be null if nonessential data was not exported. Mesh + /** Vertex index pairs describing edges for controlling triangulation, or null if nonessential data was not exported. Mesh * triangles will never cross edges. Triangulation is not performed at runtime. */ public var edges = new Array(); public var rendererObject:Dynamic; @@ -65,13 +65,14 @@ class MeshAttachment extends VertexAttachment implements HasTextureRegion { * parent mesh, but may have a different {@link #name} or {@link #path} (and therefore a different texture). */ private var _parentMesh:MeshAttachment; + /** Copy constructor. Use newLinkedMesh() if the other mesh is a linked mesh. */ public function new(name:String, path:String) { super(name); this.path = path; } - /** Calculates {@link #uvs} using the {@link #regionUVs} and region. Must be called if the region, the region's properties, or - * the {@link #regionUVs} are changed. */ + /** Calculates uvs using the regionUVs and region. Must be called if the region, the region's properties, or + * the regionUVs are changed. */ public function updateRegion():Void { if (region == null) { throw new SpineException("Region not set."); @@ -192,14 +193,14 @@ class MeshAttachment extends VertexAttachment implements HasTextureRegion { return copy; } - /** If the attachment has a {@link #sequence}, the region may be changed. */ + /** If the attachment has a sequence, the region may be changed. */ public override function computeWorldVertices(slot:Slot, start:Int, count:Int, worldVertices:Array, offset:Int, stride:Int):Void { if (sequence != null) sequence.apply(slot, this); super.computeWorldVertices(slot, start, count, worldVertices, offset, stride); } - /** Returns a new mesh with the {@link #parentMesh} set to this mesh's parent mesh, if any, else to this mesh. */ + /** Returns a new mesh with the parentMesh set to this mesh's parent mesh, if any, else to this mesh. */ public function newLinkedMesh():MeshAttachment { var copy:MeshAttachment = new MeshAttachment(name, path); copy.rendererObject = rendererObject; diff --git a/spine-haxe/spine-haxe/spine/attachments/PointAttachment.hx b/spine-haxe/spine-haxe/spine/attachments/PointAttachment.hx index 70c1c87d8..6f0730abd 100644 --- a/spine-haxe/spine-haxe/spine/attachments/PointAttachment.hx +++ b/spine-haxe/spine-haxe/spine/attachments/PointAttachment.hx @@ -46,6 +46,7 @@ class PointAttachment extends VertexAttachment { * attachments are not usually rendered at runtime. */ public var color:Color = new Color(0.38, 0.94, 0, 1); + /** Copy constructor. */ public function new(name:String) { super(name); } diff --git a/spine-haxe/spine-haxe/spine/attachments/RegionAttachment.hx b/spine-haxe/spine-haxe/spine/attachments/RegionAttachment.hx index b9e9595b1..037c38f04 100644 --- a/spine-haxe/spine-haxe/spine/attachments/RegionAttachment.hx +++ b/spine-haxe/spine-haxe/spine/attachments/RegionAttachment.hx @@ -66,7 +66,7 @@ class RegionAttachment extends Attachment implements HasTextureRegion { /** For each of the 4 vertices, a pair of x,y values that is the local position of the vertex. * - * See {@link #updateRegion()}. */ + * See RegionAttachment.updateRegion(). */ private var offsets:Array = new Array(); public var uvs:Array = new Array(); @@ -80,7 +80,7 @@ class RegionAttachment extends Attachment implements HasTextureRegion { this.path = path; } - /** Calculates the {@link #offsets} and {@link #uvs} using the region and the attachment's transform. Must be called if the + /** Calculates the RegionAttachment.offsets and RegionAttachment.uvs using the region and the attachment's transform. Must be called if the * region, the region's properties, or the transform are changed. */ public function updateRegion():Void { if (region == null) { @@ -145,12 +145,11 @@ class RegionAttachment extends Attachment implements HasTextureRegion { } } - /** Transforms the attachment's four vertices to world coordinates. If the attachment has a {@link #sequence}, the region may + /** Transforms the attachment's four vertices to world coordinates. If the attachment has a RegionAttachment.sequence, the region may * be changed. * * See World transforms in the Spine * Runtimes Guide. - * @param slot The slot the attachment is bound to. * @param worldVertices The output world vertices. Must have a length >= offset + 8. * @param offset The worldVertices index to begin writing values. * @param stride The number of worldVertices entries between the value pairs written. */ diff --git a/spine-haxe/spine-haxe/spine/attachments/VertexAttachment.hx b/spine-haxe/spine-haxe/spine/attachments/VertexAttachment.hx index 723e6a6dd..647ba86aa 100644 --- a/spine-haxe/spine-haxe/spine/attachments/VertexAttachment.hx +++ b/spine-haxe/spine-haxe/spine/attachments/VertexAttachment.hx @@ -34,20 +34,20 @@ import spine.Skeleton; import spine.Slot; /** Base class for an attachment with vertices that are transformed by one or more bones and can be deformed by a slot's - * {@link Slot#deform}. */ + * spine.Slot.deform. */ class VertexAttachment extends Attachment { private static var nextID:Int = 0; - /** The bones which affect the {@link vertices}. The array entries are, for each vertex, the number of bones affecting - * the vertex followed by that many bone indices, which is the index of the bone in {@link Skeleton#bones}. Will be null + /** The bones which affect the vertices. The array entries are, for each vertex, the number of bones affecting + * the vertex followed by that many bone indices, which is the index of the bone in spine.Skeleton.bones. Will be null * if this attachment has no weights. */ public var bones:Array; - /** The vertex positions in the bone's coordinate system. For a non-weighted attachment, the values are x,y - * entries for each vertex. For a weighted attachment, the values are x,y,weight entries for each bone affecting + /** The vertex positions in the bone's coordinate system. For a non-weighted attachment, the values are `x,y` + * entries for each vertex. For a weighted attachment, the values are `x,y,weight` entries for each bone affecting * each vertex. */ public var vertices = new Array(); /** The maximum number of world vertex values that can be output by - * {@link computeWorldVertices} using the count parameter. */ + * computeWorldVertices() using the `count` parameter. */ public var worldVerticesLength:Int = 0; /** Returns a unique ID for this attachment. */ public var id:Int = nextID++; @@ -60,17 +60,17 @@ class VertexAttachment extends Attachment { timelineAttachment = this; } - /** Transforms the attachment's local {@link #vertices} to world coordinates. If the slot's {@link Slot#deform} is + /** Transforms the attachment's local vertices to world coordinates. If the slot's spine.Slot.deform is * not empty, it is used to deform the vertices. *

* See World transforms in the Spine * Runtimes Guide. - * @param start The index of the first {@link #vertices} value to transform. Each vertex has 2 values, x and y. - * @param count The number of world vertex values to output. Must be <= {@link #worldVerticesLength} - start. - * @param worldVertices The output world vertices. Must have a length >= offset + count * - * stride / 2. - * @param offset The worldVertices index to begin writing values. - * @param stride The number of worldVertices entries between the value pairs written. */ + * @param start The index of the first vertices value to transform. Each vertex has 2 values, x and y. + * @param count The number of world vertex values to output. Must be <= worldVerticesLength - `start`. + * @param worldVertices The output world vertices. Must have a length >= `offset` + `count` * + * `stride` / 2. + * @param offset The `worldVertices` index to begin writing values. + * @param stride The number of `worldVertices` entries between the value pairs written. */ public function computeWorldVertices(slot:Slot, start:Int, count:Int, worldVertices:Array, offset:Int, stride:Int):Void { count = offset + (count >> 1) * stride; var skeleton:Skeleton = slot.skeleton; diff --git a/spine-haxe/spine-haxe/spine/starling/SkeletonSprite.hx b/spine-haxe/spine-haxe/spine/starling/SkeletonSprite.hx index caf0814eb..906429729 100644 --- a/spine-haxe/spine-haxe/spine/starling/SkeletonSprite.hx +++ b/spine-haxe/spine-haxe/spine/starling/SkeletonSprite.hx @@ -79,6 +79,7 @@ class SkeletonSprite extends DisplayObject implements IAnimatable { public var beforeUpdateWorldTransforms: SkeletonSprite -> Void = function(_) {}; public var afterUpdateWorldTransforms: SkeletonSprite -> Void = function(_) {}; + /** Creates an uninitialized SkeletonSprite. The skeleton and animation state must be set before use. */ public function new(skeletonData:SkeletonData, animationStateData:AnimationStateData = null) { super(); Bone.yDown = true; diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Event.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Event.java index be793b93c..eb42671fc 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Event.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Event.java @@ -98,7 +98,7 @@ public class Event { return time; } - /** The events's setup pose data. */ + /** The event's setup pose data. */ public EventData getData () { return data; }