diff --git a/spine-cpp/spine-cpp/include/spine/Bone.h b/spine-cpp/spine-cpp/include/spine/Bone.h index d3643514b..83bd7a391 100644 --- a/spine-cpp/spine-cpp/include/spine/Bone.h +++ b/spine-cpp/spine-cpp/include/spine/Bone.h @@ -113,6 +113,12 @@ namespace spine { void updateWorldTransform(float x, float y, float rotation, float scaleX, float scaleY, float shearX, float shearY); + /// Computes the individual applied transform values from the world transform. This can be useful to perform processing using + /// the applied transform after the world transform has been modified directly (eg, by a constraint).. + /// + /// Some information is ambiguous in the world transform, such as -1,-1 scale versus 180 rotation. + void updateAppliedTransform(); + void setToSetupPose(); void worldToLocal(float worldX, float worldY, float &outLocalX, float &outLocalY); @@ -260,12 +266,6 @@ namespace spine { float _c, _d, _worldY; bool _sorted; bool _active; - - /// Computes the individual applied transform values from the world transform. This can be useful to perform processing using - /// the applied transform after the world transform has been modified directly (eg, by a constraint).. - /// - /// Some information is ambiguous in the world transform, such as -1,-1 scale versus 180 rotation. - void updateAppliedTransform(); }; } diff --git a/spine-flutter/example/lib/animation_state_events.dart b/spine-flutter/example/lib/animation_state_events.dart index 70bb4231f..51b1a885a 100644 --- a/spine-flutter/example/lib/animation_state_events.dart +++ b/spine-flutter/example/lib/animation_state_events.dart @@ -33,7 +33,7 @@ class AnimationStateEvents extends StatelessWidget { appBar: AppBar(title: const Text('Spineboy')), body: Column(children: [ const Text("See output in console!"), - Expanded(child: SpineWidget.asset("assets/spineboy.atlas", "assets/spineboy-pro.skel", controller)) + Expanded(child: SpineWidget.fromAsset("assets/spineboy.atlas", "assets/spineboy-pro.skel", controller)) ])); } } diff --git a/spine-flutter/example/lib/debug_rendering.dart b/spine-flutter/example/lib/debug_rendering.dart index 7d20b4650..3216140d1 100644 --- a/spine-flutter/example/lib/debug_rendering.dart +++ b/spine-flutter/example/lib/debug_rendering.dart @@ -17,7 +17,7 @@ class DebugRendering extends StatelessWidget { return Scaffold( appBar: AppBar(title: const Text('Debug Renderer')), - body: SpineWidget.asset("assets/spineboy.atlas", "assets/spineboy-pro.skel", controller), + body: SpineWidget.fromAsset("assets/spineboy.atlas", "assets/spineboy-pro.skel", controller), ); } } diff --git a/spine-flutter/example/lib/dress_up.dart b/spine-flutter/example/lib/dress_up.dart index a62cbaeaf..9ac9d5ed0 100644 --- a/spine-flutter/example/lib/dress_up.dart +++ b/spine-flutter/example/lib/dress_up.dart @@ -29,7 +29,7 @@ class DressUpState extends State { skeleton.setSkin(skin); skeleton.setToSetupPose(); skeleton.updateWorldTransform(); - _skinImages[skin.getName()] = await drawable.renderToRawImageData(thumbnailSize, thumbnailSize); + _skinImages[skin.getName()] = await drawable.renderToRawImageData(thumbnailSize, thumbnailSize, 0xffffffff); _selectedSkins[skin.getName()] = false; } _toggleSkin("full-skins/girl"); @@ -87,7 +87,7 @@ class DressUpState extends State { }).toList()), ), Expanded( - child: SpineWidget.drawable( + child: SpineWidget.fromDrawable( _drawable, controller, boundsProvider: SkinAndAnimationBounds(skins: ["full-skins/girl"]), diff --git a/spine-flutter/example/lib/ik_following.dart b/spine-flutter/example/lib/ik_following.dart index b05875090..40277e8bd 100644 --- a/spine-flutter/example/lib/ik_following.dart +++ b/spine-flutter/example/lib/ik_following.dart @@ -25,7 +25,9 @@ class IkFollowingState extends State { if (worldPosition == null) return; var bone = controller.skeleton.findBone("crosshair"); if (bone == null) return; - var position = bone.getParent()?.worldToLocal(worldPosition.dx, worldPosition.dy) ?? Vec2(0, 0); + var parent = bone.getParent(); + if (parent == null) return; + var position = parent.worldToLocal(worldPosition.dx, worldPosition.dy); bone.setX(position.x); bone.setY(position.y); }); @@ -44,7 +46,7 @@ class IkFollowingState extends State { body: GestureDetector( onPanDown: (drag) => _updateBonePosition(drag.localPosition), onPanUpdate: (drag) => _updateBonePosition(drag.localPosition), - child: SpineWidget.asset("assets/spineboy.atlas", "assets/spineboy-pro.skel", controller), + child: SpineWidget.fromAsset("assets/spineboy.atlas", "assets/spineboy-pro.skel", controller), )); } } diff --git a/spine-flutter/example/lib/pause_play_animation.dart b/spine-flutter/example/lib/pause_play_animation.dart index beb69b323..02ccf01ca 100644 --- a/spine-flutter/example/lib/pause_play_animation.dart +++ b/spine-flutter/example/lib/pause_play_animation.dart @@ -10,7 +10,6 @@ class PlayPauseAnimation extends StatefulWidget { class PlayPauseAnimationState extends State { late SpineWidgetController controller; - late bool isPlaying; @override void initState() { @@ -18,12 +17,14 @@ class PlayPauseAnimationState extends State { controller = SpineWidgetController(onInitialized: (controller) { controller.animationState.setAnimationByName(0, "flying", true); }); - isPlaying = true; } void _togglePlay() { - isPlaying = !isPlaying; - controller.animationState.setTimeScale(isPlaying ? 1 : 0); + if (controller.isPlaying) { + controller.pause(); + } else { + controller.resume(); + } setState(() {}); } @@ -33,7 +34,7 @@ class PlayPauseAnimationState extends State { return Scaffold( appBar: AppBar(title: const Text('Play/Pause')), - body: SpineWidget.asset( + body: SpineWidget.fromAsset( "assets/dragon.atlas", "assets/dragon-ess.skel", controller, @@ -41,7 +42,7 @@ class PlayPauseAnimationState extends State { ), floatingActionButton: FloatingActionButton( onPressed: _togglePlay, - child: Icon(isPlaying ? Icons.pause : Icons.play_arrow), + child: Icon(controller.isPlaying ? Icons.pause : Icons.play_arrow), ), ); } diff --git a/spine-flutter/example/lib/simple_animation.dart b/spine-flutter/example/lib/simple_animation.dart index 666b8ba84..07c9cdb6f 100644 --- a/spine-flutter/example/lib/simple_animation.dart +++ b/spine-flutter/example/lib/simple_animation.dart @@ -14,9 +14,7 @@ class SimpleAnimation extends StatelessWidget { return Scaffold( appBar: AppBar(title: const Text('Simple Animation')), - body: SpineWidget.asset("assets/spineboy.atlas", "assets/spineboy-pro.skel", controller), - // body: SpineWidget.file( "/Users/badlogic/workspaces/spine-runtimes/examples/spineboy/export/spineboy.atlas", "/Users/badlogic/workspaces/spine-runtimes/examples/spineboy/export/spineboy-pro.skel", controller), - // body: const SpineWidget.http("https://marioslab.io/dump/spineboy/spineboy.atlas", "https://marioslab.io/dump/spineboy/spineboy-pro.json"), + body: SpineWidget.fromAsset("assets/spineboy.atlas", "assets/spineboy-pro.skel", controller) ); } } diff --git a/spine-flutter/lib/spine_flutter.dart b/spine-flutter/lib/spine_flutter.dart index fc4a4645f..0aaa4ee13 100644 --- a/spine-flutter/lib/spine_flutter.dart +++ b/spine-flutter/lib/spine_flutter.dart @@ -1,6 +1,5 @@ import 'dart:convert' as convert; import 'dart:io'; -import 'dart:math'; import 'dart:typed_data'; import 'dart:ui'; @@ -35,6 +34,8 @@ int minorVersion() => _bindings.spine_minor_version(); void reportLeaks() => _bindings.spine_report_leaks(); +/// A color made of red, green, blue, and alpha components, +/// ranging from 0-1. class Color { double r; double g; @@ -44,6 +45,8 @@ class Color { Color(this.r, this.g, this.b, this.a); } +/// Bounds denoted by the top left corner coordinates [x] and [y] +/// and the [width] and [height]. class Bounds { double x; double y; @@ -53,6 +56,7 @@ class Bounds { Bounds(this.x, this.y, this.width, this.height); } +/// A two-dimensional vector with [x] and [y] components. class Vec2 { double x; double y; @@ -60,6 +64,12 @@ class Vec2 { Vec2(this.x, this.y); } +/// 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. +/// +/// Use the static methods [fromAsset], [fromFile], and [fromHttp] to load an atlas. Call [dispose] +/// when the atlas is no longer in use to release its resources. class Atlas { final spine_atlas _atlas; final List atlasPages; @@ -101,21 +111,33 @@ class Atlas { return Atlas._(atlas, atlasPages, atlasPagePaints); } + /// Loads an [Atlas] from the file [atlasFileName] in the root bundle or the optionally provided [bundle]. + /// + /// Throws an [Exception] in case the atlas could not be loaded. static Future fromAsset(String atlasFileName, {AssetBundle? bundle}) async { bundle ??= rootBundle; return _load(atlasFileName, (file) async => (await bundle!.load(file)).buffer.asUint8List()); } + /// Loads an [Atlas] from the file [atlasFileName]. + /// + /// Throws an [Exception] in case the atlas could not be loaded. static Future fromFile(String atlasFileName) async { return _load(atlasFileName, (file) => File(file).readAsBytes()); } - static Future fromUrl(String atlasFileName) async { - return _load(atlasFileName, (file) async { + /// Loads an [Atlas] from the URL [atlasURL]. + /// + /// Throws an [Exception] in case the atlas could not be loaded. + static Future fromHttp(String atlasURL) async { + return _load(atlasURL, (file) async { return (await http.get(Uri.parse(file))).bodyBytes; }); } + /// Disposes the (native) resources of this atlas. The atlas can no longer be + /// used after calling this function. Only the first call to this method will + /// have an effect. Subsequent calls are ignored. void dispose() { if (_disposed) return; _disposed = true; @@ -126,12 +148,28 @@ class Atlas { } } +/// 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. +/// +/// Skeleton data is stateless. Stateful [Skeleton] instances can be constructed from a [SkeletonData] instance. +/// A single [SkeletonData] instance can be shared by multiple [Skeleton] instances. +/// +/// Use the static methods [fromJson], [fromBinary], [fromAsset], [fromFile], and [fromURL] to load +/// skeleton data. Call [dispose] when the skeleton data is no longer in use to free its resources. +/// +/// See [Data objects](http://esotericsoftware.com/spine-runtime-architecture#Data-objects) in the Spine +/// Runtimes Guide. class SkeletonData { final spine_skeleton_data _data; bool _disposed; SkeletonData._(this._data) : _disposed = false; + /// Loads a [SkeletonData] from the [json] string, using the provided [atlas] to resolve attachment + /// images. + /// + /// Throws an [Exception] in case the atlas could not be loaded. static SkeletonData fromJson(Atlas atlas, String json) { final jsonNative = json.toNativeUtf8(allocator: _allocator); final result = _bindings.spine_skeleton_data_load_json(atlas._atlas, jsonNative.cast()); @@ -147,6 +185,10 @@ class SkeletonData { return data; } + /// Loads a [SkeletonData] from the [binary] skeleton data, using the provided [atlas] to resolve attachment + /// images. + /// + /// Throws an [Exception] in case the skeleton data could not be loaded. static SkeletonData fromBinary(Atlas atlas, Uint8List binary) { final Pointer binaryNative = _allocator.allocate(binary.lengthInBytes); binaryNative.asTypedList(binary.lengthInBytes).setAll(0, binary); @@ -163,6 +205,10 @@ class SkeletonData { return data; } + /// Loads a [SkeletonData] from the file [skeletonFile] in the root bundle or the optionally provided [bundle]. + /// Uses the provided [atlas] to resolve attachment images. + /// + /// Throws an [Exception] in case the skeleton data could not be loaded. static Future fromAsset(Atlas atlas, String skeletonFile, {AssetBundle? bundle}) async { bundle ??= rootBundle; if (skeletonFile.endsWith(".json")) { @@ -172,6 +218,9 @@ class SkeletonData { } } + /// Loads a [SkeletonData] from the file [skeletonFile]. Uses the provided [atlas] to resolve attachment images. + /// + /// Throws an [Exception] in case the skeleton data could not be loaded. static Future fromFile(Atlas atlas, String skeletonFile) async { if (skeletonFile.endsWith(".json")) { return fromJson(atlas, convert.utf8.decode(await File(skeletonFile).readAsBytes())); @@ -180,100 +229,17 @@ class SkeletonData { } } - static Future fromHttp(Atlas atlas, String skeletonFile) async { - if (skeletonFile.endsWith(".json")) { - return fromJson(atlas, convert.utf8.decode((await http.get(Uri.parse(skeletonFile))).bodyBytes)); + /// Loads a [SkeletonData] from the URL [skeletonURL]. Uses the provided [atlas] to resolve attachment images. + /// + /// Throws an [Exception] in case the skeleton data could not be loaded. + static Future fromHttp(Atlas atlas, String skeletonURL) async { + if (skeletonURL.endsWith(".json")) { + return fromJson(atlas, convert.utf8.decode((await http.get(Uri.parse(skeletonURL))).bodyBytes)); } else { - return fromBinary(atlas, (await http.get(Uri.parse(skeletonFile))).bodyBytes); + return fromBinary(atlas, (await http.get(Uri.parse(skeletonURL))).bodyBytes); } } - /// 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. - BoneData? findBone(String name) { - final nativeName = name.toNativeUtf8(allocator: _allocator); - final bone = _bindings.spine_skeleton_data_find_bone(_data, nativeName.cast()); - _allocator.free(nativeName); - if (bone.address == nullptr.address) return null; - return BoneData._(bone); - } - - /// 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. - SlotData? findSlot(String name) { - final nativeName = name.toNativeUtf8(allocator: _allocator); - final slot = _bindings.spine_skeleton_data_find_slot(_data, nativeName.cast()); - _allocator.free(nativeName); - if (slot.address == nullptr.address) return null; - return SlotData._(slot); - } - - /// 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. - Skin? findSkin(String name) { - final nativeName = name.toNativeUtf8(allocator: _allocator); - final skin = _bindings.spine_skeleton_data_find_skin(_data, nativeName.cast()); - _allocator.free(nativeName); - if (skin.address == nullptr.address) return null; - return Skin._(skin); - } - - /// 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. - EventData? findEvent(String name) { - final nativeName = name.toNativeUtf8(allocator: _allocator); - final event = _bindings.spine_skeleton_data_find_event(_data, nativeName.cast()); - _allocator.free(nativeName); - if (event.address == nullptr.address) return null; - return EventData._(event); - } - - /// 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. - Animation? findAnimation(String name) { - final nativeName = name.toNativeUtf8(allocator: _allocator); - final animation = _bindings.spine_skeleton_data_find_animation(_data, nativeName.cast()); - _allocator.free(nativeName); - if (animation.address == nullptr.address) return null; - return Animation._(animation); - } - - /// 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. - IkConstraintData? findIkConstraint(String name) { - final nativeName = name.toNativeUtf8(allocator: _allocator); - final constraint = _bindings.spine_skeleton_data_find_ik_constraint(_data, nativeName.cast()); - _allocator.free(nativeName); - if (constraint.address == nullptr.address) return null; - return IkConstraintData._(constraint); - } - - /// 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. - TransformConstraintData? findTransformConstraint(String name) { - final nativeName = name.toNativeUtf8(allocator: _allocator); - final constraint = _bindings.spine_skeleton_data_find_transform_constraint(_data, nativeName.cast()); - _allocator.free(nativeName); - if (constraint.address == nullptr.address) return null; - return TransformConstraintData._(constraint); - } - - /// 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. - PathConstraintData? findPathConstraint(String name) { - final nativeName = name.toNativeUtf8(allocator: _allocator); - final constraint = _bindings.spine_skeleton_data_find_path_constraint(_data, nativeName.cast()); - _allocator.free(nativeName); - if (constraint.address == nullptr.address) return null; - return PathConstraintData._(constraint); - } - - /// The skeleton's name, which by default is the name of the skeleton data file when possible, or null when a name hasn't been - /// set. - String? getName() { - Pointer name = _bindings.spine_skeleton_data_get_name(_data).cast(); - if (name.address == nullptr.address) return null; - return name.toDartString(); - } - /// The skeleton's bones, sorted parent first. The root bone is always the first bone. List getBones() { final List bones = []; @@ -285,6 +251,15 @@ class SkeletonData { return bones; } + /// 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. + BoneData? findBone(String name) { + final nativeName = name.toNativeUtf8(allocator: _allocator); + final bone = _bindings.spine_skeleton_data_find_bone(_data, nativeName.cast()); + _allocator.free(nativeName); + if (bone.address == nullptr.address) return null; + return BoneData._(bone); + } + /// The skeleton's slots. List getSlots() { final List slots = []; @@ -296,6 +271,15 @@ class SkeletonData { return slots; } + /// 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. + SlotData? findSlot(String name) { + final nativeName = name.toNativeUtf8(allocator: _allocator); + final slot = _bindings.spine_skeleton_data_find_slot(_data, nativeName.cast()); + _allocator.free(nativeName); + if (slot.address == nullptr.address) return null; + return SlotData._(slot); + } + /// All skins, including the default skin. List getSkins() { final List skins = []; @@ -322,6 +306,16 @@ 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. + Skin? findSkin(String name) { + final nativeName = name.toNativeUtf8(allocator: _allocator); + final skin = _bindings.spine_skeleton_data_find_skin(_data, nativeName.cast()); + _allocator.free(nativeName); + if (skin.address == nullptr.address) return null; + return Skin._(skin); + } + /// The skeleton's events. List getEvents() { final List events = []; @@ -333,6 +327,16 @@ class SkeletonData { return events; } + /// 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. + EventData? findEvent(String name) { + final nativeName = name.toNativeUtf8(allocator: _allocator); + final event = _bindings.spine_skeleton_data_find_event(_data, nativeName.cast()); + _allocator.free(nativeName); + if (event.address == nullptr.address) return null; + return EventData._(event); + } + /// The skeleton's animations. List getAnimations() { final List events = []; @@ -344,6 +348,16 @@ class SkeletonData { return events; } + /// 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. + Animation? findAnimation(String name) { + final nativeName = name.toNativeUtf8(allocator: _allocator); + final animation = _bindings.spine_skeleton_data_find_animation(_data, nativeName.cast()); + _allocator.free(nativeName); + if (animation.address == nullptr.address) return null; + return Animation._(animation); + } + /// The skeleton's IK constraints. List getIkConstraints() { final List constraints = []; @@ -355,6 +369,16 @@ class SkeletonData { return constraints; } + /// 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. + IkConstraintData? findIkConstraint(String name) { + final nativeName = name.toNativeUtf8(allocator: _allocator); + final constraint = _bindings.spine_skeleton_data_find_ik_constraint(_data, nativeName.cast()); + _allocator.free(nativeName); + if (constraint.address == nullptr.address) return null; + return IkConstraintData._(constraint); + } + /// The skeleton's transform constraints. List getTransformConstraints() { final List constraints = []; @@ -366,6 +390,16 @@ class SkeletonData { return constraints; } + /// 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. + TransformConstraintData? findTransformConstraint(String name) { + final nativeName = name.toNativeUtf8(allocator: _allocator); + final constraint = _bindings.spine_skeleton_data_find_transform_constraint(_data, nativeName.cast()); + _allocator.free(nativeName); + if (constraint.address == nullptr.address) return null; + return TransformConstraintData._(constraint); + } + /// The skeleton's path constraints. List getPathConstraints() { final List constraints = []; @@ -377,6 +411,24 @@ class SkeletonData { return constraints; } + /// 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. + PathConstraintData? findPathConstraint(String name) { + final nativeName = name.toNativeUtf8(allocator: _allocator); + final constraint = _bindings.spine_skeleton_data_find_path_constraint(_data, nativeName.cast()); + _allocator.free(nativeName); + if (constraint.address == nullptr.address) return null; + return PathConstraintData._(constraint); + } + + /// The skeleton's name, which by default is the name of the skeleton data file when possible, or null when a name hasn't been + /// set. + String? getName() { + Pointer name = _bindings.spine_skeleton_data_get_name(_data).cast(); + if (name.address == nullptr.address) return null; + return name.toDartString(); + } + /// The X coordinate of the skeleton's axis aligned bounding box in the setup pose. double getX() { return _bindings.spine_skeleton_data_get_x(_data); @@ -446,6 +498,9 @@ class SkeletonData { return _bindings.spine_skeleton_data_get_fps(_data); } + /// Disposes the (native) resources of this skeleton data. The skeleton data can no longer be + /// used after calling this function. Only the first call to this method will + /// have an effect. Subsequent calls are ignored. void dispose() { if (_disposed) return; _disposed = true; @@ -453,6 +508,8 @@ class SkeletonData { } } +/// Determines how images are blended with existing pixels when drawn. See [Blending](http://esotericsoftware.com/spine-slots#Blending) in +/// the Spine User Guide. enum BlendMode { normal(0), additive(1), @@ -464,6 +521,8 @@ enum BlendMode { const BlendMode(this.value); } +/// Determines how a bone inherits world transforms from parent bones. See [Transform inheritance](esotericsoftware.com/spine-bones#Transform-inheritance) +/// in the Spine User Guide. enum TransformMode { normal(0), onlyTranslation(1), @@ -476,6 +535,9 @@ enum TransformMode { const TransformMode(this.value); } +/// Controls how the first bone is positioned along the path. +/// +/// See [Position mode](http://esotericsoftware.com/spine-path-constraints#Position-mode) in the Spine User Guide. enum PositionMode { fixed(0), percent(1); @@ -485,6 +547,9 @@ enum PositionMode { const PositionMode(this.value); } +/// Controls how bones after the first bone are positioned along the path. +/// +/// See [Spacing mode](http://esotericsoftware.com/spine-path-constraints#Spacing-mode) in the Spine User Guide. enum SpacingMode { length(0), fixed(1), @@ -496,6 +561,9 @@ enum SpacingMode { const SpacingMode(this.value); } +/// Controls how bones are rotated, translated, and scaled to match the path. +/// +/// See [Rotate mode](http://esotericsoftware.com/spine-path-constraints#Rotate-mode) in the Spine User Guide. enum RotateMode { tangent(0), chain(1), @@ -506,26 +574,31 @@ enum RotateMode { const RotateMode(this.value); } +/// Stores the setup pose for a [Bone]. class BoneData { final spine_bone_data _data; BoneData._(this._data); + /// The index of the bone in [Skeleton.getBones]. int getIndex() { return _bindings.spine_bone_data_get_index(_data); } + /// The name of the bone, which is unique across all bones in the skeleton. String getName() { Pointer name = _bindings.spine_bone_data_get_name(_data).cast(); return name.toDartString(); } + /// The parent bone or `null` if this is the root bone. BoneData? getParent() { final parent = _bindings.spine_bone_data_get_parent(_data); if (parent.address == nullptr.address) return null; return BoneData._(parent); } + /// The bone's length. double getLength() { return _bindings.spine_bone_data_get_length(_data); } @@ -534,6 +607,7 @@ class BoneData { _bindings.spine_bone_data_set_length(_data, length); } + /// The local x translation. double getX() { return _bindings.spine_bone_data_get_x(_data); } @@ -542,6 +616,7 @@ class BoneData { _bindings.spine_bone_data_set_x(_data, x); } + /// The local y translation. double getY() { return _bindings.spine_bone_data_get_y(_data); } @@ -550,6 +625,7 @@ class BoneData { _bindings.spine_bone_data_set_y(_data, y); } + /// The local rotation in degrees. double getRotation() { return _bindings.spine_bone_data_get_rotation(_data); } @@ -558,6 +634,7 @@ class BoneData { _bindings.spine_bone_data_set_rotation(_data, rotation); } + /// The local scaleX. double getScaleX() { return _bindings.spine_bone_data_get_scale_x(_data); } @@ -566,6 +643,7 @@ class BoneData { _bindings.spine_bone_data_set_scale_x(_data, scaleX); } + /// The local scaleY. double getScaleY() { return _bindings.spine_bone_data_get_scale_y(_data); } @@ -574,6 +652,7 @@ class BoneData { _bindings.spine_bone_data_set_scale_y(_data, scaleY); } + /// The local shearX. double getShearX() { return _bindings.spine_bone_data_get_shear_x(_data); } @@ -582,6 +661,7 @@ class BoneData { _bindings.spine_bone_data_set_shear_x(_data, shearX); } + /// The local shearY. double getShearY() { return _bindings.spine_bone_data_get_shear_y(_data); } @@ -590,6 +670,7 @@ class BoneData { _bindings.spine_bone_data_set_shear_y(_data, shearY); } + /// The [TransformMode] for how parent world transforms affect this bone. TransformMode getTransformMode() { final nativeMode = _bindings.spine_bone_data_get_transform_mode(_data); return TransformMode.values[nativeMode]; @@ -599,6 +680,9 @@ class BoneData { _bindings.spine_bone_data_set_transform_mode(_data, mode.value); } + /// When true, [Skeleton.updateWorldTransform] only updates this bone if the [Skeleton.getSkin] contains this bone. + /// + /// See [Skin.getBones]. bool isSkinRequired() { return _bindings.spine_bone_data_is_skin_required(_data) == -1; } @@ -607,6 +691,8 @@ class BoneData { _bindings.spine_bone_data_set_is_skin_required(_data, isSkinRequired ? -1 : 0); } + /// 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. Color getColor() { final color = _bindings.spine_bone_data_get_color(_data); return Color(_bindings.spine_color_get_r(color), _bindings.spine_color_get_g(color), _bindings.spine_color_get_b(color), @@ -623,11 +709,17 @@ class BoneData { } } +/// Stores a bone's current pose. +/// +/// A bone has a local transform which is used to compute its world transform. A bone also has an applied transform, which is a +/// local transform that can be applied to compute the world transform. The local transform and applied transform may differ if a +/// constraint or application code modifies the world transform after it was computed from the local transform. class Bone { final spine_bone _bone; Bone._(this._bone); + /// Assume y-axis pointing down for all calculations. static void setIsYDown(bool isYDown) { _bindings.spine_bone_set_is_y_down(isYDown ? -1 : 0); } @@ -636,22 +728,45 @@ class Bone { return _bindings.spine_bone_get_is_y_down() == 1; } + /// Computes the world transform using the parent bone and this bone's local applied transform. void update() { _bindings.spine_bone_update(_bone); } + /// Computes the world transform using the parent bone and this bone's local transform. + /// + /// See [updateWorldTransformWith]. void updateWorldTransform() { _bindings.spine_bone_update_world_transform(_bone); } + /// Computes the world transform using the parent bone and the specified local transform. The applied transform is set to the + /// specified local transform. Child bones are not updated. + /// + /// See [World transform](http://esotericsoftware.com/spine-runtime-skeletons#World-transforms) in the Spine + /// Runtimes Guide. void updateWorldTransformWith(double x, double y, double rotation, double scaleX, double scaleY, double shearX, double shearY) { _bindings.spine_bone_update_world_transform_with(_bone, x, y, rotation, scaleX, scaleY, shearX, shearY); } + /// Computes the applied transform values from the world transform. + /// + /// 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). + /// + /// Some information is ambiguous in the world transform, such as -1,-1 scale versus 180 rotation. The applied transform after + /// calling this method is equivalent to the local transform used to compute the world transform, but may not be identical. + void updateAppliedTransform() { + _bindings.spine_bone_update_applied_transform(_bone); + } + + /// Sets this bone's local transform to the setup pose. void setToSetupPose() { _bindings.spine_bone_set_to_setup_pose(_bone); } + /// Transforms a point from world coordinates to the bone's local coordinates. Vec2 worldToLocal(double worldX, double worldY) { final local = _bindings.spine_bone_world_to_local(_bone, worldX, worldY); final result = Vec2(_bindings.spine_vector_get_x(local), _bindings.spine_vector_get_y(local)); @@ -659,6 +774,7 @@ class Bone { return result; } + /// Transforms a point from the bone's local coordinates to world coordinates. Vec2 localToWorld(double localX, double localY) { final world = _bindings.spine_bone_local_to_world(_bone, localX, localY); final result = Vec2(_bindings.spine_vector_get_x(world), _bindings.spine_vector_get_y(world)); @@ -666,14 +782,20 @@ class Bone { return result; } + /// Transforms a world rotation to a local rotation. double worldToLocalRotation(double worldRotation) { return _bindings.spine_bone_world_to_local_rotation(_bone, worldRotation); } + /// Transforms a local rotation to a world rotation. double localToWorldRotation(double localRotation) { return _bindings.spine_bone_local_to_world_rotation(_bone, localRotation); } + /// Rotates the world transform the specified amount. + /// + /// After changes are made to the world transform, [updateAppliedTransform] should be called and [update] will + /// need to be called on any child bones, recursively. void rotateWorld(double degrees) { _bindings.spine_bone_rotate_world(_bone, degrees); } @@ -686,20 +808,24 @@ class Bone { return _bindings.spine_bone_get_world_to_local_rotation_y(_bone); } + /// The bone's setup pose data. BoneData getData() { return BoneData._(_bindings.spine_bone_get_data(_bone)); } + /// The skeleton this bone belongs to. Skeleton getSkeleton() { return Skeleton._(_bindings.spine_bone_get_skeleton(_bone)); } + /// The parent bone, or null if this is the root bone. Bone? getParent() { final parent = _bindings.spine_bone_get_parent(_bone); if (parent.address == nullptr.address) return null; return Bone._(parent); } + /// The immediate children of this bone. List getChildren() { List children = []; final numChildren = _bindings.spine_bone_get_num_children(_bone); @@ -710,6 +836,7 @@ class Bone { return children; } + /// The local x translation. double getX() { return _bindings.spine_bone_get_x(_bone); } @@ -718,6 +845,7 @@ class Bone { _bindings.spine_bone_set_x(_bone, x); } + /// The local y translation. double getY() { return _bindings.spine_bone_get_y(_bone); } @@ -726,6 +854,7 @@ class Bone { _bindings.spine_bone_set_y(_bone, y); } + /// The local rotation in degrees, counter clockwise. double getRotation() { return _bindings.spine_bone_get_rotation(_bone); } @@ -734,6 +863,7 @@ class Bone { _bindings.spine_bone_set_rotation(_bone, rotation); } + /// The local scaleX. double getScaleX() { return _bindings.spine_bone_get_scale_x(_bone); } @@ -742,6 +872,7 @@ class Bone { _bindings.spine_bone_set_scale_x(_bone, scaleX); } + /// The local scaleY. double getScaleY() { return _bindings.spine_bone_get_scale_y(_bone); } @@ -750,6 +881,7 @@ class Bone { _bindings.spine_bone_set_scale_y(_bone, scaleY); } + /// The local shearX. double getShearX() { return _bindings.spine_bone_get_shear_x(_bone); } @@ -758,6 +890,7 @@ class Bone { _bindings.spine_bone_set_shear_x(_bone, shearX); } + /// The local shearY. double getShearY() { return _bindings.spine_bone_get_shear_y(_bone); } @@ -766,6 +899,7 @@ class Bone { _bindings.spine_bone_set_shear_y(_bone, shearY); } + /// The applied local x translation. double getAX() { return _bindings.spine_bone_get_a_x(_bone); } @@ -774,6 +908,7 @@ class Bone { _bindings.spine_bone_set_a_x(_bone, x); } + /// The applied local y translation. double getAY() { return _bindings.spine_bone_get_a_y(_bone); } @@ -782,6 +917,7 @@ class Bone { _bindings.spine_bone_set_a_y(_bone, y); } + /// The applied local rotation in degrees, counter clockwise. double getAppliedRotation() { return _bindings.spine_bone_get_applied_rotation(_bone); } @@ -790,6 +926,7 @@ class Bone { _bindings.spine_bone_set_applied_rotation(_bone, rotation); } + /// The applied local scaleX. double getAScaleX() { return _bindings.spine_bone_get_a_scale_x(_bone); } @@ -798,6 +935,7 @@ class Bone { _bindings.spine_bone_set_a_scale_x(_bone, scaleX); } + /// The applied local scaleY. double getAScaleY() { return _bindings.spine_bone_get_a_scale_y(_bone); } @@ -806,6 +944,7 @@ class Bone { _bindings.spine_bone_set_a_scale_y(_bone, scaleY); } + /// The applied local shearX. double getAShearX() { return _bindings.spine_bone_get_a_shear_x(_bone); } @@ -814,6 +953,7 @@ class Bone { _bindings.spine_bone_set_a_shear_x(_bone, shearX); } + /// The applied local shearY. double getAShearY() { return _bindings.spine_bone_get_a_shear_y(_bone); } @@ -822,6 +962,7 @@ class Bone { _bindings.spine_bone_set_a_shear_y(_bone, shearY); } + /// Part of the world transform matrix for the X axis. If changed, [updateAppliedTransform] should be called. double getA() { return _bindings.spine_bone_get_a(_bone); } @@ -830,6 +971,7 @@ class Bone { _bindings.spine_bone_set_a(_bone, a); } + /// Part of the world transform matrix for the Y axis. If changed, [updateAppliedTransform] should be called. double getB() { return _bindings.spine_bone_get_b(_bone); } @@ -838,6 +980,7 @@ class Bone { _bindings.spine_bone_set_b(_bone, b); } + /// Part of the world transform matrix for the X axis. If changed, [updateAppliedTransform] should be called. double getC() { return _bindings.spine_bone_get_c(_bone); } @@ -846,6 +989,7 @@ class Bone { _bindings.spine_bone_set_c(_bone, c); } + /// Part of the world transform matrix for the Y axis. If changed, [updateAppliedTransform] should be called. double getD() { return _bindings.spine_bone_get_d(_bone); } @@ -854,6 +998,7 @@ class Bone { _bindings.spine_bone_set_a(_bone, d); } + /// The world X position. If changed, [updateAppliedTransform] should be called. double getWorldX() { return _bindings.spine_bone_get_world_x(_bone); } @@ -862,6 +1007,7 @@ class Bone { _bindings.spine_bone_set_world_x(_bone, worldX); } + /// The world Y position. If changed, [updateAppliedTransform] should be called. double getWorldY() { return _bindings.spine_bone_get_world_y(_bone); } @@ -870,22 +1016,28 @@ class Bone { _bindings.spine_bone_set_world_y(_bone, worldY); } + /// The world rotation for the X axis, calculated using [getA] and [getC]. double getWorldRotationX() { return _bindings.spine_bone_get_world_rotation_x(_bone); } + /// The world rotation for the Y axis, calculated using [getB] and [getD]. double getWorldRotationY() { return _bindings.spine_bone_get_world_rotation_y(_bone); } + /// The magnitude (always positive) of the world scale X, calculated using [getA] and [getC]. double getWorldScaleX() { return _bindings.spine_bone_get_world_scale_x(_bone); } + /// The magnitude (always positive) of the world scale Y, calculated using [getB] and [getD]. double getWorldScaleY() { return _bindings.spine_bone_get_world_scale_y(_bone); } + /// Returns false when the bone has not been computed because [BoneData.getSkinRequired] is true and the + /// active skin (see [Skeleton.getSkin]) does not contain this bone (see [Skin.getBones]). bool isActive() { return _bindings.spine_bone_get_is_active(_bone) == -1; } @@ -895,24 +1047,30 @@ class Bone { } } +/// Stores the setup pose for a [Slot]. class SlotData { final spine_slot_data _data; SlotData._(this._data); + /// The index of the slot in [Skeleton.getSlots]. int getIndex() { return _bindings.spine_slot_data_get_index(_data); } + /// The name of the slot, which is unique across all slots in the skeleton. String getName() { final Pointer value = _bindings.spine_slot_data_get_name(_data).cast(); return value.toDartString(); } + /// The bone this slot belongs to. BoneData getBoneData() { return BoneData._(_bindings.spine_slot_data_get_bone_data(_data)); } + /// The [Color] used to tint the slot's attachment. If [hasDarkColor] is true, this is used as the light color for two + /// color tinting. Color getColor() { final color = _bindings.spine_slot_data_get_color(_data); return Color(_bindings.spine_color_get_r(color), _bindings.spine_color_get_g(color), _bindings.spine_color_get_b(color), @@ -923,6 +1081,8 @@ class SlotData { _bindings.spine_slot_data_set_color(_data, r, g, b, a); } + /// The dark color used to tint the slot's attachment for two color tinting, if [hasDarkColor] is true. The dark + /// color's alpha is not used. Color getDarkColor() { final color = _bindings.spine_slot_data_get_dark_color(_data); return Color(_bindings.spine_color_get_r(color), _bindings.spine_color_get_g(color), _bindings.spine_color_get_b(color), @@ -933,6 +1093,7 @@ class SlotData { _bindings.spine_slot_data_set_dark_color(_data, r, g, b, a); } + /// Returns whether this slot has a dark color set for two color tinting. bool hasDarkColor() { return _bindings.spine_slot_data_has_dark_color(_data) == -1; } @@ -941,6 +1102,7 @@ class SlotData { _bindings.spine_slot_data_set_has_dark_color(_data, hasDarkColor ? -1 : 0); } + /// The name of the attachment that is visible for this slot in the setup pose, or null if no attachment is visible. String getAttachmentName() { final Pointer value = _bindings.spine_slot_data_get_attachment_name(_data).cast(); return value.toDartString(); @@ -952,6 +1114,7 @@ class SlotData { _allocator.free(nativeName); } + /// The [BlendMode] for drawing the slot's attachment. BlendMode getBlendMode() { return BlendMode.values[_bindings.spine_slot_data_get_blend_mode(_data)]; } @@ -966,27 +1129,36 @@ class SlotData { } } +/// 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. class Slot { final spine_slot _slot; Slot._(this._slot); + /// Sets this slot to the setup pose. void setToSetupPose() { _bindings.spine_slot_set_to_setup_pose(_slot); } + /// The slot's setup pose data. SlotData getData() { return SlotData._(_bindings.spine_slot_get_data(_slot)); } + /// The bone this slot belongs to. Bone getBone() { return Bone._(_bindings.spine_slot_get_bone(_slot)); } + /// The skeleton this slot belongs to. Skeleton getSkeleton() { return Skeleton._(_bindings.spine_slot_get_skeleton(_slot)); } + /// The color used to tint the slot's attachment. If [hasDarkColor] is true, this is used as the light color for two + /// color tinting. Color getColor() { final color = _bindings.spine_slot_get_color(_slot); return Color(_bindings.spine_color_get_r(color), _bindings.spine_color_get_g(color), _bindings.spine_color_get_b(color), @@ -997,6 +1169,8 @@ class Slot { _bindings.spine_slot_set_color(_slot, color.r, color.g, color.b, color.a); } + /// The dark color used to tint the slot's attachment for two color tinting, if [hasDarkColor] is true. The dark + /// color's alpha is not used. Color getDarkColor() { final color = _bindings.spine_slot_get_dark_color(_slot); return Color(_bindings.spine_color_get_r(color), _bindings.spine_color_get_g(color), _bindings.spine_color_get_b(color), @@ -1007,10 +1181,12 @@ class Slot { _bindings.spine_slot_set_dark_color(_slot, color.r, color.g, color.b, color.a); } + /// Returns whether this slot has a dark color set for two color tinting. bool hasDarkColor() { return _bindings.spine_slot_has_dark_color(_slot) == -1; } + /// The current attachment for the slot, or null if the slot has no attachment. Attachment? getAttachment() { final attachment = _bindings.spine_slot_get_attachment(_slot); if (attachment.address == nullptr.address) return null; @@ -1026,6 +1202,8 @@ class Slot { return getData().getName(); } + /// The index of the texture region to display when the slot's attachment has a [Sequence]. -1 represents the + /// [Sequence.getSetupIndex]. int getSequenceIndex() { return _bindings.spine_slot_get_sequence_index(_slot); } @@ -1035,6 +1213,8 @@ class Slot { } } +/// 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. class TextureRegion { final spine_texture_region _region; @@ -1137,6 +1317,7 @@ class TextureRegion { } } +/// Stores a sequence of [TextureRegion] instances that will switched through when set on an attachment. class Sequence { final spine_sequence _sequence; @@ -1198,6 +1379,7 @@ class Sequence { } } +/// Attachment types. enum AttachmentType { region(0), mesh(1), @@ -1211,16 +1393,19 @@ enum AttachmentType { const AttachmentType(this.value); } +/// The base class for all attachments. abstract class Attachment { final T _attachment; Attachment._(this._attachment); + /// The attachment's name. String getName() { Pointer name = _bindings.spine_attachment_get_name(_attachment.cast()).cast(); return name.toString(); } + /// The attachment's type. AttachmentType getType() { final type = _bindings.spine_attachment_get_type(_attachment.cast()); return AttachmentType.values[type]; @@ -1244,6 +1429,8 @@ abstract class Attachment { } } + /// Returns a copy of the attachment. Copied attachments need to be disposed manually + /// when no longer in use via the [dispose] method. Attachment copy() { return _toSubclass(_bindings.spine_attachment_copy(_attachment.cast())); } @@ -1253,9 +1440,17 @@ abstract class Attachment { } } +/// An attachment that displays a textured quadrilateral. +/// +/// See [Region attachments](http://esotericsoftware.com/spine-regions) in the Spine User Guide. class RegionAttachment extends Attachment { RegionAttachment._(spine_region_attachment attachment) : super._(attachment); + /// Transforms and returns the attachment's four vertices to world coordinates. If the attachment has a [Sequence], the region may + /// be changed. + /// + /// See [World transforms](http://esotericsoftware.com/spine-runtime-skeletons#World-transforms) in the Spine + /// Runtimes Guide. List computeWorldVertices(Slot slot) { Pointer vertices = _allocator.allocate(4 * 8).cast(); _bindings.spine_region_attachment_compute_world_vertices(_attachment, slot._slot, vertices); @@ -1264,6 +1459,7 @@ class RegionAttachment extends Attachment { return result; } + /// The local x translation. double getX() { return _bindings.spine_region_attachment_get_x(_attachment); } @@ -1272,6 +1468,7 @@ class RegionAttachment extends Attachment { _bindings.spine_region_attachment_set_x(_attachment, x); } + /// The local y translation. double getY() { return _bindings.spine_region_attachment_get_y(_attachment); } @@ -1280,6 +1477,7 @@ class RegionAttachment extends Attachment { _bindings.spine_region_attachment_set_y(_attachment, y); } + /// The local rotation. double getRotation() { return _bindings.spine_region_attachment_get_rotation(_attachment); } @@ -1288,6 +1486,7 @@ class RegionAttachment extends Attachment { _bindings.spine_region_attachment_set_rotation(_attachment, rotation); } + /// The local scaleX. double getScaleX() { return _bindings.spine_region_attachment_get_scale_x(_attachment); } @@ -1296,6 +1495,7 @@ class RegionAttachment extends Attachment { _bindings.spine_region_attachment_set_scale_x(_attachment, scaleX); } + /// The local scaleY. double getScaleY() { return _bindings.spine_region_attachment_get_scale_y(_attachment); } @@ -1304,6 +1504,7 @@ class RegionAttachment extends Attachment { _bindings.spine_region_attachment_set_scale_x(_attachment, scaleY); } + /// The width of the region attachment in Spine. double getWidth() { return _bindings.spine_region_attachment_get_width(_attachment); } @@ -1312,6 +1513,7 @@ class RegionAttachment extends Attachment { _bindings.spine_region_attachment_set_width(_attachment, width); } + /// The height of the region attachment in Spine. double getHeight() { return _bindings.spine_region_attachment_get_height(_attachment); } @@ -1347,6 +1549,9 @@ class RegionAttachment extends Attachment { return Sequence._(sequence); } + /// For each of the 4 vertices, a pair of `x,y` values that is the local position of the vertex. + /// + /// See [updateRegion]. Float32List getOffset() { final num = _bindings.spine_region_attachment_get_num_offset(_attachment); final offset = _bindings.spine_region_attachment_get_offset(_attachment); @@ -1360,9 +1565,16 @@ class RegionAttachment extends Attachment { } } +/// 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]. class VertexAttachment extends Attachment { VertexAttachment._(T attachment) : super._(attachment); + /// Transforms and returns the attachment's local [getVertices] to world coordinates. If the slot's [Slot.getDeform] is + /// not empty, it is used to deform the vertices. + + /// See [World transforms](http://esotericsoftware.com/spine-runtime-skeletons#World-transforms) in the Spine + /// Runtimes Guide. List computeWorldVertices(Slot slot) { final worldVerticesLength = _bindings.spine_vertex_attachment_get_world_vertices_length(_attachment.cast()); Pointer vertices = _allocator.allocate(4 * worldVerticesLength).cast(); @@ -1372,18 +1584,26 @@ class VertexAttachment extends Attachment { return result; } + /// The bones which affect the [getVertices]. 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 [Skeleton.getBones]. Will be null + /// if this attachment has no weights. Int32List getBones() { final num = _bindings.spine_vertex_attachment_get_num_bones(_attachment.cast()); final bones = _bindings.spine_vertex_attachment_get_bones(_attachment.cast()); return bones.asTypedList(num); } + /// 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. Float32List getVertices() { final num = _bindings.spine_vertex_attachment_get_num_vertices(_attachment.cast()); final vertices = _bindings.spine_vertex_attachment_get_vertices(_attachment.cast()); return vertices.asTypedList(num); } + /// Timelines for the timeline attachment are also applied to this attachment. May return `null` if not + /// attachment-specific timelines should be applied. Attachment? getTimelineAttachment() { final attachment = _bindings.spine_vertex_attachment_get_timeline_attachment(_attachment.cast()); if (_attachment.address == nullptr.address) return null; @@ -1396,13 +1616,20 @@ class VertexAttachment extends Attachment { } } +/// 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. +/// +/// See [Mesh attachments](http://esotericsoftware.com/spine-meshes) in the Spine User Guide. class MeshAttachment extends VertexAttachment { MeshAttachment._(spine_mesh_attachment attachment) : super._(attachment.cast()); + /// Calculates texture coordinates returned by [getUVs] using the coordinates returned by [getRegionUVs] and region. Must be called if + /// the region, the region's properties, or the [getRegionUVs] are changed. void updateRegion() { _bindings.spine_mesh_attachment_update_region(_attachment); } + /// The number of entries at the beginning of {@link #vertices} that make up the mesh hull. int getHullLength() { return _bindings.spine_mesh_attachment_get_hull_length(_attachment); } @@ -1411,18 +1638,23 @@ class MeshAttachment extends VertexAttachment { _bindings.spine_mesh_attachment_set_hull_length(_attachment, hullLength); } + /// The UV pair for each vertex, normalized within the texture region. Float32List getRegionUVs() { final num = _bindings.spine_mesh_attachment_get_num_region_uvs(_attachment); final uvs = _bindings.spine_mesh_attachment_get_region_uvs(_attachment); return uvs.asTypedList(num); } + /// The UV pair for each vertex, normalized within the entire texture. + /// + /// See [updateRegion]. Float32List getUVs() { final num = _bindings.spine_mesh_attachment_get_num_uvs(_attachment); final uvs = _bindings.spine_mesh_attachment_get_uvs(_attachment); return uvs.asTypedList(num); } + /// Triplets of vertex indices which describe the mesh's triangulation. Uint16List getTriangles() { final num = _bindings.spine_mesh_attachment_get_num_triangles(_attachment); final triangles = _bindings.spine_mesh_attachment_get_triangles(_attachment); @@ -1456,6 +1688,9 @@ class MeshAttachment extends VertexAttachment { return Sequence._(sequence); } + /// The parent mesh if this is a linked mesh, else null. A linked mesh shares the bones, vertices, + /// region UVs, triangles, hull length, edges, width, and height with the + /// parent mesh, but may have a different name or path (and therefore a different texture). MeshAttachment? getParentMesh() { final parent = _bindings.spine_mesh_attachment_get_parent_mesh(_attachment); if (parent.address == nullptr.address) return null; @@ -1466,12 +1701,15 @@ class MeshAttachment extends VertexAttachment { _bindings.spine_mesh_attachment_set_parent_mesh(_attachment, parentMesh == null ? nullptr : parentMesh._attachment); } + /// Vertex index pairs describing edges for controlling triangulation, or be null if nonessential data was not exported. Mesh + /// triangles will never cross edges. Triangulation is not performed at runtime. Uint16List getEdges() { final num = _bindings.spine_mesh_attachment_get_num_edges(_attachment); final edges = _bindings.spine_mesh_attachment_get_edges(_attachment); return edges.asTypedList(num); } + /// The width of the mesh's image, or zero if nonessential data was not exported. double getWidth() { return _bindings.spine_mesh_attachment_get_width(_attachment); } @@ -1480,6 +1718,7 @@ class MeshAttachment extends VertexAttachment { _bindings.spine_mesh_attachment_set_width(_attachment, width); } + /// The height of the mesh's image, or zero if nonessential data was not exported. double getHeight() { return _bindings.spine_mesh_attachment_get_height(_attachment); } @@ -1489,9 +1728,12 @@ class MeshAttachment extends VertexAttachment { } } +/// An attachment with vertices that make up a polygon used for clipping the rendering of other attachments. class ClippingAttachment extends VertexAttachment { ClippingAttachment._(spine_clipping_attachment attachment) : super._(attachment.cast()); + /// Clipping is performed between the clipping attachment's slot and the end slot. If null clipping is done until the end of + /// the skeleton's rendering. SlotData? getEndSlot() { final endSlot = _bindings.spine_clipping_attachment_get_end_slot(_attachment); if (endSlot.address == nullptr.address) return null; @@ -1502,6 +1744,8 @@ class ClippingAttachment extends VertexAttachment { _bindings.spine_clipping_attachment_set_end_slot(_attachment, endSlot == null ? nullptr : endSlot._data); } + /// The color of the clipping attachment as it was in Spine, or a default color if nonessential data was not exported. Clipping + /// attachments are not usually rendered at runtime. Color getColor() { final color = _bindings.spine_clipping_attachment_get_color(_attachment); return Color(_bindings.spine_color_get_r(color), _bindings.spine_color_get_g(color), _bindings.spine_color_get_b(color), @@ -1513,9 +1757,16 @@ class ClippingAttachment extends VertexAttachment { } } +/// An attachment with vertices that make up a polygon. Can be used for hit detection, creating physics bodies, spawning particle +/// effects, and more. +/// +/// See [SkeletonBounds] and [Bounding boxes](http://esotericsoftware.com/spine-bounding-boxes) in the Spine User +/// Guide. class BoundingBoxAttachment extends VertexAttachment { BoundingBoxAttachment._(spine_bounding_box_attachment attachment) : super._(attachment); + /// The color of the bounding box as it was in Spine, or a default color if nonessential data was not exported. Bounding boxes + /// are not usually rendered at runtime. Color getColor() { final color = _bindings.spine_bounding_box_attachment_get_color(_attachment); return Color(_bindings.spine_color_get_r(color), _bindings.spine_color_get_g(color), _bindings.spine_color_get_b(color), @@ -1527,15 +1778,20 @@ class BoundingBoxAttachment extends VertexAttachment { PathAttachment._(spine_path_attachment attachment) : super._(attachment); + /// The lengths along the path in the setup pose from the start of the path to the end of each Bezier curve. Float32List getLengths() { final num = _bindings.spine_path_attachment_get_num_lengths(_attachment); final lengths = _bindings.spine_path_attachment_get_lengths(_attachment); return lengths.asTypedList(num); } + /// If true, the start and end knots are connected. bool isClosed() { return _bindings.spine_path_attachment_get_is_closed(_attachment) == -1; } @@ -1544,6 +1800,8 @@ class PathAttachment extends VertexAttachment { _bindings.spine_path_attachment_set_is_closed(_attachment, isClosed ? -1 : 0); } + /// If true, additional calculations are performed to make computing positions along the path more accurate and movement along + /// the path have a constant speed. bool isConstantSpeed() { return _bindings.spine_path_attachment_get_is_constant_speed(_attachment) == -1; } @@ -1552,6 +1810,8 @@ class PathAttachment extends VertexAttachment { _bindings.spine_path_attachment_set_is_constant_speed(_attachment, isClosed ? -1 : 0); } + /// The color of the path as it was in Spine, or a default color if nonessential data was not exported. Paths are not usually + /// rendered at runtime. Color getColor() { final color = _bindings.spine_path_attachment_get_color(_attachment); return Color(_bindings.spine_color_get_r(color), _bindings.spine_color_get_g(color), _bindings.spine_color_get_b(color), @@ -1563,6 +1823,11 @@ class PathAttachment extends VertexAttachment { } } +/// 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. +/// +/// See [Point Attachments](http://esotericsoftware.com/spine-point-attachments) in the Spine User Guide. class PointAttachment extends Attachment { PointAttachment._(spine_point_attachment attachment) : super._(attachment); @@ -1601,6 +1866,8 @@ class PointAttachment extends Attachment { _bindings.spine_point_attachment_set_x(_attachment, rotation); } + /// The color of the point attachment as it was in Spine, or a default clor if nonessential data was not exported. Point + /// attachments are not usually rendered at runtime. Color getColor() { final color = _bindings.spine_point_attachment_get_color(_attachment); return Color(_bindings.spine_color_get_r(color), _bindings.spine_color_get_g(color), _bindings.spine_color_get_b(color), @@ -1612,6 +1879,7 @@ class PointAttachment extends Attachment { } } +/// An entry storing the attachment to be used for a specific slot within [Skin]. class SkinEntry { final int slotIndex; final String name; @@ -1620,12 +1888,21 @@ class SkinEntry { SkinEntry(this.slotIndex, this.name, this.attachment); } +/// Stores attachments by slot index and attachment name. +/// +/// Skins constructed manually via the `Skin(String name)` constructor must be manually disposed via the [dipose] method if they +/// are no longer used. +/// +/// See [SkeletonData.defaultSkin], [Skeleton.getSkin}, and [Runtime skins](http://esotericsoftware.com/spine-runtime-skins) in the +/// Spine Runtimes Guide. class Skin { late final bool _isCustomSkin; late final spine_skin _skin; Skin._(this._skin) : _isCustomSkin = false; + /// Constructs a new empty skin using the given [name]. Skins constructed this way must be manually disposed via the [dispose] method + /// if they are no longer used. Skin(String name) { final nativeName = name.toNativeUtf8(allocator: _allocator); _skin = _bindings.spine_skin_create(nativeName.cast()); @@ -1633,17 +1910,20 @@ class Skin { _isCustomSkin = true; } + /// Diposes this skin. void dispose() { if (!_isCustomSkin) return; _bindings.spine_skin_dispose(_skin); } + /// Adds an attachment to the skin for the specified slot index and name. void setAttachment(int slotIndex, String name, Attachment? attachment) { final nativeName = name.toNativeUtf8(allocator: _allocator); _bindings.spine_skin_set_attachment(_skin, slotIndex, nativeName.cast(), attachment == null ? nullptr : attachment._attachment.cast()); _allocator.free(nativeName); } + /// Returns the attachment for the specified slot index and name, or null. Attachment? getAttachment(int slotIndex, String name) { final nativeName = name.toNativeUtf8(allocator: _allocator); final attachment = _bindings.spine_skin_get_attachment(_skin, slotIndex, nativeName.cast()); @@ -1652,21 +1932,25 @@ class Skin { return Attachment._toSubclass(attachment); } + /// Removes the attachment in the skin for the specified slot index and name, if any. void removeAttachment(int slotIndex, String name) { final nativeName = name.toNativeUtf8(allocator: _allocator); _bindings.spine_skin_remove_attachment(_skin, slotIndex, nativeName.cast()); _allocator.free(nativeName); } + /// The skin's name, which is unique across all skins in the skeleton. String getName() { Pointer name = _bindings.spine_skin_get_name(_skin).cast(); return name.toDartString(); } + /// Adds all attachments, bones, and constraints from the specified skin to this skin. void addSkin(Skin other) { _bindings.spine_skin_add_skin(_skin, other._skin); } + /// Returns all entries in this skin. List getEntries() { List result = []; final entries = _bindings.spine_skin_get_entries(_skin); @@ -1716,21 +2000,27 @@ class Skin { return constraints; } + /// Adds all bones and constraints and copies of all attachments from the specified skin to this skin. Mesh attachments are not + /// copied, instead a new linked mesh is created. The attachment copies can be modified without affecting the originals. void copy(Skin other) { _bindings.spine_skin_copy_skin(_skin, other._skin); } } +/// The base class for all constraint datas. class ConstraintData { final T _data; ConstraintData._(this._data); + /// The constraint's name, which is unique across all constraints in the skeleton of the same type. String getName() { final Pointer name = _bindings.spine_constraint_data_get_name(_data.cast()).cast(); return name.toDartString(); } + /// The ordinal of this constraint for the order a skeleton's constraints will be applied by + /// [Skeleton.updateWorldTransform]. int getOrder() { return _bindings.spine_constraint_data_get_order(_data.cast()); } @@ -1739,6 +2029,10 @@ class ConstraintData { _bindings.spine_constraint_data_set_order(_data.cast(), order); } + /// When true, [Skeleton.updateWorldTransform] only updates this constraint if the skin returned by [Skeleton.getSkin] contains + /// this constraint. + /// + /// See [Skin.getConstraints]. bool isSkinRequired() { return _bindings.spine_constraint_data_get_is_skin_required(_data.cast()) == 1; } @@ -1748,9 +2042,13 @@ class ConstraintData { } } +/// Stores the setup pose for an [IkConstraint]. +/// +/// See [IK constraints](http://esotericsoftware.com/spine-ik-constraints) in the Spine User Guide. class IkConstraintData extends ConstraintData { IkConstraintData._(spine_ik_constraint_data data) : super._(data); + /// The bones that are constrained by this IK constraint. List getBones() { final List result = []; final numBones = _bindings.spine_ik_constraint_data_get_num_bones(_data); @@ -1761,6 +2059,7 @@ class IkConstraintData extends ConstraintData { return result; } + /// The bone that is the IK target. BoneData getTarget() { return BoneData._(_bindings.spine_ik_constraint_data_get_target(_data)); } @@ -1769,6 +2068,7 @@ class IkConstraintData extends ConstraintData { _bindings.spine_ik_constraint_data_set_target(_data, target._data); } + /// For two bone IK, controls the bend direction of the IK bones, either 1 or -1. int getBendDirection() { return _bindings.spine_ik_constraint_data_get_bend_direction(_data); } @@ -1777,6 +2077,7 @@ class IkConstraintData extends ConstraintData { _bindings.spine_ik_constraint_data_set_bend_direction(_data, bendDirection); } + /// For one bone IK, when true and the target is too close, the bone is scaled to reach it. bool getCompress() { return _bindings.spine_ik_constraint_data_get_compress(_data) == -1; } @@ -1785,6 +2086,10 @@ class IkConstraintData extends ConstraintData { _bindings.spine_ik_constraint_data_set_compress(_data, compress ? -1 : 0); } + /// 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 [getSoftness] is + /// > 0, and 3) if the parent bone has local nonuniform scale, stretch is not applied. bool getStretch() { return _bindings.spine_ik_constraint_data_get_stretch(_data) == -1; } @@ -1793,6 +2098,7 @@ class IkConstraintData extends ConstraintData { _bindings.spine_ik_constraint_data_set_stretch(_data, stretch ? -1 : 0); } + /// When true and [getCompress] or [getStretch] is used, the bone is scaled on both the X and Y axes. bool getUniform() { return _bindings.spine_ik_constraint_data_get_uniform(_data) == -1; } @@ -1801,6 +2107,9 @@ class IkConstraintData extends ConstraintData { _bindings.spine_ik_constraint_data_set_uniform(_data, uniform ? -1 : 0); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained rotation. + /// + /// For two bone IK: if the parent bone has local nonuniform scale, the child bone's local Y translation is set to 0. double getMix() { return _bindings.spine_ik_constraint_data_get_mix(_data); } @@ -1809,6 +2118,8 @@ class IkConstraintData extends ConstraintData { _bindings.spine_ik_constraint_data_set_mix(_data, mix); } + /// 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. double getSoftness() { return _bindings.spine_ik_constraint_data_get_softness(_data); } @@ -1818,11 +2129,16 @@ class IkConstraintData extends ConstraintData { } } +/// 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. +///

+/// See IK constraints in the Spine User Guide. class IkConstraint { final spine_ik_constraint _constraint; IkConstraint._(this._constraint); + /// Applies the constraint to the constrained bones. void update() { _bindings.spine_ik_constraint_update(_constraint); } @@ -1831,10 +2147,12 @@ class IkConstraint { return _bindings.spine_ik_constraint_get_order(_constraint); } + /// The IK constraint's setup pose data. IkConstraintData getData() { return IkConstraintData._(_bindings.spine_ik_constraint_get_data(_constraint)); } + /// The bones that will be modified by this IK constraint. List getBones() { List result = []; final num = _bindings.spine_ik_constraint_get_num_bones(_constraint); @@ -1845,6 +2163,7 @@ class IkConstraint { return result; } + /// The bone that is the IK target. Bone getTarget() { return Bone._(_bindings.spine_ik_constraint_get_target(_constraint)); } @@ -1853,6 +2172,7 @@ class IkConstraint { _bindings.spine_ik_constraint_set_target(_constraint, target._bone); } + /// For two bone IK, controls the bend direction of the IK bones, either 1 or -1. int getBendDirection() { return _bindings.spine_ik_constraint_get_bend_direction(_constraint); } @@ -1861,6 +2181,7 @@ class IkConstraint { _bindings.spine_ik_constraint_set_bend_direction(_constraint, bendDirection); } + /// For one bone IK, when true and the target is too close, the bone is scaled to reach it. bool getCompress() { return _bindings.spine_ik_constraint_get_compress(_constraint) == -1; } @@ -1869,6 +2190,10 @@ class IkConstraint { _bindings.spine_ik_constraint_set_compress(_constraint, compress ? -1 : 0); } + /// 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 [getSoftness] is + /// > 0, and 3) if the parent bone has local nonuniform scale, stretch is not applied. bool getStretch() { return _bindings.spine_ik_constraint_get_stretch(_constraint) == -1; } @@ -1877,6 +2202,9 @@ class IkConstraint { _bindings.spine_ik_constraint_set_stretch(_constraint, stretch ? -1 : 0); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained rotation. + /// + /// For two bone IK: if the parent bone has local nonuniform scale, the child bone's local Y translation is set to 0. double getMix() { return _bindings.spine_ik_constraint_get_mix(_constraint); } @@ -1885,6 +2213,8 @@ class IkConstraint { _bindings.spine_ik_constraint_set_mix(_constraint, mix); } + /// 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. double getSoftness() { return _bindings.spine_ik_constraint_get_softness(_constraint); } @@ -1902,9 +2232,13 @@ class IkConstraint { } } +/// Stores the setup pose for a {@link TransformConstraint}. +/// +/// See [Transform constraints](http://esotericsoftware.com/spine-transform-constraints) in the Spine User Guide. class TransformConstraintData extends ConstraintData { TransformConstraintData._(spine_transform_constraint_data data) : super._(data); + /// The bones that will be modified by this transform constraint. List getBones() { final List result = []; final numBones = _bindings.spine_transform_constraint_data_get_num_bones(_data); @@ -1915,6 +2249,7 @@ class TransformConstraintData extends ConstraintData getBones() { List result = []; final num = _bindings.spine_transform_constraint_get_num_bones(_constraint); @@ -2063,6 +2418,7 @@ class TransformConstraint { return result; } + /// The target bone whose world transform will be copied to the constrained bones. Bone getTarget() { return Bone._(_bindings.spine_transform_constraint_get_target(_constraint)); } @@ -2071,6 +2427,7 @@ class TransformConstraint { _bindings.spine_transform_constraint_set_target(_constraint, target._bone); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained rotation. double getMixRotate() { return _bindings.spine_transform_constraint_get_mix_rotate(_constraint); } @@ -2079,6 +2436,7 @@ class TransformConstraint { _bindings.spine_transform_constraint_set_mix_rotate(_constraint, mixRotate); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained translation X. double getMixX() { return _bindings.spine_transform_constraint_get_mix_x(_constraint); } @@ -2087,6 +2445,7 @@ class TransformConstraint { _bindings.spine_transform_constraint_set_mix_x(_constraint, mixX); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained translation Y. double getMixY() { return _bindings.spine_transform_constraint_get_mix_y(_constraint); } @@ -2095,6 +2454,7 @@ class TransformConstraint { _bindings.spine_transform_constraint_set_mix_y(_constraint, mixY); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained scale X. double getMixScaleX() { return _bindings.spine_transform_constraint_get_mix_scale_x(_constraint); } @@ -2103,6 +2463,7 @@ class TransformConstraint { _bindings.spine_transform_constraint_set_mix_scale_x(_constraint, mixScaleX); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained scale X. double getMixScaleY() { return _bindings.spine_transform_constraint_get_mix_scale_y(_constraint); } @@ -2111,6 +2472,7 @@ class TransformConstraint { _bindings.spine_transform_constraint_set_mix_scale_y(_constraint, mixScaleY); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained shear Y. double getMixShearY() { return _bindings.spine_transform_constraint_get_mix_shear_y(_constraint); } @@ -2128,9 +2490,13 @@ class TransformConstraint { } } +/// Stores the setup pose for a [PathConstraint]. +/// +/// See [Path constraints](http://esotericsoftware.com/spine-path-constraints) in the Spine User Guide. class PathConstraintData extends ConstraintData { PathConstraintData._(spine_path_constraint_data data) : super._(data); + /// The bones that will be modified by this path constraint. List getBones() { final List result = []; final numBones = _bindings.spine_path_constraint_data_get_num_bones(_data); @@ -2141,6 +2507,7 @@ class PathConstraintData extends ConstraintData { return result; } + /// The slot whose path attachment will be used to constrained the bones. SlotData getTarget() { return SlotData._(_bindings.spine_path_constraint_data_get_target(_data)); } @@ -2149,6 +2516,7 @@ class PathConstraintData extends ConstraintData { _bindings.spine_path_constraint_data_set_target(_data, target._data); } + /// The mode for positioning the first bone on the path. PositionMode getPositionMode() { return PositionMode.values[_bindings.spine_path_constraint_data_get_position_mode(_data)]; } @@ -2157,6 +2525,7 @@ class PathConstraintData extends ConstraintData { _bindings.spine_path_constraint_data_set_position_mode(_data, positionMode.value); } + /// The mode for positioning the bones after the first bone on the path. SpacingMode getSpacingMode() { return SpacingMode.values[_bindings.spine_path_constraint_data_get_spacing_mode(_data)]; } @@ -2165,6 +2534,7 @@ class PathConstraintData extends ConstraintData { _bindings.spine_path_constraint_data_set_spacing_mode(_data, spacingMode.value); } + /// The mode for adjusting the rotation of the bones. RotateMode getRotateMode() { return RotateMode.values[_bindings.spine_path_constraint_data_get_rotate_mode(_data)]; } @@ -2173,6 +2543,7 @@ class PathConstraintData extends ConstraintData { _bindings.spine_path_constraint_data_set_rotate_mode(_data, rotateMode.value); } + /// An offset added to the constrained bone rotation. double getOffsetRotation() { return _bindings.spine_path_constraint_data_get_offset_rotation(_data); } @@ -2181,6 +2552,7 @@ class PathConstraintData extends ConstraintData { _bindings.spine_path_constraint_data_set_offset_rotation(_data, offsetRotation); } + /// The position along the path. double getPosition() { return _bindings.spine_path_constraint_data_get_position(_data); } @@ -2189,6 +2561,7 @@ class PathConstraintData extends ConstraintData { _bindings.spine_path_constraint_data_set_position(_data, position); } + /// The spacing between bones. double getSpacing() { return _bindings.spine_path_constraint_data_get_spacing(_data); } @@ -2197,6 +2570,7 @@ class PathConstraintData extends ConstraintData { _bindings.spine_path_constraint_data_set_spacing(_data, spacing); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained rotation. double getMixRotate() { return _bindings.spine_path_constraint_data_get_mix_rotate(_data); } @@ -2205,6 +2579,7 @@ class PathConstraintData extends ConstraintData { _bindings.spine_path_constraint_data_set_mix_rotate(_data, mixRotate); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained translation X. double getMixX() { return _bindings.spine_path_constraint_data_get_mix_x(_data); } @@ -2213,6 +2588,7 @@ class PathConstraintData extends ConstraintData { _bindings.spine_path_constraint_data_set_mix_x(_data, mixX); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained translation Y. double getMixY() { return _bindings.spine_path_constraint_data_get_mix_x(_data); } @@ -2222,11 +2598,16 @@ class PathConstraintData extends ConstraintData { } } +/// 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]. +/// +/// See [Path constraints](http://esotericsoftware.com/spine-path-constraints) in the Spine User Guide. class PathConstraint { final spine_path_constraint _constraint; PathConstraint._(this._constraint); + /// Applies the constraint to the constrained bones. void update() { _bindings.spine_path_constraint_update(_constraint); } @@ -2235,6 +2616,7 @@ class PathConstraint { return _bindings.spine_path_constraint_get_order(_constraint); } + /// The bones that will be modified by this path constraint. List getBones() { List result = []; final num = _bindings.spine_path_constraint_get_num_bones(_constraint); @@ -2245,6 +2627,7 @@ class PathConstraint { return result; } + /// The slot whose path attachment will be used to constrained the bones. Slot getTarget() { return Slot._(_bindings.spine_path_constraint_get_target(_constraint)); } @@ -2253,6 +2636,7 @@ class PathConstraint { _bindings.spine_path_constraint_set_target(_constraint, target._slot); } + /// The position along the path. double getPosition() { return _bindings.spine_path_constraint_get_position(_constraint); } @@ -2261,6 +2645,7 @@ class PathConstraint { _bindings.spine_path_constraint_set_position(_constraint, position); } + /// The spacing between bones. double getSpacing() { return _bindings.spine_path_constraint_get_spacing(_constraint); } @@ -2269,6 +2654,7 @@ class PathConstraint { _bindings.spine_path_constraint_set_spacing(_constraint, spacing); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained rotation. double getMixRotate() { return _bindings.spine_path_constraint_get_mix_rotate(_constraint); } @@ -2277,6 +2663,7 @@ class PathConstraint { _bindings.spine_path_constraint_set_mix_rotate(_constraint, mixRotate); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained translation X. double getMixX() { return _bindings.spine_path_constraint_get_mix_x(_constraint); } @@ -2285,6 +2672,7 @@ class PathConstraint { _bindings.spine_path_constraint_set_mix_x(_constraint, mixX); } + /// A percentage (0-1) that controls the mix between the constrained and unconstrained translation Y. double getMixY() { return _bindings.spine_path_constraint_get_mix_y(_constraint); } @@ -2302,27 +2690,39 @@ class PathConstraint { } } +/// Stores the current pose for a skeleton. +/// +/// See [Instance objects](http://esotericsoftware.com/spine-runtime-architecture#Instance-objects) in the Spine +/// Runtimes Guide. class Skeleton { final spine_skeleton _skeleton; Skeleton._(this._skeleton); - /// Caches information about bones and constraints. Must be called if bones, constraints or weighted path attachments are added - /// or removed. + /// Caches information about bones and constraints. Must be called if the [getSkin] is modified or if bones, + /// constraints, or weighted path attachments are added or removed. void updateCache() { _bindings.spine_skeleton_update_cache(_skeleton); } - /// Updates the world transform for each bone and applies constraints. + /// Updates the world transform for each bone and applies all constraints. + /// + /// See [World transforms](http://esotericsoftware.com/spine-runtime-skeletons#World-transforms) in the Spine + /// Runtimes Guide. void updateWorldTransform() { _bindings.spine_skeleton_update_world_transform(_skeleton); } + /// Temporarily sets the root bone as a child of the specified bone, then updates the world transform for each bone and applies + /// all constraints. + /// + /// See [World transforms](http://esotericsoftware.com/spine-runtime-skeletons#World-transforms) in the Spine + /// Runtimes Guide. void updateWorldTransformBone(Bone parent) { _bindings.spine_skeleton_update_world_transform_bone(_skeleton, parent._bone); } - /// Sets the bones, constraints, and slots to their setup pose values. + /// Sets the bones, constraints, slots, and draw order to their setup pose values. void setToSetupPose() { _bindings.spine_skeleton_set_to_setup_pose(_skeleton); } @@ -2332,10 +2732,13 @@ class Skeleton { _bindings.spine_skeleton_set_bones_to_setup_pose(_skeleton); } + /// Sets the slots and draw order to their setup pose values. void setSlotsToSetupPose() { _bindings.spine_skeleton_set_slots_to_setup_pose(_skeleton); } + /// Finds a bone by comparing each bone's name. It is more efficient to cache the results of this method than to call it + /// repeatedly. Bone? findBone(String boneName) { final nameNative = boneName.toNativeUtf8(allocator: _allocator); final bone = _bindings.spine_skeleton_find_bone(_skeleton, nameNative.cast()); @@ -2344,6 +2747,8 @@ class Skeleton { return Bone._(bone); } + /// Finds a slot by comparing each slot's name. It is more efficient to cache the results of this method than to call it + /// repeatedly. Slot? findSlot(String slotName) { final nameNative = slotName.toNativeUtf8(allocator: _allocator); final slot = _bindings.spine_skeleton_find_slot(_skeleton, nameNative.cast()); @@ -2352,23 +2757,33 @@ class Skeleton { return Slot._(slot); } - /// 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 - /// See Skeleton::setSlotsToSetupPose() - /// Also, often AnimationState::apply(Skeleton&) 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. - /// @param skinName May be NULL. + /// Sets a skin by name. + /// + /// See [setSkin]. void setSkinByName(String skinName) { final nameNative = skinName.toNativeUtf8(allocator: _allocator); _bindings.spine_skeleton_set_skin_by_name(_skeleton, nameNative.cast()); _allocator.free(nameNative); } + /// Sets the skin used to look up attachments before looking in the default skin (see [SkeletonData.getDefaultSkin]). If the + /// skin is changed, [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 + /// [setSlotsToSetupPose]. Also, often [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. void setSkin(Skin skin) { _bindings.spine_skeleton_set_skin(_skeleton, skin._skin); } + /// Finds an attachment by looking in the currently set skin (see [getSkin]) and default skin (see [SkeletonData.getDefaultSkin]) using + /// the slot name and attachment name. + /// + /// See [getAttachment]. Attachment? getAttachmentByName(String slotName, String attachmentName) { final slotNameNative = slotName.toNativeUtf8(allocator: _allocator); final attachmentNameNative = attachmentName.toNativeUtf8(allocator: _allocator); @@ -2379,6 +2794,10 @@ class Skeleton { return Attachment._toSubclass(attachment); } + /// Finds an attachment by looking in the currently set skin (see [getSkin]) and default skin (see [SkeletonData.getDefaultSkin]) 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](http://esotericsoftware.com/spine-runtime-skins) in the Spine Runtimes Guide. Attachment? getAttachment(int slotIndex, String attachmentName) { final attachmentNameNative = attachmentName.toNativeUtf8(allocator: _allocator); final attachment = _bindings.spine_skeleton_get_attachment(_skeleton, slotIndex, attachmentNameNative.cast()); @@ -2387,6 +2806,8 @@ class Skeleton { return Attachment._toSubclass(attachment); } + /// A convenience method to set an attachment by finding the slot with [findSlot], finding the attachment with + /// [getAttachment], then setting the slot's attachment. The [attachmentName] may be an empty string to clear the slot's attachment. void setAttachment(String slotName, String attachmentName) { final slotNameNative = slotName.toNativeUtf8(allocator: _allocator); final attachmentNameNative = attachmentName.toNativeUtf8(allocator: _allocator); @@ -2395,6 +2816,8 @@ class Skeleton { _allocator.free(attachmentNameNative); } + /// 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 repeatedly. IkConstraint? findIkConstraint(String constraintName) { final nameNative = constraintName.toNativeUtf8(allocator: _allocator); final constraint = _bindings.spine_skeleton_find_ik_constraint(_skeleton, nameNative.cast()); @@ -2403,6 +2826,8 @@ class Skeleton { return IkConstraint._(constraint); } + /// 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 repeatedly. TransformConstraint? findTransformConstraint(String constraintName) { final nameNative = constraintName.toNativeUtf8(allocator: _allocator); final constraint = _bindings.spine_skeleton_find_transform_constraint(_skeleton, nameNative.cast()); @@ -2411,6 +2836,8 @@ class Skeleton { return TransformConstraint._(constraint); } + /// 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 repeatedly. PathConstraint? findPathConstraint(String constraintName) { final nameNative = constraintName.toNativeUtf8(allocator: _allocator); final constraint = _bindings.spine_skeleton_find_path_constraint(_skeleton, nameNative.cast()); @@ -2420,11 +2847,6 @@ class Skeleton { } /// Returns the axis aligned bounding box (AABB) of the region and mesh attachments for the current pose. - /// @param outX The horizontal distance between the skeleton origin and the left side of the AABB. - /// @param outY The vertical distance between the skeleton origin and the bottom side of the AABB. - /// @param outWidth The width of the AABB - /// @param outHeight The height of the AABB. - /// @param outVertexBuffer Reference to hold a Vector of floats. This method will assign it with new floats as needed. Bounds getBounds() { final nativeBounds = _bindings.spine_skeleton_get_bounds(_skeleton); final bounds = Bounds(_bindings.spine_bounds_get_x(nativeBounds), _bindings.spine_bounds_get_y(nativeBounds), @@ -2433,18 +2855,21 @@ class Skeleton { return bounds; } + /// Returns the root bone, or null if the skeleton has no bones. Bone? getRootBone() { final bone = _bindings.spine_skeleton_get_root_bone(_skeleton); if (bone.address == nullptr.address) return null; return Bone._(bone); } + /// The skeleton's setup pose data. SkeletonData? getData() { final data = _bindings.spine_skeleton_get_data(_skeleton); if (data.address == nullptr.address) return null; return SkeletonData._(data); } + /// The skeleton's bones, sorted parent first. The root bone is always the first bone. List getBones() { final List bones = []; final numBones = _bindings.spine_skeleton_get_num_bones(_skeleton); @@ -2455,6 +2880,7 @@ class Skeleton { return bones; } + /// The skeleton's slots. List getSlots() { final List slots = []; final numSlots = _bindings.spine_skeleton_get_num_slots(_skeleton); @@ -2465,6 +2891,7 @@ class Skeleton { return slots; } + /// The skeleton's slots in the order they should be drawn. The returned array may be modified to change the draw order. List getDrawOrder() { final List slots = []; final numSlots = _bindings.spine_skeleton_get_num_draw_order(_skeleton); @@ -2475,6 +2902,7 @@ class Skeleton { return slots; } + /// The skeleton's IK constraints. List getIkConstraints() { final List constraints = []; final numConstraints = _bindings.spine_skeleton_get_num_ik_constraints(_skeleton); @@ -2485,6 +2913,7 @@ class Skeleton { return constraints; } + /// The skeleton's path constraints. List getPathConstraints() { final List constraints = []; final numConstraints = _bindings.spine_skeleton_get_num_path_constraints(_skeleton); @@ -2495,6 +2924,7 @@ class Skeleton { return constraints; } + /// The skeleton's transform constraints. List getTransformConstraints() { final List constraints = []; final numConstraints = _bindings.spine_skeleton_get_num_transform_constraints(_skeleton); @@ -2505,12 +2935,14 @@ class Skeleton { return constraints; } + /// The skeleton's current skin. Skin? getSkin() { final skin = _bindings.spine_skeleton_get_skin(_skeleton); if (skin.address == nullptr.address) return null; return Skin._(skin); } + /// The color to tint all the skeleton's attachments. Color getColor() { final color = _bindings.spine_skeleton_get_color(_skeleton); return Color(_bindings.spine_color_get_r(color), _bindings.spine_color_get_g(color), _bindings.spine_color_get_b(color), @@ -2521,10 +2953,16 @@ class Skeleton { _bindings.spine_skeleton_set_color(_skeleton, color.r, color.g, color.b, color.a); } + /// Sets the skeleton X and Y position, which is added to the root bone worldX and worldY position. + /// + /// Bones that do not inherit translation are still affected by this property. void setPosition(double x, double y) { _bindings.spine_skeleton_set_position(_skeleton, x, y); } + /// Sets the skeleton X position, which is added to the root bone worldX position. + /// + /// Bones that do not inherit translation are still affected by this property. double getX() { return _bindings.spine_skeleton_get_x(_skeleton); } @@ -2533,6 +2971,9 @@ class Skeleton { _bindings.spine_skeleton_set_x(_skeleton, x); } + /// Sets the skeleton Y position, which is added to the root bone worldY position. + ///

+ /// Bones that do not inherit translation are still affected by this property. double getY() { return _bindings.spine_skeleton_get_x(_skeleton); } @@ -2541,6 +2982,9 @@ class Skeleton { _bindings.spine_skeleton_set_y(_skeleton, y); } + /// Scales the entire skeleton on the X axis. + /// + /// Bones that do not inherit scale are still affected by this property. double getScaleX() { return _bindings.spine_skeleton_get_scale_x(_skeleton); } @@ -2549,6 +2993,9 @@ class Skeleton { _bindings.spine_skeleton_set_scale_x(_skeleton, scaleX); } + /// Scales the entire skeleton on the Y axis. + /// + /// Bones that do not inherit scale are still affected by this property. double getScaleY() { return _bindings.spine_skeleton_get_scale_x(_skeleton); } @@ -2558,25 +3005,51 @@ class Skeleton { } } +/// Stores a list of timelines to animate a skeleton's pose over time. class Animation { final spine_animation _animation; Animation._(this._animation); + /// The animation's name, which is unique across all animations in the skeleton. String getName() { final Pointer value = _bindings.spine_animation_get_name(_animation).cast(); return value.toDartString(); } + /// The duration of the animation in seconds, which is usually the highest time of all frames in the timeline. The duration is + /// used to know when it has completed and when it should loop back to the start. double getDuration() { return _bindings.spine_animation_get_duration(_animation); } } +/// Controls how timeline values are mixed with setup pose values or current pose values when a timeline is applied with +/// alpha < 1. enum MixBlend { + /// Transitions from the setup value to the timeline value (the current value is not used). Before the first frame, the + /// setup value is set. setup(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. + ///

+ /// first is intended for the first animations applied, not for animations layered on top of those. first(1), + + /// Transitions from the current value to the timeline value. No change is made before the first frame (the current value is + /// kept until the first frame). + ///

+ /// replace is intended for animations layered on top of others, not for the first animations applied. replace(2), + + /// Transitions from the current value to the current value plus the timeline value. No change is made before the first + /// frame (the current value is kept until the first frame). + ///

+ /// add is intended for animations layered on top of others, not for the first animations applied. Properties + /// set by additive animations must be set manually or by another animation before applying the additive animations, else the + /// property values will increase each time the additive animations are applied. add(3); final int value; @@ -2584,13 +3057,18 @@ enum MixBlend { const MixBlend(this.value); } +/// Stores settings and other state for the playback of an animation on an [AnimationState] track. +/// +/// References to a track entry must not be kept after the dispose [EventType] is reported to [AnimationStateListener]. class TrackEntry { final spine_track_entry _entry; final AnimationState _state; TrackEntry._(this._entry, this._state); - /// The index of the track where this entry is either current or queued. + /// The index of the track where this track entry is either current or queued. + /// + /// See [AnimationState.getCurrent]. int getTtrackIndex() { return _bindings.spine_track_entry_get_track_index(_entry); } @@ -2600,7 +3078,8 @@ class TrackEntry { return Animation._(_bindings.spine_track_entry_get_animation(_entry)); } - /// If true, the animation will repeat. If false, it will not, instead its last frame is applied if played beyond its duration. + /// If true, the animation will repeat. If false it will not, instead its last frame is applied if played beyond its + /// duration. bool getLoop() { return _bindings.spine_track_entry_get_loop(_entry) == -1; } @@ -2609,17 +3088,16 @@ class TrackEntry { _bindings.spine_track_entry_set_loop(_entry, loop ? -1 : 0); } - /// If true, when mixing from the previous animation to this animation, the previous animation is applied as normal instead - /// of being mixed out. + /// Seconds to postpone playing the animation. When this track entry is the current track entry, delay + /// postpones incrementing the [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 [getTrackTime] >= this track entry's delay). /// - /// 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 - /// 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. + /// [getTimeScale] affects the delay. /// - /// Snapping will occur if holdPrevious is true and this animation does not key all the same properties as the - /// previous animation. + /// When using [AnimationState.addAnimation] with a delay <= 0, the delay + /// is set using the mix duration from the [AnimationStateData]. If [getMixDuration] is set afterward, the delay + /// may need to be adjusted. bool getHoldPrevious() { return _bindings.spine_track_entry_get_hold_previous(_entry) == -1; } @@ -2628,6 +3106,7 @@ class TrackEntry { _bindings.spine_track_entry_set_hold_previous(_entry, holdPrevious ? -1 : 0); } + /// If true, the animation will be applied in reverse. Events are not fired when an animation is applied in reverse. bool getReverse() { return _bindings.spine_track_entry_get_reverse(_entry) == -1; } @@ -2636,6 +3115,11 @@ class TrackEntry { _bindings.spine_track_entry_set_reverse(_entry, reverse ? -1 : 0); } + /// If true, mixing rotation between tracks always uses the shortest rotation direction. If the rotation is animated, the + /// shortest rotation direction may change during the mix. + /// + /// If false, the shortest rotation direction is remembered when the mix starts and the same direction is used for the rest + /// of the mix. Defaults to false. bool getShortestRotation() { return _bindings.spine_track_entry_get_shortest_rotation(_entry) == 1; } @@ -2644,9 +3128,16 @@ class TrackEntry { _bindings.spine_track_entry_set_shortest_rotation(_entry, shortestRotation ? -1 : 0); } - /// Seconds to postpone playing the animation. When a track entry is the current track entry, delay postpones incrementing - /// the track time. When a track entry is queued, delay is the time from the start of the previous animation to when the - /// track entry will become the current track entry. + /// Seconds to postpone playing the animation. When this track entry is the current track entry, delay + /// postpones incrementing the [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 [getTrackTime] >= this track entry's delay). + /// + /// [getTimeScale] affects the delay. + /// + /// When using [AnimationState.addAnimation] with a delay <= 0, the delay + /// is set using the mix duration from the [AnimationStateData]. If [getMixDuration] is set afterward, the delay + /// may need to be adjusted. double getDelay() { return _bindings.spine_track_entry_get_delay(_entry); } @@ -2656,7 +3147,8 @@ class TrackEntry { } /// Current time in seconds this track entry has been the current track entry. The track time determines - /// TrackEntry.AnimationTime. The track time can be set to start the animation at a time other than 0, without affecting looping. + /// [getAnimationTime]. The track time can be set to start the animation at a time other than 0, without affecting + /// looping. double getTrackTime() { return _bindings.spine_track_entry_get_track_time(_entry); } @@ -2665,13 +3157,13 @@ class TrackEntry { _bindings.spine_track_entry_set_track_time(_entry, trackTime); } - /// The track time in seconds when this animation will be removed from the track. Defaults to the animation duration for - /// non-looping animations and to int.MaxValue for looping animations. If the track end time is reached and no - /// other animations are queued for playback, and mixing from any previous animations is complete, properties keyed by the animation, - /// are set to the setup pose and the track is cleared. + /// The track time in seconds when this animation will be removed from the track. Defaults to the highest possible float + /// value, meaning the animation will be applied until a new animation is set or the track is cleared. If the track end time + /// 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 AnimationState.addEmptyAnimation(int, float, float) to mix the properties back to the - /// setup pose over time, rather than have it happen instantly. + /// It may be desired to use [AnimationState.addEmptyAnimation] rather than have the animation + /// abruptly cease being applied. double getTrackEnd() { return _bindings.spine_track_entry_get_track_end(_entry); } @@ -2682,8 +3174,8 @@ class TrackEntry { /// Seconds when this animation starts, both initially and after looping. Defaults to 0. /// - /// When changing the animation start time, it often makes sense to set TrackEntry.AnimationLast to the same value to - /// prevent timeline keys before the start time from triggering. + /// When changing the animationStart time, it often makes sense to set [getAnimationLast] to the same + /// value to prevent timeline keys before the start time from triggering. double getAnimationStart() { return _bindings.spine_track_entry_get_animation_start(_entry); } @@ -2693,7 +3185,7 @@ class TrackEntry { } /// Seconds for the last frame of this animation. Non-looping animations won't play past this time. Looping animations will - /// loop back to TrackEntry.AnimationStart at this time. Defaults to the animation duration. + /// loop back to [getAnimationStart] at this time. Defaults to the animation [Animation.getDuration]. double getAnimationEnd() { return _bindings.spine_track_entry_get_animation_end(_entry); } @@ -2703,8 +3195,9 @@ class TrackEntry { } /// 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 animation last time (exclusive) and animation time - /// (inclusive). Defaults to -1 to ensure triggers on frame 0 happen the first time this animation is applied. + /// 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. double getAnimationLast() { return _bindings.spine_track_entry_get_animation_last(_entry); } @@ -2713,14 +3206,29 @@ class TrackEntry { _bindings.spine_track_entry_set_animation_last(_entry, animationLast); } - /// Uses TrackEntry.TrackTime to compute the animation time between TrackEntry.AnimationStart. and - /// TrackEntry.AnimationEnd. When the track time is 0, the animation time is equal to the animation start time. + /// Uses [getTrackTime] to compute the animationTime. When the trackTime is 0, the + /// animationTime is equal to the animationStart time. + ///

+ /// The animationTime is between [getAnimationStart] and [getAnimationEnd], except if this + /// track entry is non-looping and [getAnimationEnd] is >= to the animation [Animation.getDuration], then + /// animationTime continues to increase past [getAnimationEnd]. double getAnimationTime() { return _bindings.spine_track_entry_get_animation_time(_entry); } - /// Multiplier for the delta time when the animation state is updated, causing time for this animation to play slower or + /// 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 [getReverse]. + /// + /// [getMixTime] is not affected by track entry time scale, so [getMixDuration] may need to be adjusted to + /// match the animation speed. + /// + /// When using [AnimationState.addAnimation] with a delay <= 0, the + /// [getDelay] is set using the mix duration from the [AnimationStateData], assuming time scale to be 1. If + /// the time scale is not 1, the delay may need to be adjusted. + /// + /// See [AnimationState.getTimeScale] for affecting all animations. double getTimeScale() { return _bindings.spine_track_entry_get_time_scale(_entry); } @@ -2729,12 +3237,12 @@ class TrackEntry { _bindings.spine_track_entry_set_time_scale(_entry, timeScale); } - /// Values less than 1 mix this animation with the last skeleton pose. Defaults to 1, which overwrites the last skeleton pose with - /// this animation. + /// 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. /// - /// Typically track 0 is used to completely pose the skeleton, then alpha can be 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. - double getAlpha() { + /// 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. + Future getAlpha() async { return _bindings.spine_track_entry_get_alpha(_entry); } @@ -2742,8 +3250,9 @@ class TrackEntry { _bindings.spine_track_entry_set_alpha(_entry, alpha); } - /// When the mix percentage (mix time / mix duration) is less than the event threshold, event timelines for the animation - /// being mixed out will be applied. Defaults to 0, so event timelines are not applied for an animation being mixed out. + /// When the mix percentage ([getMixTime] / [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. double getEventThreshold() { return _bindings.spine_track_entry_get_event_threshold(_entry); } @@ -2752,9 +3261,9 @@ class TrackEntry { _bindings.spine_track_entry_set_event_threshold(_entry, eventThreshold); } - /// When the mix percentage (mix time / mix duration) is less than the attachment threshold, attachment timelines for the - /// animation being mixed out will be applied. Defaults to 0, so attachment timelines are not applied for an animation being - /// mixed out. + /// When the mix percentage ([getMixTime] / [getMixDuration]) is less than the + /// attachmentThreshold, 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. double getAttachmentThreshold() { return _bindings.spine_track_entry_get_attachment_threshold(_entry); } @@ -2763,9 +3272,9 @@ class TrackEntry { _bindings.spine_track_entry_set_attachment_threshold(_entry, attachmentThreshold); } - /// When the mix percentage (mix time / mix duration) is less than the draw order threshold, draw order timelines for the - /// animation being mixed out will be applied. Defaults to 0, so draw order timelines are not applied for an animation being - /// mixed out. + /// When the mix percentage ([getMixTime] / [getMixDuration]) is less than the + /// drawOrderThreshold, 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. double getDrawOrderThreshold() { return _bindings.spine_track_entry_get_draw_order_threshold(_entry); } @@ -2774,7 +3283,10 @@ class TrackEntry { _bindings.spine_track_entry_set_draw_order_threshold(_entry, drawOrderThreshold); } - /// The animation queued to start after this animation, or null. + /// The animation queued to start after this animation, or null if there is none. next makes up a doubly linked + /// list. + /// + /// See [AnimationState.clearNext] to truncate the list. TrackEntry? getNext() { final next = _bindings.spine_track_entry_get_next(_entry); if (next.address == nullptr.address) return null; @@ -2786,8 +3298,8 @@ class TrackEntry { return _bindings.spine_track_entry_is_complete(_entry) == -1; } - /// Seconds from 0 to the mix duration when mixing from the previous animation to this animation. May be slightly more than - /// TrackEntry.MixDuration when the mix is complete. + /// Seconds from 0 to the [getMixDuration] when mixing from the previous animation to this animation. May be + /// slightly more than mixDuration when the mix is complete. double getMixTime() { return _bindings.spine_track_entry_get_mix_time(_entry); } @@ -2797,13 +3309,20 @@ class TrackEntry { } /// Seconds for mixing from the previous animation to this animation. Defaults to the value provided by - /// AnimationStateData based on the animation before this animation (if any). + /// [AnimationStateData.getMix] based on the animation before this animation (if any). /// - /// The mix duration can be set manually rather than use the value from AnimationStateData.GetMix. - /// In that case, the mixDuration must be set before AnimationState.update(float) is next called. + /// 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 + /// [AnimationState.update]. /// - /// When using AnimationState::addAnimation(int, Animation, bool, float) with a delay - /// less than or equal to 0, note the Delay is set using the mix duration from the AnimationStateData + /// The mixDuration can be set manually rather than use the value from + /// [AnimationStateData.getMix]. In that case, the mixDuration can be set for a new + /// track entry only before [AnimationState.update] is first called. + ///

+ /// When using [AnimationState.addAnimation] with a delay <= 0, the + /// [getDelay] is set using the mix duration from the [AnimationStateData]. If mixDuration is set + /// afterward, the delay may need to be adjusted. For example: + /// entry.delay = entry.previous.getTrackComplete() - entry.mixDuration; double getMixDuration() { return _bindings.spine_track_entry_get_mix_duration(_entry); } @@ -2812,6 +3331,12 @@ class TrackEntry { _bindings.spine_track_entry_set_mix_duration(_entry, mixDuration); } + /// Controls how properties keyed in the animation are mixed with lower tracks. Defaults to [MixBlend.replace]. + /// + /// Track entries on track 0 ignore this setting and always use {@link MixBlend#first}. + /// + /// The mixBlend can be set for a new track entry only before [AnimationState.apply] is first + /// called. MixBlend getMixBlend() { return MixBlend.values[_bindings.spine_track_entry_get_mix_blend(_entry)]; } @@ -2820,16 +3345,16 @@ class TrackEntry { _bindings.spine_track_entry_set_mix_blend(_entry, mixBlend.value); } - /// The track entry for the previous animation when mixing from the previous animation to this animation, or NULL if no - /// mixing is currently occuring. When mixing from multiple animations, MixingFrom makes up a double linked list with MixingTo. + /// 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. TrackEntry? getMixingFrom() { final from = _bindings.spine_track_entry_get_mixing_from(_entry); if (from.address == nullptr.address) return null; return TrackEntry._(from, _state); } - /// The track entry for the next animation when mixing from this animation, or NULL if no mixing is currently occuring. - /// When mixing from multiple animations, MixingTo makes up a double linked list with MixingFrom. + /// 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. TrackEntry? getMixingTo() { final to = _bindings.spine_track_entry_get_mixing_to(_entry); if (to.address == nullptr.address) return null; @@ -2847,22 +3372,67 @@ class TrackEntry { _bindings.spine_track_entry_reset_rotation_directions(_entry); } + /// If this track entry is non-looping, the track time in seconds when [getAnimationEnd] is reached, or the current + /// [getTrackTime] if it has already been reached. If this track entry is looping, the track time when this + /// animation will reach its next [getAnimationEnd] (the next loop completion). double getTrackComplete() { return _bindings.spine_track_entry_get_track_complete(_entry); } + /// The listener for events generated by this track entry, or null. + /// + /// A track entry returned from [AnimationState.setAnimation] is already the current animation + /// for the track, so the track entry listener will not be called for [EventType.start]. void setListener(AnimationStateListener? listener) { _state._setTrackEntryListener(_entry, listener); } } -enum EventType { start, interrupt, end, complete, dispose, event } +/// The event type passed to [AnimationStateListener] +enum EventType { + /// Emitted when [TrackEntry] has been set as the current entry. [EventType.end] will occur when this entry will no + /// longer be applied. + start, + /// Emitted when another entry has replaced the current entry. This entry may continue being applied for + /// mixing. + interrupt, + + /// Emitted when this entry will never be applied again. This only occurs if this entry has previously been set as the + /// current entry ([EventType.start] was emitted). + end, + + /// Emitted every time the current entry's animation completes a loop. This may occur during mixing (after + /// [EventType.interrupted] is emitted). + /// + /// If [TrackEntry.getMixingTo] of the entry reported by the event is not null, the entry is mixing out (it is not the current entry). + /// + /// Because this event is triggered at the end of [AnimationState.apply], any animations set in response to + /// the event won't be applied until the next time the [AnimationState] is applied. + complete, + + /// Emitted when this entry will be disposed. This may occur without the entry ever being set as the current entry. + /// + /// References to the entry should not be kept after dispose is called, as it may be destroyed or reused. + dispose, + + /// Invoked when the current entry's animation triggers an event. This may occur during mixing (after + /// [EventType.interrupt] is emitted), see [TrackEntry.getEventThreshold]. + /// + /// Because this event is triggered at the end of [AnimationState.apply], any animations set in response to + /// the event won't be applied until the next time the [AnimationState] is applied. + event +} + +/// Stores the setup pose values for an [Event]. +/// +/// See Events in the Spine User Guide. class EventData { final spine_event_data _data; EventData._(this._data); + /// The name of the event, which is unique across all events in the skeleton. String getName() { final Pointer value = _bindings.spine_event_data_get_name(_data).cast(); return value.toDartString(); @@ -2917,15 +3487,21 @@ class EventData { } } +/// Stores the current pose values for an {@link Event}. +/// +/// See [AnimationStateListener], [EventType.event], and +/// Events in the Spine User Guide. class Event { final spine_event _event; Event._(this._event); + /// The events's setup pose data. EventData getData() { return EventData._(_bindings.spine_event_get_data(_event)); } + /// The animation time this event was keyed. double getTime() { return _bindings.spine_event_get_time(_event); } @@ -2974,13 +3550,22 @@ class Event { } } +/// The callback to implement for receiving [TrackEntry] events. It is always safe to call [AnimationState] methods when receiving +/// events. +/// +/// TrackEntry events are collected during [AnimationState.update] and [AnimationState.apply] and +/// fired only after those methods are finished. +/// +/// See [TrackEntry.setListener] and [AnimationState.setListener]. typedef AnimationStateListener = void Function(EventType type, TrackEntry entry, Event? event); +/// Stores mix (crossfade) durations to be applied when {@link AnimationState} animations are changed. class AnimationStateData { final spine_animation_state_data _data; AnimationStateData._(this._data); + /// The SkeletonData to look up animations when they are specified by name. SkeletonData getSkeletonData() { return SkeletonData._(_bindings.spine_animation_state_data_get_skeleton_data(_data)); } @@ -2993,6 +3578,9 @@ class AnimationStateData { _bindings.spine_animation_state_data_set_default_mix(_data, defaultMix); } + /// Sets a mix duration by animation name. + /// + /// See [setMix]. void setMixByName(String fromName, String toName, double duration) { final fromNative = fromName.toNativeUtf8(allocator: _allocator); final toNative = toName.toNativeUtf8(allocator: _allocator); @@ -3001,6 +3589,8 @@ class AnimationStateData { _allocator.free(toNative); } + /// Returns the mix duration to use when changing from the specified animation to the other, or the [getDefaultMix] if + /// no mix duration has been set. double getMixByName(String fromName, String toName) { final fromNative = fromName.toNativeUtf8(allocator: _allocator); final toNative = toName.toNativeUtf8(allocator: _allocator); @@ -3010,19 +3600,29 @@ class AnimationStateData { return duration; } - void setMix(Animation from, Animation to, double duration) { + /// Sets the mix duration when changing from the specified animation to the other. + /// + /// See [TrackEntry.mixDuration]. + Future setMix(Animation from, Animation to, double duration) async { _bindings.spine_animation_state_data_set_mix(_data, from._animation, to._animation, duration); } + /// Returns the mix duration to use when changing from the specified animation to the other, or the [getDefaultMix] if + /// no mix duration has been set. double getMix(Animation from, Animation to) { return _bindings.spine_animation_state_data_get_mix(_data, from._animation, to._animation); } + /// Removes all mix durations. void clear() { _bindings.spine_animation_state_data_clear(_data); } } +/// 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 { final spine_animation_state _state; final spine_animation_state_events _events; @@ -3039,8 +3639,7 @@ class AnimationState { } } - /// Increments the track entry times, setting queued animations as current if needed - /// @param delta delta time + /// Increments each track entry [TrackEntry.getTrackTime], setting queued animations as current if needed. void update(double delta) { _bindings.spine_animation_state_update(_state, delta); @@ -3086,33 +3685,33 @@ class AnimationState { _bindings.spine_animation_state_events_reset(_events); } - /// Poses the skeleton using the track entry animations. There are no side effects other than invoking listeners, so the - /// animation state can be applied to multiple skeletons to pose them identically. + /// 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. + /// + /// Returns true if any animations were applied. void apply(Skeleton skeleton) { _bindings.spine_animation_state_apply(_state, skeleton._skeleton); } - /// Removes all animations from all tracks, leaving skeletons in their previous pose. - /// It may be desired to use AnimationState.setEmptyAnimations(float) to mix the skeletons back to the setup pose, - /// rather than leaving them in their previous pose. + /// Removes all animations from all tracks, leaving skeletons in their current pose. + /// + /// It may be desired to use [setEmptyAnimations] to mix the skeletons back to the setup pose, + /// rather than leaving them in their current pose. void clearTracks() { _bindings.spine_animation_state_clear_tracks(_state); } - /// Removes all animations from the tracks, leaving skeletons in their previous pose. - /// It may be desired to use AnimationState.setEmptyAnimations(float) to mix the skeletons back to the setup pose, - /// rather than leaving them in their previous pose. + /// Removes all animations from the track, leaving skeletons in their current pose. + /// + /// It may be desired to use [setEmptyAnimations] to mix the skeletons back to the setup pose, + /// rather than leaving them in their current pose. void clearTrack(int trackIndex) { _bindings.spine_animation_state_clear_track(_state, trackIndex); } - /// Sets the current animation for a track, discarding any queued animations. - /// @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 TrackEntry.TrackEnd 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 AnimationState.Dispose. + /// Sets an animation by name. + /// + /// See [setAnimation]. TrackEntry setAnimationByName(int trackIndex, String animationName, bool loop) { final animation = animationName.toNativeUtf8(allocator: _allocator); final entry = _bindings.spine_animation_state_set_animation_by_name(_state, trackIndex, animation.cast(), loop ? -1 : 0); @@ -3121,20 +3720,23 @@ class AnimationState { return TrackEntry._(entry, this); } + /// Sets the current [animation] for a track at [trackIndex], discarding any queued animations. If the formerly current track entry was never + /// applied to a skeleton, it is replaced (not mixed from). + /// + /// If [loop] is true, the animation will repeat. If false it will not, instead its last frame is applied if played beyond its + /// duration. In either case [TrackEntry.getTrackEnd] determines when the track is cleared. + /// + /// Returns a track entry to allow further customization of animation playback. References to the track entry must not be kept + /// after the [EventType.dispose] event occurs. TrackEntry setAnimation(int trackIndex, Animation animation, bool loop) { final entry = _bindings.spine_animation_state_set_animation(_state, trackIndex, animation._animation, loop ? -1 : 0); if (entry.address == nullptr.address) throw Exception("Couldn't set animation ${animation.getName()}"); return TrackEntry._(entry, this); } - /// Adds an animation to be played delay seconds after the current or last queued animation - /// for a track. If the track is empty, it is equivalent to calling setAnimation. - /// @param delay - /// Seconds to begin this animation after the start of the previous animation. May be <= 0 to use the animation - /// duration of the previous track minus any mix duration plus the negative delay. + /// Queues an animation by name. /// - /// @return A track entry to allow further customization of animation playback. References to the track entry must not be kept - /// after AnimationState.Dispose + /// See [addAnimation]. TrackEntry addAnimationByName(int trackIndex, String animationName, bool loop, double delay) { final animation = animationName.toNativeUtf8(allocator: _allocator); final entry = _bindings.spine_animation_state_add_animation_by_name(_state, trackIndex, animation.cast(), loop ? -1 : 0, delay); @@ -3143,47 +3745,82 @@ class AnimationState { return TrackEntry._(entry, this); } + /// Adds an [animation] to be played after the current or last queued animation for a track at [trackIndex]. If the track is empty, it is + /// equivalent to calling [setAnimation]. + /// + /// If [delay] > 0, sets [TrackEntry.getDelay]. If [delay] <= 0, the delay set is the duration of the previous track entry + /// minus any mix duration (from the [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. + /// + /// Returns a track entry to allow further customization of animation playback. References to the track entry must not be kept + /// after the [EventType.dispose] event occurs. TrackEntry addAnimation(int trackIndex, Animation animation, bool loop, double delay) { final entry = _bindings.spine_animation_state_add_animation(_state, trackIndex, animation._animation, loop ? -1 : 0, delay); if (entry.address == nullptr.address) throw Exception("Couldn't add animation ${animation.getName()}"); return TrackEntry._(entry, this); } - /// Sets an empty animation for a track, discarding any queued animations, and mixes to it over the specified mix duration. + /// Sets an empty animation for a track at [trackIndex], discarding any queued animations, and sets the track entry's + /// [TrackEntry.getMixDuration] to [mixDuration]. 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 [setEmptyAnimation], + /// [setEmptyAnimations], or [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 + /// [addAnimation] with the desired delay (an empty animation has a duration of 0) and on + /// the returned track entry, set the [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. TrackEntry setEmptyAnimation(int trackIndex, double mixDuration) { final entry = _bindings.spine_animation_state_set_empty_animation(_state, trackIndex, mixDuration); return TrackEntry._(entry, this); } - /// Adds an empty animation to be played after the current or last queued animation for a track, and mixes to it over the - /// specified mix duration. - /// @return - /// A track entry to allow further customization of animation playback. References to the track entry must not be kept after AnimationState.Dispose. + /// Adds an empty animation to be played after the current or last queued animation for a track, and sets the track entry's + /// [TrackEntry.getMixDuration]. If the track is empty, it is equivalent to calling + /// [setEmptyAnimation]. /// - /// @param trackIndex Track number. - /// @param mixDuration Mix duration. - /// @param delay Seconds to begin this animation after the start of the previous animation. May be <= 0 to use the animation - /// duration of the previous track minus any mix duration plus the negative delay. + /// See [setEmptyAnimation]. + /// + /// If [delay] > 0, sets [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. + /// + /// Returns a track entry to allow further customization of animation playback. References to the track entry must not be kept + /// after the [EventType.dispose] event occurs. TrackEntry addEmptyAnimation(int trackIndex, double mixDuration, double delay) { final entry = _bindings.spine_animation_state_add_empty_animation(_state, trackIndex, mixDuration, delay); return TrackEntry._(entry, this); } + /// Returns the track entry for the animation currently playing on the track, or null if no animation is currently playing. TrackEntry? getCurrent(int trackIndex) { final entry = _bindings.spine_animation_state_get_current(_state, trackIndex); if (entry.address == nullptr.address) return null; return TrackEntry._(entry, this); } + /// Returns the number of tracks that have animations queued. int getNumTracks() { return _bindings.spine_animation_state_get_num_tracks(_state); } - /// Sets an empty animation for every track, discarding any queued animations, and mixes to it over the specified mix duration. + /// Sets an empty animation for every track, discarding any queued animations, and mixes to it over the specified mix + /// duration. void setEmptyAnimations(double mixDuration) { _bindings.spine_animation_state_set_empty_animations(_state, mixDuration); } + /// Multiplier for the delta time when the animation state is updated, causing time for all animations and mixes to play slower + /// or faster. Defaults to 1. + /// + /// See [TrackEntry.getTimeScale] for affecting a single animation. double getTimeScale() { return _bindings.spine_animation_state_get_time_scale(_state); } @@ -3192,15 +3829,39 @@ class AnimationState { _bindings.spine_animation_state_set_time_scale(_state, timeScale); } + /// The [AnimationStateData] to look up mix durations. AnimationStateData getData() { return AnimationStateData._(_bindings.spine_animation_state_get_data(_state)); } + /// The listener for events generated for all tracks managed by the AnimationState, or null. + /// + /// A track entry returned from [setAnimation] is already the current animation + /// for the track, so the track entry listener will not be called for [EventType.start]. void setListener(AnimationStateListener? listener) { _stateListener = listener; } } +/// A SkeletonDrawable bundles loading, updating, and rendering an [Atlas], [Skeleton], and [AnimationState] +/// into a single easy to use class. +/// +/// Use the [fromAsset], [fromFile], or [fromHttp] methods to construct a SkeletonDrawable. To have +/// multiple skeleton drawable instances share the same [Atlas] and [SkeletonData], use the constructor. +/// +/// You can then directly access the [atlas], [skeletonData], [skeleton], [animationStateData], and [animationState] +/// to query and animate the skeleton. Use the [AnimationState] to queue animations on one or more tracks +/// via [AnimationState.setAnimation] or [AnimationState.addAnimation]. +/// +/// To update the [AnimationState] and apply it to the [Skeleton] call the [update] function, providing it +/// a delta time in seconds to advance the animations. +/// +/// To render the current pose of the [Skeleton], use the rendering methods [render], [renderToCanvas], [renderToPictureRecorder], +/// [renderToPng], or [renderToRawImageData], depending on your needs. +/// +/// When the skeleton drawable is no longer needed, call the [dispose] method to release its resources. If +/// the skeleton drawable was constructed from a shared [Atlas] and [SkeletonData], make sure to dispose the +/// atlas and skeleton data as well, if no skeleton drawable references them anymore. class SkeletonDrawable { final Atlas atlas; final SkeletonData skeletonData; @@ -3211,6 +3872,9 @@ class SkeletonDrawable { final bool _ownsAtlasAndSkeletonData; bool _disposed; + /// Constructs a new skeleton drawable from the given (possibly shared) [Atlas] and [SkeletonData]. If + /// the atlas and skeleton data are not shared, the drawable can take ownership by passing true for [_ownsAtlasAndSkeletonData]. + /// In that case a call to [dispose] will also dispose the atlas and skeleton data. SkeletonDrawable(this.atlas, this.skeletonData, this._ownsAtlasAndSkeletonData) : _disposed = false { _drawable = _bindings.spine_skeleton_drawable_create(skeletonData._data); skeleton = Skeleton._(_bindings.spine_skeleton_drawable_get_skeleton(_drawable)); @@ -3220,6 +3884,10 @@ class SkeletonDrawable { skeleton.updateWorldTransform(); } + /// Constructs a new skeleton drawable from the [atlasFile] and [skeletonFile] from the root asset bundle + /// or the optionally provided [bundle]. + /// + /// Throws an exception in case the data could not be loaded. static Future fromAsset(String atlasFile, String skeletonFile, {AssetBundle? bundle}) async { bundle ??= rootBundle; var atlas = await Atlas.fromAsset(atlasFile, bundle: bundle); @@ -3227,18 +3895,27 @@ class SkeletonDrawable { return SkeletonDrawable(atlas, skeletonData, true); } + /// Constructs a new skeleton drawable from the [atlasFile] and [skeletonFile]. + /// + /// Throws an exception in case the data could not be loaded. static Future fromFile(String atlasFile, String skeletonFile) async { var atlas = await Atlas.fromFile(atlasFile); var skeletonData = await SkeletonData.fromFile(atlas, skeletonFile); return SkeletonDrawable(atlas, skeletonData, true); } - static Future fromHttp(String atlasFile, String skeletonFile) async { - var atlas = await Atlas.fromUrl(atlasFile); - var skeletonData = await SkeletonData.fromHttp(atlas, skeletonFile); + /// Constructs a new skeleton drawable from the [atlasUrl] and [skeletonUrl]. + /// + /// Throws an exception in case the data could not be loaded. + static Future fromHttp(String atlasUrl, String skeletonUrl) async { + var atlas = await Atlas.fromHttp(atlasUrl); + var skeletonData = await SkeletonData.fromHttp(atlas, skeletonUrl); return SkeletonDrawable(atlas, skeletonData, true); } + /// Updates the [AnimationState] using the [delta] time given in seconds, applies the + /// animation state to the [Skeleton] and updates the world transforms of the skeleton + /// to calculate its current pose. void update(double delta) { if (_disposed) return; animationState.update(delta); @@ -3246,6 +3923,8 @@ class SkeletonDrawable { skeleton.updateWorldTransform(); } + /// Renders to current skeleton pose to a list of [RenderCommand] instances. The render commands + /// can be rendered via [Canvas.drawVertices]. List render() { if (_disposed) return []; spine_render_command nativeCmd = _bindings.spine_skeleton_drawable_render(_drawable); @@ -3258,6 +3937,8 @@ class SkeletonDrawable { return commands; } + /// Renders the skeleton drawable's current pose to the given [canvas]. Does not perform any + /// scaling or fitting. void renderToCanvas(Canvas canvas) { var commands = render(); for (final cmd in commands) { @@ -3265,13 +3946,15 @@ class SkeletonDrawable { } } - PictureRecorder renderToPictureRecorder(double width, double height) { + /// Renders the skeleton drawable's current pose to a [PictureRecorder] with the given [width] and [height]. + /// Uses [bgColor], a 32-bit ARGB color value, to paint the background. + /// Scales and centers the skeleton to fit the within the bounds of [width] and [height]. + PictureRecorder renderToPictureRecorder(double width, double height, int bgColor) { var bounds = skeleton.getBounds(); var scale = 1 / (bounds.width > bounds.height ? bounds.width / width : bounds.height / height); var recorder = PictureRecorder(); var canvas = Canvas(recorder); - var bgColor = Random().nextInt(0xffffffff) | 0xff0000000; var paint = Paint() ..color = material.Color(bgColor) ..style = PaintingStyle.fill; @@ -3284,14 +3967,20 @@ class SkeletonDrawable { return recorder; } - Future renderToPng(double width, double height) async { - final recorder = renderToPictureRecorder(width, height); + /// Renders the skeleton drawable's current pose to a PNG encoded in a [Uint8List], with the given [width] and [height]. + /// Uses [bgColor], a 32-bit ARGB color value, to paint the background. + /// Scales and centers the skeleton to fit the within the bounds of [width] and [height]. + Future renderToPng(double width, double height, int bgColor) async { + final recorder = renderToPictureRecorder(width, height, bgColor); final image = await recorder.endRecording().toImage(width.toInt(), height.toInt()); return (await image.toByteData(format: ImageByteFormat.png))!.buffer.asUint8List(); } - Future renderToRawImageData(double width, double height) async { - final recorder = renderToPictureRecorder(width, height); + /// Renders the skeleton drawable's current pose to a [RawImageData], with the given [width] and [height]. + /// Uses [bgColor], a 32-bit ARGB color value, to paint the background. + /// Scales and centers the skeleton to fit the within the bounds of [width] and [height]. + Future renderToRawImageData(double width, double height, int bgColor) async { + final recorder = renderToPictureRecorder(width, height, bgColor); var rawImageData = (await (await recorder.endRecording().toImage(width.toInt(), height.toInt())).toByteData(format: ImageByteFormat.rawRgba))! .buffer @@ -3299,6 +3988,9 @@ class SkeletonDrawable { return RawImageData(rawImageData, width.toInt(), height.toInt()); } + /// Disposes the skeleton drawable's resources. If the skeleton drawable owns the atlas + /// and skeleton data, they are disposed as well. Must be called when the skeleton drawable + /// is no longer in use. void dispose() { if (_disposed) return; _disposed = true; @@ -3310,6 +4002,9 @@ class SkeletonDrawable { } } +/// 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]. class RenderCommand { late final Vertices vertices; late final int atlasPageIndex; @@ -3348,6 +4043,8 @@ class RenderCommand { } } +/// Renders debug information for a [SkeletonDrawable], like bone locations, to a [Canvas]. +/// See [DebugRenderer.render]. class DebugRenderer { const DebugRenderer(); diff --git a/spine-flutter/lib/spine_flutter_bindings_generated.dart b/spine-flutter/lib/spine_flutter_bindings_generated.dart index 11390731a..83519f8b5 100644 --- a/spine-flutter/lib/spine_flutter_bindings_generated.dart +++ b/spine-flutter/lib/spine_flutter_bindings_generated.dart @@ -13,27 +13,36 @@ import 'ffi_proxy.dart' as ffi; /// class SpineFlutterBindings { /// Holds the symbol lookup function. - final ffi.Pointer Function(String symbolName) _lookup; + final ffi.Pointer Function(String symbolName) + _lookup; /// The symbols are looked up in [dynamicLibrary]. - SpineFlutterBindings(ffi.DynamicLibrary dynamicLibrary) : _lookup = dynamicLibrary.lookup; + SpineFlutterBindings(ffi.DynamicLibrary dynamicLibrary) + : _lookup = dynamicLibrary.lookup; /// The symbols are looked up with [lookup]. - SpineFlutterBindings.fromLookup(ffi.Pointer Function(String symbolName) lookup) : _lookup = lookup; + SpineFlutterBindings.fromLookup( + ffi.Pointer Function(String symbolName) + lookup) + : _lookup = lookup; int spine_major_version() { return _spine_major_version(); } - late final _spine_major_versionPtr = _lookup>('spine_major_version'); - late final _spine_major_version = _spine_major_versionPtr.asFunction(); + late final _spine_major_versionPtr = + _lookup>('spine_major_version'); + late final _spine_major_version = + _spine_major_versionPtr.asFunction(); int spine_minor_version() { return _spine_minor_version(); } - late final _spine_minor_versionPtr = _lookup>('spine_minor_version'); - late final _spine_minor_version = _spine_minor_versionPtr.asFunction(); + late final _spine_minor_versionPtr = + _lookup>('spine_minor_version'); + late final _spine_minor_version = + _spine_minor_versionPtr.asFunction(); void spine_enable_debug_extension( int enable, @@ -43,15 +52,20 @@ class SpineFlutterBindings { ); } - late final _spine_enable_debug_extensionPtr = _lookup>('spine_enable_debug_extension'); - late final _spine_enable_debug_extension = _spine_enable_debug_extensionPtr.asFunction(); + late final _spine_enable_debug_extensionPtr = + _lookup>( + 'spine_enable_debug_extension'); + late final _spine_enable_debug_extension = + _spine_enable_debug_extensionPtr.asFunction(); void spine_report_leaks() { return _spine_report_leaks(); } - late final _spine_report_leaksPtr = _lookup>('spine_report_leaks'); - late final _spine_report_leaks = _spine_report_leaksPtr.asFunction(); + late final _spine_report_leaksPtr = + _lookup>('spine_report_leaks'); + late final _spine_report_leaks = + _spine_report_leaksPtr.asFunction(); double spine_color_get_r( spine_color color, @@ -61,8 +75,11 @@ class SpineFlutterBindings { ); } - late final _spine_color_get_rPtr = _lookup>('spine_color_get_r'); - late final _spine_color_get_r = _spine_color_get_rPtr.asFunction(); + late final _spine_color_get_rPtr = + _lookup>( + 'spine_color_get_r'); + late final _spine_color_get_r = + _spine_color_get_rPtr.asFunction(); double spine_color_get_g( spine_color color, @@ -72,8 +89,11 @@ class SpineFlutterBindings { ); } - late final _spine_color_get_gPtr = _lookup>('spine_color_get_g'); - late final _spine_color_get_g = _spine_color_get_gPtr.asFunction(); + late final _spine_color_get_gPtr = + _lookup>( + 'spine_color_get_g'); + late final _spine_color_get_g = + _spine_color_get_gPtr.asFunction(); double spine_color_get_b( spine_color color, @@ -83,8 +103,11 @@ class SpineFlutterBindings { ); } - late final _spine_color_get_bPtr = _lookup>('spine_color_get_b'); - late final _spine_color_get_b = _spine_color_get_bPtr.asFunction(); + late final _spine_color_get_bPtr = + _lookup>( + 'spine_color_get_b'); + late final _spine_color_get_b = + _spine_color_get_bPtr.asFunction(); double spine_color_get_a( spine_color color, @@ -94,8 +117,11 @@ class SpineFlutterBindings { ); } - late final _spine_color_get_aPtr = _lookup>('spine_color_get_a'); - late final _spine_color_get_a = _spine_color_get_aPtr.asFunction(); + late final _spine_color_get_aPtr = + _lookup>( + 'spine_color_get_a'); + late final _spine_color_get_a = + _spine_color_get_aPtr.asFunction(); double spine_bounds_get_x( spine_bounds bounds, @@ -105,8 +131,11 @@ class SpineFlutterBindings { ); } - late final _spine_bounds_get_xPtr = _lookup>('spine_bounds_get_x'); - late final _spine_bounds_get_x = _spine_bounds_get_xPtr.asFunction(); + late final _spine_bounds_get_xPtr = + _lookup>( + 'spine_bounds_get_x'); + late final _spine_bounds_get_x = + _spine_bounds_get_xPtr.asFunction(); double spine_bounds_get_y( spine_bounds bounds, @@ -116,8 +145,11 @@ class SpineFlutterBindings { ); } - late final _spine_bounds_get_yPtr = _lookup>('spine_bounds_get_y'); - late final _spine_bounds_get_y = _spine_bounds_get_yPtr.asFunction(); + late final _spine_bounds_get_yPtr = + _lookup>( + 'spine_bounds_get_y'); + late final _spine_bounds_get_y = + _spine_bounds_get_yPtr.asFunction(); double spine_bounds_get_width( spine_bounds bounds, @@ -127,8 +159,11 @@ class SpineFlutterBindings { ); } - late final _spine_bounds_get_widthPtr = _lookup>('spine_bounds_get_width'); - late final _spine_bounds_get_width = _spine_bounds_get_widthPtr.asFunction(); + late final _spine_bounds_get_widthPtr = + _lookup>( + 'spine_bounds_get_width'); + late final _spine_bounds_get_width = + _spine_bounds_get_widthPtr.asFunction(); double spine_bounds_get_height( spine_bounds bounds, @@ -138,8 +173,11 @@ class SpineFlutterBindings { ); } - late final _spine_bounds_get_heightPtr = _lookup>('spine_bounds_get_height'); - late final _spine_bounds_get_height = _spine_bounds_get_heightPtr.asFunction(); + late final _spine_bounds_get_heightPtr = + _lookup>( + 'spine_bounds_get_height'); + late final _spine_bounds_get_height = + _spine_bounds_get_heightPtr.asFunction(); double spine_vector_get_x( spine_vector vector, @@ -149,8 +187,11 @@ class SpineFlutterBindings { ); } - late final _spine_vector_get_xPtr = _lookup>('spine_vector_get_x'); - late final _spine_vector_get_x = _spine_vector_get_xPtr.asFunction(); + late final _spine_vector_get_xPtr = + _lookup>( + 'spine_vector_get_x'); + late final _spine_vector_get_x = + _spine_vector_get_xPtr.asFunction(); double spine_vector_get_y( spine_vector vector, @@ -160,8 +201,11 @@ class SpineFlutterBindings { ); } - late final _spine_vector_get_yPtr = _lookup>('spine_vector_get_y'); - late final _spine_vector_get_y = _spine_vector_get_yPtr.asFunction(); + late final _spine_vector_get_yPtr = + _lookup>( + 'spine_vector_get_y'); + late final _spine_vector_get_y = + _spine_vector_get_yPtr.asFunction(); spine_atlas spine_atlas_load( ffi.Pointer atlasData, @@ -171,8 +215,11 @@ class SpineFlutterBindings { ); } - late final _spine_atlas_loadPtr = _lookup)>>('spine_atlas_load'); - late final _spine_atlas_load = _spine_atlas_loadPtr.asFunction)>(); + late final _spine_atlas_loadPtr = + _lookup)>>( + 'spine_atlas_load'); + late final _spine_atlas_load = _spine_atlas_loadPtr + .asFunction)>(); int spine_atlas_get_num_image_paths( spine_atlas atlas, @@ -183,8 +230,11 @@ class SpineFlutterBindings { } late final _spine_atlas_get_num_image_pathsPtr = - _lookup>('spine_atlas_get_num_image_paths'); - late final _spine_atlas_get_num_image_paths = _spine_atlas_get_num_image_pathsPtr.asFunction(); + _lookup>( + 'spine_atlas_get_num_image_paths'); + late final _spine_atlas_get_num_image_paths = + _spine_atlas_get_num_image_pathsPtr + .asFunction(); ffi.Pointer spine_atlas_get_image_path( spine_atlas atlas, @@ -196,9 +246,12 @@ class SpineFlutterBindings { ); } - late final _spine_atlas_get_image_pathPtr = - _lookup Function(spine_atlas, ffi.Int32)>>('spine_atlas_get_image_path'); - late final _spine_atlas_get_image_path = _spine_atlas_get_image_pathPtr.asFunction Function(spine_atlas, int)>(); + late final _spine_atlas_get_image_pathPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_atlas, ffi.Int32)>>('spine_atlas_get_image_path'); + late final _spine_atlas_get_image_path = _spine_atlas_get_image_pathPtr + .asFunction Function(spine_atlas, int)>(); ffi.Pointer spine_atlas_get_error( spine_atlas atlas, @@ -208,8 +261,11 @@ class SpineFlutterBindings { ); } - late final _spine_atlas_get_errorPtr = _lookup Function(spine_atlas)>>('spine_atlas_get_error'); - late final _spine_atlas_get_error = _spine_atlas_get_errorPtr.asFunction Function(spine_atlas)>(); + late final _spine_atlas_get_errorPtr = + _lookup Function(spine_atlas)>>( + 'spine_atlas_get_error'); + late final _spine_atlas_get_error = _spine_atlas_get_errorPtr + .asFunction Function(spine_atlas)>(); void spine_atlas_dispose( spine_atlas atlas, @@ -219,8 +275,11 @@ class SpineFlutterBindings { ); } - late final _spine_atlas_disposePtr = _lookup>('spine_atlas_dispose'); - late final _spine_atlas_dispose = _spine_atlas_disposePtr.asFunction(); + late final _spine_atlas_disposePtr = + _lookup>( + 'spine_atlas_dispose'); + late final _spine_atlas_dispose = + _spine_atlas_disposePtr.asFunction(); spine_skeleton_data_result spine_skeleton_data_load_json( spine_atlas atlas, @@ -232,10 +291,14 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_load_jsonPtr = - _lookup)>>('spine_skeleton_data_load_json'); + late final _spine_skeleton_data_load_jsonPtr = _lookup< + ffi.NativeFunction< + spine_skeleton_data_result Function(spine_atlas, + ffi.Pointer)>>('spine_skeleton_data_load_json'); late final _spine_skeleton_data_load_json = - _spine_skeleton_data_load_jsonPtr.asFunction)>(); + _spine_skeleton_data_load_jsonPtr.asFunction< + spine_skeleton_data_result Function( + spine_atlas, ffi.Pointer)>(); spine_skeleton_data_result spine_skeleton_data_load_binary( spine_atlas atlas, @@ -249,11 +312,16 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_load_binaryPtr = - _lookup, ffi.Int32)>>( - 'spine_skeleton_data_load_binary'); + late final _spine_skeleton_data_load_binaryPtr = _lookup< + ffi.NativeFunction< + spine_skeleton_data_result Function( + spine_atlas, + ffi.Pointer, + ffi.Int32)>>('spine_skeleton_data_load_binary'); late final _spine_skeleton_data_load_binary = - _spine_skeleton_data_load_binaryPtr.asFunction, int)>(); + _spine_skeleton_data_load_binaryPtr.asFunction< + spine_skeleton_data_result Function( + spine_atlas, ffi.Pointer, int)>(); ffi.Pointer spine_skeleton_data_result_get_error( spine_skeleton_data_result result, @@ -263,10 +331,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_result_get_errorPtr = - _lookup Function(spine_skeleton_data_result)>>('spine_skeleton_data_result_get_error'); + late final _spine_skeleton_data_result_get_errorPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(spine_skeleton_data_result)>>( + 'spine_skeleton_data_result_get_error'); late final _spine_skeleton_data_result_get_error = - _spine_skeleton_data_result_get_errorPtr.asFunction Function(spine_skeleton_data_result)>(); + _spine_skeleton_data_result_get_errorPtr + .asFunction Function(spine_skeleton_data_result)>(); spine_skeleton_data spine_skeleton_data_result_get_data( spine_skeleton_data_result result, @@ -276,10 +347,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_result_get_dataPtr = - _lookup>('spine_skeleton_data_result_get_data'); + late final _spine_skeleton_data_result_get_dataPtr = _lookup< + ffi.NativeFunction< + spine_skeleton_data Function(spine_skeleton_data_result)>>( + 'spine_skeleton_data_result_get_data'); late final _spine_skeleton_data_result_get_data = - _spine_skeleton_data_result_get_dataPtr.asFunction(); + _spine_skeleton_data_result_get_dataPtr.asFunction< + spine_skeleton_data Function(spine_skeleton_data_result)>(); void spine_skeleton_data_result_dispose( spine_skeleton_data_result result, @@ -289,10 +363,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_result_disposePtr = - _lookup>('spine_skeleton_data_result_dispose'); + late final _spine_skeleton_data_result_disposePtr = _lookup< + ffi.NativeFunction>( + 'spine_skeleton_data_result_dispose'); late final _spine_skeleton_data_result_dispose = - _spine_skeleton_data_result_disposePtr.asFunction(); + _spine_skeleton_data_result_disposePtr + .asFunction(); spine_bone_data spine_skeleton_data_find_bone( spine_skeleton_data data, @@ -304,10 +380,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_find_bonePtr = - _lookup)>>('spine_skeleton_data_find_bone'); + late final _spine_skeleton_data_find_bonePtr = _lookup< + ffi.NativeFunction< + spine_bone_data Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_find_bone'); late final _spine_skeleton_data_find_bone = - _spine_skeleton_data_find_bonePtr.asFunction)>(); + _spine_skeleton_data_find_bonePtr.asFunction< + spine_bone_data Function(spine_skeleton_data, ffi.Pointer)>(); spine_slot_data spine_skeleton_data_find_slot( spine_skeleton_data data, @@ -319,10 +398,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_find_slotPtr = - _lookup)>>('spine_skeleton_data_find_slot'); + late final _spine_skeleton_data_find_slotPtr = _lookup< + ffi.NativeFunction< + spine_slot_data Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_find_slot'); late final _spine_skeleton_data_find_slot = - _spine_skeleton_data_find_slotPtr.asFunction)>(); + _spine_skeleton_data_find_slotPtr.asFunction< + spine_slot_data Function(spine_skeleton_data, ffi.Pointer)>(); spine_skin spine_skeleton_data_find_skin( spine_skeleton_data data, @@ -334,10 +416,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_find_skinPtr = - _lookup)>>('spine_skeleton_data_find_skin'); + late final _spine_skeleton_data_find_skinPtr = _lookup< + ffi.NativeFunction< + spine_skin Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_find_skin'); late final _spine_skeleton_data_find_skin = - _spine_skeleton_data_find_skinPtr.asFunction)>(); + _spine_skeleton_data_find_skinPtr.asFunction< + spine_skin Function(spine_skeleton_data, ffi.Pointer)>(); spine_event_data spine_skeleton_data_find_event( spine_skeleton_data data, @@ -349,10 +434,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_find_eventPtr = - _lookup)>>('spine_skeleton_data_find_event'); + late final _spine_skeleton_data_find_eventPtr = _lookup< + ffi.NativeFunction< + spine_event_data Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_find_event'); late final _spine_skeleton_data_find_event = - _spine_skeleton_data_find_eventPtr.asFunction)>(); + _spine_skeleton_data_find_eventPtr.asFunction< + spine_event_data Function(spine_skeleton_data, ffi.Pointer)>(); spine_animation spine_skeleton_data_find_animation( spine_skeleton_data data, @@ -364,10 +452,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_find_animationPtr = - _lookup)>>('spine_skeleton_data_find_animation'); + late final _spine_skeleton_data_find_animationPtr = _lookup< + ffi.NativeFunction< + spine_animation Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_find_animation'); late final _spine_skeleton_data_find_animation = - _spine_skeleton_data_find_animationPtr.asFunction)>(); + _spine_skeleton_data_find_animationPtr.asFunction< + spine_animation Function(spine_skeleton_data, ffi.Pointer)>(); spine_ik_constraint_data spine_skeleton_data_find_ik_constraint( spine_skeleton_data data, @@ -379,11 +470,14 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_find_ik_constraintPtr = - _lookup)>>( - 'spine_skeleton_data_find_ik_constraint'); + late final _spine_skeleton_data_find_ik_constraintPtr = _lookup< + ffi.NativeFunction< + spine_ik_constraint_data Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_find_ik_constraint'); late final _spine_skeleton_data_find_ik_constraint = - _spine_skeleton_data_find_ik_constraintPtr.asFunction)>(); + _spine_skeleton_data_find_ik_constraintPtr.asFunction< + spine_ik_constraint_data Function( + spine_skeleton_data, ffi.Pointer)>(); spine_transform_constraint_data spine_skeleton_data_find_transform_constraint( spine_skeleton_data data, @@ -395,11 +489,15 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_find_transform_constraintPtr = - _lookup)>>( - 'spine_skeleton_data_find_transform_constraint'); - late final _spine_skeleton_data_find_transform_constraint = _spine_skeleton_data_find_transform_constraintPtr - .asFunction)>(); + late final _spine_skeleton_data_find_transform_constraintPtr = _lookup< + ffi.NativeFunction< + spine_transform_constraint_data Function( + spine_skeleton_data, ffi.Pointer)>>( + 'spine_skeleton_data_find_transform_constraint'); + late final _spine_skeleton_data_find_transform_constraint = + _spine_skeleton_data_find_transform_constraintPtr.asFunction< + spine_transform_constraint_data Function( + spine_skeleton_data, ffi.Pointer)>(); spine_path_constraint_data spine_skeleton_data_find_path_constraint( spine_skeleton_data data, @@ -411,11 +509,14 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_find_path_constraintPtr = - _lookup)>>( - 'spine_skeleton_data_find_path_constraint'); - late final _spine_skeleton_data_find_path_constraint = _spine_skeleton_data_find_path_constraintPtr - .asFunction)>(); + late final _spine_skeleton_data_find_path_constraintPtr = _lookup< + ffi.NativeFunction< + spine_path_constraint_data Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_find_path_constraint'); + late final _spine_skeleton_data_find_path_constraint = + _spine_skeleton_data_find_path_constraintPtr.asFunction< + spine_path_constraint_data Function( + spine_skeleton_data, ffi.Pointer)>(); ffi.Pointer spine_skeleton_data_get_name( spine_skeleton_data data, @@ -425,9 +526,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_get_namePtr = - _lookup Function(spine_skeleton_data)>>('spine_skeleton_data_get_name'); - late final _spine_skeleton_data_get_name = _spine_skeleton_data_get_namePtr.asFunction Function(spine_skeleton_data)>(); + late final _spine_skeleton_data_get_namePtr = _lookup< + ffi.NativeFunction Function(spine_skeleton_data)>>( + 'spine_skeleton_data_get_name'); + late final _spine_skeleton_data_get_name = _spine_skeleton_data_get_namePtr + .asFunction Function(spine_skeleton_data)>(); /// OMITTED setName() int spine_skeleton_data_get_num_bones( @@ -439,8 +542,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_num_bonesPtr = - _lookup>('spine_skeleton_data_get_num_bones'); - late final _spine_skeleton_data_get_num_bones = _spine_skeleton_data_get_num_bonesPtr.asFunction(); + _lookup>( + 'spine_skeleton_data_get_num_bones'); + late final _spine_skeleton_data_get_num_bones = + _spine_skeleton_data_get_num_bonesPtr + .asFunction(); ffi.Pointer spine_skeleton_data_get_bones( spine_skeleton_data data, @@ -450,10 +556,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_get_bonesPtr = - _lookup Function(spine_skeleton_data)>>('spine_skeleton_data_get_bones'); - late final _spine_skeleton_data_get_bones = - _spine_skeleton_data_get_bonesPtr.asFunction Function(spine_skeleton_data)>(); + late final _spine_skeleton_data_get_bonesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_skeleton_data)>>('spine_skeleton_data_get_bones'); + late final _spine_skeleton_data_get_bones = _spine_skeleton_data_get_bonesPtr + .asFunction Function(spine_skeleton_data)>(); int spine_skeleton_data_get_num_slots( spine_skeleton_data data, @@ -464,8 +572,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_num_slotsPtr = - _lookup>('spine_skeleton_data_get_num_slots'); - late final _spine_skeleton_data_get_num_slots = _spine_skeleton_data_get_num_slotsPtr.asFunction(); + _lookup>( + 'spine_skeleton_data_get_num_slots'); + late final _spine_skeleton_data_get_num_slots = + _spine_skeleton_data_get_num_slotsPtr + .asFunction(); ffi.Pointer spine_skeleton_data_get_slots( spine_skeleton_data data, @@ -475,10 +586,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_get_slotsPtr = - _lookup Function(spine_skeleton_data)>>('spine_skeleton_data_get_slots'); - late final _spine_skeleton_data_get_slots = - _spine_skeleton_data_get_slotsPtr.asFunction Function(spine_skeleton_data)>(); + late final _spine_skeleton_data_get_slotsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_skeleton_data)>>('spine_skeleton_data_get_slots'); + late final _spine_skeleton_data_get_slots = _spine_skeleton_data_get_slotsPtr + .asFunction Function(spine_skeleton_data)>(); int spine_skeleton_data_get_num_skins( spine_skeleton_data data, @@ -489,8 +602,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_num_skinsPtr = - _lookup>('spine_skeleton_data_get_num_skins'); - late final _spine_skeleton_data_get_num_skins = _spine_skeleton_data_get_num_skinsPtr.asFunction(); + _lookup>( + 'spine_skeleton_data_get_num_skins'); + late final _spine_skeleton_data_get_num_skins = + _spine_skeleton_data_get_num_skinsPtr + .asFunction(); ffi.Pointer spine_skeleton_data_get_skins( spine_skeleton_data data, @@ -500,10 +616,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_get_skinsPtr = - _lookup Function(spine_skeleton_data)>>('spine_skeleton_data_get_skins'); - late final _spine_skeleton_data_get_skins = - _spine_skeleton_data_get_skinsPtr.asFunction Function(spine_skeleton_data)>(); + late final _spine_skeleton_data_get_skinsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_skeleton_data)>>('spine_skeleton_data_get_skins'); + late final _spine_skeleton_data_get_skins = _spine_skeleton_data_get_skinsPtr + .asFunction Function(spine_skeleton_data)>(); spine_skin spine_skeleton_data_get_default_skin( spine_skeleton_data data, @@ -514,9 +632,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_default_skinPtr = - _lookup>('spine_skeleton_data_get_default_skin'); + _lookup>( + 'spine_skeleton_data_get_default_skin'); late final _spine_skeleton_data_get_default_skin = - _spine_skeleton_data_get_default_skinPtr.asFunction(); + _spine_skeleton_data_get_default_skinPtr + .asFunction(); void spine_skeleton_data_set_default_skin( spine_skeleton_data data, @@ -528,10 +648,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_set_default_skinPtr = - _lookup>('spine_skeleton_data_set_default_skin'); + late final _spine_skeleton_data_set_default_skinPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton_data, + spine_skin)>>('spine_skeleton_data_set_default_skin'); late final _spine_skeleton_data_set_default_skin = - _spine_skeleton_data_set_default_skinPtr.asFunction(); + _spine_skeleton_data_set_default_skinPtr + .asFunction(); int spine_skeleton_data_get_num_events( spine_skeleton_data data, @@ -542,8 +665,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_num_eventsPtr = - _lookup>('spine_skeleton_data_get_num_events'); - late final _spine_skeleton_data_get_num_events = _spine_skeleton_data_get_num_eventsPtr.asFunction(); + _lookup>( + 'spine_skeleton_data_get_num_events'); + late final _spine_skeleton_data_get_num_events = + _spine_skeleton_data_get_num_eventsPtr + .asFunction(); ffi.Pointer spine_skeleton_data_get_events( spine_skeleton_data data, @@ -553,10 +679,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_get_eventsPtr = - _lookup Function(spine_skeleton_data)>>('spine_skeleton_data_get_events'); + late final _spine_skeleton_data_get_eventsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_skeleton_data)>>('spine_skeleton_data_get_events'); late final _spine_skeleton_data_get_events = - _spine_skeleton_data_get_eventsPtr.asFunction Function(spine_skeleton_data)>(); + _spine_skeleton_data_get_eventsPtr.asFunction< + ffi.Pointer Function(spine_skeleton_data)>(); int spine_skeleton_data_get_num_animations( spine_skeleton_data data, @@ -567,9 +696,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_num_animationsPtr = - _lookup>('spine_skeleton_data_get_num_animations'); + _lookup>( + 'spine_skeleton_data_get_num_animations'); late final _spine_skeleton_data_get_num_animations = - _spine_skeleton_data_get_num_animationsPtr.asFunction(); + _spine_skeleton_data_get_num_animationsPtr + .asFunction(); ffi.Pointer spine_skeleton_data_get_animations( spine_skeleton_data data, @@ -579,10 +710,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_get_animationsPtr = - _lookup Function(spine_skeleton_data)>>('spine_skeleton_data_get_animations'); + late final _spine_skeleton_data_get_animationsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_skeleton_data)>>('spine_skeleton_data_get_animations'); late final _spine_skeleton_data_get_animations = - _spine_skeleton_data_get_animationsPtr.asFunction Function(spine_skeleton_data)>(); + _spine_skeleton_data_get_animationsPtr.asFunction< + ffi.Pointer Function(spine_skeleton_data)>(); int spine_skeleton_data_get_num_ik_constraints( spine_skeleton_data data, @@ -593,9 +727,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_num_ik_constraintsPtr = - _lookup>('spine_skeleton_data_get_num_ik_constraints'); + _lookup>( + 'spine_skeleton_data_get_num_ik_constraints'); late final _spine_skeleton_data_get_num_ik_constraints = - _spine_skeleton_data_get_num_ik_constraintsPtr.asFunction(); + _spine_skeleton_data_get_num_ik_constraintsPtr + .asFunction(); ffi.Pointer spine_skeleton_data_get_ik_constraints( spine_skeleton_data data, @@ -605,11 +741,14 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_get_ik_constraintsPtr = - _lookup Function(spine_skeleton_data)>>( - 'spine_skeleton_data_get_ik_constraints'); + late final _spine_skeleton_data_get_ik_constraintsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_skeleton_data)>>('spine_skeleton_data_get_ik_constraints'); late final _spine_skeleton_data_get_ik_constraints = - _spine_skeleton_data_get_ik_constraintsPtr.asFunction Function(spine_skeleton_data)>(); + _spine_skeleton_data_get_ik_constraintsPtr.asFunction< + ffi.Pointer Function( + spine_skeleton_data)>(); int spine_skeleton_data_get_num_transform_constraints( spine_skeleton_data data, @@ -620,11 +759,14 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_num_transform_constraintsPtr = - _lookup>('spine_skeleton_data_get_num_transform_constraints'); + _lookup>( + 'spine_skeleton_data_get_num_transform_constraints'); late final _spine_skeleton_data_get_num_transform_constraints = - _spine_skeleton_data_get_num_transform_constraintsPtr.asFunction(); + _spine_skeleton_data_get_num_transform_constraintsPtr + .asFunction(); - ffi.Pointer spine_skeleton_data_get_transform_constraints( + ffi.Pointer + spine_skeleton_data_get_transform_constraints( spine_skeleton_data data, ) { return _spine_skeleton_data_get_transform_constraints( @@ -632,11 +774,15 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_get_transform_constraintsPtr = - _lookup Function(spine_skeleton_data)>>( - 'spine_skeleton_data_get_transform_constraints'); - late final _spine_skeleton_data_get_transform_constraints = _spine_skeleton_data_get_transform_constraintsPtr - .asFunction Function(spine_skeleton_data)>(); + late final _spine_skeleton_data_get_transform_constraintsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_skeleton_data)>>( + 'spine_skeleton_data_get_transform_constraints'); + late final _spine_skeleton_data_get_transform_constraints = + _spine_skeleton_data_get_transform_constraintsPtr.asFunction< + ffi.Pointer Function( + spine_skeleton_data)>(); int spine_skeleton_data_get_num_path_constraints( spine_skeleton_data data, @@ -647,11 +793,14 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_num_path_constraintsPtr = - _lookup>('spine_skeleton_data_get_num_path_constraints'); + _lookup>( + 'spine_skeleton_data_get_num_path_constraints'); late final _spine_skeleton_data_get_num_path_constraints = - _spine_skeleton_data_get_num_path_constraintsPtr.asFunction(); + _spine_skeleton_data_get_num_path_constraintsPtr + .asFunction(); - ffi.Pointer spine_skeleton_data_get_path_constraints( + ffi.Pointer + spine_skeleton_data_get_path_constraints( spine_skeleton_data data, ) { return _spine_skeleton_data_get_path_constraints( @@ -659,11 +808,15 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_get_path_constraintsPtr = - _lookup Function(spine_skeleton_data)>>( - 'spine_skeleton_data_get_path_constraints'); + late final _spine_skeleton_data_get_path_constraintsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_skeleton_data)>>( + 'spine_skeleton_data_get_path_constraints'); late final _spine_skeleton_data_get_path_constraints = - _spine_skeleton_data_get_path_constraintsPtr.asFunction Function(spine_skeleton_data)>(); + _spine_skeleton_data_get_path_constraintsPtr.asFunction< + ffi.Pointer Function( + spine_skeleton_data)>(); double spine_skeleton_data_get_x( spine_skeleton_data data, @@ -674,8 +827,10 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_xPtr = - _lookup>('spine_skeleton_data_get_x'); - late final _spine_skeleton_data_get_x = _spine_skeleton_data_get_xPtr.asFunction(); + _lookup>( + 'spine_skeleton_data_get_x'); + late final _spine_skeleton_data_get_x = _spine_skeleton_data_get_xPtr + .asFunction(); void spine_skeleton_data_set_x( spine_skeleton_data data, @@ -687,9 +842,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_set_xPtr = - _lookup>('spine_skeleton_data_set_x'); - late final _spine_skeleton_data_set_x = _spine_skeleton_data_set_xPtr.asFunction(); + late final _spine_skeleton_data_set_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_skeleton_data, ffi.Float)>>('spine_skeleton_data_set_x'); + late final _spine_skeleton_data_set_x = _spine_skeleton_data_set_xPtr + .asFunction(); double spine_skeleton_data_get_y( spine_skeleton_data data, @@ -700,8 +858,10 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_yPtr = - _lookup>('spine_skeleton_data_get_y'); - late final _spine_skeleton_data_get_y = _spine_skeleton_data_get_yPtr.asFunction(); + _lookup>( + 'spine_skeleton_data_get_y'); + late final _spine_skeleton_data_get_y = _spine_skeleton_data_get_yPtr + .asFunction(); void spine_skeleton_data_set_y( spine_skeleton_data data, @@ -713,9 +873,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_set_yPtr = - _lookup>('spine_skeleton_data_set_y'); - late final _spine_skeleton_data_set_y = _spine_skeleton_data_set_yPtr.asFunction(); + late final _spine_skeleton_data_set_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_skeleton_data, ffi.Float)>>('spine_skeleton_data_set_y'); + late final _spine_skeleton_data_set_y = _spine_skeleton_data_set_yPtr + .asFunction(); double spine_skeleton_data_get_width( spine_skeleton_data data, @@ -726,8 +889,10 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_widthPtr = - _lookup>('spine_skeleton_data_get_width'); - late final _spine_skeleton_data_get_width = _spine_skeleton_data_get_widthPtr.asFunction(); + _lookup>( + 'spine_skeleton_data_get_width'); + late final _spine_skeleton_data_get_width = _spine_skeleton_data_get_widthPtr + .asFunction(); void spine_skeleton_data_set_width( spine_skeleton_data data, @@ -739,9 +904,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_set_widthPtr = - _lookup>('spine_skeleton_data_set_width'); - late final _spine_skeleton_data_set_width = _spine_skeleton_data_set_widthPtr.asFunction(); + late final _spine_skeleton_data_set_widthPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton_data, + ffi.Float)>>('spine_skeleton_data_set_width'); + late final _spine_skeleton_data_set_width = _spine_skeleton_data_set_widthPtr + .asFunction(); double spine_skeleton_data_get_height( spine_skeleton_data data, @@ -752,8 +920,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_heightPtr = - _lookup>('spine_skeleton_data_get_height'); - late final _spine_skeleton_data_get_height = _spine_skeleton_data_get_heightPtr.asFunction(); + _lookup>( + 'spine_skeleton_data_get_height'); + late final _spine_skeleton_data_get_height = + _spine_skeleton_data_get_heightPtr + .asFunction(); void spine_skeleton_data_set_height( spine_skeleton_data data, @@ -765,9 +936,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_set_heightPtr = - _lookup>('spine_skeleton_data_set_height'); - late final _spine_skeleton_data_set_height = _spine_skeleton_data_set_heightPtr.asFunction(); + late final _spine_skeleton_data_set_heightPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton_data, + ffi.Float)>>('spine_skeleton_data_set_height'); + late final _spine_skeleton_data_set_height = + _spine_skeleton_data_set_heightPtr + .asFunction(); ffi.Pointer spine_skeleton_data_get_version( spine_skeleton_data data, @@ -777,10 +952,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_get_versionPtr = - _lookup Function(spine_skeleton_data)>>('spine_skeleton_data_get_version'); + late final _spine_skeleton_data_get_versionPtr = _lookup< + ffi.NativeFunction Function(spine_skeleton_data)>>( + 'spine_skeleton_data_get_version'); late final _spine_skeleton_data_get_version = - _spine_skeleton_data_get_versionPtr.asFunction Function(spine_skeleton_data)>(); + _spine_skeleton_data_get_versionPtr + .asFunction Function(spine_skeleton_data)>(); /// OMITTED setVersion() ffi.Pointer spine_skeleton_data_get_hash( @@ -791,9 +968,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_get_hashPtr = - _lookup Function(spine_skeleton_data)>>('spine_skeleton_data_get_hash'); - late final _spine_skeleton_data_get_hash = _spine_skeleton_data_get_hashPtr.asFunction Function(spine_skeleton_data)>(); + late final _spine_skeleton_data_get_hashPtr = _lookup< + ffi.NativeFunction Function(spine_skeleton_data)>>( + 'spine_skeleton_data_get_hash'); + late final _spine_skeleton_data_get_hash = _spine_skeleton_data_get_hashPtr + .asFunction Function(spine_skeleton_data)>(); /// OMITTED setHash() ffi.Pointer spine_skeleton_data_get_images_path( @@ -804,10 +983,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_get_images_pathPtr = - _lookup Function(spine_skeleton_data)>>('spine_skeleton_data_get_images_path'); + late final _spine_skeleton_data_get_images_pathPtr = _lookup< + ffi.NativeFunction Function(spine_skeleton_data)>>( + 'spine_skeleton_data_get_images_path'); late final _spine_skeleton_data_get_images_path = - _spine_skeleton_data_get_images_pathPtr.asFunction Function(spine_skeleton_data)>(); + _spine_skeleton_data_get_images_pathPtr + .asFunction Function(spine_skeleton_data)>(); /// OMITTED setImagesPath() ffi.Pointer spine_skeleton_data_get_audio_path( @@ -818,10 +999,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_data_get_audio_pathPtr = - _lookup Function(spine_skeleton_data)>>('spine_skeleton_data_get_audio_path'); + late final _spine_skeleton_data_get_audio_pathPtr = _lookup< + ffi.NativeFunction Function(spine_skeleton_data)>>( + 'spine_skeleton_data_get_audio_path'); late final _spine_skeleton_data_get_audio_path = - _spine_skeleton_data_get_audio_pathPtr.asFunction Function(spine_skeleton_data)>(); + _spine_skeleton_data_get_audio_pathPtr + .asFunction Function(spine_skeleton_data)>(); /// OMITTED setAudioPath() double spine_skeleton_data_get_fps( @@ -833,8 +1016,10 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_get_fpsPtr = - _lookup>('spine_skeleton_data_get_fps'); - late final _spine_skeleton_data_get_fps = _spine_skeleton_data_get_fpsPtr.asFunction(); + _lookup>( + 'spine_skeleton_data_get_fps'); + late final _spine_skeleton_data_get_fps = _spine_skeleton_data_get_fpsPtr + .asFunction(); /// OMITTED setFps() void spine_skeleton_data_dispose( @@ -846,8 +1031,10 @@ class SpineFlutterBindings { } late final _spine_skeleton_data_disposePtr = - _lookup>('spine_skeleton_data_dispose'); - late final _spine_skeleton_data_dispose = _spine_skeleton_data_disposePtr.asFunction(); + _lookup>( + 'spine_skeleton_data_dispose'); + late final _spine_skeleton_data_dispose = _spine_skeleton_data_disposePtr + .asFunction(); spine_skeleton_drawable spine_skeleton_drawable_create( spine_skeleton_data skeletonData, @@ -857,10 +1044,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_drawable_createPtr = - _lookup>('spine_skeleton_drawable_create'); + late final _spine_skeleton_drawable_createPtr = _lookup< + ffi.NativeFunction< + spine_skeleton_drawable Function( + spine_skeleton_data)>>('spine_skeleton_drawable_create'); late final _spine_skeleton_drawable_create = - _spine_skeleton_drawable_createPtr.asFunction(); + _spine_skeleton_drawable_createPtr + .asFunction(); spine_render_command spine_skeleton_drawable_render( spine_skeleton_drawable drawable, @@ -870,10 +1060,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_drawable_renderPtr = - _lookup>('spine_skeleton_drawable_render'); + late final _spine_skeleton_drawable_renderPtr = _lookup< + ffi.NativeFunction< + spine_render_command Function( + spine_skeleton_drawable)>>('spine_skeleton_drawable_render'); late final _spine_skeleton_drawable_render = - _spine_skeleton_drawable_renderPtr.asFunction(); + _spine_skeleton_drawable_renderPtr + .asFunction(); void spine_skeleton_drawable_dispose( spine_skeleton_drawable drawable, @@ -884,8 +1077,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_drawable_disposePtr = - _lookup>('spine_skeleton_drawable_dispose'); - late final _spine_skeleton_drawable_dispose = _spine_skeleton_drawable_disposePtr.asFunction(); + _lookup>( + 'spine_skeleton_drawable_dispose'); + late final _spine_skeleton_drawable_dispose = + _spine_skeleton_drawable_disposePtr + .asFunction(); spine_skeleton spine_skeleton_drawable_get_skeleton( spine_skeleton_drawable drawable, @@ -895,10 +1091,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_drawable_get_skeletonPtr = - _lookup>('spine_skeleton_drawable_get_skeleton'); + late final _spine_skeleton_drawable_get_skeletonPtr = _lookup< + ffi.NativeFunction>( + 'spine_skeleton_drawable_get_skeleton'); late final _spine_skeleton_drawable_get_skeleton = - _spine_skeleton_drawable_get_skeletonPtr.asFunction(); + _spine_skeleton_drawable_get_skeletonPtr + .asFunction(); spine_animation_state spine_skeleton_drawable_get_animation_state( spine_skeleton_drawable drawable, @@ -908,10 +1106,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_drawable_get_animation_statePtr = - _lookup>('spine_skeleton_drawable_get_animation_state'); + late final _spine_skeleton_drawable_get_animation_statePtr = _lookup< + ffi.NativeFunction< + spine_animation_state Function(spine_skeleton_drawable)>>( + 'spine_skeleton_drawable_get_animation_state'); late final _spine_skeleton_drawable_get_animation_state = - _spine_skeleton_drawable_get_animation_statePtr.asFunction(); + _spine_skeleton_drawable_get_animation_statePtr.asFunction< + spine_animation_state Function(spine_skeleton_drawable)>(); spine_animation_state_data spine_skeleton_drawable_get_animation_state_data( spine_skeleton_drawable drawable, @@ -921,13 +1122,16 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_drawable_get_animation_state_dataPtr = - _lookup>( - 'spine_skeleton_drawable_get_animation_state_data'); + late final _spine_skeleton_drawable_get_animation_state_dataPtr = _lookup< + ffi.NativeFunction< + spine_animation_state_data Function(spine_skeleton_drawable)>>( + 'spine_skeleton_drawable_get_animation_state_data'); late final _spine_skeleton_drawable_get_animation_state_data = - _spine_skeleton_drawable_get_animation_state_dataPtr.asFunction(); + _spine_skeleton_drawable_get_animation_state_dataPtr.asFunction< + spine_animation_state_data Function(spine_skeleton_drawable)>(); - spine_animation_state_events spine_skeleton_drawable_get_animation_state_events( + spine_animation_state_events + spine_skeleton_drawable_get_animation_state_events( spine_skeleton_drawable drawable, ) { return _spine_skeleton_drawable_get_animation_state_events( @@ -935,11 +1139,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_drawable_get_animation_state_eventsPtr = - _lookup>( - 'spine_skeleton_drawable_get_animation_state_events'); + late final _spine_skeleton_drawable_get_animation_state_eventsPtr = _lookup< + ffi.NativeFunction< + spine_animation_state_events Function(spine_skeleton_drawable)>>( + 'spine_skeleton_drawable_get_animation_state_events'); late final _spine_skeleton_drawable_get_animation_state_events = - _spine_skeleton_drawable_get_animation_state_eventsPtr.asFunction(); + _spine_skeleton_drawable_get_animation_state_eventsPtr.asFunction< + spine_animation_state_events Function(spine_skeleton_drawable)>(); ffi.Pointer spine_render_command_get_positions( spine_render_command command, @@ -949,10 +1155,13 @@ class SpineFlutterBindings { ); } - late final _spine_render_command_get_positionsPtr = - _lookup Function(spine_render_command)>>('spine_render_command_get_positions'); + late final _spine_render_command_get_positionsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_render_command)>>('spine_render_command_get_positions'); late final _spine_render_command_get_positions = - _spine_render_command_get_positionsPtr.asFunction Function(spine_render_command)>(); + _spine_render_command_get_positionsPtr + .asFunction Function(spine_render_command)>(); ffi.Pointer spine_render_command_get_uvs( spine_render_command command, @@ -962,10 +1171,12 @@ class SpineFlutterBindings { ); } - late final _spine_render_command_get_uvsPtr = - _lookup Function(spine_render_command)>>('spine_render_command_get_uvs'); - late final _spine_render_command_get_uvs = - _spine_render_command_get_uvsPtr.asFunction Function(spine_render_command)>(); + late final _spine_render_command_get_uvsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_render_command)>>('spine_render_command_get_uvs'); + late final _spine_render_command_get_uvs = _spine_render_command_get_uvsPtr + .asFunction Function(spine_render_command)>(); ffi.Pointer spine_render_command_get_colors( spine_render_command command, @@ -975,10 +1186,13 @@ class SpineFlutterBindings { ); } - late final _spine_render_command_get_colorsPtr = - _lookup Function(spine_render_command)>>('spine_render_command_get_colors'); + late final _spine_render_command_get_colorsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_render_command)>>('spine_render_command_get_colors'); late final _spine_render_command_get_colors = - _spine_render_command_get_colorsPtr.asFunction Function(spine_render_command)>(); + _spine_render_command_get_colorsPtr + .asFunction Function(spine_render_command)>(); int spine_render_command_get_num_vertices( spine_render_command command, @@ -989,9 +1203,11 @@ class SpineFlutterBindings { } late final _spine_render_command_get_num_verticesPtr = - _lookup>('spine_render_command_get_num_vertices'); + _lookup>( + 'spine_render_command_get_num_vertices'); late final _spine_render_command_get_num_vertices = - _spine_render_command_get_num_verticesPtr.asFunction(); + _spine_render_command_get_num_verticesPtr + .asFunction(); ffi.Pointer spine_render_command_get_indices( spine_render_command command, @@ -1001,10 +1217,13 @@ class SpineFlutterBindings { ); } - late final _spine_render_command_get_indicesPtr = - _lookup Function(spine_render_command)>>('spine_render_command_get_indices'); + late final _spine_render_command_get_indicesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_render_command)>>('spine_render_command_get_indices'); late final _spine_render_command_get_indices = - _spine_render_command_get_indicesPtr.asFunction Function(spine_render_command)>(); + _spine_render_command_get_indicesPtr + .asFunction Function(spine_render_command)>(); int spine_render_command_get_num_indices( spine_render_command command, @@ -1015,9 +1234,11 @@ class SpineFlutterBindings { } late final _spine_render_command_get_num_indicesPtr = - _lookup>('spine_render_command_get_num_indices'); + _lookup>( + 'spine_render_command_get_num_indices'); late final _spine_render_command_get_num_indices = - _spine_render_command_get_num_indicesPtr.asFunction(); + _spine_render_command_get_num_indicesPtr + .asFunction(); int spine_render_command_get_atlas_page( spine_render_command command, @@ -1028,9 +1249,11 @@ class SpineFlutterBindings { } late final _spine_render_command_get_atlas_pagePtr = - _lookup>('spine_render_command_get_atlas_page'); + _lookup>( + 'spine_render_command_get_atlas_page'); late final _spine_render_command_get_atlas_page = - _spine_render_command_get_atlas_pagePtr.asFunction(); + _spine_render_command_get_atlas_pagePtr + .asFunction(); int spine_render_command_get_blend_mode( spine_render_command command, @@ -1041,9 +1264,11 @@ class SpineFlutterBindings { } late final _spine_render_command_get_blend_modePtr = - _lookup>('spine_render_command_get_blend_mode'); + _lookup>( + 'spine_render_command_get_blend_mode'); late final _spine_render_command_get_blend_mode = - _spine_render_command_get_blend_modePtr.asFunction(); + _spine_render_command_get_blend_modePtr + .asFunction(); spine_render_command spine_render_command_get_next( spine_render_command command, @@ -1053,10 +1278,12 @@ class SpineFlutterBindings { ); } - late final _spine_render_command_get_nextPtr = - _lookup>('spine_render_command_get_next'); - late final _spine_render_command_get_next = - _spine_render_command_get_nextPtr.asFunction(); + late final _spine_render_command_get_nextPtr = _lookup< + ffi.NativeFunction< + spine_render_command Function( + spine_render_command)>>('spine_render_command_get_next'); + late final _spine_render_command_get_next = _spine_render_command_get_nextPtr + .asFunction(); ffi.Pointer spine_animation_get_name( spine_animation animation, @@ -1067,8 +1294,10 @@ class SpineFlutterBindings { } late final _spine_animation_get_namePtr = - _lookup Function(spine_animation)>>('spine_animation_get_name'); - late final _spine_animation_get_name = _spine_animation_get_namePtr.asFunction Function(spine_animation)>(); + _lookup Function(spine_animation)>>( + 'spine_animation_get_name'); + late final _spine_animation_get_name = _spine_animation_get_namePtr + .asFunction Function(spine_animation)>(); /// OMITTED getTimelines() /// OMITTED hasTimeline() @@ -1081,8 +1310,10 @@ class SpineFlutterBindings { } late final _spine_animation_get_durationPtr = - _lookup>('spine_animation_get_duration'); - late final _spine_animation_get_duration = _spine_animation_get_durationPtr.asFunction(); + _lookup>( + 'spine_animation_get_duration'); + late final _spine_animation_get_duration = _spine_animation_get_durationPtr + .asFunction(); /// OMITTED setDuration() spine_skeleton_data spine_animation_state_data_get_skeleton_data( @@ -1093,10 +1324,13 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_data_get_skeleton_dataPtr = - _lookup>('spine_animation_state_data_get_skeleton_data'); + late final _spine_animation_state_data_get_skeleton_dataPtr = _lookup< + ffi.NativeFunction< + spine_skeleton_data Function(spine_animation_state_data)>>( + 'spine_animation_state_data_get_skeleton_data'); late final _spine_animation_state_data_get_skeleton_data = - _spine_animation_state_data_get_skeleton_dataPtr.asFunction(); + _spine_animation_state_data_get_skeleton_dataPtr.asFunction< + spine_skeleton_data Function(spine_animation_state_data)>(); double spine_animation_state_data_get_default_mix( spine_animation_state_data stateData, @@ -1106,10 +1340,12 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_data_get_default_mixPtr = - _lookup>('spine_animation_state_data_get_default_mix'); + late final _spine_animation_state_data_get_default_mixPtr = _lookup< + ffi.NativeFunction>( + 'spine_animation_state_data_get_default_mix'); late final _spine_animation_state_data_get_default_mix = - _spine_animation_state_data_get_default_mixPtr.asFunction(); + _spine_animation_state_data_get_default_mixPtr + .asFunction(); void spine_animation_state_data_set_default_mix( spine_animation_state_data stateData, @@ -1121,10 +1357,13 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_data_set_default_mixPtr = - _lookup>('spine_animation_state_data_set_default_mix'); + late final _spine_animation_state_data_set_default_mixPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_animation_state_data, + ffi.Float)>>('spine_animation_state_data_set_default_mix'); late final _spine_animation_state_data_set_default_mix = - _spine_animation_state_data_set_default_mixPtr.asFunction(); + _spine_animation_state_data_set_default_mixPtr + .asFunction(); void spine_animation_state_data_set_mix( spine_animation_state_data stateData, @@ -1140,11 +1379,17 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_data_set_mixPtr = - _lookup>( - 'spine_animation_state_data_set_mix'); - late final _spine_animation_state_data_set_mix = _spine_animation_state_data_set_mixPtr - .asFunction(); + late final _spine_animation_state_data_set_mixPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_animation_state_data, + spine_animation, + spine_animation, + ffi.Float)>>('spine_animation_state_data_set_mix'); + late final _spine_animation_state_data_set_mix = + _spine_animation_state_data_set_mixPtr.asFunction< + void Function(spine_animation_state_data, spine_animation, + spine_animation, double)>(); double spine_animation_state_data_get_mix( spine_animation_state_data stateData, @@ -1158,11 +1403,14 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_data_get_mixPtr = - _lookup>( - 'spine_animation_state_data_get_mix'); + late final _spine_animation_state_data_get_mixPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_animation_state_data, spine_animation, + spine_animation)>>('spine_animation_state_data_get_mix'); late final _spine_animation_state_data_get_mix = - _spine_animation_state_data_get_mixPtr.asFunction(); + _spine_animation_state_data_get_mixPtr.asFunction< + double Function( + spine_animation_state_data, spine_animation, spine_animation)>(); void spine_animation_state_data_set_mix_by_name( spine_animation_state_data stateData, @@ -1178,11 +1426,17 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_data_set_mix_by_namePtr = - _lookup, ffi.Pointer, ffi.Float)>>( - 'spine_animation_state_data_set_mix_by_name'); - late final _spine_animation_state_data_set_mix_by_name = _spine_animation_state_data_set_mix_by_namePtr - .asFunction, ffi.Pointer, double)>(); + late final _spine_animation_state_data_set_mix_by_namePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_animation_state_data, + ffi.Pointer, + ffi.Pointer, + ffi.Float)>>('spine_animation_state_data_set_mix_by_name'); + late final _spine_animation_state_data_set_mix_by_name = + _spine_animation_state_data_set_mix_by_namePtr.asFunction< + void Function(spine_animation_state_data, ffi.Pointer, + ffi.Pointer, double)>(); double spine_animation_state_data_get_mix_by_name( spine_animation_state_data stateData, @@ -1196,11 +1450,15 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_data_get_mix_by_namePtr = - _lookup, ffi.Pointer)>>( - 'spine_animation_state_data_get_mix_by_name'); - late final _spine_animation_state_data_get_mix_by_name = _spine_animation_state_data_get_mix_by_namePtr - .asFunction, ffi.Pointer)>(); + late final _spine_animation_state_data_get_mix_by_namePtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_animation_state_data, ffi.Pointer, + ffi.Pointer)>>( + 'spine_animation_state_data_get_mix_by_name'); + late final _spine_animation_state_data_get_mix_by_name = + _spine_animation_state_data_get_mix_by_namePtr.asFunction< + double Function(spine_animation_state_data, ffi.Pointer, + ffi.Pointer)>(); void spine_animation_state_data_clear( spine_animation_state_data stateData, @@ -1210,10 +1468,12 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_data_clearPtr = - _lookup>('spine_animation_state_data_clear'); + late final _spine_animation_state_data_clearPtr = _lookup< + ffi.NativeFunction>( + 'spine_animation_state_data_clear'); late final _spine_animation_state_data_clear = - _spine_animation_state_data_clearPtr.asFunction(); + _spine_animation_state_data_clearPtr + .asFunction(); void spine_animation_state_update( spine_animation_state state, @@ -1225,9 +1485,12 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_updatePtr = - _lookup>('spine_animation_state_update'); - late final _spine_animation_state_update = _spine_animation_state_updatePtr.asFunction(); + late final _spine_animation_state_updatePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_animation_state, + ffi.Float)>>('spine_animation_state_update'); + late final _spine_animation_state_update = _spine_animation_state_updatePtr + .asFunction(); void spine_animation_state_apply( spine_animation_state state, @@ -1239,10 +1502,12 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_applyPtr = - _lookup>('spine_animation_state_apply'); - late final _spine_animation_state_apply = - _spine_animation_state_applyPtr.asFunction(); + late final _spine_animation_state_applyPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_animation_state, + spine_skeleton)>>('spine_animation_state_apply'); + late final _spine_animation_state_apply = _spine_animation_state_applyPtr + .asFunction(); void spine_animation_state_clear_tracks( spine_animation_state state, @@ -1253,9 +1518,11 @@ class SpineFlutterBindings { } late final _spine_animation_state_clear_tracksPtr = - _lookup>('spine_animation_state_clear_tracks'); + _lookup>( + 'spine_animation_state_clear_tracks'); late final _spine_animation_state_clear_tracks = - _spine_animation_state_clear_tracksPtr.asFunction(); + _spine_animation_state_clear_tracksPtr + .asFunction(); void spine_animation_state_clear_track( spine_animation_state state, @@ -1267,10 +1534,13 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_clear_trackPtr = - _lookup>('spine_animation_state_clear_track'); + late final _spine_animation_state_clear_trackPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_animation_state, + ffi.Int32)>>('spine_animation_state_clear_track'); late final _spine_animation_state_clear_track = - _spine_animation_state_clear_trackPtr.asFunction(); + _spine_animation_state_clear_trackPtr + .asFunction(); int spine_animation_state_get_num_tracks( spine_animation_state state, @@ -1281,9 +1551,11 @@ class SpineFlutterBindings { } late final _spine_animation_state_get_num_tracksPtr = - _lookup>('spine_animation_state_get_num_tracks'); + _lookup>( + 'spine_animation_state_get_num_tracks'); late final _spine_animation_state_get_num_tracks = - _spine_animation_state_get_num_tracksPtr.asFunction(); + _spine_animation_state_get_num_tracksPtr + .asFunction(); spine_track_entry spine_animation_state_set_animation_by_name( spine_animation_state state, @@ -1299,11 +1571,17 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_set_animation_by_namePtr = - _lookup, ffi.Int32)>>( - 'spine_animation_state_set_animation_by_name'); - late final _spine_animation_state_set_animation_by_name = _spine_animation_state_set_animation_by_namePtr - .asFunction, int)>(); + late final _spine_animation_state_set_animation_by_namePtr = _lookup< + ffi.NativeFunction< + spine_track_entry Function( + spine_animation_state, + ffi.Int32, + ffi.Pointer, + ffi.Int32)>>('spine_animation_state_set_animation_by_name'); + late final _spine_animation_state_set_animation_by_name = + _spine_animation_state_set_animation_by_namePtr.asFunction< + spine_track_entry Function( + spine_animation_state, int, ffi.Pointer, int)>(); spine_track_entry spine_animation_state_set_animation( spine_animation_state state, @@ -1319,11 +1597,17 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_set_animationPtr = - _lookup>( - 'spine_animation_state_set_animation'); + late final _spine_animation_state_set_animationPtr = _lookup< + ffi.NativeFunction< + spine_track_entry Function( + spine_animation_state, + ffi.Int32, + spine_animation, + ffi.Int32)>>('spine_animation_state_set_animation'); late final _spine_animation_state_set_animation = - _spine_animation_state_set_animationPtr.asFunction(); + _spine_animation_state_set_animationPtr.asFunction< + spine_track_entry Function( + spine_animation_state, int, spine_animation, int)>(); spine_track_entry spine_animation_state_add_animation_by_name( spine_animation_state state, @@ -1341,11 +1625,18 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_add_animation_by_namePtr = - _lookup, ffi.Int32, ffi.Float)>>( - 'spine_animation_state_add_animation_by_name'); - late final _spine_animation_state_add_animation_by_name = _spine_animation_state_add_animation_by_namePtr - .asFunction, int, double)>(); + late final _spine_animation_state_add_animation_by_namePtr = _lookup< + ffi.NativeFunction< + spine_track_entry Function( + spine_animation_state, + ffi.Int32, + ffi.Pointer, + ffi.Int32, + ffi.Float)>>('spine_animation_state_add_animation_by_name'); + late final _spine_animation_state_add_animation_by_name = + _spine_animation_state_add_animation_by_namePtr.asFunction< + spine_track_entry Function( + spine_animation_state, int, ffi.Pointer, int, double)>(); spine_track_entry spine_animation_state_add_animation( spine_animation_state state, @@ -1363,11 +1654,18 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_add_animationPtr = - _lookup>( - 'spine_animation_state_add_animation'); - late final _spine_animation_state_add_animation = _spine_animation_state_add_animationPtr - .asFunction(); + late final _spine_animation_state_add_animationPtr = _lookup< + ffi.NativeFunction< + spine_track_entry Function( + spine_animation_state, + ffi.Int32, + spine_animation, + ffi.Int32, + ffi.Float)>>('spine_animation_state_add_animation'); + late final _spine_animation_state_add_animation = + _spine_animation_state_add_animationPtr.asFunction< + spine_track_entry Function( + spine_animation_state, int, spine_animation, int, double)>(); spine_track_entry spine_animation_state_set_empty_animation( spine_animation_state state, @@ -1381,11 +1679,13 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_set_empty_animationPtr = - _lookup>( - 'spine_animation_state_set_empty_animation'); + late final _spine_animation_state_set_empty_animationPtr = _lookup< + ffi.NativeFunction< + spine_track_entry Function(spine_animation_state, ffi.Int32, + ffi.Float)>>('spine_animation_state_set_empty_animation'); late final _spine_animation_state_set_empty_animation = - _spine_animation_state_set_empty_animationPtr.asFunction(); + _spine_animation_state_set_empty_animationPtr.asFunction< + spine_track_entry Function(spine_animation_state, int, double)>(); spine_track_entry spine_animation_state_add_empty_animation( spine_animation_state state, @@ -1401,11 +1701,17 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_add_empty_animationPtr = - _lookup>( - 'spine_animation_state_add_empty_animation'); + late final _spine_animation_state_add_empty_animationPtr = _lookup< + ffi.NativeFunction< + spine_track_entry Function( + spine_animation_state, + ffi.Int32, + ffi.Float, + ffi.Float)>>('spine_animation_state_add_empty_animation'); late final _spine_animation_state_add_empty_animation = - _spine_animation_state_add_empty_animationPtr.asFunction(); + _spine_animation_state_add_empty_animationPtr.asFunction< + spine_track_entry Function( + spine_animation_state, int, double, double)>(); void spine_animation_state_set_empty_animations( spine_animation_state state, @@ -1417,10 +1723,13 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_set_empty_animationsPtr = - _lookup>('spine_animation_state_set_empty_animations'); + late final _spine_animation_state_set_empty_animationsPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_animation_state, + ffi.Float)>>('spine_animation_state_set_empty_animations'); late final _spine_animation_state_set_empty_animations = - _spine_animation_state_set_empty_animationsPtr.asFunction(); + _spine_animation_state_set_empty_animationsPtr + .asFunction(); spine_track_entry spine_animation_state_get_current( spine_animation_state state, @@ -1432,10 +1741,13 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_get_currentPtr = - _lookup>('spine_animation_state_get_current'); + late final _spine_animation_state_get_currentPtr = _lookup< + ffi.NativeFunction< + spine_track_entry Function(spine_animation_state, + ffi.Int32)>>('spine_animation_state_get_current'); late final _spine_animation_state_get_current = - _spine_animation_state_get_currentPtr.asFunction(); + _spine_animation_state_get_currentPtr + .asFunction(); spine_animation_state_data spine_animation_state_get_data( spine_animation_state state, @@ -1445,10 +1757,13 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_get_dataPtr = - _lookup>('spine_animation_state_get_data'); + late final _spine_animation_state_get_dataPtr = _lookup< + ffi.NativeFunction< + spine_animation_state_data Function( + spine_animation_state)>>('spine_animation_state_get_data'); late final _spine_animation_state_get_data = - _spine_animation_state_get_dataPtr.asFunction(); + _spine_animation_state_get_dataPtr.asFunction< + spine_animation_state_data Function(spine_animation_state)>(); double spine_animation_state_get_time_scale( spine_animation_state state, @@ -1459,9 +1774,11 @@ class SpineFlutterBindings { } late final _spine_animation_state_get_time_scalePtr = - _lookup>('spine_animation_state_get_time_scale'); + _lookup>( + 'spine_animation_state_get_time_scale'); late final _spine_animation_state_get_time_scale = - _spine_animation_state_get_time_scalePtr.asFunction(); + _spine_animation_state_get_time_scalePtr + .asFunction(); void spine_animation_state_set_time_scale( spine_animation_state state, @@ -1473,10 +1790,13 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_set_time_scalePtr = - _lookup>('spine_animation_state_set_time_scale'); + late final _spine_animation_state_set_time_scalePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_animation_state, + ffi.Float)>>('spine_animation_state_set_time_scale'); late final _spine_animation_state_set_time_scale = - _spine_animation_state_set_time_scalePtr.asFunction(); + _spine_animation_state_set_time_scalePtr + .asFunction(); /// OMITTED setListener() /// OMITTED setListener() @@ -1494,10 +1814,13 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_dispose_track_entryPtr = - _lookup>('spine_animation_state_dispose_track_entry'); + late final _spine_animation_state_dispose_track_entryPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_animation_state, + spine_track_entry)>>('spine_animation_state_dispose_track_entry'); late final _spine_animation_state_dispose_track_entry = - _spine_animation_state_dispose_track_entryPtr.asFunction(); + _spine_animation_state_dispose_track_entryPtr.asFunction< + void Function(spine_animation_state, spine_track_entry)>(); int spine_animation_state_events_get_num_events( spine_animation_state_events events, @@ -1507,10 +1830,12 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_events_get_num_eventsPtr = - _lookup>('spine_animation_state_events_get_num_events'); + late final _spine_animation_state_events_get_num_eventsPtr = _lookup< + ffi.NativeFunction>( + 'spine_animation_state_events_get_num_events'); late final _spine_animation_state_events_get_num_events = - _spine_animation_state_events_get_num_eventsPtr.asFunction(); + _spine_animation_state_events_get_num_eventsPtr + .asFunction(); int spine_animation_state_events_get_event_type( spine_animation_state_events events, @@ -1522,11 +1847,13 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_events_get_event_typePtr = - _lookup>( - 'spine_animation_state_events_get_event_type'); + late final _spine_animation_state_events_get_event_typePtr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function(spine_animation_state_events, + ffi.Int32)>>('spine_animation_state_events_get_event_type'); late final _spine_animation_state_events_get_event_type = - _spine_animation_state_events_get_event_typePtr.asFunction(); + _spine_animation_state_events_get_event_typePtr + .asFunction(); spine_track_entry spine_animation_state_events_get_track_entry( spine_animation_state_events events, @@ -1538,11 +1865,13 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_events_get_track_entryPtr = - _lookup>( - 'spine_animation_state_events_get_track_entry'); + late final _spine_animation_state_events_get_track_entryPtr = _lookup< + ffi.NativeFunction< + spine_track_entry Function(spine_animation_state_events, + ffi.Int32)>>('spine_animation_state_events_get_track_entry'); late final _spine_animation_state_events_get_track_entry = - _spine_animation_state_events_get_track_entryPtr.asFunction(); + _spine_animation_state_events_get_track_entryPtr.asFunction< + spine_track_entry Function(spine_animation_state_events, int)>(); spine_event spine_animation_state_events_get_event( spine_animation_state_events events, @@ -1554,10 +1883,13 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_events_get_eventPtr = - _lookup>('spine_animation_state_events_get_event'); + late final _spine_animation_state_events_get_eventPtr = _lookup< + ffi.NativeFunction< + spine_event Function(spine_animation_state_events, + ffi.Int32)>>('spine_animation_state_events_get_event'); late final _spine_animation_state_events_get_event = - _spine_animation_state_events_get_eventPtr.asFunction(); + _spine_animation_state_events_get_eventPtr.asFunction< + spine_event Function(spine_animation_state_events, int)>(); void spine_animation_state_events_reset( spine_animation_state_events events, @@ -1567,10 +1899,12 @@ class SpineFlutterBindings { ); } - late final _spine_animation_state_events_resetPtr = - _lookup>('spine_animation_state_events_reset'); + late final _spine_animation_state_events_resetPtr = _lookup< + ffi.NativeFunction>( + 'spine_animation_state_events_reset'); late final _spine_animation_state_events_reset = - _spine_animation_state_events_resetPtr.asFunction(); + _spine_animation_state_events_resetPtr + .asFunction(); int spine_track_entry_get_track_index( spine_track_entry entry, @@ -1581,8 +1915,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_track_indexPtr = - _lookup>('spine_track_entry_get_track_index'); - late final _spine_track_entry_get_track_index = _spine_track_entry_get_track_indexPtr.asFunction(); + _lookup>( + 'spine_track_entry_get_track_index'); + late final _spine_track_entry_get_track_index = + _spine_track_entry_get_track_indexPtr + .asFunction(); spine_animation spine_track_entry_get_animation( spine_track_entry entry, @@ -1593,9 +1930,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_animationPtr = - _lookup>('spine_track_entry_get_animation'); + _lookup>( + 'spine_track_entry_get_animation'); late final _spine_track_entry_get_animation = - _spine_track_entry_get_animationPtr.asFunction(); + _spine_track_entry_get_animationPtr + .asFunction(); spine_track_entry spine_track_entry_get_previous( spine_track_entry entry, @@ -1605,10 +1944,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_get_previousPtr = - _lookup>('spine_track_entry_get_previous'); + late final _spine_track_entry_get_previousPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_get_previous'); late final _spine_track_entry_get_previous = - _spine_track_entry_get_previousPtr.asFunction(); + _spine_track_entry_get_previousPtr + .asFunction(); int spine_track_entry_get_loop( spine_track_entry entry, @@ -1619,8 +1960,10 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_loopPtr = - _lookup>('spine_track_entry_get_loop'); - late final _spine_track_entry_get_loop = _spine_track_entry_get_loopPtr.asFunction(); + _lookup>( + 'spine_track_entry_get_loop'); + late final _spine_track_entry_get_loop = _spine_track_entry_get_loopPtr + .asFunction(); void spine_track_entry_set_loop( spine_track_entry entry, @@ -1632,9 +1975,11 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_loopPtr = - _lookup>('spine_track_entry_set_loop'); - late final _spine_track_entry_set_loop = _spine_track_entry_set_loopPtr.asFunction(); + late final _spine_track_entry_set_loopPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_loop'); + late final _spine_track_entry_set_loop = _spine_track_entry_set_loopPtr + .asFunction(); int spine_track_entry_get_hold_previous( spine_track_entry entry, @@ -1645,8 +1990,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_hold_previousPtr = - _lookup>('spine_track_entry_get_hold_previous'); - late final _spine_track_entry_get_hold_previous = _spine_track_entry_get_hold_previousPtr.asFunction(); + _lookup>( + 'spine_track_entry_get_hold_previous'); + late final _spine_track_entry_get_hold_previous = + _spine_track_entry_get_hold_previousPtr + .asFunction(); void spine_track_entry_set_hold_previous( spine_track_entry entry, @@ -1658,10 +2006,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_hold_previousPtr = - _lookup>('spine_track_entry_set_hold_previous'); + late final _spine_track_entry_set_hold_previousPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_hold_previous'); late final _spine_track_entry_set_hold_previous = - _spine_track_entry_set_hold_previousPtr.asFunction(); + _spine_track_entry_set_hold_previousPtr + .asFunction(); int spine_track_entry_get_reverse( spine_track_entry entry, @@ -1672,8 +2022,10 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_reversePtr = - _lookup>('spine_track_entry_get_reverse'); - late final _spine_track_entry_get_reverse = _spine_track_entry_get_reversePtr.asFunction(); + _lookup>( + 'spine_track_entry_get_reverse'); + late final _spine_track_entry_get_reverse = _spine_track_entry_get_reversePtr + .asFunction(); void spine_track_entry_set_reverse( spine_track_entry entry, @@ -1685,9 +2037,11 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_reversePtr = - _lookup>('spine_track_entry_set_reverse'); - late final _spine_track_entry_set_reverse = _spine_track_entry_set_reversePtr.asFunction(); + late final _spine_track_entry_set_reversePtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_reverse'); + late final _spine_track_entry_set_reverse = _spine_track_entry_set_reversePtr + .asFunction(); int spine_track_entry_get_shortest_rotation( spine_track_entry entry, @@ -1698,9 +2052,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_shortest_rotationPtr = - _lookup>('spine_track_entry_get_shortest_rotation'); + _lookup>( + 'spine_track_entry_get_shortest_rotation'); late final _spine_track_entry_get_shortest_rotation = - _spine_track_entry_get_shortest_rotationPtr.asFunction(); + _spine_track_entry_get_shortest_rotationPtr + .asFunction(); void spine_track_entry_set_shortest_rotation( spine_track_entry entry, @@ -1712,10 +2068,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_shortest_rotationPtr = - _lookup>('spine_track_entry_set_shortest_rotation'); + late final _spine_track_entry_set_shortest_rotationPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_shortest_rotation'); late final _spine_track_entry_set_shortest_rotation = - _spine_track_entry_set_shortest_rotationPtr.asFunction(); + _spine_track_entry_set_shortest_rotationPtr + .asFunction(); double spine_track_entry_get_delay( spine_track_entry entry, @@ -1726,8 +2084,10 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_delayPtr = - _lookup>('spine_track_entry_get_delay'); - late final _spine_track_entry_get_delay = _spine_track_entry_get_delayPtr.asFunction(); + _lookup>( + 'spine_track_entry_get_delay'); + late final _spine_track_entry_get_delay = _spine_track_entry_get_delayPtr + .asFunction(); void spine_track_entry_set_delay( spine_track_entry entry, @@ -1739,9 +2099,11 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_delayPtr = - _lookup>('spine_track_entry_set_delay'); - late final _spine_track_entry_set_delay = _spine_track_entry_set_delayPtr.asFunction(); + late final _spine_track_entry_set_delayPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_delay'); + late final _spine_track_entry_set_delay = _spine_track_entry_set_delayPtr + .asFunction(); double spine_track_entry_get_track_time( spine_track_entry entry, @@ -1752,8 +2114,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_track_timePtr = - _lookup>('spine_track_entry_get_track_time'); - late final _spine_track_entry_get_track_time = _spine_track_entry_get_track_timePtr.asFunction(); + _lookup>( + 'spine_track_entry_get_track_time'); + late final _spine_track_entry_get_track_time = + _spine_track_entry_get_track_timePtr + .asFunction(); void spine_track_entry_set_track_time( spine_track_entry entry, @@ -1765,10 +2130,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_track_timePtr = - _lookup>('spine_track_entry_set_track_time'); + late final _spine_track_entry_set_track_timePtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_track_time'); late final _spine_track_entry_set_track_time = - _spine_track_entry_set_track_timePtr.asFunction(); + _spine_track_entry_set_track_timePtr + .asFunction(); double spine_track_entry_get_track_end( spine_track_entry entry, @@ -1779,8 +2146,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_track_endPtr = - _lookup>('spine_track_entry_get_track_end'); - late final _spine_track_entry_get_track_end = _spine_track_entry_get_track_endPtr.asFunction(); + _lookup>( + 'spine_track_entry_get_track_end'); + late final _spine_track_entry_get_track_end = + _spine_track_entry_get_track_endPtr + .asFunction(); void spine_track_entry_set_track_end( spine_track_entry entry, @@ -1792,9 +2162,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_track_endPtr = - _lookup>('spine_track_entry_set_track_end'); - late final _spine_track_entry_set_track_end = _spine_track_entry_set_track_endPtr.asFunction(); + late final _spine_track_entry_set_track_endPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_track_end'); + late final _spine_track_entry_set_track_end = + _spine_track_entry_set_track_endPtr + .asFunction(); double spine_track_entry_get_animation_start( spine_track_entry entry, @@ -1805,9 +2178,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_animation_startPtr = - _lookup>('spine_track_entry_get_animation_start'); + _lookup>( + 'spine_track_entry_get_animation_start'); late final _spine_track_entry_get_animation_start = - _spine_track_entry_get_animation_startPtr.asFunction(); + _spine_track_entry_get_animation_startPtr + .asFunction(); void spine_track_entry_set_animation_start( spine_track_entry entry, @@ -1819,10 +2194,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_animation_startPtr = - _lookup>('spine_track_entry_set_animation_start'); + late final _spine_track_entry_set_animation_startPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_animation_start'); late final _spine_track_entry_set_animation_start = - _spine_track_entry_set_animation_startPtr.asFunction(); + _spine_track_entry_set_animation_startPtr + .asFunction(); double spine_track_entry_get_animation_end( spine_track_entry entry, @@ -1833,9 +2210,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_animation_endPtr = - _lookup>('spine_track_entry_get_animation_end'); + _lookup>( + 'spine_track_entry_get_animation_end'); late final _spine_track_entry_get_animation_end = - _spine_track_entry_get_animation_endPtr.asFunction(); + _spine_track_entry_get_animation_endPtr + .asFunction(); void spine_track_entry_set_animation_end( spine_track_entry entry, @@ -1847,10 +2226,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_animation_endPtr = - _lookup>('spine_track_entry_set_animation_end'); + late final _spine_track_entry_set_animation_endPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_animation_end'); late final _spine_track_entry_set_animation_end = - _spine_track_entry_set_animation_endPtr.asFunction(); + _spine_track_entry_set_animation_endPtr + .asFunction(); double spine_track_entry_get_animation_last( spine_track_entry entry, @@ -1861,9 +2242,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_animation_lastPtr = - _lookup>('spine_track_entry_get_animation_last'); + _lookup>( + 'spine_track_entry_get_animation_last'); late final _spine_track_entry_get_animation_last = - _spine_track_entry_get_animation_lastPtr.asFunction(); + _spine_track_entry_get_animation_lastPtr + .asFunction(); void spine_track_entry_set_animation_last( spine_track_entry entry, @@ -1875,10 +2258,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_animation_lastPtr = - _lookup>('spine_track_entry_set_animation_last'); + late final _spine_track_entry_set_animation_lastPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_animation_last'); late final _spine_track_entry_set_animation_last = - _spine_track_entry_set_animation_lastPtr.asFunction(); + _spine_track_entry_set_animation_lastPtr + .asFunction(); double spine_track_entry_get_animation_time( spine_track_entry entry, @@ -1889,9 +2274,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_animation_timePtr = - _lookup>('spine_track_entry_get_animation_time'); + _lookup>( + 'spine_track_entry_get_animation_time'); late final _spine_track_entry_get_animation_time = - _spine_track_entry_get_animation_timePtr.asFunction(); + _spine_track_entry_get_animation_timePtr + .asFunction(); double spine_track_entry_get_time_scale( spine_track_entry entry, @@ -1902,8 +2289,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_time_scalePtr = - _lookup>('spine_track_entry_get_time_scale'); - late final _spine_track_entry_get_time_scale = _spine_track_entry_get_time_scalePtr.asFunction(); + _lookup>( + 'spine_track_entry_get_time_scale'); + late final _spine_track_entry_get_time_scale = + _spine_track_entry_get_time_scalePtr + .asFunction(); void spine_track_entry_set_time_scale( spine_track_entry entry, @@ -1915,10 +2305,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_time_scalePtr = - _lookup>('spine_track_entry_set_time_scale'); + late final _spine_track_entry_set_time_scalePtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_time_scale'); late final _spine_track_entry_set_time_scale = - _spine_track_entry_set_time_scalePtr.asFunction(); + _spine_track_entry_set_time_scalePtr + .asFunction(); double spine_track_entry_get_alpha( spine_track_entry entry, @@ -1929,8 +2321,10 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_alphaPtr = - _lookup>('spine_track_entry_get_alpha'); - late final _spine_track_entry_get_alpha = _spine_track_entry_get_alphaPtr.asFunction(); + _lookup>( + 'spine_track_entry_get_alpha'); + late final _spine_track_entry_get_alpha = _spine_track_entry_get_alphaPtr + .asFunction(); void spine_track_entry_set_alpha( spine_track_entry entry, @@ -1942,9 +2336,11 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_alphaPtr = - _lookup>('spine_track_entry_set_alpha'); - late final _spine_track_entry_set_alpha = _spine_track_entry_set_alphaPtr.asFunction(); + late final _spine_track_entry_set_alphaPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_alpha'); + late final _spine_track_entry_set_alpha = _spine_track_entry_set_alphaPtr + .asFunction(); double spine_track_entry_get_event_threshold( spine_track_entry entry, @@ -1955,9 +2351,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_event_thresholdPtr = - _lookup>('spine_track_entry_get_event_threshold'); + _lookup>( + 'spine_track_entry_get_event_threshold'); late final _spine_track_entry_get_event_threshold = - _spine_track_entry_get_event_thresholdPtr.asFunction(); + _spine_track_entry_get_event_thresholdPtr + .asFunction(); void spine_track_entry_set_event_threshold( spine_track_entry entry, @@ -1969,10 +2367,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_event_thresholdPtr = - _lookup>('spine_track_entry_set_event_threshold'); + late final _spine_track_entry_set_event_thresholdPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_event_threshold'); late final _spine_track_entry_set_event_threshold = - _spine_track_entry_set_event_thresholdPtr.asFunction(); + _spine_track_entry_set_event_thresholdPtr + .asFunction(); double spine_track_entry_get_attachment_threshold( spine_track_entry entry, @@ -1983,9 +2383,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_attachment_thresholdPtr = - _lookup>('spine_track_entry_get_attachment_threshold'); + _lookup>( + 'spine_track_entry_get_attachment_threshold'); late final _spine_track_entry_get_attachment_threshold = - _spine_track_entry_get_attachment_thresholdPtr.asFunction(); + _spine_track_entry_get_attachment_thresholdPtr + .asFunction(); void spine_track_entry_set_attachment_threshold( spine_track_entry entry, @@ -1997,10 +2399,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_attachment_thresholdPtr = - _lookup>('spine_track_entry_set_attachment_threshold'); + late final _spine_track_entry_set_attachment_thresholdPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_attachment_threshold'); late final _spine_track_entry_set_attachment_threshold = - _spine_track_entry_set_attachment_thresholdPtr.asFunction(); + _spine_track_entry_set_attachment_thresholdPtr + .asFunction(); double spine_track_entry_get_draw_order_threshold( spine_track_entry entry, @@ -2011,9 +2415,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_draw_order_thresholdPtr = - _lookup>('spine_track_entry_get_draw_order_threshold'); + _lookup>( + 'spine_track_entry_get_draw_order_threshold'); late final _spine_track_entry_get_draw_order_threshold = - _spine_track_entry_get_draw_order_thresholdPtr.asFunction(); + _spine_track_entry_get_draw_order_thresholdPtr + .asFunction(); void spine_track_entry_set_draw_order_threshold( spine_track_entry entry, @@ -2025,10 +2431,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_draw_order_thresholdPtr = - _lookup>('spine_track_entry_set_draw_order_threshold'); + late final _spine_track_entry_set_draw_order_thresholdPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_draw_order_threshold'); late final _spine_track_entry_set_draw_order_threshold = - _spine_track_entry_set_draw_order_thresholdPtr.asFunction(); + _spine_track_entry_set_draw_order_thresholdPtr + .asFunction(); spine_track_entry spine_track_entry_get_next( spine_track_entry entry, @@ -2038,9 +2446,11 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_get_nextPtr = - _lookup>('spine_track_entry_get_next'); - late final _spine_track_entry_get_next = _spine_track_entry_get_nextPtr.asFunction(); + late final _spine_track_entry_get_nextPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_get_next'); + late final _spine_track_entry_get_next = _spine_track_entry_get_nextPtr + .asFunction(); int spine_track_entry_is_complete( spine_track_entry entry, @@ -2051,8 +2461,10 @@ class SpineFlutterBindings { } late final _spine_track_entry_is_completePtr = - _lookup>('spine_track_entry_is_complete'); - late final _spine_track_entry_is_complete = _spine_track_entry_is_completePtr.asFunction(); + _lookup>( + 'spine_track_entry_is_complete'); + late final _spine_track_entry_is_complete = _spine_track_entry_is_completePtr + .asFunction(); double spine_track_entry_get_mix_time( spine_track_entry entry, @@ -2063,8 +2475,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_mix_timePtr = - _lookup>('spine_track_entry_get_mix_time'); - late final _spine_track_entry_get_mix_time = _spine_track_entry_get_mix_timePtr.asFunction(); + _lookup>( + 'spine_track_entry_get_mix_time'); + late final _spine_track_entry_get_mix_time = + _spine_track_entry_get_mix_timePtr + .asFunction(); void spine_track_entry_set_mix_time( spine_track_entry entry, @@ -2076,9 +2491,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_mix_timePtr = - _lookup>('spine_track_entry_set_mix_time'); - late final _spine_track_entry_set_mix_time = _spine_track_entry_set_mix_timePtr.asFunction(); + late final _spine_track_entry_set_mix_timePtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_mix_time'); + late final _spine_track_entry_set_mix_time = + _spine_track_entry_set_mix_timePtr + .asFunction(); double spine_track_entry_get_mix_duration( spine_track_entry entry, @@ -2089,8 +2507,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_mix_durationPtr = - _lookup>('spine_track_entry_get_mix_duration'); - late final _spine_track_entry_get_mix_duration = _spine_track_entry_get_mix_durationPtr.asFunction(); + _lookup>( + 'spine_track_entry_get_mix_duration'); + late final _spine_track_entry_get_mix_duration = + _spine_track_entry_get_mix_durationPtr + .asFunction(); void spine_track_entry_set_mix_duration( spine_track_entry entry, @@ -2102,10 +2523,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_mix_durationPtr = - _lookup>('spine_track_entry_set_mix_duration'); + late final _spine_track_entry_set_mix_durationPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_mix_duration'); late final _spine_track_entry_set_mix_duration = - _spine_track_entry_set_mix_durationPtr.asFunction(); + _spine_track_entry_set_mix_durationPtr + .asFunction(); int spine_track_entry_get_mix_blend( spine_track_entry entry, @@ -2116,8 +2539,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_mix_blendPtr = - _lookup>('spine_track_entry_get_mix_blend'); - late final _spine_track_entry_get_mix_blend = _spine_track_entry_get_mix_blendPtr.asFunction(); + _lookup>( + 'spine_track_entry_get_mix_blend'); + late final _spine_track_entry_get_mix_blend = + _spine_track_entry_get_mix_blendPtr + .asFunction(); void spine_track_entry_set_mix_blend( spine_track_entry entry, @@ -2129,9 +2555,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_set_mix_blendPtr = - _lookup>('spine_track_entry_set_mix_blend'); - late final _spine_track_entry_set_mix_blend = _spine_track_entry_set_mix_blendPtr.asFunction(); + late final _spine_track_entry_set_mix_blendPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_set_mix_blend'); + late final _spine_track_entry_set_mix_blend = + _spine_track_entry_set_mix_blendPtr + .asFunction(); spine_track_entry spine_track_entry_get_mixing_from( spine_track_entry entry, @@ -2141,10 +2570,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_get_mixing_fromPtr = - _lookup>('spine_track_entry_get_mixing_from'); + late final _spine_track_entry_get_mixing_fromPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_get_mixing_from'); late final _spine_track_entry_get_mixing_from = - _spine_track_entry_get_mixing_fromPtr.asFunction(); + _spine_track_entry_get_mixing_fromPtr + .asFunction(); spine_track_entry spine_track_entry_get_mixing_to( spine_track_entry entry, @@ -2154,10 +2585,12 @@ class SpineFlutterBindings { ); } - late final _spine_track_entry_get_mixing_toPtr = - _lookup>('spine_track_entry_get_mixing_to'); + late final _spine_track_entry_get_mixing_toPtr = _lookup< + ffi.NativeFunction>( + 'spine_track_entry_get_mixing_to'); late final _spine_track_entry_get_mixing_to = - _spine_track_entry_get_mixing_toPtr.asFunction(); + _spine_track_entry_get_mixing_toPtr + .asFunction(); void spine_track_entry_reset_rotation_directions( spine_track_entry entry, @@ -2168,9 +2601,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_reset_rotation_directionsPtr = - _lookup>('spine_track_entry_reset_rotation_directions'); + _lookup>( + 'spine_track_entry_reset_rotation_directions'); late final _spine_track_entry_reset_rotation_directions = - _spine_track_entry_reset_rotation_directionsPtr.asFunction(); + _spine_track_entry_reset_rotation_directionsPtr + .asFunction(); double spine_track_entry_get_track_complete( spine_track_entry entry, @@ -2181,9 +2616,11 @@ class SpineFlutterBindings { } late final _spine_track_entry_get_track_completePtr = - _lookup>('spine_track_entry_get_track_complete'); + _lookup>( + 'spine_track_entry_get_track_complete'); late final _spine_track_entry_get_track_complete = - _spine_track_entry_get_track_completePtr.asFunction(); + _spine_track_entry_get_track_completePtr + .asFunction(); /// OMITTED setListener() /// OMITTED setListener() @@ -2196,8 +2633,10 @@ class SpineFlutterBindings { } late final _spine_skeleton_update_cachePtr = - _lookup>('spine_skeleton_update_cache'); - late final _spine_skeleton_update_cache = _spine_skeleton_update_cachePtr.asFunction(); + _lookup>( + 'spine_skeleton_update_cache'); + late final _spine_skeleton_update_cache = _spine_skeleton_update_cachePtr + .asFunction(); /// OMITTED printUpdateCache() void spine_skeleton_update_world_transform( @@ -2209,8 +2648,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_update_world_transformPtr = - _lookup>('spine_skeleton_update_world_transform'); - late final _spine_skeleton_update_world_transform = _spine_skeleton_update_world_transformPtr.asFunction(); + _lookup>( + 'spine_skeleton_update_world_transform'); + late final _spine_skeleton_update_world_transform = + _spine_skeleton_update_world_transformPtr + .asFunction(); void spine_skeleton_update_world_transform_bone( spine_skeleton skeleton, @@ -2222,10 +2664,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_update_world_transform_bonePtr = - _lookup>('spine_skeleton_update_world_transform_bone'); + late final _spine_skeleton_update_world_transform_bonePtr = _lookup< + ffi.NativeFunction>( + 'spine_skeleton_update_world_transform_bone'); late final _spine_skeleton_update_world_transform_bone = - _spine_skeleton_update_world_transform_bonePtr.asFunction(); + _spine_skeleton_update_world_transform_bonePtr + .asFunction(); void spine_skeleton_set_to_setup_pose( spine_skeleton skeleton, @@ -2236,8 +2680,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_set_to_setup_posePtr = - _lookup>('spine_skeleton_set_to_setup_pose'); - late final _spine_skeleton_set_to_setup_pose = _spine_skeleton_set_to_setup_posePtr.asFunction(); + _lookup>( + 'spine_skeleton_set_to_setup_pose'); + late final _spine_skeleton_set_to_setup_pose = + _spine_skeleton_set_to_setup_posePtr + .asFunction(); void spine_skeleton_set_bones_to_setup_pose( spine_skeleton skeleton, @@ -2248,9 +2695,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_set_bones_to_setup_posePtr = - _lookup>('spine_skeleton_set_bones_to_setup_pose'); + _lookup>( + 'spine_skeleton_set_bones_to_setup_pose'); late final _spine_skeleton_set_bones_to_setup_pose = - _spine_skeleton_set_bones_to_setup_posePtr.asFunction(); + _spine_skeleton_set_bones_to_setup_posePtr + .asFunction(); void spine_skeleton_set_slots_to_setup_pose( spine_skeleton skeleton, @@ -2261,9 +2710,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_set_slots_to_setup_posePtr = - _lookup>('spine_skeleton_set_slots_to_setup_pose'); + _lookup>( + 'spine_skeleton_set_slots_to_setup_pose'); late final _spine_skeleton_set_slots_to_setup_pose = - _spine_skeleton_set_slots_to_setup_posePtr.asFunction(); + _spine_skeleton_set_slots_to_setup_posePtr + .asFunction(); spine_bone spine_skeleton_find_bone( spine_skeleton skeleton, @@ -2275,9 +2726,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_find_bonePtr = - _lookup)>>('spine_skeleton_find_bone'); - late final _spine_skeleton_find_bone = _spine_skeleton_find_bonePtr.asFunction)>(); + late final _spine_skeleton_find_bonePtr = _lookup< + ffi.NativeFunction< + spine_bone Function( + spine_skeleton, ffi.Pointer)>>('spine_skeleton_find_bone'); + late final _spine_skeleton_find_bone = _spine_skeleton_find_bonePtr + .asFunction)>(); spine_slot spine_skeleton_find_slot( spine_skeleton skeleton, @@ -2289,9 +2743,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_find_slotPtr = - _lookup)>>('spine_skeleton_find_slot'); - late final _spine_skeleton_find_slot = _spine_skeleton_find_slotPtr.asFunction)>(); + late final _spine_skeleton_find_slotPtr = _lookup< + ffi.NativeFunction< + spine_slot Function( + spine_skeleton, ffi.Pointer)>>('spine_skeleton_find_slot'); + late final _spine_skeleton_find_slot = _spine_skeleton_find_slotPtr + .asFunction)>(); void spine_skeleton_set_skin_by_name( spine_skeleton skeleton, @@ -2303,10 +2760,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_set_skin_by_namePtr = - _lookup)>>('spine_skeleton_set_skin_by_name'); + late final _spine_skeleton_set_skin_by_namePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton, + ffi.Pointer)>>('spine_skeleton_set_skin_by_name'); late final _spine_skeleton_set_skin_by_name = - _spine_skeleton_set_skin_by_namePtr.asFunction)>(); + _spine_skeleton_set_skin_by_namePtr + .asFunction)>(); void spine_skeleton_set_skin( spine_skeleton skeleton, @@ -2318,9 +2778,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_set_skinPtr = - _lookup>('spine_skeleton_set_skin'); - late final _spine_skeleton_set_skin = _spine_skeleton_set_skinPtr.asFunction(); + late final _spine_skeleton_set_skinPtr = _lookup< + ffi.NativeFunction>( + 'spine_skeleton_set_skin'); + late final _spine_skeleton_set_skin = _spine_skeleton_set_skinPtr + .asFunction(); spine_attachment spine_skeleton_get_attachment_by_name( spine_skeleton skeleton, @@ -2334,11 +2796,14 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_attachment_by_namePtr = - _lookup, ffi.Pointer)>>( - 'spine_skeleton_get_attachment_by_name'); - late final _spine_skeleton_get_attachment_by_name = _spine_skeleton_get_attachment_by_namePtr - .asFunction, ffi.Pointer)>(); + late final _spine_skeleton_get_attachment_by_namePtr = _lookup< + ffi.NativeFunction< + spine_attachment Function(spine_skeleton, ffi.Pointer, + ffi.Pointer)>>('spine_skeleton_get_attachment_by_name'); + late final _spine_skeleton_get_attachment_by_name = + _spine_skeleton_get_attachment_by_namePtr.asFunction< + spine_attachment Function( + spine_skeleton, ffi.Pointer, ffi.Pointer)>(); spine_attachment spine_skeleton_get_attachment( spine_skeleton skeleton, @@ -2352,10 +2817,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_attachmentPtr = - _lookup)>>('spine_skeleton_get_attachment'); + late final _spine_skeleton_get_attachmentPtr = _lookup< + ffi.NativeFunction< + spine_attachment Function(spine_skeleton, ffi.Int32, + ffi.Pointer)>>('spine_skeleton_get_attachment'); late final _spine_skeleton_get_attachment = - _spine_skeleton_get_attachmentPtr.asFunction)>(); + _spine_skeleton_get_attachmentPtr.asFunction< + spine_attachment Function(spine_skeleton, int, ffi.Pointer)>(); void spine_skeleton_set_attachment( spine_skeleton skeleton, @@ -2369,10 +2837,14 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_set_attachmentPtr = - _lookup, ffi.Pointer)>>('spine_skeleton_set_attachment'); + late final _spine_skeleton_set_attachmentPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton, ffi.Pointer, + ffi.Pointer)>>('spine_skeleton_set_attachment'); late final _spine_skeleton_set_attachment = - _spine_skeleton_set_attachmentPtr.asFunction, ffi.Pointer)>(); + _spine_skeleton_set_attachmentPtr.asFunction< + void Function( + spine_skeleton, ffi.Pointer, ffi.Pointer)>(); spine_ik_constraint spine_skeleton_find_ik_constraint( spine_skeleton skeleton, @@ -2384,10 +2856,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_find_ik_constraintPtr = - _lookup)>>('spine_skeleton_find_ik_constraint'); + late final _spine_skeleton_find_ik_constraintPtr = _lookup< + ffi.NativeFunction< + spine_ik_constraint Function(spine_skeleton, + ffi.Pointer)>>('spine_skeleton_find_ik_constraint'); late final _spine_skeleton_find_ik_constraint = - _spine_skeleton_find_ik_constraintPtr.asFunction)>(); + _spine_skeleton_find_ik_constraintPtr.asFunction< + spine_ik_constraint Function(spine_skeleton, ffi.Pointer)>(); spine_transform_constraint spine_skeleton_find_transform_constraint( spine_skeleton skeleton, @@ -2399,11 +2874,14 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_find_transform_constraintPtr = - _lookup)>>( - 'spine_skeleton_find_transform_constraint'); + late final _spine_skeleton_find_transform_constraintPtr = _lookup< + ffi.NativeFunction< + spine_transform_constraint Function(spine_skeleton, + ffi.Pointer)>>('spine_skeleton_find_transform_constraint'); late final _spine_skeleton_find_transform_constraint = - _spine_skeleton_find_transform_constraintPtr.asFunction)>(); + _spine_skeleton_find_transform_constraintPtr.asFunction< + spine_transform_constraint Function( + spine_skeleton, ffi.Pointer)>(); spine_path_constraint spine_skeleton_find_path_constraint( spine_skeleton skeleton, @@ -2415,10 +2893,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_find_path_constraintPtr = - _lookup)>>('spine_skeleton_find_path_constraint'); + late final _spine_skeleton_find_path_constraintPtr = _lookup< + ffi.NativeFunction< + spine_path_constraint Function(spine_skeleton, + ffi.Pointer)>>('spine_skeleton_find_path_constraint'); late final _spine_skeleton_find_path_constraint = - _spine_skeleton_find_path_constraintPtr.asFunction)>(); + _spine_skeleton_find_path_constraintPtr.asFunction< + spine_path_constraint Function(spine_skeleton, ffi.Pointer)>(); spine_bounds spine_skeleton_get_bounds( spine_skeleton skeleton, @@ -2429,8 +2910,10 @@ class SpineFlutterBindings { } late final _spine_skeleton_get_boundsPtr = - _lookup>('spine_skeleton_get_bounds'); - late final _spine_skeleton_get_bounds = _spine_skeleton_get_boundsPtr.asFunction(); + _lookup>( + 'spine_skeleton_get_bounds'); + late final _spine_skeleton_get_bounds = _spine_skeleton_get_boundsPtr + .asFunction(); spine_bone spine_skeleton_get_root_bone( spine_skeleton skeleton, @@ -2441,8 +2924,10 @@ class SpineFlutterBindings { } late final _spine_skeleton_get_root_bonePtr = - _lookup>('spine_skeleton_get_root_bone'); - late final _spine_skeleton_get_root_bone = _spine_skeleton_get_root_bonePtr.asFunction(); + _lookup>( + 'spine_skeleton_get_root_bone'); + late final _spine_skeleton_get_root_bone = _spine_skeleton_get_root_bonePtr + .asFunction(); spine_skeleton_data spine_skeleton_get_data( spine_skeleton skeleton, @@ -2453,8 +2938,10 @@ class SpineFlutterBindings { } late final _spine_skeleton_get_dataPtr = - _lookup>('spine_skeleton_get_data'); - late final _spine_skeleton_get_data = _spine_skeleton_get_dataPtr.asFunction(); + _lookup>( + 'spine_skeleton_get_data'); + late final _spine_skeleton_get_data = _spine_skeleton_get_dataPtr + .asFunction(); int spine_skeleton_get_num_bones( spine_skeleton skeleton, @@ -2465,8 +2952,10 @@ class SpineFlutterBindings { } late final _spine_skeleton_get_num_bonesPtr = - _lookup>('spine_skeleton_get_num_bones'); - late final _spine_skeleton_get_num_bones = _spine_skeleton_get_num_bonesPtr.asFunction(); + _lookup>( + 'spine_skeleton_get_num_bones'); + late final _spine_skeleton_get_num_bones = _spine_skeleton_get_num_bonesPtr + .asFunction(); ffi.Pointer spine_skeleton_get_bones( spine_skeleton skeleton, @@ -2476,9 +2965,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_bonesPtr = - _lookup Function(spine_skeleton)>>('spine_skeleton_get_bones'); - late final _spine_skeleton_get_bones = _spine_skeleton_get_bonesPtr.asFunction Function(spine_skeleton)>(); + late final _spine_skeleton_get_bonesPtr = _lookup< + ffi.NativeFunction Function(spine_skeleton)>>( + 'spine_skeleton_get_bones'); + late final _spine_skeleton_get_bones = _spine_skeleton_get_bonesPtr + .asFunction Function(spine_skeleton)>(); /// OMITTED getUpdateCacheList() int spine_skeleton_get_num_slots( @@ -2490,8 +2981,10 @@ class SpineFlutterBindings { } late final _spine_skeleton_get_num_slotsPtr = - _lookup>('spine_skeleton_get_num_slots'); - late final _spine_skeleton_get_num_slots = _spine_skeleton_get_num_slotsPtr.asFunction(); + _lookup>( + 'spine_skeleton_get_num_slots'); + late final _spine_skeleton_get_num_slots = _spine_skeleton_get_num_slotsPtr + .asFunction(); ffi.Pointer spine_skeleton_get_slots( spine_skeleton skeleton, @@ -2501,9 +2994,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_slotsPtr = - _lookup Function(spine_skeleton)>>('spine_skeleton_get_slots'); - late final _spine_skeleton_get_slots = _spine_skeleton_get_slotsPtr.asFunction Function(spine_skeleton)>(); + late final _spine_skeleton_get_slotsPtr = _lookup< + ffi.NativeFunction Function(spine_skeleton)>>( + 'spine_skeleton_get_slots'); + late final _spine_skeleton_get_slots = _spine_skeleton_get_slotsPtr + .asFunction Function(spine_skeleton)>(); int spine_skeleton_get_num_draw_order( spine_skeleton skeleton, @@ -2514,8 +3009,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_get_num_draw_orderPtr = - _lookup>('spine_skeleton_get_num_draw_order'); - late final _spine_skeleton_get_num_draw_order = _spine_skeleton_get_num_draw_orderPtr.asFunction(); + _lookup>( + 'spine_skeleton_get_num_draw_order'); + late final _spine_skeleton_get_num_draw_order = + _spine_skeleton_get_num_draw_orderPtr + .asFunction(); ffi.Pointer spine_skeleton_get_draw_order( spine_skeleton skeleton, @@ -2525,10 +3023,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_draw_orderPtr = - _lookup Function(spine_skeleton)>>('spine_skeleton_get_draw_order'); - late final _spine_skeleton_get_draw_order = - _spine_skeleton_get_draw_orderPtr.asFunction Function(spine_skeleton)>(); + late final _spine_skeleton_get_draw_orderPtr = _lookup< + ffi.NativeFunction Function(spine_skeleton)>>( + 'spine_skeleton_get_draw_order'); + late final _spine_skeleton_get_draw_order = _spine_skeleton_get_draw_orderPtr + .asFunction Function(spine_skeleton)>(); int spine_skeleton_get_num_ik_constraints( spine_skeleton skeleton, @@ -2539,8 +3038,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_get_num_ik_constraintsPtr = - _lookup>('spine_skeleton_get_num_ik_constraints'); - late final _spine_skeleton_get_num_ik_constraints = _spine_skeleton_get_num_ik_constraintsPtr.asFunction(); + _lookup>( + 'spine_skeleton_get_num_ik_constraints'); + late final _spine_skeleton_get_num_ik_constraints = + _spine_skeleton_get_num_ik_constraintsPtr + .asFunction(); ffi.Pointer spine_skeleton_get_ik_constraints( spine_skeleton skeleton, @@ -2550,10 +3052,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_ik_constraintsPtr = - _lookup Function(spine_skeleton)>>('spine_skeleton_get_ik_constraints'); + late final _spine_skeleton_get_ik_constraintsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_skeleton)>>('spine_skeleton_get_ik_constraints'); late final _spine_skeleton_get_ik_constraints = - _spine_skeleton_get_ik_constraintsPtr.asFunction Function(spine_skeleton)>(); + _spine_skeleton_get_ik_constraintsPtr.asFunction< + ffi.Pointer Function(spine_skeleton)>(); int spine_skeleton_get_num_transform_constraints( spine_skeleton skeleton, @@ -2564,11 +3069,14 @@ class SpineFlutterBindings { } late final _spine_skeleton_get_num_transform_constraintsPtr = - _lookup>('spine_skeleton_get_num_transform_constraints'); + _lookup>( + 'spine_skeleton_get_num_transform_constraints'); late final _spine_skeleton_get_num_transform_constraints = - _spine_skeleton_get_num_transform_constraintsPtr.asFunction(); + _spine_skeleton_get_num_transform_constraintsPtr + .asFunction(); - ffi.Pointer spine_skeleton_get_transform_constraints( + ffi.Pointer + spine_skeleton_get_transform_constraints( spine_skeleton skeleton, ) { return _spine_skeleton_get_transform_constraints( @@ -2576,11 +3084,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_transform_constraintsPtr = - _lookup Function(spine_skeleton)>>( - 'spine_skeleton_get_transform_constraints'); + late final _spine_skeleton_get_transform_constraintsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_skeleton)>>('spine_skeleton_get_transform_constraints'); late final _spine_skeleton_get_transform_constraints = - _spine_skeleton_get_transform_constraintsPtr.asFunction Function(spine_skeleton)>(); + _spine_skeleton_get_transform_constraintsPtr.asFunction< + ffi.Pointer Function(spine_skeleton)>(); int spine_skeleton_get_num_path_constraints( spine_skeleton skeleton, @@ -2591,9 +3101,11 @@ class SpineFlutterBindings { } late final _spine_skeleton_get_num_path_constraintsPtr = - _lookup>('spine_skeleton_get_num_path_constraints'); + _lookup>( + 'spine_skeleton_get_num_path_constraints'); late final _spine_skeleton_get_num_path_constraints = - _spine_skeleton_get_num_path_constraintsPtr.asFunction(); + _spine_skeleton_get_num_path_constraintsPtr + .asFunction(); ffi.Pointer spine_skeleton_get_path_constraints( spine_skeleton skeleton, @@ -2603,10 +3115,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_path_constraintsPtr = - _lookup Function(spine_skeleton)>>('spine_skeleton_get_path_constraints'); + late final _spine_skeleton_get_path_constraintsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_skeleton)>>('spine_skeleton_get_path_constraints'); late final _spine_skeleton_get_path_constraints = - _spine_skeleton_get_path_constraintsPtr.asFunction Function(spine_skeleton)>(); + _spine_skeleton_get_path_constraintsPtr.asFunction< + ffi.Pointer Function(spine_skeleton)>(); spine_skin spine_skeleton_get_skin( spine_skeleton skeleton, @@ -2616,8 +3131,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_skinPtr = _lookup>('spine_skeleton_get_skin'); - late final _spine_skeleton_get_skin = _spine_skeleton_get_skinPtr.asFunction(); + late final _spine_skeleton_get_skinPtr = + _lookup>( + 'spine_skeleton_get_skin'); + late final _spine_skeleton_get_skin = _spine_skeleton_get_skinPtr + .asFunction(); spine_color spine_skeleton_get_color( spine_skeleton skeleton, @@ -2627,8 +3145,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_colorPtr = _lookup>('spine_skeleton_get_color'); - late final _spine_skeleton_get_color = _spine_skeleton_get_colorPtr.asFunction(); + late final _spine_skeleton_get_colorPtr = + _lookup>( + 'spine_skeleton_get_color'); + late final _spine_skeleton_get_color = _spine_skeleton_get_colorPtr + .asFunction(); void spine_skeleton_set_color( spine_skeleton skeleton, @@ -2646,11 +3167,13 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_set_colorPtr = - _lookup>( - 'spine_skeleton_set_color'); + late final _spine_skeleton_set_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton, ffi.Float, ffi.Float, ffi.Float, + ffi.Float)>>('spine_skeleton_set_color'); late final _spine_skeleton_set_color = - _spine_skeleton_set_colorPtr.asFunction(); + _spine_skeleton_set_colorPtr.asFunction< + void Function(spine_skeleton, double, double, double, double)>(); void spine_skeleton_set_position( spine_skeleton skeleton, @@ -2664,9 +3187,12 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_set_positionPtr = - _lookup>('spine_skeleton_set_position'); - late final _spine_skeleton_set_position = _spine_skeleton_set_positionPtr.asFunction(); + late final _spine_skeleton_set_positionPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton, ffi.Float, + ffi.Float)>>('spine_skeleton_set_position'); + late final _spine_skeleton_set_position = _spine_skeleton_set_positionPtr + .asFunction(); double spine_skeleton_get_x( spine_skeleton skeleton, @@ -2676,8 +3202,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_xPtr = _lookup>('spine_skeleton_get_x'); - late final _spine_skeleton_get_x = _spine_skeleton_get_xPtr.asFunction(); + late final _spine_skeleton_get_xPtr = + _lookup>( + 'spine_skeleton_get_x'); + late final _spine_skeleton_get_x = + _spine_skeleton_get_xPtr.asFunction(); void spine_skeleton_set_x( spine_skeleton skeleton, @@ -2689,8 +3218,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_set_xPtr = _lookup>('spine_skeleton_set_x'); - late final _spine_skeleton_set_x = _spine_skeleton_set_xPtr.asFunction(); + late final _spine_skeleton_set_xPtr = + _lookup>( + 'spine_skeleton_set_x'); + late final _spine_skeleton_set_x = _spine_skeleton_set_xPtr + .asFunction(); double spine_skeleton_get_y( spine_skeleton skeleton, @@ -2700,8 +3232,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_yPtr = _lookup>('spine_skeleton_get_y'); - late final _spine_skeleton_get_y = _spine_skeleton_get_yPtr.asFunction(); + late final _spine_skeleton_get_yPtr = + _lookup>( + 'spine_skeleton_get_y'); + late final _spine_skeleton_get_y = + _spine_skeleton_get_yPtr.asFunction(); void spine_skeleton_set_y( spine_skeleton skeleton, @@ -2713,8 +3248,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_set_yPtr = _lookup>('spine_skeleton_set_y'); - late final _spine_skeleton_set_y = _spine_skeleton_set_yPtr.asFunction(); + late final _spine_skeleton_set_yPtr = + _lookup>( + 'spine_skeleton_set_y'); + late final _spine_skeleton_set_y = _spine_skeleton_set_yPtr + .asFunction(); double spine_skeleton_get_scale_x( spine_skeleton skeleton, @@ -2724,8 +3262,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_scale_xPtr = _lookup>('spine_skeleton_get_scale_x'); - late final _spine_skeleton_get_scale_x = _spine_skeleton_get_scale_xPtr.asFunction(); + late final _spine_skeleton_get_scale_xPtr = + _lookup>( + 'spine_skeleton_get_scale_x'); + late final _spine_skeleton_get_scale_x = _spine_skeleton_get_scale_xPtr + .asFunction(); void spine_skeleton_set_scale_x( spine_skeleton skeleton, @@ -2738,8 +3279,10 @@ class SpineFlutterBindings { } late final _spine_skeleton_set_scale_xPtr = - _lookup>('spine_skeleton_set_scale_x'); - late final _spine_skeleton_set_scale_x = _spine_skeleton_set_scale_xPtr.asFunction(); + _lookup>( + 'spine_skeleton_set_scale_x'); + late final _spine_skeleton_set_scale_x = _spine_skeleton_set_scale_xPtr + .asFunction(); double spine_skeleton_get_scale_y( spine_skeleton skeleton, @@ -2749,8 +3292,11 @@ class SpineFlutterBindings { ); } - late final _spine_skeleton_get_scale_yPtr = _lookup>('spine_skeleton_get_scale_y'); - late final _spine_skeleton_get_scale_y = _spine_skeleton_get_scale_yPtr.asFunction(); + late final _spine_skeleton_get_scale_yPtr = + _lookup>( + 'spine_skeleton_get_scale_y'); + late final _spine_skeleton_get_scale_y = _spine_skeleton_get_scale_yPtr + .asFunction(); void spine_skeleton_set_scale_y( spine_skeleton skeleton, @@ -2763,8 +3309,10 @@ class SpineFlutterBindings { } late final _spine_skeleton_set_scale_yPtr = - _lookup>('spine_skeleton_set_scale_y'); - late final _spine_skeleton_set_scale_y = _spine_skeleton_set_scale_yPtr.asFunction(); + _lookup>( + 'spine_skeleton_set_scale_y'); + late final _spine_skeleton_set_scale_y = _spine_skeleton_set_scale_yPtr + .asFunction(); ffi.Pointer spine_event_data_get_name( spine_event_data event, @@ -2775,8 +3323,10 @@ class SpineFlutterBindings { } late final _spine_event_data_get_namePtr = - _lookup Function(spine_event_data)>>('spine_event_data_get_name'); - late final _spine_event_data_get_name = _spine_event_data_get_namePtr.asFunction Function(spine_event_data)>(); + _lookup Function(spine_event_data)>>( + 'spine_event_data_get_name'); + late final _spine_event_data_get_name = _spine_event_data_get_namePtr + .asFunction Function(spine_event_data)>(); int spine_event_data_get_int_value( spine_event_data event, @@ -2787,8 +3337,11 @@ class SpineFlutterBindings { } late final _spine_event_data_get_int_valuePtr = - _lookup>('spine_event_data_get_int_value'); - late final _spine_event_data_get_int_value = _spine_event_data_get_int_valuePtr.asFunction(); + _lookup>( + 'spine_event_data_get_int_value'); + late final _spine_event_data_get_int_value = + _spine_event_data_get_int_valuePtr + .asFunction(); void spine_event_data_set_int_value( spine_event_data event, @@ -2800,9 +3353,12 @@ class SpineFlutterBindings { ); } - late final _spine_event_data_set_int_valuePtr = - _lookup>('spine_event_data_set_int_value'); - late final _spine_event_data_set_int_value = _spine_event_data_set_int_valuePtr.asFunction(); + late final _spine_event_data_set_int_valuePtr = _lookup< + ffi.NativeFunction>( + 'spine_event_data_set_int_value'); + late final _spine_event_data_set_int_value = + _spine_event_data_set_int_valuePtr + .asFunction(); double spine_event_data_get_float_value( spine_event_data event, @@ -2813,8 +3369,11 @@ class SpineFlutterBindings { } late final _spine_event_data_get_float_valuePtr = - _lookup>('spine_event_data_get_float_value'); - late final _spine_event_data_get_float_value = _spine_event_data_get_float_valuePtr.asFunction(); + _lookup>( + 'spine_event_data_get_float_value'); + late final _spine_event_data_get_float_value = + _spine_event_data_get_float_valuePtr + .asFunction(); void spine_event_data_set_float_value( spine_event_data event, @@ -2826,9 +3385,12 @@ class SpineFlutterBindings { ); } - late final _spine_event_data_set_float_valuePtr = - _lookup>('spine_event_data_set_float_value'); - late final _spine_event_data_set_float_value = _spine_event_data_set_float_valuePtr.asFunction(); + late final _spine_event_data_set_float_valuePtr = _lookup< + ffi.NativeFunction>( + 'spine_event_data_set_float_value'); + late final _spine_event_data_set_float_value = + _spine_event_data_set_float_valuePtr + .asFunction(); ffi.Pointer spine_event_data_get_string_value( spine_event_data event, @@ -2839,9 +3401,11 @@ class SpineFlutterBindings { } late final _spine_event_data_get_string_valuePtr = - _lookup Function(spine_event_data)>>('spine_event_data_get_string_value'); + _lookup Function(spine_event_data)>>( + 'spine_event_data_get_string_value'); late final _spine_event_data_get_string_value = - _spine_event_data_get_string_valuePtr.asFunction Function(spine_event_data)>(); + _spine_event_data_get_string_valuePtr + .asFunction Function(spine_event_data)>(); void spine_event_data_set_string_value( spine_event_data event, @@ -2853,10 +3417,13 @@ class SpineFlutterBindings { ); } - late final _spine_event_data_set_string_valuePtr = - _lookup)>>('spine_event_data_set_string_value'); + late final _spine_event_data_set_string_valuePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_event_data, + ffi.Pointer)>>('spine_event_data_set_string_value'); late final _spine_event_data_set_string_value = - _spine_event_data_set_string_valuePtr.asFunction)>(); + _spine_event_data_set_string_valuePtr + .asFunction)>(); ffi.Pointer spine_event_data_get_audio_path( spine_event_data event, @@ -2867,9 +3434,11 @@ class SpineFlutterBindings { } late final _spine_event_data_get_audio_pathPtr = - _lookup Function(spine_event_data)>>('spine_event_data_get_audio_path'); + _lookup Function(spine_event_data)>>( + 'spine_event_data_get_audio_path'); late final _spine_event_data_get_audio_path = - _spine_event_data_get_audio_pathPtr.asFunction Function(spine_event_data)>(); + _spine_event_data_get_audio_pathPtr + .asFunction Function(spine_event_data)>(); /// OMITTED setAudioPath() double spine_event_data_get_volume( @@ -2881,8 +3450,10 @@ class SpineFlutterBindings { } late final _spine_event_data_get_volumePtr = - _lookup>('spine_event_data_get_volume'); - late final _spine_event_data_get_volume = _spine_event_data_get_volumePtr.asFunction(); + _lookup>( + 'spine_event_data_get_volume'); + late final _spine_event_data_get_volume = _spine_event_data_get_volumePtr + .asFunction(); void spine_event_data_set_volume( spine_event_data event, @@ -2894,9 +3465,11 @@ class SpineFlutterBindings { ); } - late final _spine_event_data_set_volumePtr = - _lookup>('spine_event_data_set_volume'); - late final _spine_event_data_set_volume = _spine_event_data_set_volumePtr.asFunction(); + late final _spine_event_data_set_volumePtr = _lookup< + ffi.NativeFunction>( + 'spine_event_data_set_volume'); + late final _spine_event_data_set_volume = _spine_event_data_set_volumePtr + .asFunction(); double spine_event_data_get_balance( spine_event_data event, @@ -2907,8 +3480,10 @@ class SpineFlutterBindings { } late final _spine_event_data_get_balancePtr = - _lookup>('spine_event_data_get_balance'); - late final _spine_event_data_get_balance = _spine_event_data_get_balancePtr.asFunction(); + _lookup>( + 'spine_event_data_get_balance'); + late final _spine_event_data_get_balance = _spine_event_data_get_balancePtr + .asFunction(); void spine_event_data_set_balance( spine_event_data event, @@ -2920,9 +3495,11 @@ class SpineFlutterBindings { ); } - late final _spine_event_data_set_balancePtr = - _lookup>('spine_event_data_set_balance'); - late final _spine_event_data_set_balance = _spine_event_data_set_balancePtr.asFunction(); + late final _spine_event_data_set_balancePtr = _lookup< + ffi.NativeFunction>( + 'spine_event_data_set_balance'); + late final _spine_event_data_set_balance = _spine_event_data_set_balancePtr + .asFunction(); spine_event_data spine_event_get_data( spine_event event, @@ -2932,8 +3509,11 @@ class SpineFlutterBindings { ); } - late final _spine_event_get_dataPtr = _lookup>('spine_event_get_data'); - late final _spine_event_get_data = _spine_event_get_dataPtr.asFunction(); + late final _spine_event_get_dataPtr = + _lookup>( + 'spine_event_get_data'); + late final _spine_event_get_data = _spine_event_get_dataPtr + .asFunction(); double spine_event_get_time( spine_event event, @@ -2943,8 +3523,11 @@ class SpineFlutterBindings { ); } - late final _spine_event_get_timePtr = _lookup>('spine_event_get_time'); - late final _spine_event_get_time = _spine_event_get_timePtr.asFunction(); + late final _spine_event_get_timePtr = + _lookup>( + 'spine_event_get_time'); + late final _spine_event_get_time = + _spine_event_get_timePtr.asFunction(); int spine_event_get_int_value( spine_event event, @@ -2954,8 +3537,11 @@ class SpineFlutterBindings { ); } - late final _spine_event_get_int_valuePtr = _lookup>('spine_event_get_int_value'); - late final _spine_event_get_int_value = _spine_event_get_int_valuePtr.asFunction(); + late final _spine_event_get_int_valuePtr = + _lookup>( + 'spine_event_get_int_value'); + late final _spine_event_get_int_value = + _spine_event_get_int_valuePtr.asFunction(); void spine_event_set_int_value( spine_event event, @@ -2968,8 +3554,10 @@ class SpineFlutterBindings { } late final _spine_event_set_int_valuePtr = - _lookup>('spine_event_set_int_value'); - late final _spine_event_set_int_value = _spine_event_set_int_valuePtr.asFunction(); + _lookup>( + 'spine_event_set_int_value'); + late final _spine_event_set_int_value = _spine_event_set_int_valuePtr + .asFunction(); double spine_event_get_float_value( spine_event event, @@ -2979,8 +3567,11 @@ class SpineFlutterBindings { ); } - late final _spine_event_get_float_valuePtr = _lookup>('spine_event_get_float_value'); - late final _spine_event_get_float_value = _spine_event_get_float_valuePtr.asFunction(); + late final _spine_event_get_float_valuePtr = + _lookup>( + 'spine_event_get_float_value'); + late final _spine_event_get_float_value = _spine_event_get_float_valuePtr + .asFunction(); void spine_event_set_float_value( spine_event event, @@ -2993,8 +3584,10 @@ class SpineFlutterBindings { } late final _spine_event_set_float_valuePtr = - _lookup>('spine_event_set_float_value'); - late final _spine_event_set_float_value = _spine_event_set_float_valuePtr.asFunction(); + _lookup>( + 'spine_event_set_float_value'); + late final _spine_event_set_float_value = _spine_event_set_float_valuePtr + .asFunction(); ffi.Pointer spine_event_get_string_value( spine_event event, @@ -3005,8 +3598,10 @@ class SpineFlutterBindings { } late final _spine_event_get_string_valuePtr = - _lookup Function(spine_event)>>('spine_event_get_string_value'); - late final _spine_event_get_string_value = _spine_event_get_string_valuePtr.asFunction Function(spine_event)>(); + _lookup Function(spine_event)>>( + 'spine_event_get_string_value'); + late final _spine_event_get_string_value = _spine_event_get_string_valuePtr + .asFunction Function(spine_event)>(); void spine_event_set_string_value( spine_event event, @@ -3018,9 +3613,12 @@ class SpineFlutterBindings { ); } - late final _spine_event_set_string_valuePtr = - _lookup)>>('spine_event_set_string_value'); - late final _spine_event_set_string_value = _spine_event_set_string_valuePtr.asFunction)>(); + late final _spine_event_set_string_valuePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_event, ffi.Pointer)>>('spine_event_set_string_value'); + late final _spine_event_set_string_value = _spine_event_set_string_valuePtr + .asFunction)>(); double spine_event_get_volume( spine_event event, @@ -3030,8 +3628,11 @@ class SpineFlutterBindings { ); } - late final _spine_event_get_volumePtr = _lookup>('spine_event_get_volume'); - late final _spine_event_get_volume = _spine_event_get_volumePtr.asFunction(); + late final _spine_event_get_volumePtr = + _lookup>( + 'spine_event_get_volume'); + late final _spine_event_get_volume = + _spine_event_get_volumePtr.asFunction(); void spine_event_set_volume( spine_event event, @@ -3043,8 +3644,11 @@ class SpineFlutterBindings { ); } - late final _spine_event_set_volumePtr = _lookup>('spine_event_set_volume'); - late final _spine_event_set_volume = _spine_event_set_volumePtr.asFunction(); + late final _spine_event_set_volumePtr = + _lookup>( + 'spine_event_set_volume'); + late final _spine_event_set_volume = _spine_event_set_volumePtr + .asFunction(); double spine_event_get_balance( spine_event event, @@ -3054,8 +3658,11 @@ class SpineFlutterBindings { ); } - late final _spine_event_get_balancePtr = _lookup>('spine_event_get_balance'); - late final _spine_event_get_balance = _spine_event_get_balancePtr.asFunction(); + late final _spine_event_get_balancePtr = + _lookup>( + 'spine_event_get_balance'); + late final _spine_event_get_balance = + _spine_event_get_balancePtr.asFunction(); void spine_event_set_balance( spine_event event, @@ -3068,8 +3675,10 @@ class SpineFlutterBindings { } late final _spine_event_set_balancePtr = - _lookup>('spine_event_set_balance'); - late final _spine_event_set_balance = _spine_event_set_balancePtr.asFunction(); + _lookup>( + 'spine_event_set_balance'); + late final _spine_event_set_balance = _spine_event_set_balancePtr + .asFunction(); int spine_slot_data_get_index( spine_slot_data slot, @@ -3079,8 +3688,11 @@ class SpineFlutterBindings { ); } - late final _spine_slot_data_get_indexPtr = _lookup>('spine_slot_data_get_index'); - late final _spine_slot_data_get_index = _spine_slot_data_get_indexPtr.asFunction(); + late final _spine_slot_data_get_indexPtr = + _lookup>( + 'spine_slot_data_get_index'); + late final _spine_slot_data_get_index = + _spine_slot_data_get_indexPtr.asFunction(); ffi.Pointer spine_slot_data_get_name( spine_slot_data slot, @@ -3091,8 +3703,10 @@ class SpineFlutterBindings { } late final _spine_slot_data_get_namePtr = - _lookup Function(spine_slot_data)>>('spine_slot_data_get_name'); - late final _spine_slot_data_get_name = _spine_slot_data_get_namePtr.asFunction Function(spine_slot_data)>(); + _lookup Function(spine_slot_data)>>( + 'spine_slot_data_get_name'); + late final _spine_slot_data_get_name = _spine_slot_data_get_namePtr + .asFunction Function(spine_slot_data)>(); spine_bone_data spine_slot_data_get_bone_data( spine_slot_data slot, @@ -3103,8 +3717,10 @@ class SpineFlutterBindings { } late final _spine_slot_data_get_bone_dataPtr = - _lookup>('spine_slot_data_get_bone_data'); - late final _spine_slot_data_get_bone_data = _spine_slot_data_get_bone_dataPtr.asFunction(); + _lookup>( + 'spine_slot_data_get_bone_data'); + late final _spine_slot_data_get_bone_data = _spine_slot_data_get_bone_dataPtr + .asFunction(); spine_color spine_slot_data_get_color( spine_slot_data slot, @@ -3115,8 +3731,10 @@ class SpineFlutterBindings { } late final _spine_slot_data_get_colorPtr = - _lookup>('spine_slot_data_get_color'); - late final _spine_slot_data_get_color = _spine_slot_data_get_colorPtr.asFunction(); + _lookup>( + 'spine_slot_data_get_color'); + late final _spine_slot_data_get_color = _spine_slot_data_get_colorPtr + .asFunction(); void spine_slot_data_set_color( spine_slot_data slot, @@ -3134,11 +3752,13 @@ class SpineFlutterBindings { ); } - late final _spine_slot_data_set_colorPtr = - _lookup>( - 'spine_slot_data_set_color'); + late final _spine_slot_data_set_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_slot_data, ffi.Float, ffi.Float, ffi.Float, + ffi.Float)>>('spine_slot_data_set_color'); late final _spine_slot_data_set_color = - _spine_slot_data_set_colorPtr.asFunction(); + _spine_slot_data_set_colorPtr.asFunction< + void Function(spine_slot_data, double, double, double, double)>(); spine_color spine_slot_data_get_dark_color( spine_slot_data slot, @@ -3149,8 +3769,11 @@ class SpineFlutterBindings { } late final _spine_slot_data_get_dark_colorPtr = - _lookup>('spine_slot_data_get_dark_color'); - late final _spine_slot_data_get_dark_color = _spine_slot_data_get_dark_colorPtr.asFunction(); + _lookup>( + 'spine_slot_data_get_dark_color'); + late final _spine_slot_data_get_dark_color = + _spine_slot_data_get_dark_colorPtr + .asFunction(); void spine_slot_data_set_dark_color( spine_slot_data slot, @@ -3168,11 +3791,13 @@ class SpineFlutterBindings { ); } - late final _spine_slot_data_set_dark_colorPtr = - _lookup>( - 'spine_slot_data_set_dark_color'); + late final _spine_slot_data_set_dark_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_slot_data, ffi.Float, ffi.Float, ffi.Float, + ffi.Float)>>('spine_slot_data_set_dark_color'); late final _spine_slot_data_set_dark_color = - _spine_slot_data_set_dark_colorPtr.asFunction(); + _spine_slot_data_set_dark_colorPtr.asFunction< + void Function(spine_slot_data, double, double, double, double)>(); int spine_slot_data_has_dark_color( spine_slot_data slot, @@ -3183,8 +3808,11 @@ class SpineFlutterBindings { } late final _spine_slot_data_has_dark_colorPtr = - _lookup>('spine_slot_data_has_dark_color'); - late final _spine_slot_data_has_dark_color = _spine_slot_data_has_dark_colorPtr.asFunction(); + _lookup>( + 'spine_slot_data_has_dark_color'); + late final _spine_slot_data_has_dark_color = + _spine_slot_data_has_dark_colorPtr + .asFunction(); void spine_slot_data_set_has_dark_color( spine_slot_data slot, @@ -3196,9 +3824,12 @@ class SpineFlutterBindings { ); } - late final _spine_slot_data_set_has_dark_colorPtr = - _lookup>('spine_slot_data_set_has_dark_color'); - late final _spine_slot_data_set_has_dark_color = _spine_slot_data_set_has_dark_colorPtr.asFunction(); + late final _spine_slot_data_set_has_dark_colorPtr = _lookup< + ffi.NativeFunction>( + 'spine_slot_data_set_has_dark_color'); + late final _spine_slot_data_set_has_dark_color = + _spine_slot_data_set_has_dark_colorPtr + .asFunction(); ffi.Pointer spine_slot_data_get_attachment_name( spine_slot_data slot, @@ -3209,9 +3840,11 @@ class SpineFlutterBindings { } late final _spine_slot_data_get_attachment_namePtr = - _lookup Function(spine_slot_data)>>('spine_slot_data_get_attachment_name'); + _lookup Function(spine_slot_data)>>( + 'spine_slot_data_get_attachment_name'); late final _spine_slot_data_get_attachment_name = - _spine_slot_data_get_attachment_namePtr.asFunction Function(spine_slot_data)>(); + _spine_slot_data_get_attachment_namePtr + .asFunction Function(spine_slot_data)>(); void spine_slot_data_set_attachment_name( spine_slot_data slot, @@ -3223,10 +3856,13 @@ class SpineFlutterBindings { ); } - late final _spine_slot_data_set_attachment_namePtr = - _lookup)>>('spine_slot_data_set_attachment_name'); + late final _spine_slot_data_set_attachment_namePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_slot_data, + ffi.Pointer)>>('spine_slot_data_set_attachment_name'); late final _spine_slot_data_set_attachment_name = - _spine_slot_data_set_attachment_namePtr.asFunction)>(); + _spine_slot_data_set_attachment_namePtr + .asFunction)>(); int spine_slot_data_get_blend_mode( spine_slot_data slot, @@ -3237,8 +3873,11 @@ class SpineFlutterBindings { } late final _spine_slot_data_get_blend_modePtr = - _lookup>('spine_slot_data_get_blend_mode'); - late final _spine_slot_data_get_blend_mode = _spine_slot_data_get_blend_modePtr.asFunction(); + _lookup>( + 'spine_slot_data_get_blend_mode'); + late final _spine_slot_data_get_blend_mode = + _spine_slot_data_get_blend_modePtr + .asFunction(); void spine_slot_data_set_blend_mode( spine_slot_data slot, @@ -3250,9 +3889,12 @@ class SpineFlutterBindings { ); } - late final _spine_slot_data_set_blend_modePtr = - _lookup>('spine_slot_data_set_blend_mode'); - late final _spine_slot_data_set_blend_mode = _spine_slot_data_set_blend_modePtr.asFunction(); + late final _spine_slot_data_set_blend_modePtr = _lookup< + ffi.NativeFunction>( + 'spine_slot_data_set_blend_mode'); + late final _spine_slot_data_set_blend_mode = + _spine_slot_data_set_blend_modePtr + .asFunction(); void spine_slot_set_to_setup_pose( spine_slot slot, @@ -3262,8 +3904,11 @@ class SpineFlutterBindings { ); } - late final _spine_slot_set_to_setup_posePtr = _lookup>('spine_slot_set_to_setup_pose'); - late final _spine_slot_set_to_setup_pose = _spine_slot_set_to_setup_posePtr.asFunction(); + late final _spine_slot_set_to_setup_posePtr = + _lookup>( + 'spine_slot_set_to_setup_pose'); + late final _spine_slot_set_to_setup_pose = + _spine_slot_set_to_setup_posePtr.asFunction(); spine_slot_data spine_slot_get_data( spine_slot slot, @@ -3273,8 +3918,11 @@ class SpineFlutterBindings { ); } - late final _spine_slot_get_dataPtr = _lookup>('spine_slot_get_data'); - late final _spine_slot_get_data = _spine_slot_get_dataPtr.asFunction(); + late final _spine_slot_get_dataPtr = + _lookup>( + 'spine_slot_get_data'); + late final _spine_slot_get_data = _spine_slot_get_dataPtr + .asFunction(); spine_bone spine_slot_get_bone( spine_slot slot, @@ -3284,8 +3932,11 @@ class SpineFlutterBindings { ); } - late final _spine_slot_get_bonePtr = _lookup>('spine_slot_get_bone'); - late final _spine_slot_get_bone = _spine_slot_get_bonePtr.asFunction(); + late final _spine_slot_get_bonePtr = + _lookup>( + 'spine_slot_get_bone'); + late final _spine_slot_get_bone = + _spine_slot_get_bonePtr.asFunction(); spine_skeleton spine_slot_get_skeleton( spine_slot slot, @@ -3295,8 +3946,11 @@ class SpineFlutterBindings { ); } - late final _spine_slot_get_skeletonPtr = _lookup>('spine_slot_get_skeleton'); - late final _spine_slot_get_skeleton = _spine_slot_get_skeletonPtr.asFunction(); + late final _spine_slot_get_skeletonPtr = + _lookup>( + 'spine_slot_get_skeleton'); + late final _spine_slot_get_skeleton = _spine_slot_get_skeletonPtr + .asFunction(); spine_color spine_slot_get_color( spine_slot slot, @@ -3306,8 +3960,11 @@ class SpineFlutterBindings { ); } - late final _spine_slot_get_colorPtr = _lookup>('spine_slot_get_color'); - late final _spine_slot_get_color = _spine_slot_get_colorPtr.asFunction(); + late final _spine_slot_get_colorPtr = + _lookup>( + 'spine_slot_get_color'); + late final _spine_slot_get_color = + _spine_slot_get_colorPtr.asFunction(); void spine_slot_set_color( spine_slot slot, @@ -3325,9 +3982,12 @@ class SpineFlutterBindings { ); } - late final _spine_slot_set_colorPtr = - _lookup>('spine_slot_set_color'); - late final _spine_slot_set_color = _spine_slot_set_colorPtr.asFunction(); + late final _spine_slot_set_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_slot, ffi.Float, ffi.Float, ffi.Float, + ffi.Float)>>('spine_slot_set_color'); + late final _spine_slot_set_color = _spine_slot_set_colorPtr + .asFunction(); spine_color spine_slot_get_dark_color( spine_slot slot, @@ -3337,8 +3997,11 @@ class SpineFlutterBindings { ); } - late final _spine_slot_get_dark_colorPtr = _lookup>('spine_slot_get_dark_color'); - late final _spine_slot_get_dark_color = _spine_slot_get_dark_colorPtr.asFunction(); + late final _spine_slot_get_dark_colorPtr = + _lookup>( + 'spine_slot_get_dark_color'); + late final _spine_slot_get_dark_color = _spine_slot_get_dark_colorPtr + .asFunction(); void spine_slot_set_dark_color( spine_slot slot, @@ -3356,10 +4019,12 @@ class SpineFlutterBindings { ); } - late final _spine_slot_set_dark_colorPtr = - _lookup>('spine_slot_set_dark_color'); - late final _spine_slot_set_dark_color = - _spine_slot_set_dark_colorPtr.asFunction(); + late final _spine_slot_set_dark_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_slot, ffi.Float, ffi.Float, ffi.Float, + ffi.Float)>>('spine_slot_set_dark_color'); + late final _spine_slot_set_dark_color = _spine_slot_set_dark_colorPtr + .asFunction(); int spine_slot_has_dark_color( spine_slot slot, @@ -3369,8 +4034,11 @@ class SpineFlutterBindings { ); } - late final _spine_slot_has_dark_colorPtr = _lookup>('spine_slot_has_dark_color'); - late final _spine_slot_has_dark_color = _spine_slot_has_dark_colorPtr.asFunction(); + late final _spine_slot_has_dark_colorPtr = + _lookup>( + 'spine_slot_has_dark_color'); + late final _spine_slot_has_dark_color = + _spine_slot_has_dark_colorPtr.asFunction(); spine_attachment spine_slot_get_attachment( spine_slot slot, @@ -3381,8 +4049,10 @@ class SpineFlutterBindings { } late final _spine_slot_get_attachmentPtr = - _lookup>('spine_slot_get_attachment'); - late final _spine_slot_get_attachment = _spine_slot_get_attachmentPtr.asFunction(); + _lookup>( + 'spine_slot_get_attachment'); + late final _spine_slot_get_attachment = _spine_slot_get_attachmentPtr + .asFunction(); void spine_slot_set_attachment( spine_slot slot, @@ -3394,9 +4064,11 @@ class SpineFlutterBindings { ); } - late final _spine_slot_set_attachmentPtr = - _lookup>('spine_slot_set_attachment'); - late final _spine_slot_set_attachment = _spine_slot_set_attachmentPtr.asFunction(); + late final _spine_slot_set_attachmentPtr = _lookup< + ffi.NativeFunction>( + 'spine_slot_set_attachment'); + late final _spine_slot_set_attachment = _spine_slot_set_attachmentPtr + .asFunction(); /// OMITTED getDeform() int spine_slot_get_sequence_index( @@ -3408,8 +4080,10 @@ class SpineFlutterBindings { } late final _spine_slot_get_sequence_indexPtr = - _lookup>('spine_slot_get_sequence_index'); - late final _spine_slot_get_sequence_index = _spine_slot_get_sequence_indexPtr.asFunction(); + _lookup>( + 'spine_slot_get_sequence_index'); + late final _spine_slot_get_sequence_index = + _spine_slot_get_sequence_indexPtr.asFunction(); void spine_slot_set_sequence_index( spine_slot slot, @@ -3422,8 +4096,10 @@ class SpineFlutterBindings { } late final _spine_slot_set_sequence_indexPtr = - _lookup>('spine_slot_set_sequence_index'); - late final _spine_slot_set_sequence_index = _spine_slot_set_sequence_indexPtr.asFunction(); + _lookup>( + 'spine_slot_set_sequence_index'); + late final _spine_slot_set_sequence_index = _spine_slot_set_sequence_indexPtr + .asFunction(); int spine_bone_data_get_index( spine_bone_data data, @@ -3433,8 +4109,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_get_indexPtr = _lookup>('spine_bone_data_get_index'); - late final _spine_bone_data_get_index = _spine_bone_data_get_indexPtr.asFunction(); + late final _spine_bone_data_get_indexPtr = + _lookup>( + 'spine_bone_data_get_index'); + late final _spine_bone_data_get_index = + _spine_bone_data_get_indexPtr.asFunction(); ffi.Pointer spine_bone_data_get_name( spine_bone_data data, @@ -3445,8 +4124,10 @@ class SpineFlutterBindings { } late final _spine_bone_data_get_namePtr = - _lookup Function(spine_bone_data)>>('spine_bone_data_get_name'); - late final _spine_bone_data_get_name = _spine_bone_data_get_namePtr.asFunction Function(spine_bone_data)>(); + _lookup Function(spine_bone_data)>>( + 'spine_bone_data_get_name'); + late final _spine_bone_data_get_name = _spine_bone_data_get_namePtr + .asFunction Function(spine_bone_data)>(); spine_bone_data spine_bone_data_get_parent( spine_bone_data data, @@ -3457,8 +4138,10 @@ class SpineFlutterBindings { } late final _spine_bone_data_get_parentPtr = - _lookup>('spine_bone_data_get_parent'); - late final _spine_bone_data_get_parent = _spine_bone_data_get_parentPtr.asFunction(); + _lookup>( + 'spine_bone_data_get_parent'); + late final _spine_bone_data_get_parent = _spine_bone_data_get_parentPtr + .asFunction(); double spine_bone_data_get_length( spine_bone_data data, @@ -3469,8 +4152,10 @@ class SpineFlutterBindings { } late final _spine_bone_data_get_lengthPtr = - _lookup>('spine_bone_data_get_length'); - late final _spine_bone_data_get_length = _spine_bone_data_get_lengthPtr.asFunction(); + _lookup>( + 'spine_bone_data_get_length'); + late final _spine_bone_data_get_length = _spine_bone_data_get_lengthPtr + .asFunction(); void spine_bone_data_set_length( spine_bone_data data, @@ -3482,9 +4167,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_set_lengthPtr = - _lookup>('spine_bone_data_set_length'); - late final _spine_bone_data_set_length = _spine_bone_data_set_lengthPtr.asFunction(); + late final _spine_bone_data_set_lengthPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_length'); + late final _spine_bone_data_set_length = _spine_bone_data_set_lengthPtr + .asFunction(); double spine_bone_data_get_x( spine_bone_data data, @@ -3494,8 +4181,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_get_xPtr = _lookup>('spine_bone_data_get_x'); - late final _spine_bone_data_get_x = _spine_bone_data_get_xPtr.asFunction(); + late final _spine_bone_data_get_xPtr = + _lookup>( + 'spine_bone_data_get_x'); + late final _spine_bone_data_get_x = + _spine_bone_data_get_xPtr.asFunction(); void spine_bone_data_set_x( spine_bone_data data, @@ -3507,9 +4197,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_set_xPtr = - _lookup>('spine_bone_data_set_x'); - late final _spine_bone_data_set_x = _spine_bone_data_set_xPtr.asFunction(); + late final _spine_bone_data_set_xPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_x'); + late final _spine_bone_data_set_x = _spine_bone_data_set_xPtr + .asFunction(); double spine_bone_data_get_y( spine_bone_data data, @@ -3519,8 +4211,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_get_yPtr = _lookup>('spine_bone_data_get_y'); - late final _spine_bone_data_get_y = _spine_bone_data_get_yPtr.asFunction(); + late final _spine_bone_data_get_yPtr = + _lookup>( + 'spine_bone_data_get_y'); + late final _spine_bone_data_get_y = + _spine_bone_data_get_yPtr.asFunction(); void spine_bone_data_set_y( spine_bone_data data, @@ -3532,9 +4227,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_set_yPtr = - _lookup>('spine_bone_data_set_y'); - late final _spine_bone_data_set_y = _spine_bone_data_set_yPtr.asFunction(); + late final _spine_bone_data_set_yPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_y'); + late final _spine_bone_data_set_y = _spine_bone_data_set_yPtr + .asFunction(); double spine_bone_data_get_rotation( spine_bone_data data, @@ -3545,8 +4242,10 @@ class SpineFlutterBindings { } late final _spine_bone_data_get_rotationPtr = - _lookup>('spine_bone_data_get_rotation'); - late final _spine_bone_data_get_rotation = _spine_bone_data_get_rotationPtr.asFunction(); + _lookup>( + 'spine_bone_data_get_rotation'); + late final _spine_bone_data_get_rotation = _spine_bone_data_get_rotationPtr + .asFunction(); void spine_bone_data_set_rotation( spine_bone_data data, @@ -3558,9 +4257,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_set_rotationPtr = - _lookup>('spine_bone_data_set_rotation'); - late final _spine_bone_data_set_rotation = _spine_bone_data_set_rotationPtr.asFunction(); + late final _spine_bone_data_set_rotationPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_rotation'); + late final _spine_bone_data_set_rotation = _spine_bone_data_set_rotationPtr + .asFunction(); double spine_bone_data_get_scale_x( spine_bone_data data, @@ -3571,8 +4272,10 @@ class SpineFlutterBindings { } late final _spine_bone_data_get_scale_xPtr = - _lookup>('spine_bone_data_get_scale_x'); - late final _spine_bone_data_get_scale_x = _spine_bone_data_get_scale_xPtr.asFunction(); + _lookup>( + 'spine_bone_data_get_scale_x'); + late final _spine_bone_data_get_scale_x = _spine_bone_data_get_scale_xPtr + .asFunction(); void spine_bone_data_set_scale_x( spine_bone_data data, @@ -3584,9 +4287,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_set_scale_xPtr = - _lookup>('spine_bone_data_set_scale_x'); - late final _spine_bone_data_set_scale_x = _spine_bone_data_set_scale_xPtr.asFunction(); + late final _spine_bone_data_set_scale_xPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_scale_x'); + late final _spine_bone_data_set_scale_x = _spine_bone_data_set_scale_xPtr + .asFunction(); double spine_bone_data_get_scale_y( spine_bone_data data, @@ -3597,8 +4302,10 @@ class SpineFlutterBindings { } late final _spine_bone_data_get_scale_yPtr = - _lookup>('spine_bone_data_get_scale_y'); - late final _spine_bone_data_get_scale_y = _spine_bone_data_get_scale_yPtr.asFunction(); + _lookup>( + 'spine_bone_data_get_scale_y'); + late final _spine_bone_data_get_scale_y = _spine_bone_data_get_scale_yPtr + .asFunction(); void spine_bone_data_set_scale_y( spine_bone_data data, @@ -3610,9 +4317,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_set_scale_yPtr = - _lookup>('spine_bone_data_set_scale_y'); - late final _spine_bone_data_set_scale_y = _spine_bone_data_set_scale_yPtr.asFunction(); + late final _spine_bone_data_set_scale_yPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_scale_y'); + late final _spine_bone_data_set_scale_y = _spine_bone_data_set_scale_yPtr + .asFunction(); double spine_bone_data_get_shear_x( spine_bone_data data, @@ -3623,8 +4332,10 @@ class SpineFlutterBindings { } late final _spine_bone_data_get_shear_xPtr = - _lookup>('spine_bone_data_get_shear_x'); - late final _spine_bone_data_get_shear_x = _spine_bone_data_get_shear_xPtr.asFunction(); + _lookup>( + 'spine_bone_data_get_shear_x'); + late final _spine_bone_data_get_shear_x = _spine_bone_data_get_shear_xPtr + .asFunction(); void spine_bone_data_set_shear_x( spine_bone_data data, @@ -3636,9 +4347,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_set_shear_xPtr = - _lookup>('spine_bone_data_set_shear_x'); - late final _spine_bone_data_set_shear_x = _spine_bone_data_set_shear_xPtr.asFunction(); + late final _spine_bone_data_set_shear_xPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_shear_x'); + late final _spine_bone_data_set_shear_x = _spine_bone_data_set_shear_xPtr + .asFunction(); double spine_bone_data_get_shear_y( spine_bone_data data, @@ -3649,8 +4362,10 @@ class SpineFlutterBindings { } late final _spine_bone_data_get_shear_yPtr = - _lookup>('spine_bone_data_get_shear_y'); - late final _spine_bone_data_get_shear_y = _spine_bone_data_get_shear_yPtr.asFunction(); + _lookup>( + 'spine_bone_data_get_shear_y'); + late final _spine_bone_data_get_shear_y = _spine_bone_data_get_shear_yPtr + .asFunction(); void spine_bone_data_set_shear_y( spine_bone_data data, @@ -3662,9 +4377,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_set_shear_yPtr = - _lookup>('spine_bone_data_set_shear_y'); - late final _spine_bone_data_set_shear_y = _spine_bone_data_set_shear_yPtr.asFunction(); + late final _spine_bone_data_set_shear_yPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_shear_y'); + late final _spine_bone_data_set_shear_y = _spine_bone_data_set_shear_yPtr + .asFunction(); int spine_bone_data_get_transform_mode( spine_bone_data data, @@ -3675,8 +4392,11 @@ class SpineFlutterBindings { } late final _spine_bone_data_get_transform_modePtr = - _lookup>('spine_bone_data_get_transform_mode'); - late final _spine_bone_data_get_transform_mode = _spine_bone_data_get_transform_modePtr.asFunction(); + _lookup>( + 'spine_bone_data_get_transform_mode'); + late final _spine_bone_data_get_transform_mode = + _spine_bone_data_get_transform_modePtr + .asFunction(); void spine_bone_data_set_transform_mode( spine_bone_data data, @@ -3688,9 +4408,12 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_set_transform_modePtr = - _lookup>('spine_bone_data_set_transform_mode'); - late final _spine_bone_data_set_transform_mode = _spine_bone_data_set_transform_modePtr.asFunction(); + late final _spine_bone_data_set_transform_modePtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_transform_mode'); + late final _spine_bone_data_set_transform_mode = + _spine_bone_data_set_transform_modePtr + .asFunction(); int spine_bone_data_is_skin_required( spine_bone_data data, @@ -3701,8 +4424,11 @@ class SpineFlutterBindings { } late final _spine_bone_data_is_skin_requiredPtr = - _lookup>('spine_bone_data_is_skin_required'); - late final _spine_bone_data_is_skin_required = _spine_bone_data_is_skin_requiredPtr.asFunction(); + _lookup>( + 'spine_bone_data_is_skin_required'); + late final _spine_bone_data_is_skin_required = + _spine_bone_data_is_skin_requiredPtr + .asFunction(); void spine_bone_data_set_is_skin_required( spine_bone_data data, @@ -3714,10 +4440,12 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_set_is_skin_requiredPtr = - _lookup>('spine_bone_data_set_is_skin_required'); + late final _spine_bone_data_set_is_skin_requiredPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_is_skin_required'); late final _spine_bone_data_set_is_skin_required = - _spine_bone_data_set_is_skin_requiredPtr.asFunction(); + _spine_bone_data_set_is_skin_requiredPtr + .asFunction(); spine_color spine_bone_data_get_color( spine_bone_data data, @@ -3728,8 +4456,10 @@ class SpineFlutterBindings { } late final _spine_bone_data_get_colorPtr = - _lookup>('spine_bone_data_get_color'); - late final _spine_bone_data_get_color = _spine_bone_data_get_colorPtr.asFunction(); + _lookup>( + 'spine_bone_data_get_color'); + late final _spine_bone_data_get_color = _spine_bone_data_get_colorPtr + .asFunction(); void spine_bone_data_set_color( spine_bone_data data, @@ -3747,11 +4477,13 @@ class SpineFlutterBindings { ); } - late final _spine_bone_data_set_colorPtr = - _lookup>( - 'spine_bone_data_set_color'); + late final _spine_bone_data_set_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_bone_data, ffi.Float, ffi.Float, ffi.Float, + ffi.Float)>>('spine_bone_data_set_color'); late final _spine_bone_data_set_color = - _spine_bone_data_set_colorPtr.asFunction(); + _spine_bone_data_set_colorPtr.asFunction< + void Function(spine_bone_data, double, double, double, double)>(); void spine_bone_set_is_y_down( int yDown, @@ -3761,15 +4493,21 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_is_y_downPtr = _lookup>('spine_bone_set_is_y_down'); - late final _spine_bone_set_is_y_down = _spine_bone_set_is_y_downPtr.asFunction(); + late final _spine_bone_set_is_y_downPtr = + _lookup>( + 'spine_bone_set_is_y_down'); + late final _spine_bone_set_is_y_down = + _spine_bone_set_is_y_downPtr.asFunction(); int spine_bone_get_is_y_down() { return _spine_bone_get_is_y_down(); } - late final _spine_bone_get_is_y_downPtr = _lookup>('spine_bone_get_is_y_down'); - late final _spine_bone_get_is_y_down = _spine_bone_get_is_y_downPtr.asFunction(); + late final _spine_bone_get_is_y_downPtr = + _lookup>( + 'spine_bone_get_is_y_down'); + late final _spine_bone_get_is_y_down = + _spine_bone_get_is_y_downPtr.asFunction(); void spine_bone_update( spine_bone bone, @@ -3779,8 +4517,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_updatePtr = _lookup>('spine_bone_update'); - late final _spine_bone_update = _spine_bone_updatePtr.asFunction(); + late final _spine_bone_updatePtr = + _lookup>( + 'spine_bone_update'); + late final _spine_bone_update = + _spine_bone_updatePtr.asFunction(); void spine_bone_update_world_transform( spine_bone bone, @@ -3791,8 +4532,11 @@ class SpineFlutterBindings { } late final _spine_bone_update_world_transformPtr = - _lookup>('spine_bone_update_world_transform'); - late final _spine_bone_update_world_transform = _spine_bone_update_world_transformPtr.asFunction(); + _lookup>( + 'spine_bone_update_world_transform'); + late final _spine_bone_update_world_transform = + _spine_bone_update_world_transformPtr + .asFunction(); void spine_bone_update_world_transform_with( spine_bone bone, @@ -3817,10 +4561,35 @@ class SpineFlutterBindings { } late final _spine_bone_update_world_transform_withPtr = _lookup< - ffi.NativeFunction>( - 'spine_bone_update_world_transform_with'); - late final _spine_bone_update_world_transform_with = _spine_bone_update_world_transform_withPtr - .asFunction(); + ffi.NativeFunction< + ffi.Void Function( + spine_bone, + ffi.Float, + ffi.Float, + ffi.Float, + ffi.Float, + ffi.Float, + ffi.Float, + ffi.Float)>>('spine_bone_update_world_transform_with'); + late final _spine_bone_update_world_transform_with = + _spine_bone_update_world_transform_withPtr.asFunction< + void Function(spine_bone, double, double, double, double, double, + double, double)>(); + + void spine_bone_update_applied_transform( + spine_bone bone, + ) { + return _spine_bone_update_applied_transform( + bone, + ); + } + + late final _spine_bone_update_applied_transformPtr = + _lookup>( + 'spine_bone_update_applied_transform'); + late final _spine_bone_update_applied_transform = + _spine_bone_update_applied_transformPtr + .asFunction(); void spine_bone_set_to_setup_pose( spine_bone bone, @@ -3830,8 +4599,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_to_setup_posePtr = _lookup>('spine_bone_set_to_setup_pose'); - late final _spine_bone_set_to_setup_pose = _spine_bone_set_to_setup_posePtr.asFunction(); + late final _spine_bone_set_to_setup_posePtr = + _lookup>( + 'spine_bone_set_to_setup_pose'); + late final _spine_bone_set_to_setup_pose = + _spine_bone_set_to_setup_posePtr.asFunction(); spine_vector spine_bone_world_to_local( spine_bone bone, @@ -3845,9 +4617,12 @@ class SpineFlutterBindings { ); } - late final _spine_bone_world_to_localPtr = - _lookup>('spine_bone_world_to_local'); - late final _spine_bone_world_to_local = _spine_bone_world_to_localPtr.asFunction(); + late final _spine_bone_world_to_localPtr = _lookup< + ffi.NativeFunction< + spine_vector Function( + spine_bone, ffi.Float, ffi.Float)>>('spine_bone_world_to_local'); + late final _spine_bone_world_to_local = _spine_bone_world_to_localPtr + .asFunction(); spine_vector spine_bone_local_to_world( spine_bone bone, @@ -3861,9 +4636,12 @@ class SpineFlutterBindings { ); } - late final _spine_bone_local_to_worldPtr = - _lookup>('spine_bone_local_to_world'); - late final _spine_bone_local_to_world = _spine_bone_local_to_worldPtr.asFunction(); + late final _spine_bone_local_to_worldPtr = _lookup< + ffi.NativeFunction< + spine_vector Function( + spine_bone, ffi.Float, ffi.Float)>>('spine_bone_local_to_world'); + late final _spine_bone_local_to_world = _spine_bone_local_to_worldPtr + .asFunction(); double spine_bone_world_to_local_rotation( spine_bone bone, @@ -3876,8 +4654,11 @@ class SpineFlutterBindings { } late final _spine_bone_world_to_local_rotationPtr = - _lookup>('spine_bone_world_to_local_rotation'); - late final _spine_bone_world_to_local_rotation = _spine_bone_world_to_local_rotationPtr.asFunction(); + _lookup>( + 'spine_bone_world_to_local_rotation'); + late final _spine_bone_world_to_local_rotation = + _spine_bone_world_to_local_rotationPtr + .asFunction(); double spine_bone_local_to_world_rotation( spine_bone bone, @@ -3890,8 +4671,11 @@ class SpineFlutterBindings { } late final _spine_bone_local_to_world_rotationPtr = - _lookup>('spine_bone_local_to_world_rotation'); - late final _spine_bone_local_to_world_rotation = _spine_bone_local_to_world_rotationPtr.asFunction(); + _lookup>( + 'spine_bone_local_to_world_rotation'); + late final _spine_bone_local_to_world_rotation = + _spine_bone_local_to_world_rotationPtr + .asFunction(); void spine_bone_rotate_world( spine_bone bone, @@ -3903,8 +4687,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_rotate_worldPtr = _lookup>('spine_bone_rotate_world'); - late final _spine_bone_rotate_world = _spine_bone_rotate_worldPtr.asFunction(); + late final _spine_bone_rotate_worldPtr = + _lookup>( + 'spine_bone_rotate_world'); + late final _spine_bone_rotate_world = _spine_bone_rotate_worldPtr + .asFunction(); double spine_bone_get_world_to_local_rotation_x( spine_bone bone, @@ -3915,9 +4702,11 @@ class SpineFlutterBindings { } late final _spine_bone_get_world_to_local_rotation_xPtr = - _lookup>('spine_bone_get_world_to_local_rotation_x'); + _lookup>( + 'spine_bone_get_world_to_local_rotation_x'); late final _spine_bone_get_world_to_local_rotation_x = - _spine_bone_get_world_to_local_rotation_xPtr.asFunction(); + _spine_bone_get_world_to_local_rotation_xPtr + .asFunction(); double spine_bone_get_world_to_local_rotation_y( spine_bone bone, @@ -3928,9 +4717,11 @@ class SpineFlutterBindings { } late final _spine_bone_get_world_to_local_rotation_yPtr = - _lookup>('spine_bone_get_world_to_local_rotation_y'); + _lookup>( + 'spine_bone_get_world_to_local_rotation_y'); late final _spine_bone_get_world_to_local_rotation_y = - _spine_bone_get_world_to_local_rotation_yPtr.asFunction(); + _spine_bone_get_world_to_local_rotation_yPtr + .asFunction(); spine_bone_data spine_bone_get_data( spine_bone bone, @@ -3940,8 +4731,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_dataPtr = _lookup>('spine_bone_get_data'); - late final _spine_bone_get_data = _spine_bone_get_dataPtr.asFunction(); + late final _spine_bone_get_dataPtr = + _lookup>( + 'spine_bone_get_data'); + late final _spine_bone_get_data = _spine_bone_get_dataPtr + .asFunction(); spine_skeleton spine_bone_get_skeleton( spine_bone bone, @@ -3951,8 +4745,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_skeletonPtr = _lookup>('spine_bone_get_skeleton'); - late final _spine_bone_get_skeleton = _spine_bone_get_skeletonPtr.asFunction(); + late final _spine_bone_get_skeletonPtr = + _lookup>( + 'spine_bone_get_skeleton'); + late final _spine_bone_get_skeleton = _spine_bone_get_skeletonPtr + .asFunction(); spine_bone spine_bone_get_parent( spine_bone bone, @@ -3962,8 +4759,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_parentPtr = _lookup>('spine_bone_get_parent'); - late final _spine_bone_get_parent = _spine_bone_get_parentPtr.asFunction(); + late final _spine_bone_get_parentPtr = + _lookup>( + 'spine_bone_get_parent'); + late final _spine_bone_get_parent = + _spine_bone_get_parentPtr.asFunction(); int spine_bone_get_num_children( spine_bone bone, @@ -3973,8 +4773,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_num_childrenPtr = _lookup>('spine_bone_get_num_children'); - late final _spine_bone_get_num_children = _spine_bone_get_num_childrenPtr.asFunction(); + late final _spine_bone_get_num_childrenPtr = + _lookup>( + 'spine_bone_get_num_children'); + late final _spine_bone_get_num_children = + _spine_bone_get_num_childrenPtr.asFunction(); ffi.Pointer spine_bone_get_children( spine_bone bone, @@ -3985,8 +4788,10 @@ class SpineFlutterBindings { } late final _spine_bone_get_childrenPtr = - _lookup Function(spine_bone)>>('spine_bone_get_children'); - late final _spine_bone_get_children = _spine_bone_get_childrenPtr.asFunction Function(spine_bone)>(); + _lookup Function(spine_bone)>>( + 'spine_bone_get_children'); + late final _spine_bone_get_children = _spine_bone_get_childrenPtr + .asFunction Function(spine_bone)>(); double spine_bone_get_x( spine_bone bone, @@ -3996,8 +4801,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_xPtr = _lookup>('spine_bone_get_x'); - late final _spine_bone_get_x = _spine_bone_get_xPtr.asFunction(); + late final _spine_bone_get_xPtr = + _lookup>( + 'spine_bone_get_x'); + late final _spine_bone_get_x = + _spine_bone_get_xPtr.asFunction(); void spine_bone_set_x( spine_bone bone, @@ -4009,8 +4817,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_xPtr = _lookup>('spine_bone_set_x'); - late final _spine_bone_set_x = _spine_bone_set_xPtr.asFunction(); + late final _spine_bone_set_xPtr = + _lookup>( + 'spine_bone_set_x'); + late final _spine_bone_set_x = + _spine_bone_set_xPtr.asFunction(); double spine_bone_get_y( spine_bone bone, @@ -4020,8 +4831,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_yPtr = _lookup>('spine_bone_get_y'); - late final _spine_bone_get_y = _spine_bone_get_yPtr.asFunction(); + late final _spine_bone_get_yPtr = + _lookup>( + 'spine_bone_get_y'); + late final _spine_bone_get_y = + _spine_bone_get_yPtr.asFunction(); void spine_bone_set_y( spine_bone bone, @@ -4033,8 +4847,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_yPtr = _lookup>('spine_bone_set_y'); - late final _spine_bone_set_y = _spine_bone_set_yPtr.asFunction(); + late final _spine_bone_set_yPtr = + _lookup>( + 'spine_bone_set_y'); + late final _spine_bone_set_y = + _spine_bone_set_yPtr.asFunction(); double spine_bone_get_rotation( spine_bone bone, @@ -4044,8 +4861,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_rotationPtr = _lookup>('spine_bone_get_rotation'); - late final _spine_bone_get_rotation = _spine_bone_get_rotationPtr.asFunction(); + late final _spine_bone_get_rotationPtr = + _lookup>( + 'spine_bone_get_rotation'); + late final _spine_bone_get_rotation = + _spine_bone_get_rotationPtr.asFunction(); void spine_bone_set_rotation( spine_bone bone, @@ -4057,8 +4877,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_rotationPtr = _lookup>('spine_bone_set_rotation'); - late final _spine_bone_set_rotation = _spine_bone_set_rotationPtr.asFunction(); + late final _spine_bone_set_rotationPtr = + _lookup>( + 'spine_bone_set_rotation'); + late final _spine_bone_set_rotation = _spine_bone_set_rotationPtr + .asFunction(); double spine_bone_get_scale_x( spine_bone bone, @@ -4068,8 +4891,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_scale_xPtr = _lookup>('spine_bone_get_scale_x'); - late final _spine_bone_get_scale_x = _spine_bone_get_scale_xPtr.asFunction(); + late final _spine_bone_get_scale_xPtr = + _lookup>( + 'spine_bone_get_scale_x'); + late final _spine_bone_get_scale_x = + _spine_bone_get_scale_xPtr.asFunction(); void spine_bone_set_scale_x( spine_bone bone, @@ -4081,8 +4907,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_scale_xPtr = _lookup>('spine_bone_set_scale_x'); - late final _spine_bone_set_scale_x = _spine_bone_set_scale_xPtr.asFunction(); + late final _spine_bone_set_scale_xPtr = + _lookup>( + 'spine_bone_set_scale_x'); + late final _spine_bone_set_scale_x = _spine_bone_set_scale_xPtr + .asFunction(); double spine_bone_get_scale_y( spine_bone bone, @@ -4092,8 +4921,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_scale_yPtr = _lookup>('spine_bone_get_scale_y'); - late final _spine_bone_get_scale_y = _spine_bone_get_scale_yPtr.asFunction(); + late final _spine_bone_get_scale_yPtr = + _lookup>( + 'spine_bone_get_scale_y'); + late final _spine_bone_get_scale_y = + _spine_bone_get_scale_yPtr.asFunction(); void spine_bone_set_scale_y( spine_bone bone, @@ -4105,8 +4937,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_scale_yPtr = _lookup>('spine_bone_set_scale_y'); - late final _spine_bone_set_scale_y = _spine_bone_set_scale_yPtr.asFunction(); + late final _spine_bone_set_scale_yPtr = + _lookup>( + 'spine_bone_set_scale_y'); + late final _spine_bone_set_scale_y = _spine_bone_set_scale_yPtr + .asFunction(); double spine_bone_get_shear_x( spine_bone bone, @@ -4116,8 +4951,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_shear_xPtr = _lookup>('spine_bone_get_shear_x'); - late final _spine_bone_get_shear_x = _spine_bone_get_shear_xPtr.asFunction(); + late final _spine_bone_get_shear_xPtr = + _lookup>( + 'spine_bone_get_shear_x'); + late final _spine_bone_get_shear_x = + _spine_bone_get_shear_xPtr.asFunction(); void spine_bone_set_shear_x( spine_bone bone, @@ -4129,8 +4967,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_shear_xPtr = _lookup>('spine_bone_set_shear_x'); - late final _spine_bone_set_shear_x = _spine_bone_set_shear_xPtr.asFunction(); + late final _spine_bone_set_shear_xPtr = + _lookup>( + 'spine_bone_set_shear_x'); + late final _spine_bone_set_shear_x = _spine_bone_set_shear_xPtr + .asFunction(); double spine_bone_get_shear_y( spine_bone bone, @@ -4140,8 +4981,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_shear_yPtr = _lookup>('spine_bone_get_shear_y'); - late final _spine_bone_get_shear_y = _spine_bone_get_shear_yPtr.asFunction(); + late final _spine_bone_get_shear_yPtr = + _lookup>( + 'spine_bone_get_shear_y'); + late final _spine_bone_get_shear_y = + _spine_bone_get_shear_yPtr.asFunction(); void spine_bone_set_shear_y( spine_bone bone, @@ -4153,8 +4997,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_shear_yPtr = _lookup>('spine_bone_set_shear_y'); - late final _spine_bone_set_shear_y = _spine_bone_set_shear_yPtr.asFunction(); + late final _spine_bone_set_shear_yPtr = + _lookup>( + 'spine_bone_set_shear_y'); + late final _spine_bone_set_shear_y = _spine_bone_set_shear_yPtr + .asFunction(); double spine_bone_get_applied_rotation( spine_bone bone, @@ -4165,8 +5012,11 @@ class SpineFlutterBindings { } late final _spine_bone_get_applied_rotationPtr = - _lookup>('spine_bone_get_applied_rotation'); - late final _spine_bone_get_applied_rotation = _spine_bone_get_applied_rotationPtr.asFunction(); + _lookup>( + 'spine_bone_get_applied_rotation'); + late final _spine_bone_get_applied_rotation = + _spine_bone_get_applied_rotationPtr + .asFunction(); void spine_bone_set_applied_rotation( spine_bone bone, @@ -4179,8 +5029,11 @@ class SpineFlutterBindings { } late final _spine_bone_set_applied_rotationPtr = - _lookup>('spine_bone_set_applied_rotation'); - late final _spine_bone_set_applied_rotation = _spine_bone_set_applied_rotationPtr.asFunction(); + _lookup>( + 'spine_bone_set_applied_rotation'); + late final _spine_bone_set_applied_rotation = + _spine_bone_set_applied_rotationPtr + .asFunction(); double spine_bone_get_a_x( spine_bone bone, @@ -4190,8 +5043,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_a_xPtr = _lookup>('spine_bone_get_a_x'); - late final _spine_bone_get_a_x = _spine_bone_get_a_xPtr.asFunction(); + late final _spine_bone_get_a_xPtr = + _lookup>( + 'spine_bone_get_a_x'); + late final _spine_bone_get_a_x = + _spine_bone_get_a_xPtr.asFunction(); void spine_bone_set_a_x( spine_bone bone, @@ -4203,8 +5059,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_a_xPtr = _lookup>('spine_bone_set_a_x'); - late final _spine_bone_set_a_x = _spine_bone_set_a_xPtr.asFunction(); + late final _spine_bone_set_a_xPtr = + _lookup>( + 'spine_bone_set_a_x'); + late final _spine_bone_set_a_x = + _spine_bone_set_a_xPtr.asFunction(); double spine_bone_get_a_y( spine_bone bone, @@ -4214,8 +5073,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_a_yPtr = _lookup>('spine_bone_get_a_y'); - late final _spine_bone_get_a_y = _spine_bone_get_a_yPtr.asFunction(); + late final _spine_bone_get_a_yPtr = + _lookup>( + 'spine_bone_get_a_y'); + late final _spine_bone_get_a_y = + _spine_bone_get_a_yPtr.asFunction(); void spine_bone_set_a_y( spine_bone bone, @@ -4227,8 +5089,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_a_yPtr = _lookup>('spine_bone_set_a_y'); - late final _spine_bone_set_a_y = _spine_bone_set_a_yPtr.asFunction(); + late final _spine_bone_set_a_yPtr = + _lookup>( + 'spine_bone_set_a_y'); + late final _spine_bone_set_a_y = + _spine_bone_set_a_yPtr.asFunction(); double spine_bone_get_a_scale_x( spine_bone bone, @@ -4238,8 +5103,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_a_scale_xPtr = _lookup>('spine_bone_get_a_scale_x'); - late final _spine_bone_get_a_scale_x = _spine_bone_get_a_scale_xPtr.asFunction(); + late final _spine_bone_get_a_scale_xPtr = + _lookup>( + 'spine_bone_get_a_scale_x'); + late final _spine_bone_get_a_scale_x = + _spine_bone_get_a_scale_xPtr.asFunction(); void spine_bone_set_a_scale_x( spine_bone bone, @@ -4252,8 +5120,10 @@ class SpineFlutterBindings { } late final _spine_bone_set_a_scale_xPtr = - _lookup>('spine_bone_set_a_scale_x'); - late final _spine_bone_set_a_scale_x = _spine_bone_set_a_scale_xPtr.asFunction(); + _lookup>( + 'spine_bone_set_a_scale_x'); + late final _spine_bone_set_a_scale_x = _spine_bone_set_a_scale_xPtr + .asFunction(); double spine_bone_get_a_scale_y( spine_bone bone, @@ -4263,8 +5133,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_a_scale_yPtr = _lookup>('spine_bone_get_a_scale_y'); - late final _spine_bone_get_a_scale_y = _spine_bone_get_a_scale_yPtr.asFunction(); + late final _spine_bone_get_a_scale_yPtr = + _lookup>( + 'spine_bone_get_a_scale_y'); + late final _spine_bone_get_a_scale_y = + _spine_bone_get_a_scale_yPtr.asFunction(); void spine_bone_set_a_scale_y( spine_bone bone, @@ -4277,8 +5150,10 @@ class SpineFlutterBindings { } late final _spine_bone_set_a_scale_yPtr = - _lookup>('spine_bone_set_a_scale_y'); - late final _spine_bone_set_a_scale_y = _spine_bone_set_a_scale_yPtr.asFunction(); + _lookup>( + 'spine_bone_set_a_scale_y'); + late final _spine_bone_set_a_scale_y = _spine_bone_set_a_scale_yPtr + .asFunction(); double spine_bone_get_a_shear_x( spine_bone bone, @@ -4288,8 +5163,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_a_shear_xPtr = _lookup>('spine_bone_get_a_shear_x'); - late final _spine_bone_get_a_shear_x = _spine_bone_get_a_shear_xPtr.asFunction(); + late final _spine_bone_get_a_shear_xPtr = + _lookup>( + 'spine_bone_get_a_shear_x'); + late final _spine_bone_get_a_shear_x = + _spine_bone_get_a_shear_xPtr.asFunction(); void spine_bone_set_a_shear_x( spine_bone bone, @@ -4302,8 +5180,10 @@ class SpineFlutterBindings { } late final _spine_bone_set_a_shear_xPtr = - _lookup>('spine_bone_set_a_shear_x'); - late final _spine_bone_set_a_shear_x = _spine_bone_set_a_shear_xPtr.asFunction(); + _lookup>( + 'spine_bone_set_a_shear_x'); + late final _spine_bone_set_a_shear_x = _spine_bone_set_a_shear_xPtr + .asFunction(); double spine_bone_get_a_shear_y( spine_bone bone, @@ -4313,8 +5193,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_a_shear_yPtr = _lookup>('spine_bone_get_a_shear_y'); - late final _spine_bone_get_a_shear_y = _spine_bone_get_a_shear_yPtr.asFunction(); + late final _spine_bone_get_a_shear_yPtr = + _lookup>( + 'spine_bone_get_a_shear_y'); + late final _spine_bone_get_a_shear_y = + _spine_bone_get_a_shear_yPtr.asFunction(); void spine_bone_set_a_shear_y( spine_bone bone, @@ -4327,8 +5210,10 @@ class SpineFlutterBindings { } late final _spine_bone_set_a_shear_yPtr = - _lookup>('spine_bone_set_a_shear_y'); - late final _spine_bone_set_a_shear_y = _spine_bone_set_a_shear_yPtr.asFunction(); + _lookup>( + 'spine_bone_set_a_shear_y'); + late final _spine_bone_set_a_shear_y = _spine_bone_set_a_shear_yPtr + .asFunction(); double spine_bone_get_a( spine_bone bone, @@ -4338,8 +5223,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_aPtr = _lookup>('spine_bone_get_a'); - late final _spine_bone_get_a = _spine_bone_get_aPtr.asFunction(); + late final _spine_bone_get_aPtr = + _lookup>( + 'spine_bone_get_a'); + late final _spine_bone_get_a = + _spine_bone_get_aPtr.asFunction(); void spine_bone_set_a( spine_bone bone, @@ -4351,8 +5239,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_aPtr = _lookup>('spine_bone_set_a'); - late final _spine_bone_set_a = _spine_bone_set_aPtr.asFunction(); + late final _spine_bone_set_aPtr = + _lookup>( + 'spine_bone_set_a'); + late final _spine_bone_set_a = + _spine_bone_set_aPtr.asFunction(); double spine_bone_get_b( spine_bone bone, @@ -4362,8 +5253,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_bPtr = _lookup>('spine_bone_get_b'); - late final _spine_bone_get_b = _spine_bone_get_bPtr.asFunction(); + late final _spine_bone_get_bPtr = + _lookup>( + 'spine_bone_get_b'); + late final _spine_bone_get_b = + _spine_bone_get_bPtr.asFunction(); void spine_bone_set_b( spine_bone bone, @@ -4375,8 +5269,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_bPtr = _lookup>('spine_bone_set_b'); - late final _spine_bone_set_b = _spine_bone_set_bPtr.asFunction(); + late final _spine_bone_set_bPtr = + _lookup>( + 'spine_bone_set_b'); + late final _spine_bone_set_b = + _spine_bone_set_bPtr.asFunction(); double spine_bone_get_c( spine_bone bone, @@ -4386,8 +5283,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_cPtr = _lookup>('spine_bone_get_c'); - late final _spine_bone_get_c = _spine_bone_get_cPtr.asFunction(); + late final _spine_bone_get_cPtr = + _lookup>( + 'spine_bone_get_c'); + late final _spine_bone_get_c = + _spine_bone_get_cPtr.asFunction(); void spine_bone_set_c( spine_bone bone, @@ -4399,8 +5299,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_cPtr = _lookup>('spine_bone_set_c'); - late final _spine_bone_set_c = _spine_bone_set_cPtr.asFunction(); + late final _spine_bone_set_cPtr = + _lookup>( + 'spine_bone_set_c'); + late final _spine_bone_set_c = + _spine_bone_set_cPtr.asFunction(); double spine_bone_get_d( spine_bone bone, @@ -4410,8 +5313,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_dPtr = _lookup>('spine_bone_get_d'); - late final _spine_bone_get_d = _spine_bone_get_dPtr.asFunction(); + late final _spine_bone_get_dPtr = + _lookup>( + 'spine_bone_get_d'); + late final _spine_bone_get_d = + _spine_bone_get_dPtr.asFunction(); void spine_bone_set_d( spine_bone bone, @@ -4423,8 +5329,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_dPtr = _lookup>('spine_bone_set_d'); - late final _spine_bone_set_d = _spine_bone_set_dPtr.asFunction(); + late final _spine_bone_set_dPtr = + _lookup>( + 'spine_bone_set_d'); + late final _spine_bone_set_d = + _spine_bone_set_dPtr.asFunction(); double spine_bone_get_world_x( spine_bone bone, @@ -4434,8 +5343,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_world_xPtr = _lookup>('spine_bone_get_world_x'); - late final _spine_bone_get_world_x = _spine_bone_get_world_xPtr.asFunction(); + late final _spine_bone_get_world_xPtr = + _lookup>( + 'spine_bone_get_world_x'); + late final _spine_bone_get_world_x = + _spine_bone_get_world_xPtr.asFunction(); void spine_bone_set_world_x( spine_bone bone, @@ -4447,8 +5359,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_world_xPtr = _lookup>('spine_bone_set_world_x'); - late final _spine_bone_set_world_x = _spine_bone_set_world_xPtr.asFunction(); + late final _spine_bone_set_world_xPtr = + _lookup>( + 'spine_bone_set_world_x'); + late final _spine_bone_set_world_x = _spine_bone_set_world_xPtr + .asFunction(); double spine_bone_get_world_y( spine_bone bone, @@ -4458,8 +5373,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_world_yPtr = _lookup>('spine_bone_get_world_y'); - late final _spine_bone_get_world_y = _spine_bone_get_world_yPtr.asFunction(); + late final _spine_bone_get_world_yPtr = + _lookup>( + 'spine_bone_get_world_y'); + late final _spine_bone_get_world_y = + _spine_bone_get_world_yPtr.asFunction(); void spine_bone_set_world_y( spine_bone bone, @@ -4471,8 +5389,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_set_world_yPtr = _lookup>('spine_bone_set_world_y'); - late final _spine_bone_set_world_y = _spine_bone_set_world_yPtr.asFunction(); + late final _spine_bone_set_world_yPtr = + _lookup>( + 'spine_bone_set_world_y'); + late final _spine_bone_set_world_y = _spine_bone_set_world_yPtr + .asFunction(); double spine_bone_get_world_rotation_x( spine_bone bone, @@ -4483,8 +5404,11 @@ class SpineFlutterBindings { } late final _spine_bone_get_world_rotation_xPtr = - _lookup>('spine_bone_get_world_rotation_x'); - late final _spine_bone_get_world_rotation_x = _spine_bone_get_world_rotation_xPtr.asFunction(); + _lookup>( + 'spine_bone_get_world_rotation_x'); + late final _spine_bone_get_world_rotation_x = + _spine_bone_get_world_rotation_xPtr + .asFunction(); double spine_bone_get_world_rotation_y( spine_bone bone, @@ -4495,8 +5419,11 @@ class SpineFlutterBindings { } late final _spine_bone_get_world_rotation_yPtr = - _lookup>('spine_bone_get_world_rotation_y'); - late final _spine_bone_get_world_rotation_y = _spine_bone_get_world_rotation_yPtr.asFunction(); + _lookup>( + 'spine_bone_get_world_rotation_y'); + late final _spine_bone_get_world_rotation_y = + _spine_bone_get_world_rotation_yPtr + .asFunction(); double spine_bone_get_world_scale_x( spine_bone bone, @@ -4506,8 +5433,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_world_scale_xPtr = _lookup>('spine_bone_get_world_scale_x'); - late final _spine_bone_get_world_scale_x = _spine_bone_get_world_scale_xPtr.asFunction(); + late final _spine_bone_get_world_scale_xPtr = + _lookup>( + 'spine_bone_get_world_scale_x'); + late final _spine_bone_get_world_scale_x = _spine_bone_get_world_scale_xPtr + .asFunction(); double spine_bone_get_world_scale_y( spine_bone bone, @@ -4517,8 +5447,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_world_scale_yPtr = _lookup>('spine_bone_get_world_scale_y'); - late final _spine_bone_get_world_scale_y = _spine_bone_get_world_scale_yPtr.asFunction(); + late final _spine_bone_get_world_scale_yPtr = + _lookup>( + 'spine_bone_get_world_scale_y'); + late final _spine_bone_get_world_scale_y = _spine_bone_get_world_scale_yPtr + .asFunction(); int spine_bone_get_is_active( spine_bone bone, @@ -4528,8 +5461,11 @@ class SpineFlutterBindings { ); } - late final _spine_bone_get_is_activePtr = _lookup>('spine_bone_get_is_active'); - late final _spine_bone_get_is_active = _spine_bone_get_is_activePtr.asFunction(); + late final _spine_bone_get_is_activePtr = + _lookup>( + 'spine_bone_get_is_active'); + late final _spine_bone_get_is_active = + _spine_bone_get_is_activePtr.asFunction(); void spine_bone_set_is_active( spine_bone bone, @@ -4542,8 +5478,10 @@ class SpineFlutterBindings { } late final _spine_bone_set_is_activePtr = - _lookup>('spine_bone_set_is_active'); - late final _spine_bone_set_is_active = _spine_bone_set_is_activePtr.asFunction(); + _lookup>( + 'spine_bone_set_is_active'); + late final _spine_bone_set_is_active = + _spine_bone_set_is_activePtr.asFunction(); ffi.Pointer spine_attachment_get_name( spine_attachment attachment, @@ -4554,8 +5492,10 @@ class SpineFlutterBindings { } late final _spine_attachment_get_namePtr = - _lookup Function(spine_attachment)>>('spine_attachment_get_name'); - late final _spine_attachment_get_name = _spine_attachment_get_namePtr.asFunction Function(spine_attachment)>(); + _lookup Function(spine_attachment)>>( + 'spine_attachment_get_name'); + late final _spine_attachment_get_name = _spine_attachment_get_namePtr + .asFunction Function(spine_attachment)>(); int spine_attachment_get_type( spine_attachment attachment, @@ -4565,8 +5505,11 @@ class SpineFlutterBindings { ); } - late final _spine_attachment_get_typePtr = _lookup>('spine_attachment_get_type'); - late final _spine_attachment_get_type = _spine_attachment_get_typePtr.asFunction(); + late final _spine_attachment_get_typePtr = + _lookup>( + 'spine_attachment_get_type'); + late final _spine_attachment_get_type = _spine_attachment_get_typePtr + .asFunction(); spine_attachment spine_attachment_copy( spine_attachment attachment, @@ -4576,8 +5519,11 @@ class SpineFlutterBindings { ); } - late final _spine_attachment_copyPtr = _lookup>('spine_attachment_copy'); - late final _spine_attachment_copy = _spine_attachment_copyPtr.asFunction(); + late final _spine_attachment_copyPtr = + _lookup>( + 'spine_attachment_copy'); + late final _spine_attachment_copy = _spine_attachment_copyPtr + .asFunction(); void spine_attachment_dispose( spine_attachment attachment, @@ -4587,8 +5533,11 @@ class SpineFlutterBindings { ); } - late final _spine_attachment_disposePtr = _lookup>('spine_attachment_dispose'); - late final _spine_attachment_dispose = _spine_attachment_disposePtr.asFunction(); + late final _spine_attachment_disposePtr = + _lookup>( + 'spine_attachment_dispose'); + late final _spine_attachment_dispose = _spine_attachment_disposePtr + .asFunction(); spine_vector spine_point_attachment_compute_world_position( spine_point_attachment attachment, @@ -4600,11 +5549,13 @@ class SpineFlutterBindings { ); } - late final _spine_point_attachment_compute_world_positionPtr = - _lookup>( - 'spine_point_attachment_compute_world_position'); + late final _spine_point_attachment_compute_world_positionPtr = _lookup< + ffi.NativeFunction< + spine_vector Function(spine_point_attachment, + spine_bone)>>('spine_point_attachment_compute_world_position'); late final _spine_point_attachment_compute_world_position = - _spine_point_attachment_compute_world_positionPtr.asFunction(); + _spine_point_attachment_compute_world_positionPtr.asFunction< + spine_vector Function(spine_point_attachment, spine_bone)>(); double spine_point_attachment_compute_world_rotation( spine_point_attachment attachment, @@ -4616,10 +5567,13 @@ class SpineFlutterBindings { ); } - late final _spine_point_attachment_compute_world_rotationPtr = - _lookup>('spine_point_attachment_compute_world_rotation'); + late final _spine_point_attachment_compute_world_rotationPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_point_attachment, + spine_bone)>>('spine_point_attachment_compute_world_rotation'); late final _spine_point_attachment_compute_world_rotation = - _spine_point_attachment_compute_world_rotationPtr.asFunction(); + _spine_point_attachment_compute_world_rotationPtr + .asFunction(); double spine_point_attachment_get_x( spine_point_attachment attachment, @@ -4630,8 +5584,10 @@ class SpineFlutterBindings { } late final _spine_point_attachment_get_xPtr = - _lookup>('spine_point_attachment_get_x'); - late final _spine_point_attachment_get_x = _spine_point_attachment_get_xPtr.asFunction(); + _lookup>( + 'spine_point_attachment_get_x'); + late final _spine_point_attachment_get_x = _spine_point_attachment_get_xPtr + .asFunction(); void spine_point_attachment_set_x( spine_point_attachment attachment, @@ -4643,9 +5599,12 @@ class SpineFlutterBindings { ); } - late final _spine_point_attachment_set_xPtr = - _lookup>('spine_point_attachment_set_x'); - late final _spine_point_attachment_set_x = _spine_point_attachment_set_xPtr.asFunction(); + late final _spine_point_attachment_set_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_point_attachment, + ffi.Float)>>('spine_point_attachment_set_x'); + late final _spine_point_attachment_set_x = _spine_point_attachment_set_xPtr + .asFunction(); double spine_point_attachment_get_y( spine_point_attachment attachment, @@ -4656,8 +5615,10 @@ class SpineFlutterBindings { } late final _spine_point_attachment_get_yPtr = - _lookup>('spine_point_attachment_get_y'); - late final _spine_point_attachment_get_y = _spine_point_attachment_get_yPtr.asFunction(); + _lookup>( + 'spine_point_attachment_get_y'); + late final _spine_point_attachment_get_y = _spine_point_attachment_get_yPtr + .asFunction(); void spine_point_attachment_set_y( spine_point_attachment attachment, @@ -4669,9 +5630,12 @@ class SpineFlutterBindings { ); } - late final _spine_point_attachment_set_yPtr = - _lookup>('spine_point_attachment_set_y'); - late final _spine_point_attachment_set_y = _spine_point_attachment_set_yPtr.asFunction(); + late final _spine_point_attachment_set_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_point_attachment, + ffi.Float)>>('spine_point_attachment_set_y'); + late final _spine_point_attachment_set_y = _spine_point_attachment_set_yPtr + .asFunction(); double spine_point_attachment_get_rotation( spine_point_attachment attachment, @@ -4682,9 +5646,11 @@ class SpineFlutterBindings { } late final _spine_point_attachment_get_rotationPtr = - _lookup>('spine_point_attachment_get_rotation'); + _lookup>( + 'spine_point_attachment_get_rotation'); late final _spine_point_attachment_get_rotation = - _spine_point_attachment_get_rotationPtr.asFunction(); + _spine_point_attachment_get_rotationPtr + .asFunction(); void spine_point_attachment_set_rotation( spine_point_attachment attachment, @@ -4696,10 +5662,13 @@ class SpineFlutterBindings { ); } - late final _spine_point_attachment_set_rotationPtr = - _lookup>('spine_point_attachment_set_rotation'); + late final _spine_point_attachment_set_rotationPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_point_attachment, + ffi.Float)>>('spine_point_attachment_set_rotation'); late final _spine_point_attachment_set_rotation = - _spine_point_attachment_set_rotationPtr.asFunction(); + _spine_point_attachment_set_rotationPtr + .asFunction(); spine_color spine_point_attachment_get_color( spine_point_attachment attachment, @@ -4710,9 +5679,11 @@ class SpineFlutterBindings { } late final _spine_point_attachment_get_colorPtr = - _lookup>('spine_point_attachment_get_color'); + _lookup>( + 'spine_point_attachment_get_color'); late final _spine_point_attachment_get_color = - _spine_point_attachment_get_colorPtr.asFunction(); + _spine_point_attachment_get_colorPtr + .asFunction(); void spine_point_attachment_set_color( spine_point_attachment attachment, @@ -4730,11 +5701,14 @@ class SpineFlutterBindings { ); } - late final _spine_point_attachment_set_colorPtr = - _lookup>( - 'spine_point_attachment_set_color'); + late final _spine_point_attachment_set_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_point_attachment, ffi.Float, ffi.Float, + ffi.Float, ffi.Float)>>('spine_point_attachment_set_color'); late final _spine_point_attachment_set_color = - _spine_point_attachment_set_colorPtr.asFunction(); + _spine_point_attachment_set_colorPtr.asFunction< + void Function( + spine_point_attachment, double, double, double, double)>(); void spine_region_attachment_update_region( spine_region_attachment attachment, @@ -4745,9 +5719,11 @@ class SpineFlutterBindings { } late final _spine_region_attachment_update_regionPtr = - _lookup>('spine_region_attachment_update_region'); + _lookup>( + 'spine_region_attachment_update_region'); late final _spine_region_attachment_update_region = - _spine_region_attachment_update_regionPtr.asFunction(); + _spine_region_attachment_update_regionPtr + .asFunction(); void spine_region_attachment_compute_world_vertices( spine_region_attachment attachment, @@ -4761,11 +5737,15 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_compute_world_verticesPtr = - _lookup)>>( - 'spine_region_attachment_compute_world_vertices'); - late final _spine_region_attachment_compute_world_vertices = _spine_region_attachment_compute_world_verticesPtr - .asFunction)>(); + late final _spine_region_attachment_compute_world_verticesPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_region_attachment, spine_slot, + ffi.Pointer)>>( + 'spine_region_attachment_compute_world_vertices'); + late final _spine_region_attachment_compute_world_vertices = + _spine_region_attachment_compute_world_verticesPtr.asFunction< + void Function( + spine_region_attachment, spine_slot, ffi.Pointer)>(); double spine_region_attachment_get_x( spine_region_attachment attachment, @@ -4776,8 +5756,10 @@ class SpineFlutterBindings { } late final _spine_region_attachment_get_xPtr = - _lookup>('spine_region_attachment_get_x'); - late final _spine_region_attachment_get_x = _spine_region_attachment_get_xPtr.asFunction(); + _lookup>( + 'spine_region_attachment_get_x'); + late final _spine_region_attachment_get_x = _spine_region_attachment_get_xPtr + .asFunction(); void spine_region_attachment_set_x( spine_region_attachment attachment, @@ -4789,10 +5771,12 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_set_xPtr = - _lookup>('spine_region_attachment_set_x'); - late final _spine_region_attachment_set_x = - _spine_region_attachment_set_xPtr.asFunction(); + late final _spine_region_attachment_set_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_region_attachment, + ffi.Float)>>('spine_region_attachment_set_x'); + late final _spine_region_attachment_set_x = _spine_region_attachment_set_xPtr + .asFunction(); double spine_region_attachment_get_y( spine_region_attachment attachment, @@ -4803,8 +5787,10 @@ class SpineFlutterBindings { } late final _spine_region_attachment_get_yPtr = - _lookup>('spine_region_attachment_get_y'); - late final _spine_region_attachment_get_y = _spine_region_attachment_get_yPtr.asFunction(); + _lookup>( + 'spine_region_attachment_get_y'); + late final _spine_region_attachment_get_y = _spine_region_attachment_get_yPtr + .asFunction(); void spine_region_attachment_set_y( spine_region_attachment attachment, @@ -4816,10 +5802,12 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_set_yPtr = - _lookup>('spine_region_attachment_set_y'); - late final _spine_region_attachment_set_y = - _spine_region_attachment_set_yPtr.asFunction(); + late final _spine_region_attachment_set_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_region_attachment, + ffi.Float)>>('spine_region_attachment_set_y'); + late final _spine_region_attachment_set_y = _spine_region_attachment_set_yPtr + .asFunction(); double spine_region_attachment_get_rotation( spine_region_attachment attachment, @@ -4830,9 +5818,11 @@ class SpineFlutterBindings { } late final _spine_region_attachment_get_rotationPtr = - _lookup>('spine_region_attachment_get_rotation'); + _lookup>( + 'spine_region_attachment_get_rotation'); late final _spine_region_attachment_get_rotation = - _spine_region_attachment_get_rotationPtr.asFunction(); + _spine_region_attachment_get_rotationPtr + .asFunction(); void spine_region_attachment_set_rotation( spine_region_attachment attachment, @@ -4844,10 +5834,13 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_set_rotationPtr = - _lookup>('spine_region_attachment_set_rotation'); + late final _spine_region_attachment_set_rotationPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_region_attachment, + ffi.Float)>>('spine_region_attachment_set_rotation'); late final _spine_region_attachment_set_rotation = - _spine_region_attachment_set_rotationPtr.asFunction(); + _spine_region_attachment_set_rotationPtr + .asFunction(); double spine_region_attachment_get_scale_x( spine_region_attachment attachment, @@ -4858,9 +5851,11 @@ class SpineFlutterBindings { } late final _spine_region_attachment_get_scale_xPtr = - _lookup>('spine_region_attachment_get_scale_x'); + _lookup>( + 'spine_region_attachment_get_scale_x'); late final _spine_region_attachment_get_scale_x = - _spine_region_attachment_get_scale_xPtr.asFunction(); + _spine_region_attachment_get_scale_xPtr + .asFunction(); void spine_region_attachment_set_scale_x( spine_region_attachment attachment, @@ -4872,10 +5867,13 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_set_scale_xPtr = - _lookup>('spine_region_attachment_set_scale_x'); + late final _spine_region_attachment_set_scale_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_region_attachment, + ffi.Float)>>('spine_region_attachment_set_scale_x'); late final _spine_region_attachment_set_scale_x = - _spine_region_attachment_set_scale_xPtr.asFunction(); + _spine_region_attachment_set_scale_xPtr + .asFunction(); double spine_region_attachment_get_scale_y( spine_region_attachment attachment, @@ -4886,9 +5884,11 @@ class SpineFlutterBindings { } late final _spine_region_attachment_get_scale_yPtr = - _lookup>('spine_region_attachment_get_scale_y'); + _lookup>( + 'spine_region_attachment_get_scale_y'); late final _spine_region_attachment_get_scale_y = - _spine_region_attachment_get_scale_yPtr.asFunction(); + _spine_region_attachment_get_scale_yPtr + .asFunction(); void spine_region_attachment_set_scale_y( spine_region_attachment attachment, @@ -4900,10 +5900,13 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_set_scale_yPtr = - _lookup>('spine_region_attachment_set_scale_y'); + late final _spine_region_attachment_set_scale_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_region_attachment, + ffi.Float)>>('spine_region_attachment_set_scale_y'); late final _spine_region_attachment_set_scale_y = - _spine_region_attachment_set_scale_yPtr.asFunction(); + _spine_region_attachment_set_scale_yPtr + .asFunction(); double spine_region_attachment_get_width( spine_region_attachment attachment, @@ -4914,9 +5917,11 @@ class SpineFlutterBindings { } late final _spine_region_attachment_get_widthPtr = - _lookup>('spine_region_attachment_get_width'); + _lookup>( + 'spine_region_attachment_get_width'); late final _spine_region_attachment_get_width = - _spine_region_attachment_get_widthPtr.asFunction(); + _spine_region_attachment_get_widthPtr + .asFunction(); void spine_region_attachment_set_width( spine_region_attachment attachment, @@ -4928,10 +5933,13 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_set_widthPtr = - _lookup>('spine_region_attachment_set_width'); + late final _spine_region_attachment_set_widthPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_region_attachment, + ffi.Float)>>('spine_region_attachment_set_width'); late final _spine_region_attachment_set_width = - _spine_region_attachment_set_widthPtr.asFunction(); + _spine_region_attachment_set_widthPtr + .asFunction(); double spine_region_attachment_get_height( spine_region_attachment attachment, @@ -4942,9 +5950,11 @@ class SpineFlutterBindings { } late final _spine_region_attachment_get_heightPtr = - _lookup>('spine_region_attachment_get_height'); + _lookup>( + 'spine_region_attachment_get_height'); late final _spine_region_attachment_get_height = - _spine_region_attachment_get_heightPtr.asFunction(); + _spine_region_attachment_get_heightPtr + .asFunction(); void spine_region_attachment_set_height( spine_region_attachment attachment, @@ -4956,10 +5966,13 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_set_heightPtr = - _lookup>('spine_region_attachment_set_height'); + late final _spine_region_attachment_set_heightPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_region_attachment, + ffi.Float)>>('spine_region_attachment_set_height'); late final _spine_region_attachment_set_height = - _spine_region_attachment_set_heightPtr.asFunction(); + _spine_region_attachment_set_heightPtr + .asFunction(); spine_color spine_region_attachment_get_color( spine_region_attachment attachment, @@ -4969,10 +5982,12 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_get_colorPtr = - _lookup>('spine_region_attachment_get_color'); + late final _spine_region_attachment_get_colorPtr = _lookup< + ffi.NativeFunction>( + 'spine_region_attachment_get_color'); late final _spine_region_attachment_get_color = - _spine_region_attachment_get_colorPtr.asFunction(); + _spine_region_attachment_get_colorPtr + .asFunction(); void spine_region_attachment_set_color( spine_region_attachment attachment, @@ -4990,11 +6005,14 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_set_colorPtr = - _lookup>( - 'spine_region_attachment_set_color'); + late final _spine_region_attachment_set_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_region_attachment, ffi.Float, ffi.Float, + ffi.Float, ffi.Float)>>('spine_region_attachment_set_color'); late final _spine_region_attachment_set_color = - _spine_region_attachment_set_colorPtr.asFunction(); + _spine_region_attachment_set_colorPtr.asFunction< + void Function( + spine_region_attachment, double, double, double, double)>(); ffi.Pointer spine_region_attachment_get_path( spine_region_attachment attachment, @@ -5004,10 +6022,13 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_get_pathPtr = - _lookup Function(spine_region_attachment)>>('spine_region_attachment_get_path'); + late final _spine_region_attachment_get_pathPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_region_attachment)>>('spine_region_attachment_get_path'); late final _spine_region_attachment_get_path = - _spine_region_attachment_get_pathPtr.asFunction Function(spine_region_attachment)>(); + _spine_region_attachment_get_pathPtr + .asFunction Function(spine_region_attachment)>(); /// OMITTED setPath() spine_texture_region spine_region_attachment_get_region( @@ -5018,10 +6039,13 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_get_regionPtr = - _lookup>('spine_region_attachment_get_region'); + late final _spine_region_attachment_get_regionPtr = _lookup< + ffi.NativeFunction< + spine_texture_region Function( + spine_region_attachment)>>('spine_region_attachment_get_region'); late final _spine_region_attachment_get_region = - _spine_region_attachment_get_regionPtr.asFunction(); + _spine_region_attachment_get_regionPtr + .asFunction(); /// OMITTED setRegion() spine_sequence spine_region_attachment_get_sequence( @@ -5032,10 +6056,12 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_get_sequencePtr = - _lookup>('spine_region_attachment_get_sequence'); + late final _spine_region_attachment_get_sequencePtr = _lookup< + ffi.NativeFunction>( + 'spine_region_attachment_get_sequence'); late final _spine_region_attachment_get_sequence = - _spine_region_attachment_get_sequencePtr.asFunction(); + _spine_region_attachment_get_sequencePtr + .asFunction(); /// OMITTED setSequence() int spine_region_attachment_get_num_offset( @@ -5047,9 +6073,11 @@ class SpineFlutterBindings { } late final _spine_region_attachment_get_num_offsetPtr = - _lookup>('spine_region_attachment_get_num_offset'); + _lookup>( + 'spine_region_attachment_get_num_offset'); late final _spine_region_attachment_get_num_offset = - _spine_region_attachment_get_num_offsetPtr.asFunction(); + _spine_region_attachment_get_num_offsetPtr + .asFunction(); ffi.Pointer spine_region_attachment_get_offset( spine_region_attachment attachment, @@ -5059,10 +6087,13 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_get_offsetPtr = - _lookup Function(spine_region_attachment)>>('spine_region_attachment_get_offset'); + late final _spine_region_attachment_get_offsetPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_region_attachment)>>('spine_region_attachment_get_offset'); late final _spine_region_attachment_get_offset = - _spine_region_attachment_get_offsetPtr.asFunction Function(spine_region_attachment)>(); + _spine_region_attachment_get_offsetPtr.asFunction< + ffi.Pointer Function(spine_region_attachment)>(); int spine_region_attachment_get_num_uvs( spine_region_attachment attachment, @@ -5073,9 +6104,11 @@ class SpineFlutterBindings { } late final _spine_region_attachment_get_num_uvsPtr = - _lookup>('spine_region_attachment_get_num_uvs'); + _lookup>( + 'spine_region_attachment_get_num_uvs'); late final _spine_region_attachment_get_num_uvs = - _spine_region_attachment_get_num_uvsPtr.asFunction(); + _spine_region_attachment_get_num_uvsPtr + .asFunction(); ffi.Pointer spine_region_attachment_get_uvs( spine_region_attachment attachment, @@ -5085,10 +6118,13 @@ class SpineFlutterBindings { ); } - late final _spine_region_attachment_get_uvsPtr = - _lookup Function(spine_region_attachment)>>('spine_region_attachment_get_uvs'); + late final _spine_region_attachment_get_uvsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_region_attachment)>>('spine_region_attachment_get_uvs'); late final _spine_region_attachment_get_uvs = - _spine_region_attachment_get_uvsPtr.asFunction Function(spine_region_attachment)>(); + _spine_region_attachment_get_uvsPtr.asFunction< + ffi.Pointer Function(spine_region_attachment)>(); int spine_vertex_attachment_get_world_vertices_length( spine_vertex_attachment attachment, @@ -5099,9 +6135,11 @@ class SpineFlutterBindings { } late final _spine_vertex_attachment_get_world_vertices_lengthPtr = - _lookup>('spine_vertex_attachment_get_world_vertices_length'); + _lookup>( + 'spine_vertex_attachment_get_world_vertices_length'); late final _spine_vertex_attachment_get_world_vertices_length = - _spine_vertex_attachment_get_world_vertices_lengthPtr.asFunction(); + _spine_vertex_attachment_get_world_vertices_lengthPtr + .asFunction(); void spine_vertex_attachment_compute_world_vertices( spine_vertex_attachment attachment, @@ -5115,11 +6153,15 @@ class SpineFlutterBindings { ); } - late final _spine_vertex_attachment_compute_world_verticesPtr = - _lookup)>>( - 'spine_vertex_attachment_compute_world_vertices'); - late final _spine_vertex_attachment_compute_world_vertices = _spine_vertex_attachment_compute_world_verticesPtr - .asFunction)>(); + late final _spine_vertex_attachment_compute_world_verticesPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_vertex_attachment, spine_slot, + ffi.Pointer)>>( + 'spine_vertex_attachment_compute_world_vertices'); + late final _spine_vertex_attachment_compute_world_vertices = + _spine_vertex_attachment_compute_world_verticesPtr.asFunction< + void Function( + spine_vertex_attachment, spine_slot, ffi.Pointer)>(); /// OMITTED getId() int spine_vertex_attachment_get_num_bones( @@ -5131,9 +6173,11 @@ class SpineFlutterBindings { } late final _spine_vertex_attachment_get_num_bonesPtr = - _lookup>('spine_vertex_attachment_get_num_bones'); + _lookup>( + 'spine_vertex_attachment_get_num_bones'); late final _spine_vertex_attachment_get_num_bones = - _spine_vertex_attachment_get_num_bonesPtr.asFunction(); + _spine_vertex_attachment_get_num_bonesPtr + .asFunction(); ffi.Pointer spine_vertex_attachment_get_bones( spine_vertex_attachment attachment, @@ -5143,10 +6187,13 @@ class SpineFlutterBindings { ); } - late final _spine_vertex_attachment_get_bonesPtr = - _lookup Function(spine_vertex_attachment)>>('spine_vertex_attachment_get_bones'); + late final _spine_vertex_attachment_get_bonesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_vertex_attachment)>>('spine_vertex_attachment_get_bones'); late final _spine_vertex_attachment_get_bones = - _spine_vertex_attachment_get_bonesPtr.asFunction Function(spine_vertex_attachment)>(); + _spine_vertex_attachment_get_bonesPtr.asFunction< + ffi.Pointer Function(spine_vertex_attachment)>(); int spine_vertex_attachment_get_num_vertices( spine_vertex_attachment attachment, @@ -5157,9 +6204,11 @@ class SpineFlutterBindings { } late final _spine_vertex_attachment_get_num_verticesPtr = - _lookup>('spine_vertex_attachment_get_num_vertices'); + _lookup>( + 'spine_vertex_attachment_get_num_vertices'); late final _spine_vertex_attachment_get_num_vertices = - _spine_vertex_attachment_get_num_verticesPtr.asFunction(); + _spine_vertex_attachment_get_num_verticesPtr + .asFunction(); ffi.Pointer spine_vertex_attachment_get_vertices( spine_vertex_attachment attachment, @@ -5169,10 +6218,13 @@ class SpineFlutterBindings { ); } - late final _spine_vertex_attachment_get_verticesPtr = - _lookup Function(spine_vertex_attachment)>>('spine_vertex_attachment_get_vertices'); + late final _spine_vertex_attachment_get_verticesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(spine_vertex_attachment)>>( + 'spine_vertex_attachment_get_vertices'); late final _spine_vertex_attachment_get_vertices = - _spine_vertex_attachment_get_verticesPtr.asFunction Function(spine_vertex_attachment)>(); + _spine_vertex_attachment_get_verticesPtr.asFunction< + ffi.Pointer Function(spine_vertex_attachment)>(); spine_attachment spine_vertex_attachment_get_timeline_attachment( spine_vertex_attachment timelineAttachment, @@ -5182,10 +6234,13 @@ class SpineFlutterBindings { ); } - late final _spine_vertex_attachment_get_timeline_attachmentPtr = - _lookup>('spine_vertex_attachment_get_timeline_attachment'); + late final _spine_vertex_attachment_get_timeline_attachmentPtr = _lookup< + ffi.NativeFunction< + spine_attachment Function(spine_vertex_attachment)>>( + 'spine_vertex_attachment_get_timeline_attachment'); late final _spine_vertex_attachment_get_timeline_attachment = - _spine_vertex_attachment_get_timeline_attachmentPtr.asFunction(); + _spine_vertex_attachment_get_timeline_attachmentPtr + .asFunction(); void spine_vertex_attachment_set_timeline_attachment( spine_vertex_attachment attachment, @@ -5197,11 +6252,13 @@ class SpineFlutterBindings { ); } - late final _spine_vertex_attachment_set_timeline_attachmentPtr = - _lookup>( - 'spine_vertex_attachment_set_timeline_attachment'); + late final _spine_vertex_attachment_set_timeline_attachmentPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_vertex_attachment, spine_attachment)>>( + 'spine_vertex_attachment_set_timeline_attachment'); late final _spine_vertex_attachment_set_timeline_attachment = - _spine_vertex_attachment_set_timeline_attachmentPtr.asFunction(); + _spine_vertex_attachment_set_timeline_attachmentPtr.asFunction< + void Function(spine_vertex_attachment, spine_attachment)>(); /// OMITTED copyTo() void spine_mesh_attachment_update_region( @@ -5213,9 +6270,11 @@ class SpineFlutterBindings { } late final _spine_mesh_attachment_update_regionPtr = - _lookup>('spine_mesh_attachment_update_region'); + _lookup>( + 'spine_mesh_attachment_update_region'); late final _spine_mesh_attachment_update_region = - _spine_mesh_attachment_update_regionPtr.asFunction(); + _spine_mesh_attachment_update_regionPtr + .asFunction(); int spine_mesh_attachment_get_hull_length( spine_mesh_attachment attachment, @@ -5226,9 +6285,11 @@ class SpineFlutterBindings { } late final _spine_mesh_attachment_get_hull_lengthPtr = - _lookup>('spine_mesh_attachment_get_hull_length'); + _lookup>( + 'spine_mesh_attachment_get_hull_length'); late final _spine_mesh_attachment_get_hull_length = - _spine_mesh_attachment_get_hull_lengthPtr.asFunction(); + _spine_mesh_attachment_get_hull_lengthPtr + .asFunction(); void spine_mesh_attachment_set_hull_length( spine_mesh_attachment attachment, @@ -5240,10 +6301,13 @@ class SpineFlutterBindings { ); } - late final _spine_mesh_attachment_set_hull_lengthPtr = - _lookup>('spine_mesh_attachment_set_hull_length'); + late final _spine_mesh_attachment_set_hull_lengthPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_mesh_attachment, + ffi.Int32)>>('spine_mesh_attachment_set_hull_length'); late final _spine_mesh_attachment_set_hull_length = - _spine_mesh_attachment_set_hull_lengthPtr.asFunction(); + _spine_mesh_attachment_set_hull_lengthPtr + .asFunction(); int spine_mesh_attachment_get_num_region_uvs( spine_mesh_attachment attachment, @@ -5254,9 +6318,11 @@ class SpineFlutterBindings { } late final _spine_mesh_attachment_get_num_region_uvsPtr = - _lookup>('spine_mesh_attachment_get_num_region_uvs'); + _lookup>( + 'spine_mesh_attachment_get_num_region_uvs'); late final _spine_mesh_attachment_get_num_region_uvs = - _spine_mesh_attachment_get_num_region_uvsPtr.asFunction(); + _spine_mesh_attachment_get_num_region_uvsPtr + .asFunction(); ffi.Pointer spine_mesh_attachment_get_region_uvs( spine_mesh_attachment attachment, @@ -5266,10 +6332,13 @@ class SpineFlutterBindings { ); } - late final _spine_mesh_attachment_get_region_uvsPtr = - _lookup Function(spine_mesh_attachment)>>('spine_mesh_attachment_get_region_uvs'); + late final _spine_mesh_attachment_get_region_uvsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_mesh_attachment)>>('spine_mesh_attachment_get_region_uvs'); late final _spine_mesh_attachment_get_region_uvs = - _spine_mesh_attachment_get_region_uvsPtr.asFunction Function(spine_mesh_attachment)>(); + _spine_mesh_attachment_get_region_uvsPtr + .asFunction Function(spine_mesh_attachment)>(); int spine_mesh_attachment_get_num_uvs( spine_mesh_attachment attachment, @@ -5280,8 +6349,11 @@ class SpineFlutterBindings { } late final _spine_mesh_attachment_get_num_uvsPtr = - _lookup>('spine_mesh_attachment_get_num_uvs'); - late final _spine_mesh_attachment_get_num_uvs = _spine_mesh_attachment_get_num_uvsPtr.asFunction(); + _lookup>( + 'spine_mesh_attachment_get_num_uvs'); + late final _spine_mesh_attachment_get_num_uvs = + _spine_mesh_attachment_get_num_uvsPtr + .asFunction(); ffi.Pointer spine_mesh_attachment_get_uvs( spine_mesh_attachment attachment, @@ -5291,10 +6363,12 @@ class SpineFlutterBindings { ); } - late final _spine_mesh_attachment_get_uvsPtr = - _lookup Function(spine_mesh_attachment)>>('spine_mesh_attachment_get_uvs'); - late final _spine_mesh_attachment_get_uvs = - _spine_mesh_attachment_get_uvsPtr.asFunction Function(spine_mesh_attachment)>(); + late final _spine_mesh_attachment_get_uvsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_mesh_attachment)>>('spine_mesh_attachment_get_uvs'); + late final _spine_mesh_attachment_get_uvs = _spine_mesh_attachment_get_uvsPtr + .asFunction Function(spine_mesh_attachment)>(); int spine_mesh_attachment_get_num_triangles( spine_mesh_attachment attachment, @@ -5305,9 +6379,11 @@ class SpineFlutterBindings { } late final _spine_mesh_attachment_get_num_trianglesPtr = - _lookup>('spine_mesh_attachment_get_num_triangles'); + _lookup>( + 'spine_mesh_attachment_get_num_triangles'); late final _spine_mesh_attachment_get_num_triangles = - _spine_mesh_attachment_get_num_trianglesPtr.asFunction(); + _spine_mesh_attachment_get_num_trianglesPtr + .asFunction(); ffi.Pointer spine_mesh_attachment_get_triangles( spine_mesh_attachment attachment, @@ -5317,10 +6393,13 @@ class SpineFlutterBindings { ); } - late final _spine_mesh_attachment_get_trianglesPtr = - _lookup Function(spine_mesh_attachment)>>('spine_mesh_attachment_get_triangles'); + late final _spine_mesh_attachment_get_trianglesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_mesh_attachment)>>('spine_mesh_attachment_get_triangles'); late final _spine_mesh_attachment_get_triangles = - _spine_mesh_attachment_get_trianglesPtr.asFunction Function(spine_mesh_attachment)>(); + _spine_mesh_attachment_get_trianglesPtr.asFunction< + ffi.Pointer Function(spine_mesh_attachment)>(); spine_color spine_mesh_attachment_get_color( spine_mesh_attachment attachment, @@ -5331,9 +6410,11 @@ class SpineFlutterBindings { } late final _spine_mesh_attachment_get_colorPtr = - _lookup>('spine_mesh_attachment_get_color'); + _lookup>( + 'spine_mesh_attachment_get_color'); late final _spine_mesh_attachment_get_color = - _spine_mesh_attachment_get_colorPtr.asFunction(); + _spine_mesh_attachment_get_colorPtr + .asFunction(); void spine_mesh_attachment_set_color( spine_mesh_attachment attachment, @@ -5351,11 +6432,14 @@ class SpineFlutterBindings { ); } - late final _spine_mesh_attachment_set_colorPtr = - _lookup>( - 'spine_mesh_attachment_set_color'); + late final _spine_mesh_attachment_set_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_mesh_attachment, ffi.Float, ffi.Float, + ffi.Float, ffi.Float)>>('spine_mesh_attachment_set_color'); late final _spine_mesh_attachment_set_color = - _spine_mesh_attachment_set_colorPtr.asFunction(); + _spine_mesh_attachment_set_colorPtr.asFunction< + void Function( + spine_mesh_attachment, double, double, double, double)>(); ffi.Pointer spine_mesh_attachment_get_path( spine_mesh_attachment attachment, @@ -5365,10 +6449,13 @@ class SpineFlutterBindings { ); } - late final _spine_mesh_attachment_get_pathPtr = - _lookup Function(spine_mesh_attachment)>>('spine_mesh_attachment_get_path'); + late final _spine_mesh_attachment_get_pathPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_mesh_attachment)>>('spine_mesh_attachment_get_path'); late final _spine_mesh_attachment_get_path = - _spine_mesh_attachment_get_pathPtr.asFunction Function(spine_mesh_attachment)>(); + _spine_mesh_attachment_get_pathPtr + .asFunction Function(spine_mesh_attachment)>(); /// OMITTED setPath() spine_texture_region spine_mesh_attachment_get_region( @@ -5379,10 +6466,13 @@ class SpineFlutterBindings { ); } - late final _spine_mesh_attachment_get_regionPtr = - _lookup>('spine_mesh_attachment_get_region'); + late final _spine_mesh_attachment_get_regionPtr = _lookup< + ffi.NativeFunction< + spine_texture_region Function( + spine_mesh_attachment)>>('spine_mesh_attachment_get_region'); late final _spine_mesh_attachment_get_region = - _spine_mesh_attachment_get_regionPtr.asFunction(); + _spine_mesh_attachment_get_regionPtr + .asFunction(); /// OMITTED setRegion() spine_sequence spine_mesh_attachment_get_sequence( @@ -5393,10 +6483,12 @@ class SpineFlutterBindings { ); } - late final _spine_mesh_attachment_get_sequencePtr = - _lookup>('spine_mesh_attachment_get_sequence'); + late final _spine_mesh_attachment_get_sequencePtr = _lookup< + ffi.NativeFunction>( + 'spine_mesh_attachment_get_sequence'); late final _spine_mesh_attachment_get_sequence = - _spine_mesh_attachment_get_sequencePtr.asFunction(); + _spine_mesh_attachment_get_sequencePtr + .asFunction(); /// OMITTED setSequence() spine_mesh_attachment spine_mesh_attachment_get_parent_mesh( @@ -5407,10 +6499,13 @@ class SpineFlutterBindings { ); } - late final _spine_mesh_attachment_get_parent_meshPtr = - _lookup>('spine_mesh_attachment_get_parent_mesh'); + late final _spine_mesh_attachment_get_parent_meshPtr = _lookup< + ffi.NativeFunction< + spine_mesh_attachment Function( + spine_mesh_attachment)>>('spine_mesh_attachment_get_parent_mesh'); late final _spine_mesh_attachment_get_parent_mesh = - _spine_mesh_attachment_get_parent_meshPtr.asFunction(); + _spine_mesh_attachment_get_parent_meshPtr + .asFunction(); void spine_mesh_attachment_set_parent_mesh( spine_mesh_attachment attachment, @@ -5422,10 +6517,13 @@ class SpineFlutterBindings { ); } - late final _spine_mesh_attachment_set_parent_meshPtr = - _lookup>('spine_mesh_attachment_set_parent_mesh'); + late final _spine_mesh_attachment_set_parent_meshPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_mesh_attachment, + spine_mesh_attachment)>>('spine_mesh_attachment_set_parent_mesh'); late final _spine_mesh_attachment_set_parent_mesh = - _spine_mesh_attachment_set_parent_meshPtr.asFunction(); + _spine_mesh_attachment_set_parent_meshPtr.asFunction< + void Function(spine_mesh_attachment, spine_mesh_attachment)>(); int spine_mesh_attachment_get_num_edges( spine_mesh_attachment attachment, @@ -5436,9 +6534,11 @@ class SpineFlutterBindings { } late final _spine_mesh_attachment_get_num_edgesPtr = - _lookup>('spine_mesh_attachment_get_num_edges'); + _lookup>( + 'spine_mesh_attachment_get_num_edges'); late final _spine_mesh_attachment_get_num_edges = - _spine_mesh_attachment_get_num_edgesPtr.asFunction(); + _spine_mesh_attachment_get_num_edgesPtr + .asFunction(); ffi.Pointer spine_mesh_attachment_get_edges( spine_mesh_attachment attachment, @@ -5448,10 +6548,13 @@ class SpineFlutterBindings { ); } - late final _spine_mesh_attachment_get_edgesPtr = - _lookup Function(spine_mesh_attachment)>>('spine_mesh_attachment_get_edges'); + late final _spine_mesh_attachment_get_edgesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_mesh_attachment)>>('spine_mesh_attachment_get_edges'); late final _spine_mesh_attachment_get_edges = - _spine_mesh_attachment_get_edgesPtr.asFunction Function(spine_mesh_attachment)>(); + _spine_mesh_attachment_get_edgesPtr.asFunction< + ffi.Pointer Function(spine_mesh_attachment)>(); double spine_mesh_attachment_get_width( spine_mesh_attachment attachment, @@ -5462,8 +6565,11 @@ class SpineFlutterBindings { } late final _spine_mesh_attachment_get_widthPtr = - _lookup>('spine_mesh_attachment_get_width'); - late final _spine_mesh_attachment_get_width = _spine_mesh_attachment_get_widthPtr.asFunction(); + _lookup>( + 'spine_mesh_attachment_get_width'); + late final _spine_mesh_attachment_get_width = + _spine_mesh_attachment_get_widthPtr + .asFunction(); void spine_mesh_attachment_set_width( spine_mesh_attachment attachment, @@ -5475,10 +6581,13 @@ class SpineFlutterBindings { ); } - late final _spine_mesh_attachment_set_widthPtr = - _lookup>('spine_mesh_attachment_set_width'); + late final _spine_mesh_attachment_set_widthPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_mesh_attachment, + ffi.Float)>>('spine_mesh_attachment_set_width'); late final _spine_mesh_attachment_set_width = - _spine_mesh_attachment_set_widthPtr.asFunction(); + _spine_mesh_attachment_set_widthPtr + .asFunction(); double spine_mesh_attachment_get_height( spine_mesh_attachment attachment, @@ -5489,8 +6598,11 @@ class SpineFlutterBindings { } late final _spine_mesh_attachment_get_heightPtr = - _lookup>('spine_mesh_attachment_get_height'); - late final _spine_mesh_attachment_get_height = _spine_mesh_attachment_get_heightPtr.asFunction(); + _lookup>( + 'spine_mesh_attachment_get_height'); + late final _spine_mesh_attachment_get_height = + _spine_mesh_attachment_get_heightPtr + .asFunction(); void spine_mesh_attachment_set_height( spine_mesh_attachment attachment, @@ -5502,10 +6614,13 @@ class SpineFlutterBindings { ); } - late final _spine_mesh_attachment_set_heightPtr = - _lookup>('spine_mesh_attachment_set_height'); + late final _spine_mesh_attachment_set_heightPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_mesh_attachment, + ffi.Float)>>('spine_mesh_attachment_set_height'); late final _spine_mesh_attachment_set_height = - _spine_mesh_attachment_set_heightPtr.asFunction(); + _spine_mesh_attachment_set_heightPtr + .asFunction(); /// OMITTED newLinkedMesh() spine_slot_data spine_clipping_attachment_get_end_slot( @@ -5516,10 +6631,13 @@ class SpineFlutterBindings { ); } - late final _spine_clipping_attachment_get_end_slotPtr = - _lookup>('spine_clipping_attachment_get_end_slot'); + late final _spine_clipping_attachment_get_end_slotPtr = _lookup< + ffi.NativeFunction< + spine_slot_data Function(spine_clipping_attachment)>>( + 'spine_clipping_attachment_get_end_slot'); late final _spine_clipping_attachment_get_end_slot = - _spine_clipping_attachment_get_end_slotPtr.asFunction(); + _spine_clipping_attachment_get_end_slotPtr + .asFunction(); void spine_clipping_attachment_set_end_slot( spine_clipping_attachment attachment, @@ -5531,10 +6649,13 @@ class SpineFlutterBindings { ); } - late final _spine_clipping_attachment_set_end_slotPtr = - _lookup>('spine_clipping_attachment_set_end_slot'); + late final _spine_clipping_attachment_set_end_slotPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_clipping_attachment, + spine_slot_data)>>('spine_clipping_attachment_set_end_slot'); late final _spine_clipping_attachment_set_end_slot = - _spine_clipping_attachment_set_end_slotPtr.asFunction(); + _spine_clipping_attachment_set_end_slotPtr.asFunction< + void Function(spine_clipping_attachment, spine_slot_data)>(); spine_color spine_clipping_attachment_get_color( spine_clipping_attachment attachment, @@ -5544,10 +6665,12 @@ class SpineFlutterBindings { ); } - late final _spine_clipping_attachment_get_colorPtr = - _lookup>('spine_clipping_attachment_get_color'); + late final _spine_clipping_attachment_get_colorPtr = _lookup< + ffi.NativeFunction>( + 'spine_clipping_attachment_get_color'); late final _spine_clipping_attachment_get_color = - _spine_clipping_attachment_get_colorPtr.asFunction(); + _spine_clipping_attachment_get_colorPtr + .asFunction(); void spine_clipping_attachment_set_color( spine_clipping_attachment attachment, @@ -5565,11 +6688,14 @@ class SpineFlutterBindings { ); } - late final _spine_clipping_attachment_set_colorPtr = - _lookup>( - 'spine_clipping_attachment_set_color'); + late final _spine_clipping_attachment_set_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_clipping_attachment, ffi.Float, ffi.Float, + ffi.Float, ffi.Float)>>('spine_clipping_attachment_set_color'); late final _spine_clipping_attachment_set_color = - _spine_clipping_attachment_set_colorPtr.asFunction(); + _spine_clipping_attachment_set_colorPtr.asFunction< + void Function( + spine_clipping_attachment, double, double, double, double)>(); spine_color spine_bounding_box_attachment_get_color( spine_bounding_box_attachment attachment, @@ -5579,10 +6705,13 @@ class SpineFlutterBindings { ); } - late final _spine_bounding_box_attachment_get_colorPtr = - _lookup>('spine_bounding_box_attachment_get_color'); + late final _spine_bounding_box_attachment_get_colorPtr = _lookup< + ffi.NativeFunction< + spine_color Function(spine_bounding_box_attachment)>>( + 'spine_bounding_box_attachment_get_color'); late final _spine_bounding_box_attachment_get_color = - _spine_bounding_box_attachment_get_colorPtr.asFunction(); + _spine_bounding_box_attachment_get_colorPtr + .asFunction(); void spine_bounding_box_attachment_set_color( spine_bounding_box_attachment attachment, @@ -5600,11 +6729,18 @@ class SpineFlutterBindings { ); } - late final _spine_bounding_box_attachment_set_colorPtr = - _lookup>( - 'spine_bounding_box_attachment_set_color'); - late final _spine_bounding_box_attachment_set_color = _spine_bounding_box_attachment_set_colorPtr - .asFunction(); + late final _spine_bounding_box_attachment_set_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_bounding_box_attachment, + ffi.Float, + ffi.Float, + ffi.Float, + ffi.Float)>>('spine_bounding_box_attachment_set_color'); + late final _spine_bounding_box_attachment_set_color = + _spine_bounding_box_attachment_set_colorPtr.asFunction< + void Function( + spine_bounding_box_attachment, double, double, double, double)>(); int spine_path_attachment_get_num_lengths( spine_path_attachment attachment, @@ -5615,9 +6751,11 @@ class SpineFlutterBindings { } late final _spine_path_attachment_get_num_lengthsPtr = - _lookup>('spine_path_attachment_get_num_lengths'); + _lookup>( + 'spine_path_attachment_get_num_lengths'); late final _spine_path_attachment_get_num_lengths = - _spine_path_attachment_get_num_lengthsPtr.asFunction(); + _spine_path_attachment_get_num_lengthsPtr + .asFunction(); ffi.Pointer spine_path_attachment_get_lengths( spine_path_attachment attachment, @@ -5627,10 +6765,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_attachment_get_lengthsPtr = - _lookup Function(spine_path_attachment)>>('spine_path_attachment_get_lengths'); + late final _spine_path_attachment_get_lengthsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_path_attachment)>>('spine_path_attachment_get_lengths'); late final _spine_path_attachment_get_lengths = - _spine_path_attachment_get_lengthsPtr.asFunction Function(spine_path_attachment)>(); + _spine_path_attachment_get_lengthsPtr + .asFunction Function(spine_path_attachment)>(); int spine_path_attachment_get_is_closed( spine_path_attachment attachment, @@ -5641,9 +6782,11 @@ class SpineFlutterBindings { } late final _spine_path_attachment_get_is_closedPtr = - _lookup>('spine_path_attachment_get_is_closed'); + _lookup>( + 'spine_path_attachment_get_is_closed'); late final _spine_path_attachment_get_is_closed = - _spine_path_attachment_get_is_closedPtr.asFunction(); + _spine_path_attachment_get_is_closedPtr + .asFunction(); void spine_path_attachment_set_is_closed( spine_path_attachment attachment, @@ -5655,10 +6798,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_attachment_set_is_closedPtr = - _lookup>('spine_path_attachment_set_is_closed'); + late final _spine_path_attachment_set_is_closedPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_attachment, + ffi.Int32)>>('spine_path_attachment_set_is_closed'); late final _spine_path_attachment_set_is_closed = - _spine_path_attachment_set_is_closedPtr.asFunction(); + _spine_path_attachment_set_is_closedPtr + .asFunction(); int spine_path_attachment_get_is_constant_speed( spine_path_attachment attachment, @@ -5669,9 +6815,11 @@ class SpineFlutterBindings { } late final _spine_path_attachment_get_is_constant_speedPtr = - _lookup>('spine_path_attachment_get_is_constant_speed'); + _lookup>( + 'spine_path_attachment_get_is_constant_speed'); late final _spine_path_attachment_get_is_constant_speed = - _spine_path_attachment_get_is_constant_speedPtr.asFunction(); + _spine_path_attachment_get_is_constant_speedPtr + .asFunction(); void spine_path_attachment_set_is_constant_speed( spine_path_attachment attachment, @@ -5683,10 +6831,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_attachment_set_is_constant_speedPtr = - _lookup>('spine_path_attachment_set_is_constant_speed'); + late final _spine_path_attachment_set_is_constant_speedPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_attachment, + ffi.Int32)>>('spine_path_attachment_set_is_constant_speed'); late final _spine_path_attachment_set_is_constant_speed = - _spine_path_attachment_set_is_constant_speedPtr.asFunction(); + _spine_path_attachment_set_is_constant_speedPtr + .asFunction(); spine_color spine_path_attachment_get_color( spine_path_attachment attachment, @@ -5697,9 +6848,11 @@ class SpineFlutterBindings { } late final _spine_path_attachment_get_colorPtr = - _lookup>('spine_path_attachment_get_color'); + _lookup>( + 'spine_path_attachment_get_color'); late final _spine_path_attachment_get_color = - _spine_path_attachment_get_colorPtr.asFunction(); + _spine_path_attachment_get_colorPtr + .asFunction(); void spine_path_attachment_set_color( spine_path_attachment attachment, @@ -5717,11 +6870,14 @@ class SpineFlutterBindings { ); } - late final _spine_path_attachment_set_colorPtr = - _lookup>( - 'spine_path_attachment_set_color'); + late final _spine_path_attachment_set_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_attachment, ffi.Float, ffi.Float, + ffi.Float, ffi.Float)>>('spine_path_attachment_set_color'); late final _spine_path_attachment_set_color = - _spine_path_attachment_set_colorPtr.asFunction(); + _spine_path_attachment_set_colorPtr.asFunction< + void Function( + spine_path_attachment, double, double, double, double)>(); void spine_skin_set_attachment( spine_skin skin, @@ -5737,11 +6893,14 @@ class SpineFlutterBindings { ); } - late final _spine_skin_set_attachmentPtr = - _lookup, spine_attachment)>>( - 'spine_skin_set_attachment'); + late final _spine_skin_set_attachmentPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skin, ffi.Int32, ffi.Pointer, + spine_attachment)>>('spine_skin_set_attachment'); late final _spine_skin_set_attachment = - _spine_skin_set_attachmentPtr.asFunction, spine_attachment)>(); + _spine_skin_set_attachmentPtr.asFunction< + void Function( + spine_skin, int, ffi.Pointer, spine_attachment)>(); spine_attachment spine_skin_get_attachment( spine_skin skin, @@ -5755,10 +6914,13 @@ class SpineFlutterBindings { ); } - late final _spine_skin_get_attachmentPtr = - _lookup)>>('spine_skin_get_attachment'); + late final _spine_skin_get_attachmentPtr = _lookup< + ffi.NativeFunction< + spine_attachment Function(spine_skin, ffi.Int32, + ffi.Pointer)>>('spine_skin_get_attachment'); late final _spine_skin_get_attachment = - _spine_skin_get_attachmentPtr.asFunction)>(); + _spine_skin_get_attachmentPtr.asFunction< + spine_attachment Function(spine_skin, int, ffi.Pointer)>(); void spine_skin_remove_attachment( spine_skin skin, @@ -5772,10 +6934,12 @@ class SpineFlutterBindings { ); } - late final _spine_skin_remove_attachmentPtr = - _lookup)>>('spine_skin_remove_attachment'); - late final _spine_skin_remove_attachment = - _spine_skin_remove_attachmentPtr.asFunction)>(); + late final _spine_skin_remove_attachmentPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skin, ffi.Int32, + ffi.Pointer)>>('spine_skin_remove_attachment'); + late final _spine_skin_remove_attachment = _spine_skin_remove_attachmentPtr + .asFunction)>(); /// OMITTED findNamesForSlot() /// OMITTED findAttachmentsForSlot() @@ -5787,8 +6951,11 @@ class SpineFlutterBindings { ); } - late final _spine_skin_get_namePtr = _lookup Function(spine_skin)>>('spine_skin_get_name'); - late final _spine_skin_get_name = _spine_skin_get_namePtr.asFunction Function(spine_skin)>(); + late final _spine_skin_get_namePtr = + _lookup Function(spine_skin)>>( + 'spine_skin_get_name'); + late final _spine_skin_get_name = _spine_skin_get_namePtr + .asFunction Function(spine_skin)>(); void spine_skin_add_skin( spine_skin skin, @@ -5800,8 +6967,11 @@ class SpineFlutterBindings { ); } - late final _spine_skin_add_skinPtr = _lookup>('spine_skin_add_skin'); - late final _spine_skin_add_skin = _spine_skin_add_skinPtr.asFunction(); + late final _spine_skin_add_skinPtr = + _lookup>( + 'spine_skin_add_skin'); + late final _spine_skin_add_skin = _spine_skin_add_skinPtr + .asFunction(); void spine_skin_copy_skin( spine_skin skin, @@ -5813,8 +6983,11 @@ class SpineFlutterBindings { ); } - late final _spine_skin_copy_skinPtr = _lookup>('spine_skin_copy_skin'); - late final _spine_skin_copy_skin = _spine_skin_copy_skinPtr.asFunction(); + late final _spine_skin_copy_skinPtr = + _lookup>( + 'spine_skin_copy_skin'); + late final _spine_skin_copy_skin = _spine_skin_copy_skinPtr + .asFunction(); spine_skin_entries spine_skin_get_entries( spine_skin skin, @@ -5824,8 +6997,11 @@ class SpineFlutterBindings { ); } - late final _spine_skin_get_entriesPtr = _lookup>('spine_skin_get_entries'); - late final _spine_skin_get_entries = _spine_skin_get_entriesPtr.asFunction(); + late final _spine_skin_get_entriesPtr = + _lookup>( + 'spine_skin_get_entries'); + late final _spine_skin_get_entries = _spine_skin_get_entriesPtr + .asFunction(); int spine_skin_entries_get_num_entries( spine_skin_entries entries, @@ -5836,8 +7012,11 @@ class SpineFlutterBindings { } late final _spine_skin_entries_get_num_entriesPtr = - _lookup>('spine_skin_entries_get_num_entries'); - late final _spine_skin_entries_get_num_entries = _spine_skin_entries_get_num_entriesPtr.asFunction(); + _lookup>( + 'spine_skin_entries_get_num_entries'); + late final _spine_skin_entries_get_num_entries = + _spine_skin_entries_get_num_entriesPtr + .asFunction(); spine_skin_entry spine_skin_entries_get_entry( spine_skin_entries entries, @@ -5849,10 +7028,12 @@ class SpineFlutterBindings { ); } - late final _spine_skin_entries_get_entryPtr = - _lookup>('spine_skin_entries_get_entry'); - late final _spine_skin_entries_get_entry = - _spine_skin_entries_get_entryPtr.asFunction(); + late final _spine_skin_entries_get_entryPtr = _lookup< + ffi.NativeFunction< + spine_skin_entry Function( + spine_skin_entries, ffi.Int32)>>('spine_skin_entries_get_entry'); + late final _spine_skin_entries_get_entry = _spine_skin_entries_get_entryPtr + .asFunction(); void spine_skin_entries_dispose( spine_skin_entries entries, @@ -5863,8 +7044,10 @@ class SpineFlutterBindings { } late final _spine_skin_entries_disposePtr = - _lookup>('spine_skin_entries_dispose'); - late final _spine_skin_entries_dispose = _spine_skin_entries_disposePtr.asFunction(); + _lookup>( + 'spine_skin_entries_dispose'); + late final _spine_skin_entries_dispose = _spine_skin_entries_disposePtr + .asFunction(); int spine_skin_entry_get_slot_index( spine_skin_entry entry, @@ -5875,8 +7058,11 @@ class SpineFlutterBindings { } late final _spine_skin_entry_get_slot_indexPtr = - _lookup>('spine_skin_entry_get_slot_index'); - late final _spine_skin_entry_get_slot_index = _spine_skin_entry_get_slot_indexPtr.asFunction(); + _lookup>( + 'spine_skin_entry_get_slot_index'); + late final _spine_skin_entry_get_slot_index = + _spine_skin_entry_get_slot_indexPtr + .asFunction(); ffi.Pointer spine_skin_entry_get_name( spine_skin_entry entry, @@ -5887,8 +7073,10 @@ class SpineFlutterBindings { } late final _spine_skin_entry_get_namePtr = - _lookup Function(spine_skin_entry)>>('spine_skin_entry_get_name'); - late final _spine_skin_entry_get_name = _spine_skin_entry_get_namePtr.asFunction Function(spine_skin_entry)>(); + _lookup Function(spine_skin_entry)>>( + 'spine_skin_entry_get_name'); + late final _spine_skin_entry_get_name = _spine_skin_entry_get_namePtr + .asFunction Function(spine_skin_entry)>(); spine_attachment spine_skin_entry_get_attachment( spine_skin_entry entry, @@ -5899,9 +7087,11 @@ class SpineFlutterBindings { } late final _spine_skin_entry_get_attachmentPtr = - _lookup>('spine_skin_entry_get_attachment'); + _lookup>( + 'spine_skin_entry_get_attachment'); late final _spine_skin_entry_get_attachment = - _spine_skin_entry_get_attachmentPtr.asFunction(); + _spine_skin_entry_get_attachmentPtr + .asFunction(); int spine_skin_get_num_bones( spine_skin skin, @@ -5911,8 +7101,11 @@ class SpineFlutterBindings { ); } - late final _spine_skin_get_num_bonesPtr = _lookup>('spine_skin_get_num_bones'); - late final _spine_skin_get_num_bones = _spine_skin_get_num_bonesPtr.asFunction(); + late final _spine_skin_get_num_bonesPtr = + _lookup>( + 'spine_skin_get_num_bones'); + late final _spine_skin_get_num_bones = + _spine_skin_get_num_bonesPtr.asFunction(); ffi.Pointer spine_skin_get_bones( spine_skin skin, @@ -5922,9 +7115,12 @@ class SpineFlutterBindings { ); } - late final _spine_skin_get_bonesPtr = - _lookup Function(spine_skin)>>('spine_skin_get_bones'); - late final _spine_skin_get_bones = _spine_skin_get_bonesPtr.asFunction Function(spine_skin)>(); + late final _spine_skin_get_bonesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_skin)>>('spine_skin_get_bones'); + late final _spine_skin_get_bones = _spine_skin_get_bonesPtr + .asFunction Function(spine_skin)>(); int spine_skin_get_num_constraints( spine_skin skin, @@ -5935,8 +7131,10 @@ class SpineFlutterBindings { } late final _spine_skin_get_num_constraintsPtr = - _lookup>('spine_skin_get_num_constraints'); - late final _spine_skin_get_num_constraints = _spine_skin_get_num_constraintsPtr.asFunction(); + _lookup>( + 'spine_skin_get_num_constraints'); + late final _spine_skin_get_num_constraints = + _spine_skin_get_num_constraintsPtr.asFunction(); ffi.Pointer spine_skin_get_constraints( spine_skin skin, @@ -5946,10 +7144,12 @@ class SpineFlutterBindings { ); } - late final _spine_skin_get_constraintsPtr = - _lookup Function(spine_skin)>>('spine_skin_get_constraints'); - late final _spine_skin_get_constraints = - _spine_skin_get_constraintsPtr.asFunction Function(spine_skin)>(); + late final _spine_skin_get_constraintsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_skin)>>('spine_skin_get_constraints'); + late final _spine_skin_get_constraints = _spine_skin_get_constraintsPtr + .asFunction Function(spine_skin)>(); spine_skin spine_skin_create( ffi.Pointer name, @@ -5959,8 +7159,11 @@ class SpineFlutterBindings { ); } - late final _spine_skin_createPtr = _lookup)>>('spine_skin_create'); - late final _spine_skin_create = _spine_skin_createPtr.asFunction)>(); + late final _spine_skin_createPtr = + _lookup)>>( + 'spine_skin_create'); + late final _spine_skin_create = _spine_skin_createPtr + .asFunction)>(); void spine_skin_dispose( spine_skin skin, @@ -5970,8 +7173,11 @@ class SpineFlutterBindings { ); } - late final _spine_skin_disposePtr = _lookup>('spine_skin_dispose'); - late final _spine_skin_dispose = _spine_skin_disposePtr.asFunction(); + late final _spine_skin_disposePtr = + _lookup>( + 'spine_skin_dispose'); + late final _spine_skin_dispose = + _spine_skin_disposePtr.asFunction(); int spine_constraint_data_get_type( spine_constraint_data data, @@ -5982,8 +7188,11 @@ class SpineFlutterBindings { } late final _spine_constraint_data_get_typePtr = - _lookup>('spine_constraint_data_get_type'); - late final _spine_constraint_data_get_type = _spine_constraint_data_get_typePtr.asFunction(); + _lookup>( + 'spine_constraint_data_get_type'); + late final _spine_constraint_data_get_type = + _spine_constraint_data_get_typePtr + .asFunction(); ffi.Pointer spine_constraint_data_get_name( spine_constraint_data data, @@ -5993,10 +7202,13 @@ class SpineFlutterBindings { ); } - late final _spine_constraint_data_get_namePtr = - _lookup Function(spine_constraint_data)>>('spine_constraint_data_get_name'); + late final _spine_constraint_data_get_namePtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_constraint_data)>>('spine_constraint_data_get_name'); late final _spine_constraint_data_get_name = - _spine_constraint_data_get_namePtr.asFunction Function(spine_constraint_data)>(); + _spine_constraint_data_get_namePtr + .asFunction Function(spine_constraint_data)>(); int spine_constraint_data_get_order( spine_constraint_data data, @@ -6007,8 +7219,11 @@ class SpineFlutterBindings { } late final _spine_constraint_data_get_orderPtr = - _lookup>('spine_constraint_data_get_order'); - late final _spine_constraint_data_get_order = _spine_constraint_data_get_orderPtr.asFunction(); + _lookup>( + 'spine_constraint_data_get_order'); + late final _spine_constraint_data_get_order = + _spine_constraint_data_get_orderPtr + .asFunction(); void spine_constraint_data_set_order( spine_constraint_data data, @@ -6020,9 +7235,13 @@ class SpineFlutterBindings { ); } - late final _spine_constraint_data_set_orderPtr = - _lookup>('spine_constraint_data_set_order'); - late final _spine_constraint_data_set_order = _spine_constraint_data_set_orderPtr.asFunction(); + late final _spine_constraint_data_set_orderPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_constraint_data, + ffi.Uint64)>>('spine_constraint_data_set_order'); + late final _spine_constraint_data_set_order = + _spine_constraint_data_set_orderPtr + .asFunction(); int spine_constraint_data_get_is_skin_required( spine_constraint_data data, @@ -6033,9 +7252,11 @@ class SpineFlutterBindings { } late final _spine_constraint_data_get_is_skin_requiredPtr = - _lookup>('spine_constraint_data_get_is_skin_required'); + _lookup>( + 'spine_constraint_data_get_is_skin_required'); late final _spine_constraint_data_get_is_skin_required = - _spine_constraint_data_get_is_skin_requiredPtr.asFunction(); + _spine_constraint_data_get_is_skin_requiredPtr + .asFunction(); void spine_constraint_data_set_is_skin_required( spine_constraint_data data, @@ -6047,10 +7268,13 @@ class SpineFlutterBindings { ); } - late final _spine_constraint_data_set_is_skin_requiredPtr = - _lookup>('spine_constraint_data_set_is_skin_required'); + late final _spine_constraint_data_set_is_skin_requiredPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_constraint_data, + ffi.Int32)>>('spine_constraint_data_set_is_skin_required'); late final _spine_constraint_data_set_is_skin_required = - _spine_constraint_data_set_is_skin_requiredPtr.asFunction(); + _spine_constraint_data_set_is_skin_requiredPtr + .asFunction(); int spine_ik_constraint_data_get_num_bones( spine_ik_constraint_data data, @@ -6061,9 +7285,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_data_get_num_bonesPtr = - _lookup>('spine_ik_constraint_data_get_num_bones'); + _lookup>( + 'spine_ik_constraint_data_get_num_bones'); late final _spine_ik_constraint_data_get_num_bones = - _spine_ik_constraint_data_get_num_bonesPtr.asFunction(); + _spine_ik_constraint_data_get_num_bonesPtr + .asFunction(); ffi.Pointer spine_ik_constraint_data_get_bones( spine_ik_constraint_data data, @@ -6073,10 +7299,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_data_get_bonesPtr = - _lookup Function(spine_ik_constraint_data)>>('spine_ik_constraint_data_get_bones'); + late final _spine_ik_constraint_data_get_bonesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_ik_constraint_data)>>('spine_ik_constraint_data_get_bones'); late final _spine_ik_constraint_data_get_bones = - _spine_ik_constraint_data_get_bonesPtr.asFunction Function(spine_ik_constraint_data)>(); + _spine_ik_constraint_data_get_bonesPtr.asFunction< + ffi.Pointer Function(spine_ik_constraint_data)>(); spine_bone_data spine_ik_constraint_data_get_target( spine_ik_constraint_data data, @@ -6086,10 +7315,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_data_get_targetPtr = - _lookup>('spine_ik_constraint_data_get_target'); + late final _spine_ik_constraint_data_get_targetPtr = _lookup< + ffi.NativeFunction< + spine_bone_data Function(spine_ik_constraint_data)>>( + 'spine_ik_constraint_data_get_target'); late final _spine_ik_constraint_data_get_target = - _spine_ik_constraint_data_get_targetPtr.asFunction(); + _spine_ik_constraint_data_get_targetPtr + .asFunction(); void spine_ik_constraint_data_set_target( spine_ik_constraint_data data, @@ -6101,10 +7333,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_data_set_targetPtr = - _lookup>('spine_ik_constraint_data_set_target'); + late final _spine_ik_constraint_data_set_targetPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint_data, + spine_bone_data)>>('spine_ik_constraint_data_set_target'); late final _spine_ik_constraint_data_set_target = - _spine_ik_constraint_data_set_targetPtr.asFunction(); + _spine_ik_constraint_data_set_targetPtr.asFunction< + void Function(spine_ik_constraint_data, spine_bone_data)>(); int spine_ik_constraint_data_get_bend_direction( spine_ik_constraint_data data, @@ -6115,9 +7350,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_data_get_bend_directionPtr = - _lookup>('spine_ik_constraint_data_get_bend_direction'); + _lookup>( + 'spine_ik_constraint_data_get_bend_direction'); late final _spine_ik_constraint_data_get_bend_direction = - _spine_ik_constraint_data_get_bend_directionPtr.asFunction(); + _spine_ik_constraint_data_get_bend_directionPtr + .asFunction(); void spine_ik_constraint_data_set_bend_direction( spine_ik_constraint_data data, @@ -6129,10 +7366,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_data_set_bend_directionPtr = - _lookup>('spine_ik_constraint_data_set_bend_direction'); + late final _spine_ik_constraint_data_set_bend_directionPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint_data, + ffi.Int32)>>('spine_ik_constraint_data_set_bend_direction'); late final _spine_ik_constraint_data_set_bend_direction = - _spine_ik_constraint_data_set_bend_directionPtr.asFunction(); + _spine_ik_constraint_data_set_bend_directionPtr + .asFunction(); int spine_ik_constraint_data_get_compress( spine_ik_constraint_data data, @@ -6143,9 +7383,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_data_get_compressPtr = - _lookup>('spine_ik_constraint_data_get_compress'); + _lookup>( + 'spine_ik_constraint_data_get_compress'); late final _spine_ik_constraint_data_get_compress = - _spine_ik_constraint_data_get_compressPtr.asFunction(); + _spine_ik_constraint_data_get_compressPtr + .asFunction(); void spine_ik_constraint_data_set_compress( spine_ik_constraint_data data, @@ -6157,10 +7399,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_data_set_compressPtr = - _lookup>('spine_ik_constraint_data_set_compress'); + late final _spine_ik_constraint_data_set_compressPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint_data, + ffi.Int32)>>('spine_ik_constraint_data_set_compress'); late final _spine_ik_constraint_data_set_compress = - _spine_ik_constraint_data_set_compressPtr.asFunction(); + _spine_ik_constraint_data_set_compressPtr + .asFunction(); int spine_ik_constraint_data_get_stretch( spine_ik_constraint_data data, @@ -6171,9 +7416,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_data_get_stretchPtr = - _lookup>('spine_ik_constraint_data_get_stretch'); + _lookup>( + 'spine_ik_constraint_data_get_stretch'); late final _spine_ik_constraint_data_get_stretch = - _spine_ik_constraint_data_get_stretchPtr.asFunction(); + _spine_ik_constraint_data_get_stretchPtr + .asFunction(); void spine_ik_constraint_data_set_stretch( spine_ik_constraint_data data, @@ -6185,10 +7432,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_data_set_stretchPtr = - _lookup>('spine_ik_constraint_data_set_stretch'); + late final _spine_ik_constraint_data_set_stretchPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint_data, + ffi.Int32)>>('spine_ik_constraint_data_set_stretch'); late final _spine_ik_constraint_data_set_stretch = - _spine_ik_constraint_data_set_stretchPtr.asFunction(); + _spine_ik_constraint_data_set_stretchPtr + .asFunction(); int spine_ik_constraint_data_get_uniform( spine_ik_constraint_data data, @@ -6199,9 +7449,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_data_get_uniformPtr = - _lookup>('spine_ik_constraint_data_get_uniform'); + _lookup>( + 'spine_ik_constraint_data_get_uniform'); late final _spine_ik_constraint_data_get_uniform = - _spine_ik_constraint_data_get_uniformPtr.asFunction(); + _spine_ik_constraint_data_get_uniformPtr + .asFunction(); void spine_ik_constraint_data_set_uniform( spine_ik_constraint_data data, @@ -6213,10 +7465,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_data_set_uniformPtr = - _lookup>('spine_ik_constraint_data_set_uniform'); + late final _spine_ik_constraint_data_set_uniformPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint_data, + ffi.Int32)>>('spine_ik_constraint_data_set_uniform'); late final _spine_ik_constraint_data_set_uniform = - _spine_ik_constraint_data_set_uniformPtr.asFunction(); + _spine_ik_constraint_data_set_uniformPtr + .asFunction(); double spine_ik_constraint_data_get_mix( spine_ik_constraint_data data, @@ -6227,9 +7482,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_data_get_mixPtr = - _lookup>('spine_ik_constraint_data_get_mix'); + _lookup>( + 'spine_ik_constraint_data_get_mix'); late final _spine_ik_constraint_data_get_mix = - _spine_ik_constraint_data_get_mixPtr.asFunction(); + _spine_ik_constraint_data_get_mixPtr + .asFunction(); void spine_ik_constraint_data_set_mix( spine_ik_constraint_data data, @@ -6241,10 +7498,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_data_set_mixPtr = - _lookup>('spine_ik_constraint_data_set_mix'); + late final _spine_ik_constraint_data_set_mixPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint_data, + ffi.Float)>>('spine_ik_constraint_data_set_mix'); late final _spine_ik_constraint_data_set_mix = - _spine_ik_constraint_data_set_mixPtr.asFunction(); + _spine_ik_constraint_data_set_mixPtr + .asFunction(); double spine_ik_constraint_data_get_softness( spine_ik_constraint_data data, @@ -6255,9 +7515,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_data_get_softnessPtr = - _lookup>('spine_ik_constraint_data_get_softness'); + _lookup>( + 'spine_ik_constraint_data_get_softness'); late final _spine_ik_constraint_data_get_softness = - _spine_ik_constraint_data_get_softnessPtr.asFunction(); + _spine_ik_constraint_data_get_softnessPtr + .asFunction(); void spine_ik_constraint_data_set_softness( spine_ik_constraint_data data, @@ -6269,10 +7531,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_data_set_softnessPtr = - _lookup>('spine_ik_constraint_data_set_softness'); + late final _spine_ik_constraint_data_set_softnessPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint_data, + ffi.Float)>>('spine_ik_constraint_data_set_softness'); late final _spine_ik_constraint_data_set_softness = - _spine_ik_constraint_data_set_softnessPtr.asFunction(); + _spine_ik_constraint_data_set_softnessPtr + .asFunction(); void spine_ik_constraint_update( spine_ik_constraint constraint, @@ -6283,8 +7548,10 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_updatePtr = - _lookup>('spine_ik_constraint_update'); - late final _spine_ik_constraint_update = _spine_ik_constraint_updatePtr.asFunction(); + _lookup>( + 'spine_ik_constraint_update'); + late final _spine_ik_constraint_update = _spine_ik_constraint_updatePtr + .asFunction(); int spine_ik_constraint_get_order( spine_ik_constraint constraint, @@ -6295,8 +7562,10 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_get_orderPtr = - _lookup>('spine_ik_constraint_get_order'); - late final _spine_ik_constraint_get_order = _spine_ik_constraint_get_orderPtr.asFunction(); + _lookup>( + 'spine_ik_constraint_get_order'); + late final _spine_ik_constraint_get_order = _spine_ik_constraint_get_orderPtr + .asFunction(); spine_ik_constraint_data spine_ik_constraint_get_data( spine_ik_constraint constraint, @@ -6306,10 +7575,12 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_get_dataPtr = - _lookup>('spine_ik_constraint_get_data'); - late final _spine_ik_constraint_get_data = - _spine_ik_constraint_get_dataPtr.asFunction(); + late final _spine_ik_constraint_get_dataPtr = _lookup< + ffi.NativeFunction< + spine_ik_constraint_data Function( + spine_ik_constraint)>>('spine_ik_constraint_get_data'); + late final _spine_ik_constraint_get_data = _spine_ik_constraint_get_dataPtr + .asFunction(); int spine_ik_constraint_get_num_bones( spine_ik_constraint constraint, @@ -6320,8 +7591,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_get_num_bonesPtr = - _lookup>('spine_ik_constraint_get_num_bones'); - late final _spine_ik_constraint_get_num_bones = _spine_ik_constraint_get_num_bonesPtr.asFunction(); + _lookup>( + 'spine_ik_constraint_get_num_bones'); + late final _spine_ik_constraint_get_num_bones = + _spine_ik_constraint_get_num_bonesPtr + .asFunction(); ffi.Pointer spine_ik_constraint_get_bones( spine_ik_constraint constraint, @@ -6331,10 +7605,12 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_get_bonesPtr = - _lookup Function(spine_ik_constraint)>>('spine_ik_constraint_get_bones'); - late final _spine_ik_constraint_get_bones = - _spine_ik_constraint_get_bonesPtr.asFunction Function(spine_ik_constraint)>(); + late final _spine_ik_constraint_get_bonesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_ik_constraint)>>('spine_ik_constraint_get_bones'); + late final _spine_ik_constraint_get_bones = _spine_ik_constraint_get_bonesPtr + .asFunction Function(spine_ik_constraint)>(); spine_bone spine_ik_constraint_get_target( spine_ik_constraint constraint, @@ -6345,8 +7621,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_get_targetPtr = - _lookup>('spine_ik_constraint_get_target'); - late final _spine_ik_constraint_get_target = _spine_ik_constraint_get_targetPtr.asFunction(); + _lookup>( + 'spine_ik_constraint_get_target'); + late final _spine_ik_constraint_get_target = + _spine_ik_constraint_get_targetPtr + .asFunction(); void spine_ik_constraint_set_target( spine_ik_constraint constraint, @@ -6358,10 +7637,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_set_targetPtr = - _lookup>('spine_ik_constraint_set_target'); + late final _spine_ik_constraint_set_targetPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint, + spine_bone)>>('spine_ik_constraint_set_target'); late final _spine_ik_constraint_set_target = - _spine_ik_constraint_set_targetPtr.asFunction(); + _spine_ik_constraint_set_targetPtr + .asFunction(); int spine_ik_constraint_get_bend_direction( spine_ik_constraint constraint, @@ -6372,9 +7654,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_get_bend_directionPtr = - _lookup>('spine_ik_constraint_get_bend_direction'); + _lookup>( + 'spine_ik_constraint_get_bend_direction'); late final _spine_ik_constraint_get_bend_direction = - _spine_ik_constraint_get_bend_directionPtr.asFunction(); + _spine_ik_constraint_get_bend_directionPtr + .asFunction(); void spine_ik_constraint_set_bend_direction( spine_ik_constraint constraint, @@ -6386,10 +7670,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_set_bend_directionPtr = - _lookup>('spine_ik_constraint_set_bend_direction'); + late final _spine_ik_constraint_set_bend_directionPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint, + ffi.Int32)>>('spine_ik_constraint_set_bend_direction'); late final _spine_ik_constraint_set_bend_direction = - _spine_ik_constraint_set_bend_directionPtr.asFunction(); + _spine_ik_constraint_set_bend_directionPtr + .asFunction(); int spine_ik_constraint_get_compress( spine_ik_constraint constraint, @@ -6400,8 +7687,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_get_compressPtr = - _lookup>('spine_ik_constraint_get_compress'); - late final _spine_ik_constraint_get_compress = _spine_ik_constraint_get_compressPtr.asFunction(); + _lookup>( + 'spine_ik_constraint_get_compress'); + late final _spine_ik_constraint_get_compress = + _spine_ik_constraint_get_compressPtr + .asFunction(); void spine_ik_constraint_set_compress( spine_ik_constraint constraint, @@ -6413,9 +7703,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_set_compressPtr = - _lookup>('spine_ik_constraint_set_compress'); - late final _spine_ik_constraint_set_compress = _spine_ik_constraint_set_compressPtr.asFunction(); + late final _spine_ik_constraint_set_compressPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint, + ffi.Int32)>>('spine_ik_constraint_set_compress'); + late final _spine_ik_constraint_set_compress = + _spine_ik_constraint_set_compressPtr + .asFunction(); int spine_ik_constraint_get_stretch( spine_ik_constraint constraint, @@ -6426,8 +7720,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_get_stretchPtr = - _lookup>('spine_ik_constraint_get_stretch'); - late final _spine_ik_constraint_get_stretch = _spine_ik_constraint_get_stretchPtr.asFunction(); + _lookup>( + 'spine_ik_constraint_get_stretch'); + late final _spine_ik_constraint_get_stretch = + _spine_ik_constraint_get_stretchPtr + .asFunction(); void spine_ik_constraint_set_stretch( spine_ik_constraint constraint, @@ -6439,9 +7736,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_set_stretchPtr = - _lookup>('spine_ik_constraint_set_stretch'); - late final _spine_ik_constraint_set_stretch = _spine_ik_constraint_set_stretchPtr.asFunction(); + late final _spine_ik_constraint_set_stretchPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint, + ffi.Int32)>>('spine_ik_constraint_set_stretch'); + late final _spine_ik_constraint_set_stretch = + _spine_ik_constraint_set_stretchPtr + .asFunction(); double spine_ik_constraint_get_mix( spine_ik_constraint constraint, @@ -6452,8 +7753,10 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_get_mixPtr = - _lookup>('spine_ik_constraint_get_mix'); - late final _spine_ik_constraint_get_mix = _spine_ik_constraint_get_mixPtr.asFunction(); + _lookup>( + 'spine_ik_constraint_get_mix'); + late final _spine_ik_constraint_get_mix = _spine_ik_constraint_get_mixPtr + .asFunction(); void spine_ik_constraint_set_mix( spine_ik_constraint constraint, @@ -6465,9 +7768,12 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_set_mixPtr = - _lookup>('spine_ik_constraint_set_mix'); - late final _spine_ik_constraint_set_mix = _spine_ik_constraint_set_mixPtr.asFunction(); + late final _spine_ik_constraint_set_mixPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_ik_constraint, ffi.Float)>>('spine_ik_constraint_set_mix'); + late final _spine_ik_constraint_set_mix = _spine_ik_constraint_set_mixPtr + .asFunction(); double spine_ik_constraint_get_softness( spine_ik_constraint constraint, @@ -6478,8 +7784,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_get_softnessPtr = - _lookup>('spine_ik_constraint_get_softness'); - late final _spine_ik_constraint_get_softness = _spine_ik_constraint_get_softnessPtr.asFunction(); + _lookup>( + 'spine_ik_constraint_get_softness'); + late final _spine_ik_constraint_get_softness = + _spine_ik_constraint_get_softnessPtr + .asFunction(); void spine_ik_constraint_set_softness( spine_ik_constraint constraint, @@ -6491,10 +7800,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_set_softnessPtr = - _lookup>('spine_ik_constraint_set_softness'); + late final _spine_ik_constraint_set_softnessPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint, + ffi.Float)>>('spine_ik_constraint_set_softness'); late final _spine_ik_constraint_set_softness = - _spine_ik_constraint_set_softnessPtr.asFunction(); + _spine_ik_constraint_set_softnessPtr + .asFunction(); int spine_ik_constraint_get_is_active( spine_ik_constraint constraint, @@ -6505,8 +7817,11 @@ class SpineFlutterBindings { } late final _spine_ik_constraint_get_is_activePtr = - _lookup>('spine_ik_constraint_get_is_active'); - late final _spine_ik_constraint_get_is_active = _spine_ik_constraint_get_is_activePtr.asFunction(); + _lookup>( + 'spine_ik_constraint_get_is_active'); + late final _spine_ik_constraint_get_is_active = + _spine_ik_constraint_get_is_activePtr + .asFunction(); void spine_ik_constraint_set_is_active( spine_ik_constraint constraint, @@ -6518,10 +7833,13 @@ class SpineFlutterBindings { ); } - late final _spine_ik_constraint_set_is_activePtr = - _lookup>('spine_ik_constraint_set_is_active'); + late final _spine_ik_constraint_set_is_activePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint, + ffi.Int32)>>('spine_ik_constraint_set_is_active'); late final _spine_ik_constraint_set_is_active = - _spine_ik_constraint_set_is_activePtr.asFunction(); + _spine_ik_constraint_set_is_activePtr + .asFunction(); int spine_transform_constraint_data_get_num_bones( spine_transform_constraint_data data, @@ -6531,10 +7849,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_num_bonesPtr = - _lookup>('spine_transform_constraint_data_get_num_bones'); + late final _spine_transform_constraint_data_get_num_bonesPtr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_num_bones'); late final _spine_transform_constraint_data_get_num_bones = - _spine_transform_constraint_data_get_num_bonesPtr.asFunction(); + _spine_transform_constraint_data_get_num_bonesPtr + .asFunction(); ffi.Pointer spine_transform_constraint_data_get_bones( spine_transform_constraint_data data, @@ -6544,11 +7865,15 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_bonesPtr = - _lookup Function(spine_transform_constraint_data)>>( - 'spine_transform_constraint_data_get_bones'); + late final _spine_transform_constraint_data_get_bonesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_bones'); late final _spine_transform_constraint_data_get_bones = - _spine_transform_constraint_data_get_bonesPtr.asFunction Function(spine_transform_constraint_data)>(); + _spine_transform_constraint_data_get_bonesPtr.asFunction< + ffi.Pointer Function( + spine_transform_constraint_data)>(); spine_bone_data spine_transform_constraint_data_get_target( spine_transform_constraint_data data, @@ -6558,10 +7883,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_targetPtr = - _lookup>('spine_transform_constraint_data_get_target'); + late final _spine_transform_constraint_data_get_targetPtr = _lookup< + ffi.NativeFunction< + spine_bone_data Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_target'); late final _spine_transform_constraint_data_get_target = - _spine_transform_constraint_data_get_targetPtr.asFunction(); + _spine_transform_constraint_data_get_targetPtr.asFunction< + spine_bone_data Function(spine_transform_constraint_data)>(); void spine_transform_constraint_data_set_target( spine_transform_constraint_data data, @@ -6573,11 +7901,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_targetPtr = - _lookup>( - 'spine_transform_constraint_data_set_target'); + late final _spine_transform_constraint_data_set_targetPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, + spine_bone_data)>>('spine_transform_constraint_data_set_target'); late final _spine_transform_constraint_data_set_target = - _spine_transform_constraint_data_set_targetPtr.asFunction(); + _spine_transform_constraint_data_set_targetPtr.asFunction< + void Function(spine_transform_constraint_data, spine_bone_data)>(); double spine_transform_constraint_data_get_mix_rotate( spine_transform_constraint_data data, @@ -6587,10 +7917,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_mix_rotatePtr = - _lookup>('spine_transform_constraint_data_get_mix_rotate'); + late final _spine_transform_constraint_data_get_mix_rotatePtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_mix_rotate'); late final _spine_transform_constraint_data_get_mix_rotate = - _spine_transform_constraint_data_get_mix_rotatePtr.asFunction(); + _spine_transform_constraint_data_get_mix_rotatePtr + .asFunction(); void spine_transform_constraint_data_set_mix_rotate( spine_transform_constraint_data data, @@ -6602,11 +7935,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_mix_rotatePtr = - _lookup>( - 'spine_transform_constraint_data_set_mix_rotate'); + late final _spine_transform_constraint_data_set_mix_rotatePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, + ffi.Float)>>('spine_transform_constraint_data_set_mix_rotate'); late final _spine_transform_constraint_data_set_mix_rotate = - _spine_transform_constraint_data_set_mix_rotatePtr.asFunction(); + _spine_transform_constraint_data_set_mix_rotatePtr + .asFunction(); double spine_transform_constraint_data_get_mix_x( spine_transform_constraint_data data, @@ -6616,10 +7951,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_mix_xPtr = - _lookup>('spine_transform_constraint_data_get_mix_x'); + late final _spine_transform_constraint_data_get_mix_xPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_mix_x'); late final _spine_transform_constraint_data_get_mix_x = - _spine_transform_constraint_data_get_mix_xPtr.asFunction(); + _spine_transform_constraint_data_get_mix_xPtr + .asFunction(); void spine_transform_constraint_data_set_mix_x( spine_transform_constraint_data data, @@ -6631,11 +7969,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_mix_xPtr = - _lookup>( - 'spine_transform_constraint_data_set_mix_x'); + late final _spine_transform_constraint_data_set_mix_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, + ffi.Float)>>('spine_transform_constraint_data_set_mix_x'); late final _spine_transform_constraint_data_set_mix_x = - _spine_transform_constraint_data_set_mix_xPtr.asFunction(); + _spine_transform_constraint_data_set_mix_xPtr + .asFunction(); double spine_transform_constraint_data_get_mix_y( spine_transform_constraint_data data, @@ -6645,10 +7985,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_mix_yPtr = - _lookup>('spine_transform_constraint_data_get_mix_y'); + late final _spine_transform_constraint_data_get_mix_yPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_mix_y'); late final _spine_transform_constraint_data_get_mix_y = - _spine_transform_constraint_data_get_mix_yPtr.asFunction(); + _spine_transform_constraint_data_get_mix_yPtr + .asFunction(); void spine_transform_constraint_data_set_mix_y( spine_transform_constraint_data data, @@ -6660,11 +8003,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_mix_yPtr = - _lookup>( - 'spine_transform_constraint_data_set_mix_y'); + late final _spine_transform_constraint_data_set_mix_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, + ffi.Float)>>('spine_transform_constraint_data_set_mix_y'); late final _spine_transform_constraint_data_set_mix_y = - _spine_transform_constraint_data_set_mix_yPtr.asFunction(); + _spine_transform_constraint_data_set_mix_yPtr + .asFunction(); double spine_transform_constraint_data_get_mix_scale_x( spine_transform_constraint_data data, @@ -6674,10 +8019,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_mix_scale_xPtr = - _lookup>('spine_transform_constraint_data_get_mix_scale_x'); + late final _spine_transform_constraint_data_get_mix_scale_xPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_mix_scale_x'); late final _spine_transform_constraint_data_get_mix_scale_x = - _spine_transform_constraint_data_get_mix_scale_xPtr.asFunction(); + _spine_transform_constraint_data_get_mix_scale_xPtr + .asFunction(); void spine_transform_constraint_data_set_mix_scale_x( spine_transform_constraint_data data, @@ -6689,11 +8037,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_mix_scale_xPtr = - _lookup>( - 'spine_transform_constraint_data_set_mix_scale_x'); + late final _spine_transform_constraint_data_set_mix_scale_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, + ffi.Float)>>('spine_transform_constraint_data_set_mix_scale_x'); late final _spine_transform_constraint_data_set_mix_scale_x = - _spine_transform_constraint_data_set_mix_scale_xPtr.asFunction(); + _spine_transform_constraint_data_set_mix_scale_xPtr + .asFunction(); double spine_transform_constraint_data_get_mix_scale_y( spine_transform_constraint_data data, @@ -6703,10 +8053,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_mix_scale_yPtr = - _lookup>('spine_transform_constraint_data_get_mix_scale_y'); + late final _spine_transform_constraint_data_get_mix_scale_yPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_mix_scale_y'); late final _spine_transform_constraint_data_get_mix_scale_y = - _spine_transform_constraint_data_get_mix_scale_yPtr.asFunction(); + _spine_transform_constraint_data_get_mix_scale_yPtr + .asFunction(); void spine_transform_constraint_data_set_mix_scale_y( spine_transform_constraint_data data, @@ -6718,11 +8071,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_mix_scale_yPtr = - _lookup>( - 'spine_transform_constraint_data_set_mix_scale_y'); + late final _spine_transform_constraint_data_set_mix_scale_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, + ffi.Float)>>('spine_transform_constraint_data_set_mix_scale_y'); late final _spine_transform_constraint_data_set_mix_scale_y = - _spine_transform_constraint_data_set_mix_scale_yPtr.asFunction(); + _spine_transform_constraint_data_set_mix_scale_yPtr + .asFunction(); double spine_transform_constraint_data_get_mix_shear_y( spine_transform_constraint_data data, @@ -6732,10 +8087,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_mix_shear_yPtr = - _lookup>('spine_transform_constraint_data_get_mix_shear_y'); + late final _spine_transform_constraint_data_get_mix_shear_yPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_mix_shear_y'); late final _spine_transform_constraint_data_get_mix_shear_y = - _spine_transform_constraint_data_get_mix_shear_yPtr.asFunction(); + _spine_transform_constraint_data_get_mix_shear_yPtr + .asFunction(); void spine_transform_constraint_data_set_mix_shear_y( spine_transform_constraint_data data, @@ -6747,11 +8105,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_mix_shear_yPtr = - _lookup>( - 'spine_transform_constraint_data_set_mix_shear_y'); + late final _spine_transform_constraint_data_set_mix_shear_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, + ffi.Float)>>('spine_transform_constraint_data_set_mix_shear_y'); late final _spine_transform_constraint_data_set_mix_shear_y = - _spine_transform_constraint_data_set_mix_shear_yPtr.asFunction(); + _spine_transform_constraint_data_set_mix_shear_yPtr + .asFunction(); double spine_transform_constraint_data_get_offset_rotation( spine_transform_constraint_data data, @@ -6761,11 +8121,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_offset_rotationPtr = - _lookup>( - 'spine_transform_constraint_data_get_offset_rotation'); + late final _spine_transform_constraint_data_get_offset_rotationPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_offset_rotation'); late final _spine_transform_constraint_data_get_offset_rotation = - _spine_transform_constraint_data_get_offset_rotationPtr.asFunction(); + _spine_transform_constraint_data_get_offset_rotationPtr + .asFunction(); void spine_transform_constraint_data_set_offset_rotation( spine_transform_constraint_data data, @@ -6777,11 +8139,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_offset_rotationPtr = - _lookup>( - 'spine_transform_constraint_data_set_offset_rotation'); + late final _spine_transform_constraint_data_set_offset_rotationPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, ffi.Float)>>( + 'spine_transform_constraint_data_set_offset_rotation'); late final _spine_transform_constraint_data_set_offset_rotation = - _spine_transform_constraint_data_set_offset_rotationPtr.asFunction(); + _spine_transform_constraint_data_set_offset_rotationPtr + .asFunction(); double spine_transform_constraint_data_get_offset_x( spine_transform_constraint_data data, @@ -6791,10 +8155,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_offset_xPtr = - _lookup>('spine_transform_constraint_data_get_offset_x'); + late final _spine_transform_constraint_data_get_offset_xPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_offset_x'); late final _spine_transform_constraint_data_get_offset_x = - _spine_transform_constraint_data_get_offset_xPtr.asFunction(); + _spine_transform_constraint_data_get_offset_xPtr + .asFunction(); void spine_transform_constraint_data_set_offset_x( spine_transform_constraint_data data, @@ -6806,11 +8173,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_offset_xPtr = - _lookup>( - 'spine_transform_constraint_data_set_offset_x'); + late final _spine_transform_constraint_data_set_offset_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, + ffi.Float)>>('spine_transform_constraint_data_set_offset_x'); late final _spine_transform_constraint_data_set_offset_x = - _spine_transform_constraint_data_set_offset_xPtr.asFunction(); + _spine_transform_constraint_data_set_offset_xPtr + .asFunction(); double spine_transform_constraint_data_get_offset_y( spine_transform_constraint_data data, @@ -6820,10 +8189,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_offset_yPtr = - _lookup>('spine_transform_constraint_data_get_offset_y'); + late final _spine_transform_constraint_data_get_offset_yPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_offset_y'); late final _spine_transform_constraint_data_get_offset_y = - _spine_transform_constraint_data_get_offset_yPtr.asFunction(); + _spine_transform_constraint_data_get_offset_yPtr + .asFunction(); void spine_transform_constraint_data_set_offset_y( spine_transform_constraint_data data, @@ -6835,11 +8207,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_offset_yPtr = - _lookup>( - 'spine_transform_constraint_data_set_offset_y'); + late final _spine_transform_constraint_data_set_offset_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, + ffi.Float)>>('spine_transform_constraint_data_set_offset_y'); late final _spine_transform_constraint_data_set_offset_y = - _spine_transform_constraint_data_set_offset_yPtr.asFunction(); + _spine_transform_constraint_data_set_offset_yPtr + .asFunction(); double spine_transform_constraint_data_get_offset_scale_x( spine_transform_constraint_data data, @@ -6849,11 +8223,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_offset_scale_xPtr = - _lookup>( - 'spine_transform_constraint_data_get_offset_scale_x'); + late final _spine_transform_constraint_data_get_offset_scale_xPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_offset_scale_x'); late final _spine_transform_constraint_data_get_offset_scale_x = - _spine_transform_constraint_data_get_offset_scale_xPtr.asFunction(); + _spine_transform_constraint_data_get_offset_scale_xPtr + .asFunction(); void spine_transform_constraint_data_set_offset_scale_x( spine_transform_constraint_data data, @@ -6865,11 +8241,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_offset_scale_xPtr = - _lookup>( - 'spine_transform_constraint_data_set_offset_scale_x'); + late final _spine_transform_constraint_data_set_offset_scale_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, ffi.Float)>>( + 'spine_transform_constraint_data_set_offset_scale_x'); late final _spine_transform_constraint_data_set_offset_scale_x = - _spine_transform_constraint_data_set_offset_scale_xPtr.asFunction(); + _spine_transform_constraint_data_set_offset_scale_xPtr + .asFunction(); double spine_transform_constraint_data_get_offset_scale_y( spine_transform_constraint_data data, @@ -6879,11 +8257,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_offset_scale_yPtr = - _lookup>( - 'spine_transform_constraint_data_get_offset_scale_y'); + late final _spine_transform_constraint_data_get_offset_scale_yPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_offset_scale_y'); late final _spine_transform_constraint_data_get_offset_scale_y = - _spine_transform_constraint_data_get_offset_scale_yPtr.asFunction(); + _spine_transform_constraint_data_get_offset_scale_yPtr + .asFunction(); void spine_transform_constraint_data_set_offset_scale_y( spine_transform_constraint_data data, @@ -6895,11 +8275,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_offset_scale_yPtr = - _lookup>( - 'spine_transform_constraint_data_set_offset_scale_y'); + late final _spine_transform_constraint_data_set_offset_scale_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, ffi.Float)>>( + 'spine_transform_constraint_data_set_offset_scale_y'); late final _spine_transform_constraint_data_set_offset_scale_y = - _spine_transform_constraint_data_set_offset_scale_yPtr.asFunction(); + _spine_transform_constraint_data_set_offset_scale_yPtr + .asFunction(); double spine_transform_constraint_data_get_offset_shear_y( spine_transform_constraint_data data, @@ -6909,11 +8291,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_offset_shear_yPtr = - _lookup>( - 'spine_transform_constraint_data_get_offset_shear_y'); + late final _spine_transform_constraint_data_get_offset_shear_yPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_offset_shear_y'); late final _spine_transform_constraint_data_get_offset_shear_y = - _spine_transform_constraint_data_get_offset_shear_yPtr.asFunction(); + _spine_transform_constraint_data_get_offset_shear_yPtr + .asFunction(); void spine_transform_constraint_data_set_offset_shear_y( spine_transform_constraint_data data, @@ -6925,11 +8309,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_offset_shear_yPtr = - _lookup>( - 'spine_transform_constraint_data_set_offset_shear_y'); + late final _spine_transform_constraint_data_set_offset_shear_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, ffi.Float)>>( + 'spine_transform_constraint_data_set_offset_shear_y'); late final _spine_transform_constraint_data_set_offset_shear_y = - _spine_transform_constraint_data_set_offset_shear_yPtr.asFunction(); + _spine_transform_constraint_data_set_offset_shear_yPtr + .asFunction(); int spine_transform_constraint_data_get_is_relative( spine_transform_constraint_data data, @@ -6939,10 +8325,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_is_relativePtr = - _lookup>('spine_transform_constraint_data_get_is_relative'); + late final _spine_transform_constraint_data_get_is_relativePtr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_is_relative'); late final _spine_transform_constraint_data_get_is_relative = - _spine_transform_constraint_data_get_is_relativePtr.asFunction(); + _spine_transform_constraint_data_get_is_relativePtr + .asFunction(); void spine_transform_constraint_data_set_is_relative( spine_transform_constraint_data data, @@ -6954,11 +8343,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_is_relativePtr = - _lookup>( - 'spine_transform_constraint_data_set_is_relative'); + late final _spine_transform_constraint_data_set_is_relativePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, + ffi.Int32)>>('spine_transform_constraint_data_set_is_relative'); late final _spine_transform_constraint_data_set_is_relative = - _spine_transform_constraint_data_set_is_relativePtr.asFunction(); + _spine_transform_constraint_data_set_is_relativePtr + .asFunction(); int spine_transform_constraint_data_get_is_local( spine_transform_constraint_data data, @@ -6968,10 +8359,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_get_is_localPtr = - _lookup>('spine_transform_constraint_data_get_is_local'); + late final _spine_transform_constraint_data_get_is_localPtr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function(spine_transform_constraint_data)>>( + 'spine_transform_constraint_data_get_is_local'); late final _spine_transform_constraint_data_get_is_local = - _spine_transform_constraint_data_get_is_localPtr.asFunction(); + _spine_transform_constraint_data_get_is_localPtr + .asFunction(); void spine_transform_constraint_data_set_is_local( spine_transform_constraint_data data, @@ -6983,11 +8377,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_data_set_is_localPtr = - _lookup>( - 'spine_transform_constraint_data_set_is_local'); + late final _spine_transform_constraint_data_set_is_localPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint_data, + ffi.Int32)>>('spine_transform_constraint_data_set_is_local'); late final _spine_transform_constraint_data_set_is_local = - _spine_transform_constraint_data_set_is_localPtr.asFunction(); + _spine_transform_constraint_data_set_is_localPtr + .asFunction(); void spine_transform_constraint_update( spine_transform_constraint constraint, @@ -6997,10 +8393,12 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_updatePtr = - _lookup>('spine_transform_constraint_update'); + late final _spine_transform_constraint_updatePtr = _lookup< + ffi.NativeFunction>( + 'spine_transform_constraint_update'); late final _spine_transform_constraint_update = - _spine_transform_constraint_updatePtr.asFunction(); + _spine_transform_constraint_updatePtr + .asFunction(); int spine_transform_constraint_get_order( spine_transform_constraint constraint, @@ -7010,10 +8408,12 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_get_orderPtr = - _lookup>('spine_transform_constraint_get_order'); + late final _spine_transform_constraint_get_orderPtr = _lookup< + ffi.NativeFunction>( + 'spine_transform_constraint_get_order'); late final _spine_transform_constraint_get_order = - _spine_transform_constraint_get_orderPtr.asFunction(); + _spine_transform_constraint_get_orderPtr + .asFunction(); spine_transform_constraint_data spine_transform_constraint_get_data( spine_transform_constraint constraint, @@ -7023,11 +8423,15 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_get_dataPtr = - _lookup>( - 'spine_transform_constraint_get_data'); + late final _spine_transform_constraint_get_dataPtr = _lookup< + ffi.NativeFunction< + spine_transform_constraint_data Function( + spine_transform_constraint)>>( + 'spine_transform_constraint_get_data'); late final _spine_transform_constraint_get_data = - _spine_transform_constraint_get_dataPtr.asFunction(); + _spine_transform_constraint_get_dataPtr.asFunction< + spine_transform_constraint_data Function( + spine_transform_constraint)>(); int spine_transform_constraint_get_num_bones( spine_transform_constraint constraint, @@ -7037,10 +8441,12 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_get_num_bonesPtr = - _lookup>('spine_transform_constraint_get_num_bones'); + late final _spine_transform_constraint_get_num_bonesPtr = _lookup< + ffi.NativeFunction>( + 'spine_transform_constraint_get_num_bones'); late final _spine_transform_constraint_get_num_bones = - _spine_transform_constraint_get_num_bonesPtr.asFunction(); + _spine_transform_constraint_get_num_bonesPtr + .asFunction(); ffi.Pointer spine_transform_constraint_get_bones( spine_transform_constraint constraint, @@ -7050,10 +8456,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_get_bonesPtr = - _lookup Function(spine_transform_constraint)>>('spine_transform_constraint_get_bones'); + late final _spine_transform_constraint_get_bonesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(spine_transform_constraint)>>( + 'spine_transform_constraint_get_bones'); late final _spine_transform_constraint_get_bones = - _spine_transform_constraint_get_bonesPtr.asFunction Function(spine_transform_constraint)>(); + _spine_transform_constraint_get_bonesPtr.asFunction< + ffi.Pointer Function(spine_transform_constraint)>(); spine_bone spine_transform_constraint_get_target( spine_transform_constraint constraint, @@ -7063,10 +8472,12 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_get_targetPtr = - _lookup>('spine_transform_constraint_get_target'); + late final _spine_transform_constraint_get_targetPtr = _lookup< + ffi.NativeFunction>( + 'spine_transform_constraint_get_target'); late final _spine_transform_constraint_get_target = - _spine_transform_constraint_get_targetPtr.asFunction(); + _spine_transform_constraint_get_targetPtr + .asFunction(); void spine_transform_constraint_set_target( spine_transform_constraint constraint, @@ -7078,10 +8489,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_set_targetPtr = - _lookup>('spine_transform_constraint_set_target'); + late final _spine_transform_constraint_set_targetPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint, + spine_bone)>>('spine_transform_constraint_set_target'); late final _spine_transform_constraint_set_target = - _spine_transform_constraint_set_targetPtr.asFunction(); + _spine_transform_constraint_set_targetPtr + .asFunction(); double spine_transform_constraint_get_mix_rotate( spine_transform_constraint constraint, @@ -7091,10 +8505,12 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_get_mix_rotatePtr = - _lookup>('spine_transform_constraint_get_mix_rotate'); + late final _spine_transform_constraint_get_mix_rotatePtr = _lookup< + ffi.NativeFunction>( + 'spine_transform_constraint_get_mix_rotate'); late final _spine_transform_constraint_get_mix_rotate = - _spine_transform_constraint_get_mix_rotatePtr.asFunction(); + _spine_transform_constraint_get_mix_rotatePtr + .asFunction(); void spine_transform_constraint_set_mix_rotate( spine_transform_constraint constraint, @@ -7106,10 +8522,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_set_mix_rotatePtr = - _lookup>('spine_transform_constraint_set_mix_rotate'); + late final _spine_transform_constraint_set_mix_rotatePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint, + ffi.Float)>>('spine_transform_constraint_set_mix_rotate'); late final _spine_transform_constraint_set_mix_rotate = - _spine_transform_constraint_set_mix_rotatePtr.asFunction(); + _spine_transform_constraint_set_mix_rotatePtr + .asFunction(); double spine_transform_constraint_get_mix_x( spine_transform_constraint constraint, @@ -7119,10 +8538,12 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_get_mix_xPtr = - _lookup>('spine_transform_constraint_get_mix_x'); + late final _spine_transform_constraint_get_mix_xPtr = _lookup< + ffi.NativeFunction>( + 'spine_transform_constraint_get_mix_x'); late final _spine_transform_constraint_get_mix_x = - _spine_transform_constraint_get_mix_xPtr.asFunction(); + _spine_transform_constraint_get_mix_xPtr + .asFunction(); void spine_transform_constraint_set_mix_x( spine_transform_constraint constraint, @@ -7134,10 +8555,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_set_mix_xPtr = - _lookup>('spine_transform_constraint_set_mix_x'); + late final _spine_transform_constraint_set_mix_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint, + ffi.Float)>>('spine_transform_constraint_set_mix_x'); late final _spine_transform_constraint_set_mix_x = - _spine_transform_constraint_set_mix_xPtr.asFunction(); + _spine_transform_constraint_set_mix_xPtr + .asFunction(); double spine_transform_constraint_get_mix_y( spine_transform_constraint constraint, @@ -7147,10 +8571,12 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_get_mix_yPtr = - _lookup>('spine_transform_constraint_get_mix_y'); + late final _spine_transform_constraint_get_mix_yPtr = _lookup< + ffi.NativeFunction>( + 'spine_transform_constraint_get_mix_y'); late final _spine_transform_constraint_get_mix_y = - _spine_transform_constraint_get_mix_yPtr.asFunction(); + _spine_transform_constraint_get_mix_yPtr + .asFunction(); void spine_transform_constraint_set_mix_y( spine_transform_constraint constraint, @@ -7162,10 +8588,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_set_mix_yPtr = - _lookup>('spine_transform_constraint_set_mix_y'); + late final _spine_transform_constraint_set_mix_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint, + ffi.Float)>>('spine_transform_constraint_set_mix_y'); late final _spine_transform_constraint_set_mix_y = - _spine_transform_constraint_set_mix_yPtr.asFunction(); + _spine_transform_constraint_set_mix_yPtr + .asFunction(); double spine_transform_constraint_get_mix_scale_x( spine_transform_constraint constraint, @@ -7175,10 +8604,12 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_get_mix_scale_xPtr = - _lookup>('spine_transform_constraint_get_mix_scale_x'); + late final _spine_transform_constraint_get_mix_scale_xPtr = _lookup< + ffi.NativeFunction>( + 'spine_transform_constraint_get_mix_scale_x'); late final _spine_transform_constraint_get_mix_scale_x = - _spine_transform_constraint_get_mix_scale_xPtr.asFunction(); + _spine_transform_constraint_get_mix_scale_xPtr + .asFunction(); void spine_transform_constraint_set_mix_scale_x( spine_transform_constraint constraint, @@ -7190,10 +8621,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_set_mix_scale_xPtr = - _lookup>('spine_transform_constraint_set_mix_scale_x'); + late final _spine_transform_constraint_set_mix_scale_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint, + ffi.Float)>>('spine_transform_constraint_set_mix_scale_x'); late final _spine_transform_constraint_set_mix_scale_x = - _spine_transform_constraint_set_mix_scale_xPtr.asFunction(); + _spine_transform_constraint_set_mix_scale_xPtr + .asFunction(); double spine_transform_constraint_get_mix_scale_y( spine_transform_constraint constraint, @@ -7203,10 +8637,12 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_get_mix_scale_yPtr = - _lookup>('spine_transform_constraint_get_mix_scale_y'); + late final _spine_transform_constraint_get_mix_scale_yPtr = _lookup< + ffi.NativeFunction>( + 'spine_transform_constraint_get_mix_scale_y'); late final _spine_transform_constraint_get_mix_scale_y = - _spine_transform_constraint_get_mix_scale_yPtr.asFunction(); + _spine_transform_constraint_get_mix_scale_yPtr + .asFunction(); void spine_transform_constraint_set_mix_scale_y( spine_transform_constraint constraint, @@ -7218,10 +8654,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_set_mix_scale_yPtr = - _lookup>('spine_transform_constraint_set_mix_scale_y'); + late final _spine_transform_constraint_set_mix_scale_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint, + ffi.Float)>>('spine_transform_constraint_set_mix_scale_y'); late final _spine_transform_constraint_set_mix_scale_y = - _spine_transform_constraint_set_mix_scale_yPtr.asFunction(); + _spine_transform_constraint_set_mix_scale_yPtr + .asFunction(); double spine_transform_constraint_get_mix_shear_y( spine_transform_constraint constraint, @@ -7231,10 +8670,12 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_get_mix_shear_yPtr = - _lookup>('spine_transform_constraint_get_mix_shear_y'); + late final _spine_transform_constraint_get_mix_shear_yPtr = _lookup< + ffi.NativeFunction>( + 'spine_transform_constraint_get_mix_shear_y'); late final _spine_transform_constraint_get_mix_shear_y = - _spine_transform_constraint_get_mix_shear_yPtr.asFunction(); + _spine_transform_constraint_get_mix_shear_yPtr + .asFunction(); void spine_transform_constraint_set_mix_shear_y( spine_transform_constraint constraint, @@ -7246,10 +8687,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_set_mix_shear_yPtr = - _lookup>('spine_transform_constraint_set_mix_shear_y'); + late final _spine_transform_constraint_set_mix_shear_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint, + ffi.Float)>>('spine_transform_constraint_set_mix_shear_y'); late final _spine_transform_constraint_set_mix_shear_y = - _spine_transform_constraint_set_mix_shear_yPtr.asFunction(); + _spine_transform_constraint_set_mix_shear_yPtr + .asFunction(); double spine_transform_constraint_get_is_active( spine_transform_constraint constraint, @@ -7259,10 +8703,12 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_get_is_activePtr = - _lookup>('spine_transform_constraint_get_is_active'); + late final _spine_transform_constraint_get_is_activePtr = _lookup< + ffi.NativeFunction>( + 'spine_transform_constraint_get_is_active'); late final _spine_transform_constraint_get_is_active = - _spine_transform_constraint_get_is_activePtr.asFunction(); + _spine_transform_constraint_get_is_activePtr + .asFunction(); void spine_transform_constraint_set_is_active( spine_transform_constraint constraint, @@ -7274,10 +8720,13 @@ class SpineFlutterBindings { ); } - late final _spine_transform_constraint_set_is_activePtr = - _lookup>('spine_transform_constraint_set_is_active'); + late final _spine_transform_constraint_set_is_activePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_transform_constraint, + ffi.Int32)>>('spine_transform_constraint_set_is_active'); late final _spine_transform_constraint_set_is_active = - _spine_transform_constraint_set_is_activePtr.asFunction(); + _spine_transform_constraint_set_is_activePtr + .asFunction(); int spine_path_constraint_data_get_num_bones( spine_path_constraint_data data, @@ -7287,10 +8736,12 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_get_num_bonesPtr = - _lookup>('spine_path_constraint_data_get_num_bones'); + late final _spine_path_constraint_data_get_num_bonesPtr = _lookup< + ffi.NativeFunction>( + 'spine_path_constraint_data_get_num_bones'); late final _spine_path_constraint_data_get_num_bones = - _spine_path_constraint_data_get_num_bonesPtr.asFunction(); + _spine_path_constraint_data_get_num_bonesPtr + .asFunction(); ffi.Pointer spine_path_constraint_data_get_bones( spine_path_constraint_data data, @@ -7300,11 +8751,14 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_get_bonesPtr = - _lookup Function(spine_path_constraint_data)>>( - 'spine_path_constraint_data_get_bones'); + late final _spine_path_constraint_data_get_bonesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_path_constraint_data)>>( + 'spine_path_constraint_data_get_bones'); late final _spine_path_constraint_data_get_bones = - _spine_path_constraint_data_get_bonesPtr.asFunction Function(spine_path_constraint_data)>(); + _spine_path_constraint_data_get_bonesPtr.asFunction< + ffi.Pointer Function(spine_path_constraint_data)>(); spine_slot_data spine_path_constraint_data_get_target( spine_path_constraint_data data, @@ -7314,10 +8768,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_get_targetPtr = - _lookup>('spine_path_constraint_data_get_target'); + late final _spine_path_constraint_data_get_targetPtr = _lookup< + ffi.NativeFunction< + spine_slot_data Function(spine_path_constraint_data)>>( + 'spine_path_constraint_data_get_target'); late final _spine_path_constraint_data_get_target = - _spine_path_constraint_data_get_targetPtr.asFunction(); + _spine_path_constraint_data_get_targetPtr + .asFunction(); void spine_path_constraint_data_set_target( spine_path_constraint_data data, @@ -7329,10 +8786,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_set_targetPtr = - _lookup>('spine_path_constraint_data_set_target'); + late final _spine_path_constraint_data_set_targetPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint_data, + spine_slot_data)>>('spine_path_constraint_data_set_target'); late final _spine_path_constraint_data_set_target = - _spine_path_constraint_data_set_targetPtr.asFunction(); + _spine_path_constraint_data_set_targetPtr.asFunction< + void Function(spine_path_constraint_data, spine_slot_data)>(); int spine_path_constraint_data_get_position_mode( spine_path_constraint_data data, @@ -7342,10 +8802,12 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_get_position_modePtr = - _lookup>('spine_path_constraint_data_get_position_mode'); + late final _spine_path_constraint_data_get_position_modePtr = _lookup< + ffi.NativeFunction>( + 'spine_path_constraint_data_get_position_mode'); late final _spine_path_constraint_data_get_position_mode = - _spine_path_constraint_data_get_position_modePtr.asFunction(); + _spine_path_constraint_data_get_position_modePtr + .asFunction(); void spine_path_constraint_data_set_position_mode( spine_path_constraint_data data, @@ -7357,10 +8819,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_set_position_modePtr = - _lookup>('spine_path_constraint_data_set_position_mode'); + late final _spine_path_constraint_data_set_position_modePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint_data, + ffi.Int32)>>('spine_path_constraint_data_set_position_mode'); late final _spine_path_constraint_data_set_position_mode = - _spine_path_constraint_data_set_position_modePtr.asFunction(); + _spine_path_constraint_data_set_position_modePtr + .asFunction(); int spine_path_constraint_data_get_spacing_mode( spine_path_constraint_data data, @@ -7370,10 +8835,12 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_get_spacing_modePtr = - _lookup>('spine_path_constraint_data_get_spacing_mode'); + late final _spine_path_constraint_data_get_spacing_modePtr = _lookup< + ffi.NativeFunction>( + 'spine_path_constraint_data_get_spacing_mode'); late final _spine_path_constraint_data_get_spacing_mode = - _spine_path_constraint_data_get_spacing_modePtr.asFunction(); + _spine_path_constraint_data_get_spacing_modePtr + .asFunction(); void spine_path_constraint_data_set_spacing_mode( spine_path_constraint_data data, @@ -7385,10 +8852,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_set_spacing_modePtr = - _lookup>('spine_path_constraint_data_set_spacing_mode'); + late final _spine_path_constraint_data_set_spacing_modePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint_data, + ffi.Int32)>>('spine_path_constraint_data_set_spacing_mode'); late final _spine_path_constraint_data_set_spacing_mode = - _spine_path_constraint_data_set_spacing_modePtr.asFunction(); + _spine_path_constraint_data_set_spacing_modePtr + .asFunction(); int spine_path_constraint_data_get_rotate_mode( spine_path_constraint_data data, @@ -7398,10 +8868,12 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_get_rotate_modePtr = - _lookup>('spine_path_constraint_data_get_rotate_mode'); + late final _spine_path_constraint_data_get_rotate_modePtr = _lookup< + ffi.NativeFunction>( + 'spine_path_constraint_data_get_rotate_mode'); late final _spine_path_constraint_data_get_rotate_mode = - _spine_path_constraint_data_get_rotate_modePtr.asFunction(); + _spine_path_constraint_data_get_rotate_modePtr + .asFunction(); void spine_path_constraint_data_set_rotate_mode( spine_path_constraint_data data, @@ -7413,10 +8885,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_set_rotate_modePtr = - _lookup>('spine_path_constraint_data_set_rotate_mode'); + late final _spine_path_constraint_data_set_rotate_modePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint_data, + ffi.Int32)>>('spine_path_constraint_data_set_rotate_mode'); late final _spine_path_constraint_data_set_rotate_mode = - _spine_path_constraint_data_set_rotate_modePtr.asFunction(); + _spine_path_constraint_data_set_rotate_modePtr + .asFunction(); double spine_path_constraint_data_get_offset_rotation( spine_path_constraint_data data, @@ -7426,10 +8901,12 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_get_offset_rotationPtr = - _lookup>('spine_path_constraint_data_get_offset_rotation'); + late final _spine_path_constraint_data_get_offset_rotationPtr = _lookup< + ffi.NativeFunction>( + 'spine_path_constraint_data_get_offset_rotation'); late final _spine_path_constraint_data_get_offset_rotation = - _spine_path_constraint_data_get_offset_rotationPtr.asFunction(); + _spine_path_constraint_data_get_offset_rotationPtr + .asFunction(); void spine_path_constraint_data_set_offset_rotation( spine_path_constraint_data data, @@ -7441,11 +8918,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_set_offset_rotationPtr = - _lookup>( - 'spine_path_constraint_data_set_offset_rotation'); + late final _spine_path_constraint_data_set_offset_rotationPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint_data, + ffi.Float)>>('spine_path_constraint_data_set_offset_rotation'); late final _spine_path_constraint_data_set_offset_rotation = - _spine_path_constraint_data_set_offset_rotationPtr.asFunction(); + _spine_path_constraint_data_set_offset_rotationPtr + .asFunction(); double spine_path_constraint_data_get_position( spine_path_constraint_data data, @@ -7455,10 +8934,12 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_get_positionPtr = - _lookup>('spine_path_constraint_data_get_position'); + late final _spine_path_constraint_data_get_positionPtr = _lookup< + ffi.NativeFunction>( + 'spine_path_constraint_data_get_position'); late final _spine_path_constraint_data_get_position = - _spine_path_constraint_data_get_positionPtr.asFunction(); + _spine_path_constraint_data_get_positionPtr + .asFunction(); void spine_path_constraint_data_set_position( spine_path_constraint_data data, @@ -7470,10 +8951,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_set_positionPtr = - _lookup>('spine_path_constraint_data_set_position'); + late final _spine_path_constraint_data_set_positionPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint_data, + ffi.Float)>>('spine_path_constraint_data_set_position'); late final _spine_path_constraint_data_set_position = - _spine_path_constraint_data_set_positionPtr.asFunction(); + _spine_path_constraint_data_set_positionPtr + .asFunction(); double spine_path_constraint_data_get_spacing( spine_path_constraint_data data, @@ -7483,10 +8967,12 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_get_spacingPtr = - _lookup>('spine_path_constraint_data_get_spacing'); + late final _spine_path_constraint_data_get_spacingPtr = _lookup< + ffi.NativeFunction>( + 'spine_path_constraint_data_get_spacing'); late final _spine_path_constraint_data_get_spacing = - _spine_path_constraint_data_get_spacingPtr.asFunction(); + _spine_path_constraint_data_get_spacingPtr + .asFunction(); void spine_path_constraint_data_set_spacing( spine_path_constraint_data data, @@ -7498,10 +8984,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_set_spacingPtr = - _lookup>('spine_path_constraint_data_set_spacing'); + late final _spine_path_constraint_data_set_spacingPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint_data, + ffi.Float)>>('spine_path_constraint_data_set_spacing'); late final _spine_path_constraint_data_set_spacing = - _spine_path_constraint_data_set_spacingPtr.asFunction(); + _spine_path_constraint_data_set_spacingPtr + .asFunction(); double spine_path_constraint_data_get_mix_rotate( spine_path_constraint_data data, @@ -7511,10 +9000,12 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_get_mix_rotatePtr = - _lookup>('spine_path_constraint_data_get_mix_rotate'); + late final _spine_path_constraint_data_get_mix_rotatePtr = _lookup< + ffi.NativeFunction>( + 'spine_path_constraint_data_get_mix_rotate'); late final _spine_path_constraint_data_get_mix_rotate = - _spine_path_constraint_data_get_mix_rotatePtr.asFunction(); + _spine_path_constraint_data_get_mix_rotatePtr + .asFunction(); void spine_path_constraint_data_set_mix_rotate( spine_path_constraint_data data, @@ -7526,10 +9017,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_set_mix_rotatePtr = - _lookup>('spine_path_constraint_data_set_mix_rotate'); + late final _spine_path_constraint_data_set_mix_rotatePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint_data, + ffi.Float)>>('spine_path_constraint_data_set_mix_rotate'); late final _spine_path_constraint_data_set_mix_rotate = - _spine_path_constraint_data_set_mix_rotatePtr.asFunction(); + _spine_path_constraint_data_set_mix_rotatePtr + .asFunction(); double spine_path_constraint_data_get_mix_x( spine_path_constraint_data data, @@ -7539,10 +9033,12 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_get_mix_xPtr = - _lookup>('spine_path_constraint_data_get_mix_x'); + late final _spine_path_constraint_data_get_mix_xPtr = _lookup< + ffi.NativeFunction>( + 'spine_path_constraint_data_get_mix_x'); late final _spine_path_constraint_data_get_mix_x = - _spine_path_constraint_data_get_mix_xPtr.asFunction(); + _spine_path_constraint_data_get_mix_xPtr + .asFunction(); void spine_path_constraint_data_set_mix_x( spine_path_constraint_data data, @@ -7554,10 +9050,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_set_mix_xPtr = - _lookup>('spine_path_constraint_data_set_mix_x'); + late final _spine_path_constraint_data_set_mix_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint_data, + ffi.Float)>>('spine_path_constraint_data_set_mix_x'); late final _spine_path_constraint_data_set_mix_x = - _spine_path_constraint_data_set_mix_xPtr.asFunction(); + _spine_path_constraint_data_set_mix_xPtr + .asFunction(); double spine_path_constraint_data_get_mix_y( spine_path_constraint_data data, @@ -7567,10 +9066,12 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_get_mix_yPtr = - _lookup>('spine_path_constraint_data_get_mix_y'); + late final _spine_path_constraint_data_get_mix_yPtr = _lookup< + ffi.NativeFunction>( + 'spine_path_constraint_data_get_mix_y'); late final _spine_path_constraint_data_get_mix_y = - _spine_path_constraint_data_get_mix_yPtr.asFunction(); + _spine_path_constraint_data_get_mix_yPtr + .asFunction(); void spine_path_constraint_data_set_mix_y( spine_path_constraint_data data, @@ -7582,10 +9083,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_data_set_mix_yPtr = - _lookup>('spine_path_constraint_data_set_mix_y'); + late final _spine_path_constraint_data_set_mix_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint_data, + ffi.Float)>>('spine_path_constraint_data_set_mix_y'); late final _spine_path_constraint_data_set_mix_y = - _spine_path_constraint_data_set_mix_yPtr.asFunction(); + _spine_path_constraint_data_set_mix_yPtr + .asFunction(); void spine_path_constraint_update( spine_path_constraint constraint, @@ -7596,8 +9100,10 @@ class SpineFlutterBindings { } late final _spine_path_constraint_updatePtr = - _lookup>('spine_path_constraint_update'); - late final _spine_path_constraint_update = _spine_path_constraint_updatePtr.asFunction(); + _lookup>( + 'spine_path_constraint_update'); + late final _spine_path_constraint_update = _spine_path_constraint_updatePtr + .asFunction(); int spine_path_constraint_get_order( spine_path_constraint constraint, @@ -7608,8 +9114,11 @@ class SpineFlutterBindings { } late final _spine_path_constraint_get_orderPtr = - _lookup>('spine_path_constraint_get_order'); - late final _spine_path_constraint_get_order = _spine_path_constraint_get_orderPtr.asFunction(); + _lookup>( + 'spine_path_constraint_get_order'); + late final _spine_path_constraint_get_order = + _spine_path_constraint_get_orderPtr + .asFunction(); spine_path_constraint_data spine_path_constraint_get_data( spine_path_constraint constraint, @@ -7619,10 +9128,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_get_dataPtr = - _lookup>('spine_path_constraint_get_data'); + late final _spine_path_constraint_get_dataPtr = _lookup< + ffi.NativeFunction< + spine_path_constraint_data Function( + spine_path_constraint)>>('spine_path_constraint_get_data'); late final _spine_path_constraint_get_data = - _spine_path_constraint_get_dataPtr.asFunction(); + _spine_path_constraint_get_dataPtr.asFunction< + spine_path_constraint_data Function(spine_path_constraint)>(); int spine_path_constraint_get_num_bones( spine_path_constraint constraint, @@ -7633,9 +9145,11 @@ class SpineFlutterBindings { } late final _spine_path_constraint_get_num_bonesPtr = - _lookup>('spine_path_constraint_get_num_bones'); + _lookup>( + 'spine_path_constraint_get_num_bones'); late final _spine_path_constraint_get_num_bones = - _spine_path_constraint_get_num_bonesPtr.asFunction(); + _spine_path_constraint_get_num_bonesPtr + .asFunction(); ffi.Pointer spine_path_constraint_get_bones( spine_path_constraint constraint, @@ -7645,10 +9159,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_get_bonesPtr = - _lookup Function(spine_path_constraint)>>('spine_path_constraint_get_bones'); + late final _spine_path_constraint_get_bonesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_path_constraint)>>('spine_path_constraint_get_bones'); late final _spine_path_constraint_get_bones = - _spine_path_constraint_get_bonesPtr.asFunction Function(spine_path_constraint)>(); + _spine_path_constraint_get_bonesPtr.asFunction< + ffi.Pointer Function(spine_path_constraint)>(); spine_slot spine_path_constraint_get_target( spine_path_constraint constraint, @@ -7659,9 +9176,11 @@ class SpineFlutterBindings { } late final _spine_path_constraint_get_targetPtr = - _lookup>('spine_path_constraint_get_target'); + _lookup>( + 'spine_path_constraint_get_target'); late final _spine_path_constraint_get_target = - _spine_path_constraint_get_targetPtr.asFunction(); + _spine_path_constraint_get_targetPtr + .asFunction(); void spine_path_constraint_set_target( spine_path_constraint constraint, @@ -7673,10 +9192,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_set_targetPtr = - _lookup>('spine_path_constraint_set_target'); + late final _spine_path_constraint_set_targetPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint, + spine_slot)>>('spine_path_constraint_set_target'); late final _spine_path_constraint_set_target = - _spine_path_constraint_set_targetPtr.asFunction(); + _spine_path_constraint_set_targetPtr + .asFunction(); double spine_path_constraint_get_position( spine_path_constraint constraint, @@ -7687,9 +9209,11 @@ class SpineFlutterBindings { } late final _spine_path_constraint_get_positionPtr = - _lookup>('spine_path_constraint_get_position'); + _lookup>( + 'spine_path_constraint_get_position'); late final _spine_path_constraint_get_position = - _spine_path_constraint_get_positionPtr.asFunction(); + _spine_path_constraint_get_positionPtr + .asFunction(); void spine_path_constraint_set_position( spine_path_constraint constraint, @@ -7701,10 +9225,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_set_positionPtr = - _lookup>('spine_path_constraint_set_position'); + late final _spine_path_constraint_set_positionPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint, + ffi.Float)>>('spine_path_constraint_set_position'); late final _spine_path_constraint_set_position = - _spine_path_constraint_set_positionPtr.asFunction(); + _spine_path_constraint_set_positionPtr + .asFunction(); double spine_path_constraint_get_spacing( spine_path_constraint constraint, @@ -7715,9 +9242,11 @@ class SpineFlutterBindings { } late final _spine_path_constraint_get_spacingPtr = - _lookup>('spine_path_constraint_get_spacing'); + _lookup>( + 'spine_path_constraint_get_spacing'); late final _spine_path_constraint_get_spacing = - _spine_path_constraint_get_spacingPtr.asFunction(); + _spine_path_constraint_get_spacingPtr + .asFunction(); void spine_path_constraint_set_spacing( spine_path_constraint constraint, @@ -7729,10 +9258,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_set_spacingPtr = - _lookup>('spine_path_constraint_set_spacing'); + late final _spine_path_constraint_set_spacingPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint, + ffi.Float)>>('spine_path_constraint_set_spacing'); late final _spine_path_constraint_set_spacing = - _spine_path_constraint_set_spacingPtr.asFunction(); + _spine_path_constraint_set_spacingPtr + .asFunction(); double spine_path_constraint_get_mix_rotate( spine_path_constraint constraint, @@ -7743,9 +9275,11 @@ class SpineFlutterBindings { } late final _spine_path_constraint_get_mix_rotatePtr = - _lookup>('spine_path_constraint_get_mix_rotate'); + _lookup>( + 'spine_path_constraint_get_mix_rotate'); late final _spine_path_constraint_get_mix_rotate = - _spine_path_constraint_get_mix_rotatePtr.asFunction(); + _spine_path_constraint_get_mix_rotatePtr + .asFunction(); void spine_path_constraint_set_mix_rotate( spine_path_constraint constraint, @@ -7757,10 +9291,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_set_mix_rotatePtr = - _lookup>('spine_path_constraint_set_mix_rotate'); + late final _spine_path_constraint_set_mix_rotatePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint, + ffi.Float)>>('spine_path_constraint_set_mix_rotate'); late final _spine_path_constraint_set_mix_rotate = - _spine_path_constraint_set_mix_rotatePtr.asFunction(); + _spine_path_constraint_set_mix_rotatePtr + .asFunction(); double spine_path_constraint_get_mix_x( spine_path_constraint constraint, @@ -7771,8 +9308,11 @@ class SpineFlutterBindings { } late final _spine_path_constraint_get_mix_xPtr = - _lookup>('spine_path_constraint_get_mix_x'); - late final _spine_path_constraint_get_mix_x = _spine_path_constraint_get_mix_xPtr.asFunction(); + _lookup>( + 'spine_path_constraint_get_mix_x'); + late final _spine_path_constraint_get_mix_x = + _spine_path_constraint_get_mix_xPtr + .asFunction(); void spine_path_constraint_set_mix_x( spine_path_constraint constraint, @@ -7784,10 +9324,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_set_mix_xPtr = - _lookup>('spine_path_constraint_set_mix_x'); + late final _spine_path_constraint_set_mix_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint, + ffi.Float)>>('spine_path_constraint_set_mix_x'); late final _spine_path_constraint_set_mix_x = - _spine_path_constraint_set_mix_xPtr.asFunction(); + _spine_path_constraint_set_mix_xPtr + .asFunction(); double spine_path_constraint_get_mix_y( spine_path_constraint constraint, @@ -7798,8 +9341,11 @@ class SpineFlutterBindings { } late final _spine_path_constraint_get_mix_yPtr = - _lookup>('spine_path_constraint_get_mix_y'); - late final _spine_path_constraint_get_mix_y = _spine_path_constraint_get_mix_yPtr.asFunction(); + _lookup>( + 'spine_path_constraint_get_mix_y'); + late final _spine_path_constraint_get_mix_y = + _spine_path_constraint_get_mix_yPtr + .asFunction(); void spine_path_constraint_set_mix_y( spine_path_constraint constraint, @@ -7811,10 +9357,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_set_mix_yPtr = - _lookup>('spine_path_constraint_set_mix_y'); + late final _spine_path_constraint_set_mix_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint, + ffi.Float)>>('spine_path_constraint_set_mix_y'); late final _spine_path_constraint_set_mix_y = - _spine_path_constraint_set_mix_yPtr.asFunction(); + _spine_path_constraint_set_mix_yPtr + .asFunction(); int spine_path_constraint_get_is_active( spine_path_constraint constraint, @@ -7825,9 +9374,11 @@ class SpineFlutterBindings { } late final _spine_path_constraint_get_is_activePtr = - _lookup>('spine_path_constraint_get_is_active'); + _lookup>( + 'spine_path_constraint_get_is_active'); late final _spine_path_constraint_get_is_active = - _spine_path_constraint_get_is_activePtr.asFunction(); + _spine_path_constraint_get_is_activePtr + .asFunction(); void spine_path_constraint_set_is_active( spine_path_constraint constraint, @@ -7839,10 +9390,13 @@ class SpineFlutterBindings { ); } - late final _spine_path_constraint_set_is_activePtr = - _lookup>('spine_path_constraint_set_is_active'); + late final _spine_path_constraint_set_is_activePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_path_constraint, + ffi.Int32)>>('spine_path_constraint_set_is_active'); late final _spine_path_constraint_set_is_active = - _spine_path_constraint_set_is_activePtr.asFunction(); + _spine_path_constraint_set_is_activePtr + .asFunction(); /// OMITTED copy() void spine_sequence_apply( @@ -7857,9 +9411,12 @@ class SpineFlutterBindings { ); } - late final _spine_sequence_applyPtr = - _lookup>('spine_sequence_apply'); - late final _spine_sequence_apply = _spine_sequence_applyPtr.asFunction(); + late final _spine_sequence_applyPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_sequence, spine_slot, + spine_attachment)>>('spine_sequence_apply'); + late final _spine_sequence_apply = _spine_sequence_applyPtr.asFunction< + void Function(spine_sequence, spine_slot, spine_attachment)>(); ffi.Pointer spine_sequence_get_path( spine_sequence sequence, @@ -7873,10 +9430,12 @@ class SpineFlutterBindings { ); } - late final _spine_sequence_get_pathPtr = - _lookup Function(spine_sequence, ffi.Pointer, ffi.Int32)>>('spine_sequence_get_path'); - late final _spine_sequence_get_path = - _spine_sequence_get_pathPtr.asFunction Function(spine_sequence, ffi.Pointer, int)>(); + late final _spine_sequence_get_pathPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(spine_sequence, ffi.Pointer, + ffi.Int32)>>('spine_sequence_get_path'); + late final _spine_sequence_get_path = _spine_sequence_get_pathPtr.asFunction< + ffi.Pointer Function(spine_sequence, ffi.Pointer, int)>(); int spine_sequence_get_id( spine_sequence sequence, @@ -7886,8 +9445,11 @@ class SpineFlutterBindings { ); } - late final _spine_sequence_get_idPtr = _lookup>('spine_sequence_get_id'); - late final _spine_sequence_get_id = _spine_sequence_get_idPtr.asFunction(); + late final _spine_sequence_get_idPtr = + _lookup>( + 'spine_sequence_get_id'); + late final _spine_sequence_get_id = + _spine_sequence_get_idPtr.asFunction(); void spine_sequence_set_id( spine_sequence sequence, @@ -7899,8 +9461,11 @@ class SpineFlutterBindings { ); } - late final _spine_sequence_set_idPtr = _lookup>('spine_sequence_set_id'); - late final _spine_sequence_set_id = _spine_sequence_set_idPtr.asFunction(); + late final _spine_sequence_set_idPtr = + _lookup>( + 'spine_sequence_set_id'); + late final _spine_sequence_set_id = _spine_sequence_set_idPtr + .asFunction(); int spine_sequence_get_start( spine_sequence sequence, @@ -7910,8 +9475,11 @@ class SpineFlutterBindings { ); } - late final _spine_sequence_get_startPtr = _lookup>('spine_sequence_get_start'); - late final _spine_sequence_get_start = _spine_sequence_get_startPtr.asFunction(); + late final _spine_sequence_get_startPtr = + _lookup>( + 'spine_sequence_get_start'); + late final _spine_sequence_get_start = + _spine_sequence_get_startPtr.asFunction(); void spine_sequence_set_start( spine_sequence sequence, @@ -7924,8 +9492,10 @@ class SpineFlutterBindings { } late final _spine_sequence_set_startPtr = - _lookup>('spine_sequence_set_start'); - late final _spine_sequence_set_start = _spine_sequence_set_startPtr.asFunction(); + _lookup>( + 'spine_sequence_set_start'); + late final _spine_sequence_set_start = _spine_sequence_set_startPtr + .asFunction(); int spine_sequence_get_digits( spine_sequence sequence, @@ -7935,8 +9505,11 @@ class SpineFlutterBindings { ); } - late final _spine_sequence_get_digitsPtr = _lookup>('spine_sequence_get_digits'); - late final _spine_sequence_get_digits = _spine_sequence_get_digitsPtr.asFunction(); + late final _spine_sequence_get_digitsPtr = + _lookup>( + 'spine_sequence_get_digits'); + late final _spine_sequence_get_digits = + _spine_sequence_get_digitsPtr.asFunction(); void spine_sequence_set_digits( spine_sequence sequence, @@ -7949,8 +9522,10 @@ class SpineFlutterBindings { } late final _spine_sequence_set_digitsPtr = - _lookup>('spine_sequence_set_digits'); - late final _spine_sequence_set_digits = _spine_sequence_set_digitsPtr.asFunction(); + _lookup>( + 'spine_sequence_set_digits'); + late final _spine_sequence_set_digits = _spine_sequence_set_digitsPtr + .asFunction(); int spine_sequence_get_setup_index( spine_sequence sequence, @@ -7961,8 +9536,11 @@ class SpineFlutterBindings { } late final _spine_sequence_get_setup_indexPtr = - _lookup>('spine_sequence_get_setup_index'); - late final _spine_sequence_get_setup_index = _spine_sequence_get_setup_indexPtr.asFunction(); + _lookup>( + 'spine_sequence_get_setup_index'); + late final _spine_sequence_get_setup_index = + _spine_sequence_get_setup_indexPtr + .asFunction(); void spine_sequence_set_setup_index( spine_sequence sequence, @@ -7975,8 +9553,11 @@ class SpineFlutterBindings { } late final _spine_sequence_set_setup_indexPtr = - _lookup>('spine_sequence_set_setup_index'); - late final _spine_sequence_set_setup_index = _spine_sequence_set_setup_indexPtr.asFunction(); + _lookup>( + 'spine_sequence_set_setup_index'); + late final _spine_sequence_set_setup_index = + _spine_sequence_set_setup_indexPtr + .asFunction(); int spine_sequence_get_num_regions( spine_sequence sequence, @@ -7987,8 +9568,11 @@ class SpineFlutterBindings { } late final _spine_sequence_get_num_regionsPtr = - _lookup>('spine_sequence_get_num_regions'); - late final _spine_sequence_get_num_regions = _spine_sequence_get_num_regionsPtr.asFunction(); + _lookup>( + 'spine_sequence_get_num_regions'); + late final _spine_sequence_get_num_regions = + _spine_sequence_get_num_regionsPtr + .asFunction(); ffi.Pointer spine_sequence_get_regions( spine_sequence sequence, @@ -7998,10 +9582,12 @@ class SpineFlutterBindings { ); } - late final _spine_sequence_get_regionsPtr = - _lookup Function(spine_sequence)>>('spine_sequence_get_regions'); - late final _spine_sequence_get_regions = - _spine_sequence_get_regionsPtr.asFunction Function(spine_sequence)>(); + late final _spine_sequence_get_regionsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_sequence)>>('spine_sequence_get_regions'); + late final _spine_sequence_get_regions = _spine_sequence_get_regionsPtr + .asFunction Function(spine_sequence)>(); ffi.Pointer spine_texture_region_get_texture( spine_texture_region textureRegion, @@ -8011,10 +9597,13 @@ class SpineFlutterBindings { ); } - late final _spine_texture_region_get_texturePtr = - _lookup Function(spine_texture_region)>>('spine_texture_region_get_texture'); + late final _spine_texture_region_get_texturePtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_texture_region)>>('spine_texture_region_get_texture'); late final _spine_texture_region_get_texture = - _spine_texture_region_get_texturePtr.asFunction Function(spine_texture_region)>(); + _spine_texture_region_get_texturePtr + .asFunction Function(spine_texture_region)>(); void spine_texture_region_set_texture( spine_texture_region textureRegion, @@ -8026,10 +9615,13 @@ class SpineFlutterBindings { ); } - late final _spine_texture_region_set_texturePtr = - _lookup)>>('spine_texture_region_set_texture'); + late final _spine_texture_region_set_texturePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_texture_region, + ffi.Pointer)>>('spine_texture_region_set_texture'); late final _spine_texture_region_set_texture = - _spine_texture_region_set_texturePtr.asFunction)>(); + _spine_texture_region_set_texturePtr.asFunction< + void Function(spine_texture_region, ffi.Pointer)>(); double spine_texture_region_get_u( spine_texture_region textureRegion, @@ -8040,8 +9632,10 @@ class SpineFlutterBindings { } late final _spine_texture_region_get_uPtr = - _lookup>('spine_texture_region_get_u'); - late final _spine_texture_region_get_u = _spine_texture_region_get_uPtr.asFunction(); + _lookup>( + 'spine_texture_region_get_u'); + late final _spine_texture_region_get_u = _spine_texture_region_get_uPtr + .asFunction(); void spine_texture_region_set_u( spine_texture_region textureRegion, @@ -8053,9 +9647,12 @@ class SpineFlutterBindings { ); } - late final _spine_texture_region_set_uPtr = - _lookup>('spine_texture_region_set_u'); - late final _spine_texture_region_set_u = _spine_texture_region_set_uPtr.asFunction(); + late final _spine_texture_region_set_uPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_texture_region, ffi.Float)>>('spine_texture_region_set_u'); + late final _spine_texture_region_set_u = _spine_texture_region_set_uPtr + .asFunction(); double spine_texture_region_get_v( spine_texture_region textureRegion, @@ -8066,8 +9663,10 @@ class SpineFlutterBindings { } late final _spine_texture_region_get_vPtr = - _lookup>('spine_texture_region_get_v'); - late final _spine_texture_region_get_v = _spine_texture_region_get_vPtr.asFunction(); + _lookup>( + 'spine_texture_region_get_v'); + late final _spine_texture_region_get_v = _spine_texture_region_get_vPtr + .asFunction(); void spine_texture_region_set_v( spine_texture_region textureRegion, @@ -8079,9 +9678,12 @@ class SpineFlutterBindings { ); } - late final _spine_texture_region_set_vPtr = - _lookup>('spine_texture_region_set_v'); - late final _spine_texture_region_set_v = _spine_texture_region_set_vPtr.asFunction(); + late final _spine_texture_region_set_vPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_texture_region, ffi.Float)>>('spine_texture_region_set_v'); + late final _spine_texture_region_set_v = _spine_texture_region_set_vPtr + .asFunction(); double spine_texture_region_get_u2( spine_texture_region textureRegion, @@ -8092,8 +9694,10 @@ class SpineFlutterBindings { } late final _spine_texture_region_get_u2Ptr = - _lookup>('spine_texture_region_get_u2'); - late final _spine_texture_region_get_u2 = _spine_texture_region_get_u2Ptr.asFunction(); + _lookup>( + 'spine_texture_region_get_u2'); + late final _spine_texture_region_get_u2 = _spine_texture_region_get_u2Ptr + .asFunction(); void spine_texture_region_set_u2( spine_texture_region textureRegion, @@ -8105,9 +9709,12 @@ class SpineFlutterBindings { ); } - late final _spine_texture_region_set_u2Ptr = - _lookup>('spine_texture_region_set_u2'); - late final _spine_texture_region_set_u2 = _spine_texture_region_set_u2Ptr.asFunction(); + late final _spine_texture_region_set_u2Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_texture_region, ffi.Float)>>('spine_texture_region_set_u2'); + late final _spine_texture_region_set_u2 = _spine_texture_region_set_u2Ptr + .asFunction(); double spine_texture_region_get_v2( spine_texture_region textureRegion, @@ -8118,8 +9725,10 @@ class SpineFlutterBindings { } late final _spine_texture_region_get_v2Ptr = - _lookup>('spine_texture_region_get_v2'); - late final _spine_texture_region_get_v2 = _spine_texture_region_get_v2Ptr.asFunction(); + _lookup>( + 'spine_texture_region_get_v2'); + late final _spine_texture_region_get_v2 = _spine_texture_region_get_v2Ptr + .asFunction(); void spine_texture_region_set_v2( spine_texture_region textureRegion, @@ -8131,9 +9740,12 @@ class SpineFlutterBindings { ); } - late final _spine_texture_region_set_v2Ptr = - _lookup>('spine_texture_region_set_v2'); - late final _spine_texture_region_set_v2 = _spine_texture_region_set_v2Ptr.asFunction(); + late final _spine_texture_region_set_v2Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_texture_region, ffi.Float)>>('spine_texture_region_set_v2'); + late final _spine_texture_region_set_v2 = _spine_texture_region_set_v2Ptr + .asFunction(); int spine_texture_region_get_degrees( spine_texture_region textureRegion, @@ -8144,8 +9756,11 @@ class SpineFlutterBindings { } late final _spine_texture_region_get_degreesPtr = - _lookup>('spine_texture_region_get_degrees'); - late final _spine_texture_region_get_degrees = _spine_texture_region_get_degreesPtr.asFunction(); + _lookup>( + 'spine_texture_region_get_degrees'); + late final _spine_texture_region_get_degrees = + _spine_texture_region_get_degreesPtr + .asFunction(); void spine_texture_region_set_degrees( spine_texture_region textureRegion, @@ -8157,10 +9772,13 @@ class SpineFlutterBindings { ); } - late final _spine_texture_region_set_degreesPtr = - _lookup>('spine_texture_region_set_degrees'); + late final _spine_texture_region_set_degreesPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_texture_region, + ffi.Int32)>>('spine_texture_region_set_degrees'); late final _spine_texture_region_set_degrees = - _spine_texture_region_set_degreesPtr.asFunction(); + _spine_texture_region_set_degreesPtr + .asFunction(); double spine_texture_region_get_offset_x( spine_texture_region textureRegion, @@ -8171,8 +9789,11 @@ class SpineFlutterBindings { } late final _spine_texture_region_get_offset_xPtr = - _lookup>('spine_texture_region_get_offset_x'); - late final _spine_texture_region_get_offset_x = _spine_texture_region_get_offset_xPtr.asFunction(); + _lookup>( + 'spine_texture_region_get_offset_x'); + late final _spine_texture_region_get_offset_x = + _spine_texture_region_get_offset_xPtr + .asFunction(); void spine_texture_region_set_offset_x( spine_texture_region textureRegion, @@ -8184,10 +9805,13 @@ class SpineFlutterBindings { ); } - late final _spine_texture_region_set_offset_xPtr = - _lookup>('spine_texture_region_set_offset_x'); + late final _spine_texture_region_set_offset_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_texture_region, + ffi.Float)>>('spine_texture_region_set_offset_x'); late final _spine_texture_region_set_offset_x = - _spine_texture_region_set_offset_xPtr.asFunction(); + _spine_texture_region_set_offset_xPtr + .asFunction(); double spine_texture_region_get_offset_y( spine_texture_region textureRegion, @@ -8198,8 +9822,11 @@ class SpineFlutterBindings { } late final _spine_texture_region_get_offset_yPtr = - _lookup>('spine_texture_region_get_offset_y'); - late final _spine_texture_region_get_offset_y = _spine_texture_region_get_offset_yPtr.asFunction(); + _lookup>( + 'spine_texture_region_get_offset_y'); + late final _spine_texture_region_get_offset_y = + _spine_texture_region_get_offset_yPtr + .asFunction(); void spine_texture_region_set_offset_y( spine_texture_region textureRegion, @@ -8211,10 +9838,13 @@ class SpineFlutterBindings { ); } - late final _spine_texture_region_set_offset_yPtr = - _lookup>('spine_texture_region_set_offset_y'); + late final _spine_texture_region_set_offset_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_texture_region, + ffi.Float)>>('spine_texture_region_set_offset_y'); late final _spine_texture_region_set_offset_y = - _spine_texture_region_set_offset_yPtr.asFunction(); + _spine_texture_region_set_offset_yPtr + .asFunction(); int spine_texture_region_get_width( spine_texture_region textureRegion, @@ -8225,8 +9855,11 @@ class SpineFlutterBindings { } late final _spine_texture_region_get_widthPtr = - _lookup>('spine_texture_region_get_width'); - late final _spine_texture_region_get_width = _spine_texture_region_get_widthPtr.asFunction(); + _lookup>( + 'spine_texture_region_get_width'); + late final _spine_texture_region_get_width = + _spine_texture_region_get_widthPtr + .asFunction(); void spine_texture_region_set_width( spine_texture_region textureRegion, @@ -8238,9 +9871,13 @@ class SpineFlutterBindings { ); } - late final _spine_texture_region_set_widthPtr = - _lookup>('spine_texture_region_set_width'); - late final _spine_texture_region_set_width = _spine_texture_region_set_widthPtr.asFunction(); + late final _spine_texture_region_set_widthPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_texture_region, + ffi.Int32)>>('spine_texture_region_set_width'); + late final _spine_texture_region_set_width = + _spine_texture_region_set_widthPtr + .asFunction(); int spine_texture_region_get_height( spine_texture_region textureRegion, @@ -8251,8 +9888,11 @@ class SpineFlutterBindings { } late final _spine_texture_region_get_heightPtr = - _lookup>('spine_texture_region_get_height'); - late final _spine_texture_region_get_height = _spine_texture_region_get_heightPtr.asFunction(); + _lookup>( + 'spine_texture_region_get_height'); + late final _spine_texture_region_get_height = + _spine_texture_region_get_heightPtr + .asFunction(); void spine_texture_region_set_height( spine_texture_region textureRegion, @@ -8264,9 +9904,13 @@ class SpineFlutterBindings { ); } - late final _spine_texture_region_set_heightPtr = - _lookup>('spine_texture_region_set_height'); - late final _spine_texture_region_set_height = _spine_texture_region_set_heightPtr.asFunction(); + late final _spine_texture_region_set_heightPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_texture_region, + ffi.Int32)>>('spine_texture_region_set_height'); + late final _spine_texture_region_set_height = + _spine_texture_region_set_heightPtr + .asFunction(); int spine_texture_region_get_original_width( spine_texture_region textureRegion, @@ -8277,9 +9921,11 @@ class SpineFlutterBindings { } late final _spine_texture_region_get_original_widthPtr = - _lookup>('spine_texture_region_get_original_width'); + _lookup>( + 'spine_texture_region_get_original_width'); late final _spine_texture_region_get_original_width = - _spine_texture_region_get_original_widthPtr.asFunction(); + _spine_texture_region_get_original_widthPtr + .asFunction(); void spine_texture_region_set_original_width( spine_texture_region textureRegion, @@ -8291,10 +9937,13 @@ class SpineFlutterBindings { ); } - late final _spine_texture_region_set_original_widthPtr = - _lookup>('spine_texture_region_set_original_width'); + late final _spine_texture_region_set_original_widthPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_texture_region, + ffi.Int32)>>('spine_texture_region_set_original_width'); late final _spine_texture_region_set_original_width = - _spine_texture_region_set_original_widthPtr.asFunction(); + _spine_texture_region_set_original_widthPtr + .asFunction(); int spine_texture_region_get_original_height( spine_texture_region textureRegion, @@ -8305,9 +9954,11 @@ class SpineFlutterBindings { } late final _spine_texture_region_get_original_heightPtr = - _lookup>('spine_texture_region_get_original_height'); + _lookup>( + 'spine_texture_region_get_original_height'); late final _spine_texture_region_get_original_height = - _spine_texture_region_get_original_heightPtr.asFunction(); + _spine_texture_region_get_original_heightPtr + .asFunction(); void spine_texture_region_set_original_height( spine_texture_region textureRegion, @@ -8319,10 +9970,13 @@ class SpineFlutterBindings { ); } - late final _spine_texture_region_set_original_heightPtr = - _lookup>('spine_texture_region_set_original_height'); + late final _spine_texture_region_set_original_heightPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_texture_region, + ffi.Int32)>>('spine_texture_region_set_original_height'); late final _spine_texture_region_set_original_height = - _spine_texture_region_set_original_heightPtr.asFunction(); + _spine_texture_region_set_original_heightPtr + .asFunction(); } class spine_skeleton_wrapper extends ffi.Opaque {} @@ -8476,29 +10130,36 @@ typedef spine_bounds = ffi.Pointer; typedef spine_vector = ffi.Pointer; typedef spine_atlas = ffi.Pointer; typedef utf8 = ffi.Char; -typedef spine_skeleton_data_result = ffi.Pointer; +typedef spine_skeleton_data_result + = ffi.Pointer; typedef spine_skeleton_data = ffi.Pointer; typedef spine_bone_data = ffi.Pointer; typedef spine_slot_data = ffi.Pointer; typedef spine_skin = ffi.Pointer; typedef spine_event_data = ffi.Pointer; typedef spine_animation = ffi.Pointer; -typedef spine_ik_constraint_data = ffi.Pointer; -typedef spine_transform_constraint_data = ffi.Pointer; -typedef spine_path_constraint_data = ffi.Pointer; +typedef spine_ik_constraint_data + = ffi.Pointer; +typedef spine_transform_constraint_data + = ffi.Pointer; +typedef spine_path_constraint_data + = ffi.Pointer; typedef spine_skeleton_drawable = ffi.Pointer; typedef spine_render_command = ffi.Pointer; typedef spine_skeleton = ffi.Pointer; typedef spine_animation_state = ffi.Pointer; -typedef spine_animation_state_data = ffi.Pointer; -typedef spine_animation_state_events = ffi.Pointer; +typedef spine_animation_state_data + = ffi.Pointer; +typedef spine_animation_state_events + = ffi.Pointer; typedef spine_track_entry = ffi.Pointer; typedef spine_event = ffi.Pointer; typedef spine_bone = ffi.Pointer; typedef spine_slot = ffi.Pointer; typedef spine_attachment = ffi.Pointer; typedef spine_ik_constraint = ffi.Pointer; -typedef spine_transform_constraint = ffi.Pointer; +typedef spine_transform_constraint + = ffi.Pointer; typedef spine_path_constraint = ffi.Pointer; typedef spine_point_attachment = ffi.Pointer; typedef spine_region_attachment = ffi.Pointer; @@ -8506,8 +10167,10 @@ typedef spine_texture_region = ffi.Pointer; typedef spine_sequence = ffi.Pointer; typedef spine_vertex_attachment = ffi.Pointer; typedef spine_mesh_attachment = ffi.Pointer; -typedef spine_clipping_attachment = ffi.Pointer; -typedef spine_bounding_box_attachment = ffi.Pointer; +typedef spine_clipping_attachment + = ffi.Pointer; +typedef spine_bounding_box_attachment + = ffi.Pointer; typedef spine_path_attachment = ffi.Pointer; typedef spine_skin_entries = ffi.Pointer; typedef spine_skin_entry = ffi.Pointer; diff --git a/spine-flutter/lib/spine_widget.dart b/spine-flutter/lib/spine_widget.dart index 943eb0a82..46e827b67 100644 --- a/spine-flutter/lib/spine_widget.dart +++ b/spine-flutter/lib/spine_widget.dart @@ -7,15 +7,44 @@ import 'package:flutter/widgets.dart'; import 'spine_flutter.dart'; +/// Controls how the skeleton of a [SpineWidget] is animated and rendered. +/// +/// Upon initialization of a [SpineWidget] the provided [onInitialized] callback method is called once. This method can be used +/// to setup the initial animation(s) of the skeleton, among other things. +/// +/// After initialization is complete, the [SpineWidget] is rendered at the screen refresh rate. In each frame, +/// the [AnimationState] is updated and applied to the [Skeleton]. +/// +/// Next the optionally provided method [onBeforeUpdateWorldTransforms] is called, which can modify the +/// skeleton before its current pose is calculated using [Skeleton.updateWorldTransforms]. After +/// [Skeleton.updateWorldTransforms] has completed, the optional [onAfterUpdateWorldTransforms] method is +/// called, which can modify the current pose before rendering the skeleton. +/// +/// Before the skeleton's current pose is rendered by the [SpineWidget] the optional [onBeforePaint] is called, +/// which allows rendering backgrounds or other objects that should go behind the skeleton on the [Canvas]. The +/// [SpineWidget] then renderes the skeleton's current pose, and finally calls the optional [onAfterPaint], which +/// can render additional objects on top of the skeleton. +/// +/// The underlying [Atlas], [SkeletonData], [Skeleton], [AnimationStateData], [AnimationState], and [SkeletonDrawable] +/// can be accessed through their respective getters to inspect and/or modify the skeleton and its associated data. Accessing +/// this data is only allowed if the [SpineWidget] and its data have been initialized and have not been disposed yet. +/// +/// By default, the widget updates and renders the skeleton every frame. The [pause] method can be used to pause updating +/// and rendering the skeleton. The [resume] method resumes updating and rendering the skeleton. The [isPlaying] getter +/// reports the current state. class SpineWidgetController { SkeletonDrawable? _drawable; double _offsetX = 0, _offsetY = 0, _scaleX = 1, _scaleY = 1; + bool _isPlaying = true; + _SpineRenderObject? _renderObject = null; final void Function(SpineWidgetController controller)? onInitialized; final void Function(SpineWidgetController controller)? onBeforeUpdateWorldTransforms; final void Function(SpineWidgetController controller)? onAfterUpdateWorldTransforms; final void Function(SpineWidgetController controller, Canvas canvas)? onBeforePaint; final void Function(SpineWidgetController controller, Canvas canvas, List commands)? onAfterPaint; + /// Constructs a new [SpineWidget] controller. See the class documentation of [SpineWidgetController] for information on + /// the optional arguments. SpineWidgetController( {this.onInitialized, this.onBeforeUpdateWorldTransforms, this.onAfterUpdateWorldTransforms, this.onBeforePaint, this.onAfterPaint}); @@ -25,31 +54,38 @@ class SpineWidgetController { onInitialized?.call(this); } + /// The [Atlas] from which images to render the skeleton are sourced. Atlas get atlas { if (_drawable == null) throw Exception("Controller is not initialized yet."); return _drawable!.atlas; } + /// The setup-pose data used by the skeleton. SkeletonData get skeletonData { if (_drawable == null) throw Exception("Controller is not initialized yet."); return _drawable!.skeletonData; } + /// The mixing information used by the [AnimationState] AnimationStateData get animationStateData { if (_drawable == null) throw Exception("Controller is not initialized yet."); return _drawable!.animationStateData; } + /// The [AnimationState] used to manage animations that are being applied to the + /// skeleton. AnimationState get animationState { if (_drawable == null) throw Exception("Controller is not initialized yet."); return _drawable!.animationState; } + /// The [Skeleton] Skeleton get skeleton { if (_drawable == null) throw Exception("Controller is not initialized yet."); return _drawable!.skeleton; } + /// The [SkeletonDrawable] SkeletonDrawable get drawable { if (_drawable == null) throw Exception("Controller is not initialized yet."); return _drawable!; @@ -62,21 +98,49 @@ class SpineWidgetController { _scaleY = scaleY; } + void _setRenderObject(_SpineRenderObject? renderObject) { + _renderObject = renderObject; + } + + /// Transforms the coordinates given in the [SpineWidget] coordinate system in [position] to + /// the skeleton coordinate system. See the `ik_following.dart` example how to use this + /// to move a bone based on user touch input. Offset toSkeletonCoordinates(Offset position) { var x = position.dx; var y = position.dy; return Offset(x / _scaleX - _offsetX, y / _scaleY - _offsetY); } + + /// Pauses updating and rendering the skeleton. + void pause() { + _isPlaying = false; + } + + /// Resumes updating and rendering the skeleton. + void resume() { + _isPlaying = true; + _renderObject?._stopwatch.reset(); + _renderObject?._stopwatch.start(); + _renderObject?._scheduleFrame(); + } + + bool get isPlaying { + return _isPlaying; + } } -enum AssetType { asset, file, http, drawable } +enum _AssetType { asset, file, http, drawable } +/// 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]. abstract class BoundsProvider { const BoundsProvider(); Bounds computeBounds(SkeletonDrawable drawable); } +/// A [BoundsProvider] that calculates the bounding box of the skeleton based on the visible +/// attachments in the setup pose. class SetupPoseBounds extends BoundsProvider { const SetupPoseBounds(); @@ -86,6 +150,7 @@ class SetupPoseBounds extends BoundsProvider { } } +/// A [BoundsProvider] that returns fixed bounds. class RawBounds extends BoundsProvider { final double x, y, width, height; @@ -97,11 +162,17 @@ class RawBounds extends BoundsProvider { } } +/// A [BoundsProvider] that calculates the bounding box needed for a combination of skins +/// and an animation. class SkinAndAnimationBounds extends BoundsProvider { final List skins; final String? animation; final double stepTime; + /// Constructs a new provider that will use the given [skins] and [animation] to calculate + /// the bounding box of the skeleton. If no skins are given, the default skin is used. + /// The [stepTime], given in seconds, defines at what interval the bounds should be sampled + /// across the entire animation. SkinAndAnimationBounds({List? skins, this.animation, this.stepTime = 0.1}) : skins = skins == null || skins.isEmpty ? ["default"] : skins; @@ -151,15 +222,15 @@ class SkinAndAnimationBounds extends BoundsProvider { } } -class ComputedBounds extends BoundsProvider { - @override - Bounds computeBounds(SkeletonDrawable drawable) { - return Bounds(0, 0, 0, 0); - } -} - +/// 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]). +/// +/// The skeleton displayed by a `SpineWidget` can be controlled via a [SpineWidgetController]. +/// +/// The size of the widget can be derived from the bounds provided by a [BoundsProvider]. If the widget is not sized by the bounds +/// computed by the [BoundsProvider], the widget will use the computed bounds to fit the skeleton inside the widget's dimensions. class SpineWidget extends StatefulWidget { - final AssetType _assetType; + final _AssetType _assetType; final AssetBundle? _bundle; final String? _skeletonFile; final String? _atlasFile; @@ -170,9 +241,21 @@ class SpineWidget extends StatefulWidget { final BoundsProvider _boundsProvider; final bool _sizedByBounds; - SpineWidget.asset(this._atlasFile, this._skeletonFile, this._controller, + /// Constructs a new [SpineWidget] from files in the root bundle or the optionally specified [bundle]. The [_atlasFile] specifies the + /// `.atlas` file to be loaded for the images used to render the skeleton. The [_skeletonFile] specifies either a Skeleton `.json` or + /// `.skel` file containing the skeleton data. + /// + /// After initialization is complete, the provided [_controller] is invoked as per the [SpineWidgetController] semantics, to allow + /// modifying how the skeleton inside the widget is animated and rendered. + /// + /// The skeleton is fitted and aligned inside the widget as per the [fit] and [alignment] arguments. For this purpose, the skeleton + /// bounds must be computed via a [BoundsProvider]. By default, [BoxFit.contain], [Alignment.center], and a [SetupPoseBounds] provider + /// are used. + /// + /// The widget can optionally by sized by the bounds provided by the [BoundsProvider] by passing `true` for [sizedByBounds]. + SpineWidget.fromAsset(this._atlasFile, this._skeletonFile, this._controller, {AssetBundle? bundle, BoxFit? fit, Alignment? alignment, BoundsProvider? boundsProvider, bool? sizedByBounds, super.key}) - : _assetType = AssetType.asset, + : _assetType = _AssetType.asset, _fit = fit ?? BoxFit.contain, _alignment = alignment ?? Alignment.center, _boundsProvider = boundsProvider ?? const SetupPoseBounds(), @@ -180,9 +263,20 @@ class SpineWidget extends StatefulWidget { _drawable = null, _bundle = bundle ?? rootBundle; - const SpineWidget.file(this._atlasFile, this._skeletonFile, this._controller, + /// Constructs a new [SpineWidget] from files. The [_atlasFile] specifies the `.atlas` file to be loaded for the images used to render + /// the skeleton. The [_skeletonFile] specifies either a Skeleton `.json` or `.skel` file containing the skeleton data. + /// + /// After initialization is complete, the provided [_controller] is invoked as per the [SpineWidgetController] semantics, to allow + /// modifying how the skeleton inside the widget is animated and rendered. + /// + /// The skeleton is fitted and aligned inside the widget as per the [fit] and [alignment] arguments. For this purpose, the skeleton + /// bounds must be computed via a [BoundsProvider]. By default, [BoxFit.contain], [Alignment.center], and a [SetupPoseBounds] provider + /// are used. + /// + /// The widget can optionally by sized by the bounds provided by the [BoundsProvider] by passing `true` for [sizedByBounds]. + const SpineWidget.fromFile(this._atlasFile, this._skeletonFile, this._controller, {BoxFit? fit, Alignment? alignment, BoundsProvider? boundsProvider, bool? sizedByBounds, super.key}) - : _assetType = AssetType.file, + : _assetType = _AssetType.file, _bundle = null, _fit = fit ?? BoxFit.contain, _alignment = alignment ?? Alignment.center, @@ -190,9 +284,20 @@ class SpineWidget extends StatefulWidget { _sizedByBounds = sizedByBounds ?? false, _drawable = null; - const SpineWidget.http(this._atlasFile, this._skeletonFile, this._controller, + /// Constructs a new [SpineWidget] from HTTP URLs. The [_atlasFile] specifies the `.atlas` file to be loaded for the images used to render + /// the skeleton. The [_skeletonFile] specifies either a Skeleton `.json` or `.skel` file containing the skeleton data. + /// + /// After initialization is complete, the provided [_controller] is invoked as per the [SpineWidgetController] semantics, to allow + /// modifying how the skeleton inside the widget is animated and rendered. + /// + /// The skeleton is fitted and aligned inside the widget as per the [fit] and [alignment] arguments. For this purpose, the skeleton + /// bounds must be computed via a [BoundsProvider]. By default, [BoxFit.contain], [Alignment.center], and a [SetupPoseBounds] provider + /// are used. + /// + /// The widget can optionally by sized by the bounds provided by the [BoundsProvider] by passing `true` for [sizedByBounds]. + const SpineWidget.fromHttp(this._atlasFile, this._skeletonFile, this._controller, {BoxFit? fit, Alignment? alignment, BoundsProvider? boundsProvider, bool? sizedByBounds, super.key}) - : _assetType = AssetType.http, + : _assetType = _AssetType.http, _bundle = null, _fit = fit ?? BoxFit.contain, _alignment = alignment ?? Alignment.center, @@ -200,9 +305,19 @@ class SpineWidget extends StatefulWidget { _sizedByBounds = sizedByBounds ?? false, _drawable = null; - const SpineWidget.drawable(this._drawable, this._controller, + /// Constructs a new [SpineWidget] from a [SkeletonDrawable]. + /// + /// After initialization is complete, the provided [_controller] is invoked as per the [SpineWidgetController] semantics, to allow + /// modifying how the skeleton inside the widget is animated and rendered. + /// + /// The skeleton is fitted and aligned inside the widget as per the [fit] and [alignment] arguments. For this purpose, the skeleton + /// bounds must be computed via a [BoundsProvider]. By default, [BoxFit.contain], [Alignment.center], and a [SetupPoseBounds] provider + /// are used. + /// + /// The widget can optionally by sized by the bounds provided by the [BoundsProvider] by passing `true` for [sizedByBounds]. + const SpineWidget.fromDrawable(this._drawable, this._controller, {BoxFit? fit, Alignment? alignment, BoundsProvider? boundsProvider, bool? sizedByBounds, super.key}) - : _assetType = AssetType.drawable, + : _assetType = _AssetType.drawable, _bundle = null, _fit = fit ?? BoxFit.contain, _alignment = alignment ?? Alignment.center, @@ -222,7 +337,7 @@ class _SpineWidgetState extends State { @override void initState() { super.initState(); - if (widget._assetType == AssetType.drawable) { + if (widget._assetType == _AssetType.drawable) { loadDrawable(widget._drawable!); } else { loadFromAsset(widget._bundle, widget._atlasFile!, widget._skeletonFile!, widget._assetType); @@ -236,18 +351,18 @@ class _SpineWidgetState extends State { setState(() {}); } - void loadFromAsset(AssetBundle? bundle, String atlasFile, String skeletonFile, AssetType assetType) async { + void loadFromAsset(AssetBundle? bundle, String atlasFile, String skeletonFile, _AssetType assetType) async { switch (assetType) { - case AssetType.asset: + case _AssetType.asset: loadDrawable(await SkeletonDrawable.fromAsset(atlasFile, skeletonFile, bundle: bundle)); break; - case AssetType.file: + case _AssetType.file: loadDrawable(await SkeletonDrawable.fromFile(atlasFile, skeletonFile)); break; - case AssetType.http: + case _AssetType.http: loadDrawable(await SkeletonDrawable.fromHttp(atlasFile, skeletonFile)); break; - case AssetType.drawable: + case _AssetType.drawable: throw Exception("Drawable can not be loaded via loadFromAsset()."); } } @@ -303,6 +418,7 @@ class _SpineRenderObject extends RenderBox { Alignment _alignment; Bounds _bounds; bool _sizedByBounds; + bool _disposed = false; _SpineRenderObject(this._skeletonDrawable, this._controller, this._fit, this._alignment, this._bounds, this._sizedByBounds); @@ -405,22 +521,39 @@ class _SpineRenderObject extends RenderBox { void attach(rendering.PipelineOwner owner) { super.attach(owner); _stopwatch.start(); + SchedulerBinding.instance.scheduleFrameCallback(_beginFrame); + _controller._setRenderObject(this); } @override void detach() { _stopwatch.stop(); super.detach(); + _controller._setRenderObject(null); + } + + @override + void dispose() { + super.dispose(); + _disposed = true; + } + + void _scheduleFrame() { + SchedulerBinding.instance.scheduleFrameCallback(_beginFrame); } void _beginFrame(Duration duration) { + if (_disposed) return; _deltaTime = _stopwatch.elapsedTicks / _stopwatch.frequency; _stopwatch.reset(); _stopwatch.start(); - _controller.onBeforeUpdateWorldTransforms?.call(_controller); - _skeletonDrawable.update(_deltaTime); - _controller.onAfterUpdateWorldTransforms?.call(_controller); - markNeedsPaint(); + if (_controller.isPlaying) { + _controller.onBeforeUpdateWorldTransforms?.call(_controller); + _skeletonDrawable.update(_deltaTime); + _controller.onAfterUpdateWorldTransforms?.call(_controller); + markNeedsPaint(); + _scheduleFrame(); + } } void _setCanvasTransform(Canvas canvas, Offset offset) { @@ -480,6 +613,5 @@ class _SpineRenderObject extends RenderBox { _controller.onAfterPaint?.call(_controller, canvas, commands); canvas.restore(); - SchedulerBinding.instance.scheduleFrameCallback(_beginFrame); } } diff --git a/spine-flutter/src/spine_flutter.cpp b/spine-flutter/src/spine_flutter.cpp index 05f9f6c72..a970f6437 100644 --- a/spine-flutter/src/spine_flutter.cpp +++ b/spine-flutter/src/spine_flutter.cpp @@ -2115,6 +2115,12 @@ void spine_bone_update_world_transform_with(spine_bone bone, float x, float y, f _bone->updateWorldTransform(x, y, rotation, scaleX, scaleY, shearX, shearY); } +void spine_bone_update_applied_transform(spine_bone bone) { + if (bone == nullptr) return; + Bone *_bone = (Bone *) bone; + _bone->updateAppliedTransform(); +} + void spine_bone_set_to_setup_pose(spine_bone bone) { if (bone == nullptr) return; Bone *_bone = (Bone *) bone; diff --git a/spine-flutter/src/spine_flutter.h b/spine-flutter/src/spine_flutter.h index b0067c758..720fd2acb 100644 --- a/spine-flutter/src/spine_flutter.h +++ b/spine-flutter/src/spine_flutter.h @@ -489,6 +489,7 @@ SPINE_FLUTTER_EXPORT int32_t spine_bone_get_is_y_down(); SPINE_FLUTTER_EXPORT void spine_bone_update(spine_bone bone); SPINE_FLUTTER_EXPORT void spine_bone_update_world_transform(spine_bone bone); SPINE_FLUTTER_EXPORT void spine_bone_update_world_transform_with(spine_bone bone, float x, float y, float rotation, float scaleX, float scaleY, float shearX, float shearY); +SPINE_FLUTTER_EXPORT void spine_bone_update_applied_transform(spine_bone bone); SPINE_FLUTTER_EXPORT void spine_bone_set_to_setup_pose(spine_bone bone); SPINE_FLUTTER_EXPORT spine_vector spine_bone_world_to_local(spine_bone bone, float worldX, float worldY); SPINE_FLUTTER_EXPORT spine_vector spine_bone_local_to_world(spine_bone bone, float localX, float localY); diff --git a/spine-godot/spine_godot/SpineSkeletonDataResource.cpp b/spine-godot/spine_godot/SpineSkeletonDataResource.cpp index 05bf832e8..901af5357 100644 --- a/spine-godot/spine_godot/SpineSkeletonDataResource.cpp +++ b/spine-godot/spine_godot/SpineSkeletonDataResource.cpp @@ -51,7 +51,7 @@ void SpineAnimationMix::_bind_methods() { SpineAnimationMix::SpineAnimationMix() : from(""), to(""), mix(0) { } -void SpineAnimationMix::set_from(const StringName &_from) { +void SpineAnimationMix::set_from(const String &_from) { this->from = _from; } @@ -59,7 +59,7 @@ String SpineAnimationMix::get_from() { return from; } -void SpineAnimationMix::set_to(const StringName &_to) { +void SpineAnimationMix::set_to(const String &_to) { this->to = _to; } diff --git a/spine-godot/spine_godot/SpineSkeletonDataResource.h b/spine-godot/spine_godot/SpineSkeletonDataResource.h index 4486817d0..97290ca62 100644 --- a/spine-godot/spine_godot/SpineSkeletonDataResource.h +++ b/spine-godot/spine_godot/SpineSkeletonDataResource.h @@ -24,11 +24,11 @@ protected: public: SpineAnimationMix(); - void set_from(const StringName &from); + void set_from(const String &from); String get_from(); - void set_to(const StringName &to); + void set_to(const String &to); String get_to(); diff --git a/spine-godot/spine_godot/SpineSprite.cpp b/spine-godot/spine_godot/SpineSprite.cpp index c625ca654..31d6d66b1 100644 --- a/spine-godot/spine_godot/SpineSprite.cpp +++ b/spine-godot/spine_godot/SpineSprite.cpp @@ -53,9 +53,72 @@ static int sprite_count = 0; static spine::Vector quad_indices; static spine::Vector scratch_vertices; static Vector scratch_points; -static Vector scratch_uvs; -static Vector scratch_colors; -static Vector scratch_indices; + +static void clear_triangles(SpineMesh2D *mesh_instance) { +#if VERSION_MAJOR > 3 + RenderingServer::get_singleton()->canvas_item_clear(mesh_instance->get_canvas_item()); +#else + VisualServer::get_singleton()->canvas_item_clear(mesh_instance->get_canvas_item()); +#endif +} + +static void add_triangles(SpineMesh2D *mesh_instance, + const Vector &vertices, + const Vector &uvs, + const Vector &colors, + const Vector &indices, + SpineRendererObject *renderer_object) { +#if VERSION_MAJOR > 3 + RenderingServer::get_singleton()->canvas_item_add_triangle_array(mesh_instance->get_canvas_item(), + indices, + vertices, + colors, + uvs, + Vector(), + Vector(), + renderer_object->canvas_texture.is_valid() ? renderer_object->canvas_texture->get_rid() : RID(), + -1); +#else + auto texture = renderer_object->texture; + auto normal_map = renderer_object->normal_map; + VisualServer::get_singleton()->canvas_item_add_triangle_array(mesh_instance->get_canvas_item(), + indices, + vertices, + colors, + uvs, + Vector(), + Vector(), + texture.is_null() ? RID() : texture->get_rid(), + -1, + normal_map.is_null() ? RID() : normal_map->get_rid()); +#endif +} + +void SpineMesh2D::_notification(int what) { + switch (what) { + case NOTIFICATION_READY: { + set_process_internal(true); + break; + } + case NOTIFICATION_INTERNAL_PROCESS: +#if VERSION_MAJOR > 3 + queue_redraw(); +#else + update(); +#endif + break; + case NOTIFICATION_DRAW: + //clear_triangles(this); + if (renderer_object) + add_triangles(this, vertices, uvs, colors, indices, renderer_object); + break; + default: + break; + } +} + +void SpineMesh2D::_bind_methods() { +} void SpineSprite::_bind_methods() { ClassDB::bind_method(D_METHOD("set_skeleton_data_res", "skeleton_data_res"), &SpineSprite::set_skeleton_data_res); @@ -259,7 +322,7 @@ void SpineSprite::on_skeleton_data_changed() { void SpineSprite::generate_meshes_for_slots(Ref skeleton_ref) { auto skeleton = skeleton_ref->get_spine_object(); for (int i = 0, n = (int) skeleton->getSlots().size(); i < n; i++) { - auto mesh_instance = memnew(MeshInstance2D); + auto mesh_instance = memnew(SpineMesh2D); mesh_instance->set_position(Vector2(0, 0)); mesh_instance->set_material(default_materials[spine::BlendMode_Normal]); // Needed so that debug drawables are rendered in front of attachments @@ -490,54 +553,14 @@ void SpineSprite::update_skeleton(float delta) { #endif } -static void clear_mesh_instance(MeshInstance2D *mesh_instance) { -#if VERSION_MAJOR > 3 - RenderingServer::get_singleton()->canvas_item_clear(mesh_instance->get_canvas_item()); -#else - VisualServer::get_singleton()->canvas_item_clear(mesh_instance->get_canvas_item()); -#endif -} - -static void add_triangles(MeshInstance2D *mesh_instance, - const Vector &vertices, - const Vector &uvs, - const Vector &colors, - const Vector &indices, - SpineRendererObject *renderer_object) { -#if VERSION_MAJOR > 3 - RenderingServer::get_singleton()->canvas_item_add_triangle_array(mesh_instance->get_canvas_item(), - indices, - vertices, - colors, - uvs, - Vector(), - Vector(), - renderer_object->canvas_texture.is_valid() ? renderer_object->canvas_texture->get_rid() : RID(), - -1); -#else - auto texture = renderer_object->texture; - auto normal_map = renderer_object->normal_map; - VisualServer::get_singleton()->canvas_item_add_triangle_array(mesh_instance->get_canvas_item(), - indices, - vertices, - colors, - uvs, - Vector(), - Vector(), - texture.is_null() ? RID() : texture->get_rid(), - -1, - normal_map.is_null() ? RID() : normal_map->get_rid()); -#endif -} - void SpineSprite::update_meshes(Ref skeleton_ref) { spine::Skeleton *skeleton = skeleton_ref->get_spine_object(); for (int i = 0, n = (int) skeleton->getSlots().size(); i < n; ++i) { spine::Slot *slot = skeleton->getDrawOrder()[i]; spine::Attachment *attachment = slot->getAttachment(); - MeshInstance2D *mesh_instance = mesh_instances[i]; + SpineMesh2D *mesh_instance = mesh_instances[i]; + mesh_instance->renderer_object = nullptr; mesh_instance->set_light_mask(get_light_mask()); - clear_mesh_instance(mesh_instance); if (!attachment) { skeleton_clipper->clipEnd(*slot); continue; @@ -607,21 +630,20 @@ void SpineSprite::update_meshes(Ref skeleton_ref) { if (indices->size() > 0) { // Set the mesh size_t num_vertices = vertices->size() / 2; - scratch_points.resize((int) num_vertices); - memcpy(scratch_points.ptrw(), vertices->buffer(), num_vertices * 2 * sizeof(float)); - scratch_uvs.resize((int) num_vertices); - memcpy(scratch_uvs.ptrw(), uvs->buffer(), num_vertices * 2 * sizeof(float)); - scratch_colors.resize((int) num_vertices); + mesh_instance->vertices.resize((int) num_vertices); + memcpy(mesh_instance->vertices.ptrw(), vertices->buffer(), num_vertices * 2 * sizeof(float)); + mesh_instance->uvs.resize((int) num_vertices); + memcpy(mesh_instance->uvs.ptrw(), uvs->buffer(), num_vertices * 2 * sizeof(float)); + mesh_instance->colors.resize((int) num_vertices); for (int j = 0; j < (int) num_vertices; j++) { - scratch_colors.set(j, Color(tint.r, tint.g, tint.b, tint.a)); + mesh_instance->colors.set(j, Color(tint.r, tint.g, tint.b, tint.a)); } - scratch_indices.resize((int) indices->size()); + mesh_instance->indices.resize((int) indices->size()); for (int j = 0; j < (int) indices->size(); ++j) { - scratch_indices.set(j, indices->buffer()[j]); + mesh_instance->indices.set(j, indices->buffer()[j]); } - add_triangles(mesh_instance, scratch_points, scratch_uvs, scratch_colors, scratch_indices, renderer_object); - + mesh_instance->renderer_object = renderer_object; spine::BlendMode blend_mode = slot->getData().getBlendMode(); Ref custom_material; @@ -676,9 +698,9 @@ void SpineSprite::update_meshes(Ref skeleton_ref) { } void SpineSprite::draw() { - if (!Engine::get_singleton()->is_editor_hint() && !get_tree()->is_debugging_collisions_hint()) return; if (!animation_state.is_valid() && !skeleton.is_valid()) return; + if (!Engine::get_singleton()->is_editor_hint() && !get_tree()->is_debugging_collisions_hint()) return; auto mouse_position = get_local_mouse_position(); spine::Slot *hovered_slot = nullptr; diff --git a/spine-godot/spine_godot/SpineSprite.h b/spine-godot/spine_godot/SpineSprite.h index 189bfbeb7..37c992366 100644 --- a/spine-godot/spine_godot/SpineSprite.h +++ b/spine-godot/spine_godot/SpineSprite.h @@ -32,11 +32,35 @@ #include "SpineSkeleton.h" #include "SpineAnimationState.h" #include "scene/2d/node_2d.h" -#include "scene/2d/mesh_instance_2d.h" class SpineSlotNode; -class SpineSprite : public Node2D, public spine::AnimationStateListenerObject { +struct SpineRendererObject; + +class SpineSprite; + +class SpineMesh2D : public Node2D { + GDCLASS(SpineMesh2D, Node2D); + + friend class SpineSprite; + +protected: + void _notification(int what); + static void _bind_methods(); + + Vector vertices; + Vector uvs; + Vector colors; + Vector indices; + SpineRendererObject *renderer_object; + +public: + SpineMesh2D() : renderer_object(nullptr){}; + ~SpineMesh2D(){}; +}; + +class SpineSprite : public Node2D, + public spine::AnimationStateListenerObject { GDCLASS(SpineSprite, Node2D) friend class SpineBone; @@ -67,7 +91,7 @@ protected: Color debug_clipping_color; spine::Vector> slot_nodes; - Vector mesh_instances; + Vector mesh_instances; static Ref default_materials[4]; Ref normal_material; Ref additive_material; diff --git a/spine-godot/spine_godot/register_types.cpp b/spine-godot/spine_godot/register_types.cpp index fadc83ba6..02fa2257b 100644 --- a/spine-godot/spine_godot/register_types.cpp +++ b/spine-godot/spine_godot/register_types.cpp @@ -153,13 +153,8 @@ void uninitialize_spine_godot_module(ModuleInitializationLevel level) { #else void unregister_spine_godot_types() { #endif - /*ResourceLoader::remove_resource_format_loader(atlas_loader); + ResourceLoader::remove_resource_format_loader(atlas_loader); ResourceSaver::remove_resource_format_saver(atlas_saver); ResourceLoader::remove_resource_format_loader(skeleton_file_loader); - ResourceSaver::remove_resource_format_saver(skeleton_file_saver);*/ - - /*memdelete(atlas_loader); - memdelete(atlas_saver); - memdelete(skeleton_file_saver); - memdelete(skeleton_file_loader);*/ + ResourceSaver::remove_resource_format_saver(skeleton_file_saver); } diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java index 958aaab77..a7d12e3b8 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java @@ -847,7 +847,7 @@ public class AnimationState { this.timeScale = timeScale; } - /** The AnimationStateData to look up mix durations. */ + /** The {@link AnimationStateData} to look up mix durations. */ public AnimationStateData getData () { return data; } @@ -1199,13 +1199,13 @@ public class AnimationState { } /** The track entry for the previous animation when mixing from the previous animation to this animation, or null if no - * mixing is currently occuring. 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 @Null TrackEntry getMixingFrom () { return mixingFrom; } /** The track entry for the next animation when mixing from this animation to the next animation, or null if no mixing is - * currently occuring. 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 @Null TrackEntry getMixingTo () { return mixingTo; } diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/BoneData.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/BoneData.java index 43a4daea2..968cdb06d 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/BoneData.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/BoneData.java @@ -115,7 +115,7 @@ public class BoneData { this.y = y; } - /** The local rotation. */ + /** The local rotation in degrees, counter clockwise. */ public float getRotation () { return rotation; } diff --git a/spine-ue4/Content/GettingStarted/Blueprints/UmgRaptor.uasset b/spine-ue4/Content/GettingStarted/Blueprints/UmgRaptor.uasset index eff46de64..5e8049aff 100644 Binary files a/spine-ue4/Content/GettingStarted/Blueprints/UmgRaptor.uasset and b/spine-ue4/Content/GettingStarted/Blueprints/UmgRaptor.uasset differ diff --git a/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineWidget.cpp b/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineWidget.cpp index 5e9cdc742..484b6aa2a 100644 --- a/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineWidget.cpp +++ b/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineWidget.cpp @@ -331,6 +331,25 @@ bool USpineWidget::HasBone(const FString BoneName) { return false; } +FTransform USpineWidget::GetBoneTransform(const FString& BoneName) { + CheckState(); + if (skeleton) { + Bone *bone = skeleton->findBone(TCHAR_TO_UTF8(*BoneName)); + if (!bone) return FTransform(); + + FMatrix localTransform; + localTransform.SetIdentity(); + localTransform.SetAxis(2, FVector(bone->getA(), 0, bone->getC())); + localTransform.SetAxis(0, FVector(bone->getB(), 0, bone->getD())); + localTransform.SetOrigin(FVector(bone->getWorldX(), 0, bone->getWorldY())); + + FTransform result; + result.SetFromMatrix(localTransform); + return result; + } + return FTransform(); +} + void USpineWidget::GetSlots(TArray &Slots) { CheckState(); if (skeleton) { diff --git a/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Public/SpineWidget.h b/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Public/SpineWidget.h index 627eeca68..347905fb6 100644 --- a/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Public/SpineWidget.h +++ b/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Public/SpineWidget.h @@ -132,6 +132,9 @@ public: UFUNCTION(BlueprintCallable, Category = "Components|Spine|Skeleton") bool HasBone(const FString BoneName); + UFUNCTION(BlueprintCallable, Category = "Components|Spine|Skeleton") + FTransform GetBoneTransform(const FString &BoneName); + UFUNCTION(BlueprintPure, Category = "Components|Spine|Skeleton") void GetSlots(TArray &Slots); diff --git a/spine-ue4/README.md b/spine-ue4/README.md index 31b7b5841..387442d7d 100644 --- a/spine-ue4/README.md +++ b/spine-ue4/README.md @@ -36,5 +36,5 @@ See the [Spine Runtimes documentation](http://esotericsoftware.com/spine-documen The Spine UE4 example works on all platforms supported by Unreal Engine. The samples require Unreal Engine 4.25+. -1. Copy the `spine-cpp` folder from this repositories root directory to your `Plugins/SpinePlugin/Sources/SpinePlugin/Public/` directory. +1. Copy the `spine-cpp` folder from this repositories root directory to your `Plugins/SpinePlugin/Sources/SpinePlugin/Public/` directory. You can run the `setup.bat` or `setup.sh` scripts to accomplish this. 2. Open the SpineUE4.uproject file with Unreal Editor