spine_flutter library

Spine Runtimes License Agreement Last updated July 28, 2023. Replaces all prior versions.

Copyright (c) 2013-2023, Esoteric Software LLC

Integration of the Spine Runtimes into software or otherwise creating derivative works of the Spine Runtimes is permitted under the terms and conditions of Section 2 of the Spine Editor License Agreement: http://esotericsoftware.com/spine-editor-license

Otherwise, it is permitted to integrate the Spine Runtimes into software or otherwise create derivative works of the Spine Runtimes (collectively, "Products"), provided that each user of the Products must obtain their own Spine Editor license and redistribution of the Products in any form must include this license and copyright notice.

THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Classes

Animation
Stores a list of timelines to animate a skeleton's pose over time.
AnimationState
Applies animations over time, queues animations for later playback, mixes (crossfading) between animations, and applies multiple animations on top of each other (layering).
AnimationStateData
Stores mix (crossfade) durations to be applied when {@link AnimationState} animations are changed.
Atlas
Atlas data loaded from a .atlas file and its corresponding .png files. For each atlas image, a corresponding Image and Paint is constructed, which are used when rendering a skeleton that uses this atlas.
Attachment<T extends Pointer<NativeType>>
The base class for all attachments.
Bone
Stores a bone's current pose.
BoneData
Stores the setup pose for a Bone.
BoundingBoxAttachment
An attachment with vertices that make up a polygon. Can be used for hit detection, creating physics bodies, spawning particle effects, and more.
Bounds
Bounds denoted by the top left corner coordinates x and y and the width and height.
BoundsProvider
Base class for bounds providers. A bounds provider calculates the axis aligned bounding box used to scale and fit a skeleton inside the bounds of a SpineWidget.
ClippingAttachment
An attachment with vertices that make up a polygon used for clipping the rendering of other attachments.
Color
A color made of red, green, blue, and alpha components, ranging from 0-1.
ConstraintData<T extends Pointer<NativeType>>
The base class for all constraint datas.
DebugRenderer
Renders debug information for a SkeletonDrawable, like bone locations, to a Canvas. See DebugRenderer.render.
Event
Stores the current pose values for an {@link Event}.
EventData
Stores the setup pose values for an Event.
IkConstraint
Stores the current pose for an IK constraint. An IK constraint adjusts the rotation of 1 or 2 constrained bones so the tip of the last bone is as close to the target bone as possible.
IkConstraintData
Stores the setup pose for an IkConstraint.
MeshAttachment
An attachment that displays a textured mesh. A mesh has hull vertices and internal vertices within the hull. Holes are not supported. Each vertex has UVs (texture coordinates) and triangles are used to map an image on to the mesh.
PathAttachment
An attachment whose vertices make up a composite Bezier curve.
PathConstraint
Stores the current pose for a path constraint. A path constraint adjusts the rotation, translation, and scale of the constrained bones so they follow a PathAttachment.
PathConstraintData
Stores the setup pose for a PathConstraint.
PointAttachment
An attachment which is a single point and a rotation. This can be used to spawn projectiles, particles, etc. A bone can be used in similar ways, but a PointAttachment is slightly less expensive to compute and can be hidden, shown, and placed in a skin.
RawBounds
A BoundsProvider that returns fixed bounds.
RegionAttachment
An attachment that displays a textured quadrilateral.
RenderCommand
Stores the vertices, indices, and atlas page index to be used for rendering one or more attachments of a Skeleton to a Canvas. See the implementation of SkeletonDrawable.renderToCanvas on how to use this data to render it to a Canvas.
Sequence
Stores a sequence of TextureRegion instances that will switched through when set on an attachment.
SetupPoseBounds
A BoundsProvider that calculates the bounding box of the skeleton based on the visible attachments in the setup pose.
Skeleton
Stores the current pose for a skeleton.
SkeletonData
Skeleton data loaded from a skeleton .json or .skel file. Contains bones, slots, constraints, skins, animations, and so on making up a skeleton. Also contains meta data such as the skeletons setup pose bounding box, the Spine editor version it was exported from, and so on.
SkeletonDrawable
A SkeletonDrawable bundles loading, updating, and rendering an Atlas, Skeleton, and AnimationState into a single easy to use class.
Skin
Stores attachments by slot index and attachment name.
SkinAndAnimationBounds
A BoundsProvider that calculates the bounding box needed for a combination of skins and an animation.
SkinEntry
An entry storing the attachment to be used for a specific slot within Skin.
Slot
Stores a slot's current pose. Slots organize attachments for Skeleton.getDrawOrder 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.
SlotData
Stores the setup pose for a Slot.
SpineWidget
A StatefulWidget to display a Spine skeleton. The skeleton can be loaded from an asset bundle (SpineWidget.fromAsset, local files SpineWidget.fromFile, URLs SpineWidget.fromHttp, or a pre-loaded SkeletonDrawable (SpineWidget.fromDrawable).
SpineWidgetController
Controls how the skeleton of a SpineWidget is animated and rendered.
TextureRegion
A region within a texture, given in normalized texture coordinates of the top left (getU, getV) and bottom left (getU2, getV2) corner of the region within the texture.
TrackEntry
Stores settings and other state for the playback of an animation on an AnimationState track.
TransformConstraint
Stores the current pose for a transform constraint. A transform constraint adjusts the world transform of the constrained bones to match that of the target bone.
TransformConstraintData
Stores the setup pose for a {@link TransformConstraint}.
Vec2
A two-dimensional vector with x and y components.
VertexAttachment<T extends Pointer<NativeType>>
Base class for an attachment with vertices that are transformed by one or more bones and can be deformed by a slot's Slot.getDeform.

Enums

AttachmentType
Attachment types.
BlendMode
Determines how images are blended with existing pixels when drawn. See Blending in the Spine User Guide.
EventType
The event type passed to AnimationStateListener
Inherit
Determines how a bone inherits world transforms from parent bones. See Transform inheritance in the Spine User Guide.
MixBlend
Controls how timeline values are mixed with setup pose values or current pose values when a timeline is applied with alpha < 1.
Physics
Determines how physics and other non-deterministic updates are applied.
PositionMode
Controls how the first bone is positioned along the path.
RotateMode
Controls how bones are rotated, translated, and scaled to match the path.
SpacingMode
Controls how bones after the first bone are positioned along the path.

Functions

initSpineFlutter({bool useStaticLinkage = false, bool enableMemoryDebugging = false}) Future<void>
majorVersion() int
minorVersion() int
reportLeaks() → void

Typedefs

AnimationStateListener = void Function(EventType type, TrackEntry entry, Event? event)
The callback to implement for receiving TrackEntry events. It is always safe to call AnimationState methods when receiving events.