From 9c8119718b66d682282abaae489d0667ccb477f6 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Fri, 25 Jul 2025 01:13:29 +0200 Subject: [PATCH] [dart] types are not Finalizable, invoke formatters/format-dart.sh, build test spine_flutter shared lib --- spine-flutter/.vscode/launch.json | 14 +- spine-flutter/codegen/package.json | 2 +- spine-flutter/codegen/src/dart-writer.ts | 34 ++- spine-flutter/codegen/src/index.ts | 6 +- spine-flutter/generate-bindings.sh | 5 + .../lib/generated/alpha_timeline.dart | 4 + spine-flutter/lib/generated/animation.dart | 6 +- .../lib/generated/animation_state.dart | 6 +- .../lib/generated/animation_state_data.dart | 6 +- spine-flutter/lib/generated/atlas.dart | 2 +- .../generated/atlas_attachment_loader.dart | 6 +- spine-flutter/lib/generated/atlas_page.dart | 6 +- spine-flutter/lib/generated/atlas_region.dart | 5 + spine-flutter/lib/generated/attachment.dart | 2 +- .../lib/generated/attachment_timeline.dart | 4 + spine-flutter/lib/generated/bone.dart | 5 + spine-flutter/lib/generated/bone_data.dart | 5 + spine-flutter/lib/generated/bone_local.dart | 6 +- spine-flutter/lib/generated/bone_pose.dart | 5 + .../generated/bounding_box_attachment.dart | 4 + .../lib/generated/clipping_attachment.dart | 4 + spine-flutter/lib/generated/color.dart | 6 +- .../lib/generated/deform_timeline.dart | 4 + .../lib/generated/draw_order_timeline.dart | 4 + spine-flutter/lib/generated/event.dart | 6 +- spine-flutter/lib/generated/event_data.dart | 6 +- .../lib/generated/event_queue_entry.dart | 6 +- .../lib/generated/event_timeline.dart | 4 + .../lib/generated/from_property.dart | 2 +- spine-flutter/lib/generated/from_rotate.dart | 4 + spine-flutter/lib/generated/from_scale_x.dart | 4 + spine-flutter/lib/generated/from_scale_y.dart | 4 + spine-flutter/lib/generated/from_shear_y.dart | 4 + spine-flutter/lib/generated/from_x.dart | 4 + spine-flutter/lib/generated/from_y.dart | 4 + .../lib/generated/ik_constraint.dart | 5 + .../lib/generated/ik_constraint_data.dart | 5 + .../lib/generated/ik_constraint_pose.dart | 6 +- .../lib/generated/ik_constraint_timeline.dart | 4 + .../lib/generated/inherit_timeline.dart | 4 + .../lib/generated/mesh_attachment.dart | 4 + .../lib/generated/path_attachment.dart | 4 + .../lib/generated/path_constraint.dart | 5 + .../lib/generated/path_constraint_data.dart | 5 + .../path_constraint_mix_timeline.dart | 4 + .../lib/generated/path_constraint_pose.dart | 6 +- .../path_constraint_position_timeline.dart | 4 + .../path_constraint_spacing_timeline.dart | 4 + .../lib/generated/physics_constraint.dart | 5 + .../physics_constraint_damping_timeline.dart | 4 + .../generated/physics_constraint_data.dart | 5 + .../physics_constraint_gravity_timeline.dart | 4 + .../physics_constraint_inertia_timeline.dart | 4 + .../physics_constraint_mass_timeline.dart | 4 + .../physics_constraint_mix_timeline.dart | 4 + .../generated/physics_constraint_pose.dart | 6 +- .../physics_constraint_reset_timeline.dart | 4 + .../physics_constraint_strength_timeline.dart | 4 + .../physics_constraint_wind_timeline.dart | 4 + .../lib/generated/point_attachment.dart | 4 + spine-flutter/lib/generated/polygon.dart | 6 +- spine-flutter/lib/generated/posed_active.dart | 6 +- spine-flutter/lib/generated/posed_data.dart | 6 +- .../lib/generated/region_attachment.dart | 4 + .../lib/generated/render_command.dart | 6 +- .../lib/generated/rgb2_timeline.dart | 4 + spine-flutter/lib/generated/rgb_timeline.dart | 4 + .../lib/generated/rgba2_timeline.dart | 4 + .../lib/generated/rgba_timeline.dart | 4 + .../lib/generated/rotate_timeline.dart | 4 + spine-flutter/lib/generated/rtti.dart | 6 +- .../lib/generated/scale_timeline.dart | 4 + .../lib/generated/scale_x_timeline.dart | 4 + .../lib/generated/scale_y_timeline.dart | 4 + spine-flutter/lib/generated/sequence.dart | 6 +- .../lib/generated/sequence_timeline.dart | 4 + .../lib/generated/shear_timeline.dart | 4 + .../lib/generated/shear_x_timeline.dart | 4 + .../lib/generated/shear_y_timeline.dart | 4 + spine-flutter/lib/generated/skeleton.dart | 6 +- .../lib/generated/skeleton_binary.dart | 6 +- .../lib/generated/skeleton_bounds.dart | 6 +- .../lib/generated/skeleton_clipping.dart | 6 +- .../lib/generated/skeleton_data.dart | 6 +- .../lib/generated/skeleton_json.dart | 6 +- .../lib/generated/skeleton_renderer.dart | 6 +- spine-flutter/lib/generated/skin.dart | 6 +- spine-flutter/lib/generated/slider.dart | 5 + spine-flutter/lib/generated/slider_data.dart | 5 + .../lib/generated/slider_mix_timeline.dart | 4 + spine-flutter/lib/generated/slider_pose.dart | 6 +- .../lib/generated/slider_timeline.dart | 4 + spine-flutter/lib/generated/slot.dart | 6 +- spine-flutter/lib/generated/slot_data.dart | 5 + spine-flutter/lib/generated/slot_pose.dart | 6 +- .../lib/generated/texture_region.dart | 6 +- spine-flutter/lib/generated/timeline.dart | 2 +- spine-flutter/lib/generated/to_property.dart | 2 +- spine-flutter/lib/generated/to_rotate.dart | 4 + spine-flutter/lib/generated/to_scale_x.dart | 4 + spine-flutter/lib/generated/to_scale_y.dart | 4 + spine-flutter/lib/generated/to_shear_y.dart | 4 + spine-flutter/lib/generated/to_x.dart | 4 + spine-flutter/lib/generated/to_y.dart | 4 + spine-flutter/lib/generated/track_entry.dart | 6 +- .../lib/generated/transform_constraint.dart | 5 + .../generated/transform_constraint_data.dart | 5 + .../generated/transform_constraint_pose.dart | 6 +- .../transform_constraint_timeline.dart | 4 + .../lib/generated/translate_timeline.dart | 4 + .../lib/generated/translate_x_timeline.dart | 4 + .../lib/generated/translate_y_timeline.dart | 4 + spine-flutter/lib/new_extensions.dart | 9 +- .../test/{bin => }/headless_test.dart | 24 +- spine-flutter/test/pubspec.lock | 288 ++++++++++++++++++ spine-flutter/test/pubspec.yaml | 1 + 116 files changed, 810 insertions(+), 72 deletions(-) rename spine-flutter/test/{bin => }/headless_test.dart (52%) diff --git a/spine-flutter/.vscode/launch.json b/spine-flutter/.vscode/launch.json index a8d307553..85193672b 100644 --- a/spine-flutter/.vscode/launch.json +++ b/spine-flutter/.vscode/launch.json @@ -4,6 +4,13 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + { + "name": "headless-test (dart)", + "type": "dart", + "request": "launch", + "program": "headless_test.dart", + "cwd": "${workspaceFolder}/test" + }, { "name": "spine-flutter", "request": "launch", @@ -40,13 +47,6 @@ "request": "launch", "type": "dart", "flutterMode": "release" - }, - { - "name": "headless-test (dart)", - "cwd": "test", - "request": "launch", - "type": "dart", - "program": "bin/headless_test.dart" } ] } \ No newline at end of file diff --git a/spine-flutter/codegen/package.json b/spine-flutter/codegen/package.json index 549279d8c..af8805af3 100644 --- a/spine-flutter/codegen/package.json +++ b/spine-flutter/codegen/package.json @@ -3,7 +3,7 @@ "type": "module", "scripts": { "format": "npx -y typescript-formatter -r **/*.ts", - "build": "npx tsx src/index.ts" + "generate": "npx tsx src/index.ts" }, "dependencies": { "spine-c-codegen": "file:../../spine-c/codegen" diff --git a/spine-flutter/codegen/src/dart-writer.ts b/spine-flutter/codegen/src/dart-writer.ts index 11809f26d..90a52a702 100644 --- a/spine-flutter/codegen/src/dart-writer.ts +++ b/spine-flutter/codegen/src/dart-writer.ts @@ -246,6 +246,11 @@ export class DartWriter { } } + // Add destructor as dispose method for concrete classes + if (classType === 'concrete' && cType.destructor) { + members.push(this.createDisposeMethod(cType.destructor, cType)); + } + // Process methods with unified logic - Apply SAME logic for ALL class types const validMethods = cType.methods.filter(method => { if (this.hasRawPointerParameters(method)) { @@ -339,6 +344,20 @@ export class DartWriter { return overloadedSetters; } + private createDisposeMethod (destructor: CMethod, cType: CClassOrStruct): DartMember { + const implementation = `SpineBindings.bindings.${destructor.name}(_ptr);`; + + return { + type: 'method', + name: 'dispose', + dartReturnType: 'void', + parameters: [], + isOverride: false, + implementation, + cMethodName: destructor.name + }; + } + private createConstructor (constr: CMethod, cType: CClassOrStruct): DartMember { const dartClassName = this.toDartTypeName(cType.name); const params = constr.parameters.map(p => ({ @@ -530,15 +549,10 @@ export class DartWriter { declaration += ` extends ${dartClass.inheritance.extends}`; } - // Implements clause - combine Finalizable with other interfaces + // Implements clause const implementsClasses: string[] = []; - // Add Finalizable for non-interface classes that don't extend another class - if (dartClass.type !== 'interface' && !dartClass.inheritance.extends) { - implementsClasses.push('Finalizable'); - } - - // Add other interfaces + // Add interfaces implementsClasses.push(...dartClass.inheritance.implements); if (implementsClasses.length > 0) { @@ -1305,6 +1319,12 @@ ${declaration} {`; } const methodSuffix = this.getMethodSuffix(method.name, cType.name); + + // Don't consider dispose methods as inherited - they're type-specific + if (methodSuffix === 'dispose') { + return false; + } + const parentMethodName = `${parentName}_${methodSuffix}`; const hasInParent = parent.methods.some(m => m.name === parentMethodName); diff --git a/spine-flutter/codegen/src/index.ts b/spine-flutter/codegen/src/index.ts index e6a9e9732..1d459285d 100644 --- a/spine-flutter/codegen/src/index.ts +++ b/spine-flutter/codegen/src/index.ts @@ -155,7 +155,7 @@ async function main() { if (justGenerateYaml) { console.log('Generating ffigen.yaml only...\n'); - + // Generate FFI bindings YAML config only const spineCDir = path.join(__dirname, '../../src/spine-c'); await generateFFigenYamlOnly(spineCDir); @@ -197,9 +197,9 @@ async function main() { stdio: 'inherit' }); - // Run dart format to format the code + // Run custom dart format script console.log('Running dart format...'); - execSync('dart format lib/generated/', { + execSync(path.join(__dirname, '../../../formatters/format-dart.sh lib/generated/'), { cwd: projectRoot, stdio: 'inherit' }); diff --git a/spine-flutter/generate-bindings.sh b/spine-flutter/generate-bindings.sh index 1ba6b84c1..28fb6dbc8 100755 --- a/spine-flutter/generate-bindings.sh +++ b/spine-flutter/generate-bindings.sh @@ -20,4 +20,9 @@ fi # Run the codegen npx tsx codegen/src/index.ts +# Build test spine_flutter shared library +pushd ../spine_flutter/test > /dev/null +./build.sh +popd + popd > /dev/null \ No newline at end of file diff --git a/spine-flutter/lib/generated/alpha_timeline.dart b/spine-flutter/lib/generated/alpha_timeline.dart index 145bcf736..a5772f2a7 100644 --- a/spine-flutter/lib/generated/alpha_timeline.dart +++ b/spine-flutter/lib/generated/alpha_timeline.dart @@ -50,6 +50,10 @@ class AlphaTimeline extends CurveTimeline1 implements SlotTimeline { return AlphaTimeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_alpha_timeline_dispose(_ptr); + } + @override int get slotIndex { final result = SpineBindings.bindings.spine_alpha_timeline_get_slot_index(_ptr); diff --git a/spine-flutter/lib/generated/animation.dart b/spine-flutter/lib/generated/animation.dart index b04506ae4..33702658f 100644 --- a/spine-flutter/lib/generated/animation.dart +++ b/spine-flutter/lib/generated/animation.dart @@ -39,7 +39,7 @@ import 'mix_direction.dart'; import 'skeleton.dart'; /// Animation wrapper -class Animation implements Finalizable { +class Animation { final Pointer _ptr; Animation.fromPointer(this._ptr); @@ -53,6 +53,10 @@ class Animation implements Finalizable { return Animation.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_animation_dispose(_ptr); + } + ArrayTimeline get timelines { final result = SpineBindings.bindings.spine_animation_get_timelines(_ptr); return ArrayTimeline.fromPointer(result); diff --git a/spine-flutter/lib/generated/animation_state.dart b/spine-flutter/lib/generated/animation_state.dart index 5528bf45a..080c00f38 100644 --- a/spine-flutter/lib/generated/animation_state.dart +++ b/spine-flutter/lib/generated/animation_state.dart @@ -40,7 +40,7 @@ import 'skeleton.dart'; import 'track_entry.dart'; /// AnimationState wrapper -class AnimationState implements Finalizable { +class AnimationState { final Pointer _ptr; AnimationState.fromPointer(this._ptr); @@ -53,6 +53,10 @@ class AnimationState implements Finalizable { return AnimationState.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_animation_state_dispose(_ptr); + } + void update(double delta) { SpineBindings.bindings.spine_animation_state_update(_ptr, delta); } diff --git a/spine-flutter/lib/generated/animation_state_data.dart b/spine-flutter/lib/generated/animation_state_data.dart index d4d389cad..bfb89971c 100644 --- a/spine-flutter/lib/generated/animation_state_data.dart +++ b/spine-flutter/lib/generated/animation_state_data.dart @@ -37,7 +37,7 @@ import 'animation.dart'; import 'skeleton_data.dart'; /// AnimationStateData wrapper -class AnimationStateData implements Finalizable { +class AnimationStateData { final Pointer _ptr; AnimationStateData.fromPointer(this._ptr); @@ -50,6 +50,10 @@ class AnimationStateData implements Finalizable { return AnimationStateData.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_animation_state_data_dispose(_ptr); + } + SkeletonData get skeletonData { final result = SpineBindings.bindings.spine_animation_state_data_get_skeleton_data(_ptr); return SkeletonData.fromPointer(result); diff --git a/spine-flutter/lib/generated/atlas.dart b/spine-flutter/lib/generated/atlas.dart index bb18bb67f..7eb4fb5e8 100644 --- a/spine-flutter/lib/generated/atlas.dart +++ b/spine-flutter/lib/generated/atlas.dart @@ -37,7 +37,7 @@ import 'arrays.dart'; import 'atlas_region.dart'; /// Atlas wrapper -class Atlas implements Finalizable { +class Atlas { final Pointer _ptr; Atlas.fromPointer(this._ptr); diff --git a/spine-flutter/lib/generated/atlas_attachment_loader.dart b/spine-flutter/lib/generated/atlas_attachment_loader.dart index 1be640ae6..7acd4f9b2 100644 --- a/spine-flutter/lib/generated/atlas_attachment_loader.dart +++ b/spine-flutter/lib/generated/atlas_attachment_loader.dart @@ -46,7 +46,7 @@ import 'sequence.dart'; import 'skin.dart'; /// AtlasAttachmentLoader wrapper -class AtlasAttachmentLoader implements Finalizable, AttachmentLoader { +class AtlasAttachmentLoader implements AttachmentLoader { final Pointer _ptr; AtlasAttachmentLoader.fromPointer(this._ptr); @@ -60,6 +60,10 @@ class AtlasAttachmentLoader implements Finalizable, AttachmentLoader { return AtlasAttachmentLoader.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_atlas_attachment_loader_dispose(_ptr); + } + @override RegionAttachment newRegionAttachment(Skin skin, String name, String path, Sequence sequence) { final result = SpineBindings.bindings.spine_atlas_attachment_loader_new_region_attachment( diff --git a/spine-flutter/lib/generated/atlas_page.dart b/spine-flutter/lib/generated/atlas_page.dart index 225f88bba..ac6171a03 100644 --- a/spine-flutter/lib/generated/atlas_page.dart +++ b/spine-flutter/lib/generated/atlas_page.dart @@ -38,7 +38,7 @@ import 'texture_filter.dart'; import 'texture_wrap.dart'; /// AtlasPage wrapper -class AtlasPage implements Finalizable { +class AtlasPage { final Pointer _ptr; AtlasPage.fromPointer(this._ptr); @@ -51,6 +51,10 @@ class AtlasPage implements Finalizable { return AtlasPage.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_atlas_page_dispose(_ptr); + } + String get name { final result = SpineBindings.bindings.spine_atlas_page_get_name(_ptr); return result.cast().toDartString(); diff --git a/spine-flutter/lib/generated/atlas_region.dart b/spine-flutter/lib/generated/atlas_region.dart index e990b0e7c..7e81cc8a7 100644 --- a/spine-flutter/lib/generated/atlas_region.dart +++ b/spine-flutter/lib/generated/atlas_region.dart @@ -52,6 +52,11 @@ class AtlasRegion extends TextureRegion { return AtlasRegion.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_atlas_region_dispose(_ptr); + } + AtlasPage get page { final result = SpineBindings.bindings.spine_atlas_region_get_page(_ptr); return AtlasPage.fromPointer(result); diff --git a/spine-flutter/lib/generated/attachment.dart b/spine-flutter/lib/generated/attachment.dart index 40ea0f345..f6658cd9c 100644 --- a/spine-flutter/lib/generated/attachment.dart +++ b/spine-flutter/lib/generated/attachment.dart @@ -42,7 +42,7 @@ import 'point_attachment.dart'; import 'region_attachment.dart'; /// Attachment wrapper -abstract class Attachment implements Finalizable { +abstract class Attachment { final Pointer _ptr; Attachment.fromPointer(this._ptr); diff --git a/spine-flutter/lib/generated/attachment_timeline.dart b/spine-flutter/lib/generated/attachment_timeline.dart index 92d99a5d6..2376d3888 100644 --- a/spine-flutter/lib/generated/attachment_timeline.dart +++ b/spine-flutter/lib/generated/attachment_timeline.dart @@ -51,6 +51,10 @@ class AttachmentTimeline extends Timeline implements SlotTimeline { return AttachmentTimeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_attachment_timeline_dispose(_ptr); + } + void setFrame(int frame, double time, String attachmentName) { SpineBindings.bindings .spine_attachment_timeline_set_frame(_ptr, frame, time, attachmentName.toNativeUtf8().cast()); diff --git a/spine-flutter/lib/generated/bone.dart b/spine-flutter/lib/generated/bone.dart index 0da4633e9..d49cd6255 100644 --- a/spine-flutter/lib/generated/bone.dart +++ b/spine-flutter/lib/generated/bone.dart @@ -63,6 +63,11 @@ class Bone extends PosedActive implements Posed, Update { return Bone.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_bone_dispose(_ptr); + } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_bone_get_rtti(_ptr); diff --git a/spine-flutter/lib/generated/bone_data.dart b/spine-flutter/lib/generated/bone_data.dart index 93cef90e2..af65f6aa7 100644 --- a/spine-flutter/lib/generated/bone_data.dart +++ b/spine-flutter/lib/generated/bone_data.dart @@ -53,6 +53,11 @@ class BoneData extends PosedData { return BoneData.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_bone_data_dispose(_ptr); + } + int get index { final result = SpineBindings.bindings.spine_bone_data_get_index(_ptr); return result; diff --git a/spine-flutter/lib/generated/bone_local.dart b/spine-flutter/lib/generated/bone_local.dart index 2ecf1b8e1..5b58bacc6 100644 --- a/spine-flutter/lib/generated/bone_local.dart +++ b/spine-flutter/lib/generated/bone_local.dart @@ -35,7 +35,7 @@ import '../spine_bindings.dart'; import 'inherit.dart'; /// BoneLocal wrapper -class BoneLocal implements Finalizable { +class BoneLocal { final Pointer _ptr; BoneLocal.fromPointer(this._ptr); @@ -48,6 +48,10 @@ class BoneLocal implements Finalizable { return BoneLocal.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_bone_local_dispose(_ptr); + } + void set(BoneLocal pose) { SpineBindings.bindings.spine_bone_local_set(_ptr, pose.nativePtr.cast()); } diff --git a/spine-flutter/lib/generated/bone_pose.dart b/spine-flutter/lib/generated/bone_pose.dart index f9e271ef6..e1957af5b 100644 --- a/spine-flutter/lib/generated/bone_pose.dart +++ b/spine-flutter/lib/generated/bone_pose.dart @@ -53,6 +53,11 @@ class BonePose extends BoneLocal implements Update { return BonePose.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_bone_pose_dispose(_ptr); + } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_bone_pose_get_rtti(_ptr); diff --git a/spine-flutter/lib/generated/bounding_box_attachment.dart b/spine-flutter/lib/generated/bounding_box_attachment.dart index 7e237158d..f07f3afac 100644 --- a/spine-flutter/lib/generated/bounding_box_attachment.dart +++ b/spine-flutter/lib/generated/bounding_box_attachment.dart @@ -51,6 +51,10 @@ class BoundingBoxAttachment extends VertexAttachment { return BoundingBoxAttachment.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_bounding_box_attachment_dispose(_ptr); + } + Color get color { final result = SpineBindings.bindings.spine_bounding_box_attachment_get_color(_ptr); return Color.fromPointer(result); diff --git a/spine-flutter/lib/generated/clipping_attachment.dart b/spine-flutter/lib/generated/clipping_attachment.dart index da250f823..846fe2b4b 100644 --- a/spine-flutter/lib/generated/clipping_attachment.dart +++ b/spine-flutter/lib/generated/clipping_attachment.dart @@ -52,6 +52,10 @@ class ClippingAttachment extends VertexAttachment { return ClippingAttachment.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_clipping_attachment_dispose(_ptr); + } + SlotData get endSlot { final result = SpineBindings.bindings.spine_clipping_attachment_get_end_slot(_ptr); return SlotData.fromPointer(result); diff --git a/spine-flutter/lib/generated/color.dart b/spine-flutter/lib/generated/color.dart index 1ec96b565..e6555c41a 100644 --- a/spine-flutter/lib/generated/color.dart +++ b/spine-flutter/lib/generated/color.dart @@ -35,7 +35,7 @@ import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// Color wrapper -class Color implements Finalizable { +class Color { final Pointer _ptr; Color.fromPointer(this._ptr); @@ -53,6 +53,10 @@ class Color implements Finalizable { return Color.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_color_dispose(_ptr); + } + Color clamp() { final result = SpineBindings.bindings.spine_color_clamp(_ptr); return Color.fromPointer(result); diff --git a/spine-flutter/lib/generated/deform_timeline.dart b/spine-flutter/lib/generated/deform_timeline.dart index a47885f27..d243311b3 100644 --- a/spine-flutter/lib/generated/deform_timeline.dart +++ b/spine-flutter/lib/generated/deform_timeline.dart @@ -57,6 +57,10 @@ class DeformTimeline extends SlotCurveTimeline { return DeformTimeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_deform_timeline_dispose(_ptr); + } + void setFrame(int frameIndex, double time, ArrayFloat vertices) { SpineBindings.bindings.spine_deform_timeline_set_frame(_ptr, frameIndex, time, vertices.nativePtr.cast()); } diff --git a/spine-flutter/lib/generated/draw_order_timeline.dart b/spine-flutter/lib/generated/draw_order_timeline.dart index a995ffcd4..b8fc7cfb0 100644 --- a/spine-flutter/lib/generated/draw_order_timeline.dart +++ b/spine-flutter/lib/generated/draw_order_timeline.dart @@ -50,6 +50,10 @@ class DrawOrderTimeline extends Timeline { return DrawOrderTimeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_draw_order_timeline_dispose(_ptr); + } + void setFrame(int frame, double time, ArrayInt drawOrder) { SpineBindings.bindings.spine_draw_order_timeline_set_frame(_ptr, frame, time, drawOrder.nativePtr.cast()); } diff --git a/spine-flutter/lib/generated/event.dart b/spine-flutter/lib/generated/event.dart index bfdeca8df..041d7af1a 100644 --- a/spine-flutter/lib/generated/event.dart +++ b/spine-flutter/lib/generated/event.dart @@ -36,7 +36,7 @@ import '../spine_bindings.dart'; import 'event_data.dart'; /// Event wrapper -class Event implements Finalizable { +class Event { final Pointer _ptr; Event.fromPointer(this._ptr); @@ -49,6 +49,10 @@ class Event implements Finalizable { return Event.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_event_dispose(_ptr); + } + EventData get data { final result = SpineBindings.bindings.spine_event_get_data(_ptr); return EventData.fromPointer(result); diff --git a/spine-flutter/lib/generated/event_data.dart b/spine-flutter/lib/generated/event_data.dart index d07371ebd..90f58fbb6 100644 --- a/spine-flutter/lib/generated/event_data.dart +++ b/spine-flutter/lib/generated/event_data.dart @@ -35,7 +35,7 @@ import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// EventData wrapper -class EventData implements Finalizable { +class EventData { final Pointer _ptr; EventData.fromPointer(this._ptr); @@ -48,6 +48,10 @@ class EventData implements Finalizable { return EventData.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_event_data_dispose(_ptr); + } + String get name { final result = SpineBindings.bindings.spine_event_data_get_name(_ptr); return result.cast().toDartString(); diff --git a/spine-flutter/lib/generated/event_queue_entry.dart b/spine-flutter/lib/generated/event_queue_entry.dart index a7ee5f7b6..a43971226 100644 --- a/spine-flutter/lib/generated/event_queue_entry.dart +++ b/spine-flutter/lib/generated/event_queue_entry.dart @@ -37,7 +37,7 @@ import 'event_type.dart'; import 'track_entry.dart'; /// EventQueueEntry wrapper -class EventQueueEntry implements Finalizable { +class EventQueueEntry { final Pointer _ptr; EventQueueEntry.fromPointer(this._ptr); @@ -51,6 +51,10 @@ class EventQueueEntry implements Finalizable { return EventQueueEntry.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_event_queue_entry_dispose(_ptr); + } + EventType get type { final result = SpineBindings.bindings.spine_event_queue_entry_get__type(_ptr); return EventType.fromValue(result); diff --git a/spine-flutter/lib/generated/event_timeline.dart b/spine-flutter/lib/generated/event_timeline.dart index b061a7e73..48e2917b1 100644 --- a/spine-flutter/lib/generated/event_timeline.dart +++ b/spine-flutter/lib/generated/event_timeline.dart @@ -51,6 +51,10 @@ class EventTimeline extends Timeline { return EventTimeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_event_timeline_dispose(_ptr); + } + ArrayEvent get events { final result = SpineBindings.bindings.spine_event_timeline_get_events(_ptr); return ArrayEvent.fromPointer(result); diff --git a/spine-flutter/lib/generated/from_property.dart b/spine-flutter/lib/generated/from_property.dart index fb6abbb00..c1c3ab420 100644 --- a/spine-flutter/lib/generated/from_property.dart +++ b/spine-flutter/lib/generated/from_property.dart @@ -36,7 +36,7 @@ import 'rtti.dart'; import 'arrays.dart'; /// FromProperty wrapper -abstract class FromProperty implements Finalizable { +abstract class FromProperty { final Pointer _ptr; FromProperty.fromPointer(this._ptr); diff --git a/spine-flutter/lib/generated/from_rotate.dart b/spine-flutter/lib/generated/from_rotate.dart index 4626c2644..8b4bfad0e 100644 --- a/spine-flutter/lib/generated/from_rotate.dart +++ b/spine-flutter/lib/generated/from_rotate.dart @@ -48,4 +48,8 @@ class FromRotate extends FromProperty { final ptr = SpineBindings.bindings.spine_from_rotate_create(); return FromRotate.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_from_rotate_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/from_scale_x.dart b/spine-flutter/lib/generated/from_scale_x.dart index 08c3e5c7e..f852b3d72 100644 --- a/spine-flutter/lib/generated/from_scale_x.dart +++ b/spine-flutter/lib/generated/from_scale_x.dart @@ -48,4 +48,8 @@ class FromScaleX extends FromProperty { final ptr = SpineBindings.bindings.spine_from_scale_x_create(); return FromScaleX.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_from_scale_x_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/from_scale_y.dart b/spine-flutter/lib/generated/from_scale_y.dart index 3580048ce..975c9f399 100644 --- a/spine-flutter/lib/generated/from_scale_y.dart +++ b/spine-flutter/lib/generated/from_scale_y.dart @@ -48,4 +48,8 @@ class FromScaleY extends FromProperty { final ptr = SpineBindings.bindings.spine_from_scale_y_create(); return FromScaleY.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_from_scale_y_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/from_shear_y.dart b/spine-flutter/lib/generated/from_shear_y.dart index b403b85ce..00e023bd4 100644 --- a/spine-flutter/lib/generated/from_shear_y.dart +++ b/spine-flutter/lib/generated/from_shear_y.dart @@ -48,4 +48,8 @@ class FromShearY extends FromProperty { final ptr = SpineBindings.bindings.spine_from_shear_y_create(); return FromShearY.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_from_shear_y_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/from_x.dart b/spine-flutter/lib/generated/from_x.dart index a346ec66e..64935354a 100644 --- a/spine-flutter/lib/generated/from_x.dart +++ b/spine-flutter/lib/generated/from_x.dart @@ -48,4 +48,8 @@ class FromX extends FromProperty { final ptr = SpineBindings.bindings.spine_from_x_create(); return FromX.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_from_x_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/from_y.dart b/spine-flutter/lib/generated/from_y.dart index 1d44c3f3d..5a890485c 100644 --- a/spine-flutter/lib/generated/from_y.dart +++ b/spine-flutter/lib/generated/from_y.dart @@ -48,4 +48,8 @@ class FromY extends FromProperty { final ptr = SpineBindings.bindings.spine_from_y_create(); return FromY.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_from_y_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/ik_constraint.dart b/spine-flutter/lib/generated/ik_constraint.dart index 167d342dd..09d2eeb7a 100644 --- a/spine-flutter/lib/generated/ik_constraint.dart +++ b/spine-flutter/lib/generated/ik_constraint.dart @@ -59,6 +59,11 @@ class IkConstraint extends PosedActive implements Posed, Constraint { return IkConstraint.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_ik_constraint_dispose(_ptr); + } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_ik_constraint_get_rtti(_ptr); diff --git a/spine-flutter/lib/generated/ik_constraint_data.dart b/spine-flutter/lib/generated/ik_constraint_data.dart index 1c6b51d42..db2e1ccf9 100644 --- a/spine-flutter/lib/generated/ik_constraint_data.dart +++ b/spine-flutter/lib/generated/ik_constraint_data.dart @@ -62,6 +62,11 @@ class IkConstraintData extends PosedData implements ConstraintData { return IkConstraintData.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_ik_constraint_data_dispose(_ptr); + } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_ik_constraint_data_get_rtti(_ptr); diff --git a/spine-flutter/lib/generated/ik_constraint_pose.dart b/spine-flutter/lib/generated/ik_constraint_pose.dart index a7c6e544d..9b4a230db 100644 --- a/spine-flutter/lib/generated/ik_constraint_pose.dart +++ b/spine-flutter/lib/generated/ik_constraint_pose.dart @@ -34,7 +34,7 @@ import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// IkConstraintPose wrapper -class IkConstraintPose implements Finalizable { +class IkConstraintPose { final Pointer _ptr; IkConstraintPose.fromPointer(this._ptr); @@ -47,6 +47,10 @@ class IkConstraintPose implements Finalizable { return IkConstraintPose.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_ik_constraint_pose_dispose(_ptr); + } + void set(IkConstraintPose pose) { SpineBindings.bindings.spine_ik_constraint_pose_set(_ptr, pose.nativePtr.cast()); } diff --git a/spine-flutter/lib/generated/ik_constraint_timeline.dart b/spine-flutter/lib/generated/ik_constraint_timeline.dart index e03bbc44d..7e1937cb8 100644 --- a/spine-flutter/lib/generated/ik_constraint_timeline.dart +++ b/spine-flutter/lib/generated/ik_constraint_timeline.dart @@ -50,6 +50,10 @@ class IkConstraintTimeline extends CurveTimeline implements ConstraintTimeline { return IkConstraintTimeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_ik_constraint_timeline_dispose(_ptr); + } + void setFrame(int frame, double time, double mix, double softness, int bendDirection, bool compress, bool stretch) { SpineBindings.bindings .spine_ik_constraint_timeline_set_frame(_ptr, frame, time, mix, softness, bendDirection, compress, stretch); diff --git a/spine-flutter/lib/generated/inherit_timeline.dart b/spine-flutter/lib/generated/inherit_timeline.dart index 6313e07e7..4f50e65bf 100644 --- a/spine-flutter/lib/generated/inherit_timeline.dart +++ b/spine-flutter/lib/generated/inherit_timeline.dart @@ -51,6 +51,10 @@ class InheritTimeline extends Timeline implements BoneTimeline { return InheritTimeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_inherit_timeline_dispose(_ptr); + } + void setFrame(int frame, double time, Inherit inherit) { SpineBindings.bindings.spine_inherit_timeline_set_frame(_ptr, frame, time, inherit.value); } diff --git a/spine-flutter/lib/generated/mesh_attachment.dart b/spine-flutter/lib/generated/mesh_attachment.dart index 4ee70c0b8..3688c788e 100644 --- a/spine-flutter/lib/generated/mesh_attachment.dart +++ b/spine-flutter/lib/generated/mesh_attachment.dart @@ -54,6 +54,10 @@ class MeshAttachment extends VertexAttachment { return MeshAttachment.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_mesh_attachment_dispose(_ptr); + } + void updateRegion() { SpineBindings.bindings.spine_mesh_attachment_update_region(_ptr); } diff --git a/spine-flutter/lib/generated/path_attachment.dart b/spine-flutter/lib/generated/path_attachment.dart index 24b0542ca..8c9f1bbee 100644 --- a/spine-flutter/lib/generated/path_attachment.dart +++ b/spine-flutter/lib/generated/path_attachment.dart @@ -52,6 +52,10 @@ class PathAttachment extends VertexAttachment { return PathAttachment.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_path_attachment_dispose(_ptr); + } + ArrayFloat get lengths { final result = SpineBindings.bindings.spine_path_attachment_get_lengths(_ptr); return ArrayFloat.fromPointer(result); diff --git a/spine-flutter/lib/generated/path_constraint.dart b/spine-flutter/lib/generated/path_constraint.dart index b9bb2c4a2..9a1b1a3d2 100644 --- a/spine-flutter/lib/generated/path_constraint.dart +++ b/spine-flutter/lib/generated/path_constraint.dart @@ -58,6 +58,11 @@ class PathConstraint extends PosedActive implements Posed, Constraint { return PathConstraint.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_path_constraint_dispose(_ptr); + } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_path_constraint_get_rtti(_ptr); diff --git a/spine-flutter/lib/generated/path_constraint_data.dart b/spine-flutter/lib/generated/path_constraint_data.dart index 8a0124110..7aa41a872 100644 --- a/spine-flutter/lib/generated/path_constraint_data.dart +++ b/spine-flutter/lib/generated/path_constraint_data.dart @@ -65,6 +65,11 @@ class PathConstraintData extends PosedData implements ConstraintData { return PathConstraintData.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_path_constraint_data_dispose(_ptr); + } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_path_constraint_data_get_rtti(_ptr); diff --git a/spine-flutter/lib/generated/path_constraint_mix_timeline.dart b/spine-flutter/lib/generated/path_constraint_mix_timeline.dart index 0aaf647aa..b129fba36 100644 --- a/spine-flutter/lib/generated/path_constraint_mix_timeline.dart +++ b/spine-flutter/lib/generated/path_constraint_mix_timeline.dart @@ -51,6 +51,10 @@ class PathConstraintMixTimeline extends CurveTimeline implements ConstraintTimel return PathConstraintMixTimeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_path_constraint_mix_timeline_dispose(_ptr); + } + void setFrame(int frame, double time, double mixRotate, double mixX, double mixY) { SpineBindings.bindings.spine_path_constraint_mix_timeline_set_frame(_ptr, frame, time, mixRotate, mixX, mixY); } diff --git a/spine-flutter/lib/generated/path_constraint_pose.dart b/spine-flutter/lib/generated/path_constraint_pose.dart index 9a0ead018..7b0a9065f 100644 --- a/spine-flutter/lib/generated/path_constraint_pose.dart +++ b/spine-flutter/lib/generated/path_constraint_pose.dart @@ -34,7 +34,7 @@ import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// PathConstraintPose wrapper -class PathConstraintPose implements Finalizable { +class PathConstraintPose { final Pointer _ptr; PathConstraintPose.fromPointer(this._ptr); @@ -47,6 +47,10 @@ class PathConstraintPose implements Finalizable { return PathConstraintPose.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_path_constraint_pose_dispose(_ptr); + } + void set(PathConstraintPose pose) { SpineBindings.bindings.spine_path_constraint_pose_set(_ptr, pose.nativePtr.cast()); } diff --git a/spine-flutter/lib/generated/path_constraint_position_timeline.dart b/spine-flutter/lib/generated/path_constraint_position_timeline.dart index 29b8d88e4..5b8c25501 100644 --- a/spine-flutter/lib/generated/path_constraint_position_timeline.dart +++ b/spine-flutter/lib/generated/path_constraint_position_timeline.dart @@ -49,4 +49,8 @@ class PathConstraintPositionTimeline extends ConstraintTimeline1 { SpineBindings.bindings.spine_path_constraint_position_timeline_create(frameCount, bezierCount, constraintIndex); return PathConstraintPositionTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_path_constraint_position_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/path_constraint_spacing_timeline.dart b/spine-flutter/lib/generated/path_constraint_spacing_timeline.dart index da4876d66..8c5c09660 100644 --- a/spine-flutter/lib/generated/path_constraint_spacing_timeline.dart +++ b/spine-flutter/lib/generated/path_constraint_spacing_timeline.dart @@ -49,4 +49,8 @@ class PathConstraintSpacingTimeline extends ConstraintTimeline1 { SpineBindings.bindings.spine_path_constraint_spacing_timeline_create(frameCount, bezierCount, constraintIndex); return PathConstraintSpacingTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_path_constraint_spacing_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/physics_constraint.dart b/spine-flutter/lib/generated/physics_constraint.dart index 2af5ac850..e9831a3c6 100644 --- a/spine-flutter/lib/generated/physics_constraint.dart +++ b/spine-flutter/lib/generated/physics_constraint.dart @@ -58,6 +58,11 @@ class PhysicsConstraint extends PosedActive implements Posed, Constraint { return PhysicsConstraint.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_physics_constraint_dispose(_ptr); + } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_physics_constraint_get_rtti(_ptr); diff --git a/spine-flutter/lib/generated/physics_constraint_damping_timeline.dart b/spine-flutter/lib/generated/physics_constraint_damping_timeline.dart index 46050653a..6fe67dea0 100644 --- a/spine-flutter/lib/generated/physics_constraint_damping_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_damping_timeline.dart @@ -49,4 +49,8 @@ class PhysicsConstraintDampingTimeline extends PhysicsConstraintTimeline { .spine_physics_constraint_damping_timeline_create(frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintDampingTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_physics_constraint_damping_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/physics_constraint_data.dart b/spine-flutter/lib/generated/physics_constraint_data.dart index 9b506b2bc..04c136f69 100644 --- a/spine-flutter/lib/generated/physics_constraint_data.dart +++ b/spine-flutter/lib/generated/physics_constraint_data.dart @@ -61,6 +61,11 @@ class PhysicsConstraintData extends PosedData implements ConstraintData { return PhysicsConstraintData.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_physics_constraint_data_dispose(_ptr); + } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_physics_constraint_data_get_rtti(_ptr); diff --git a/spine-flutter/lib/generated/physics_constraint_gravity_timeline.dart b/spine-flutter/lib/generated/physics_constraint_gravity_timeline.dart index a86928c3f..3b5a45e22 100644 --- a/spine-flutter/lib/generated/physics_constraint_gravity_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_gravity_timeline.dart @@ -49,4 +49,8 @@ class PhysicsConstraintGravityTimeline extends PhysicsConstraintTimeline { .spine_physics_constraint_gravity_timeline_create(frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintGravityTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_physics_constraint_gravity_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/physics_constraint_inertia_timeline.dart b/spine-flutter/lib/generated/physics_constraint_inertia_timeline.dart index 676efa26f..95987dcfc 100644 --- a/spine-flutter/lib/generated/physics_constraint_inertia_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_inertia_timeline.dart @@ -49,4 +49,8 @@ class PhysicsConstraintInertiaTimeline extends PhysicsConstraintTimeline { .spine_physics_constraint_inertia_timeline_create(frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintInertiaTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_physics_constraint_inertia_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/physics_constraint_mass_timeline.dart b/spine-flutter/lib/generated/physics_constraint_mass_timeline.dart index 927e65ef4..0b232541c 100644 --- a/spine-flutter/lib/generated/physics_constraint_mass_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_mass_timeline.dart @@ -49,4 +49,8 @@ class PhysicsConstraintMassTimeline extends PhysicsConstraintTimeline { .spine_physics_constraint_mass_timeline_create(frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintMassTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_physics_constraint_mass_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/physics_constraint_mix_timeline.dart b/spine-flutter/lib/generated/physics_constraint_mix_timeline.dart index bb3322db9..02fefba82 100644 --- a/spine-flutter/lib/generated/physics_constraint_mix_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_mix_timeline.dart @@ -49,4 +49,8 @@ class PhysicsConstraintMixTimeline extends PhysicsConstraintTimeline { .spine_physics_constraint_mix_timeline_create(frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintMixTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_physics_constraint_mix_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/physics_constraint_pose.dart b/spine-flutter/lib/generated/physics_constraint_pose.dart index 7600451e4..e0a602452 100644 --- a/spine-flutter/lib/generated/physics_constraint_pose.dart +++ b/spine-flutter/lib/generated/physics_constraint_pose.dart @@ -34,7 +34,7 @@ import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// PhysicsConstraintPose wrapper -class PhysicsConstraintPose implements Finalizable { +class PhysicsConstraintPose { final Pointer _ptr; PhysicsConstraintPose.fromPointer(this._ptr); @@ -47,6 +47,10 @@ class PhysicsConstraintPose implements Finalizable { return PhysicsConstraintPose.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_physics_constraint_pose_dispose(_ptr); + } + void set(PhysicsConstraintPose pose) { SpineBindings.bindings.spine_physics_constraint_pose_set(_ptr, pose.nativePtr.cast()); } diff --git a/spine-flutter/lib/generated/physics_constraint_reset_timeline.dart b/spine-flutter/lib/generated/physics_constraint_reset_timeline.dart index 16e9546ba..2e995bf60 100644 --- a/spine-flutter/lib/generated/physics_constraint_reset_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_reset_timeline.dart @@ -50,6 +50,10 @@ class PhysicsConstraintResetTimeline extends Timeline implements ConstraintTimel return PhysicsConstraintResetTimeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_physics_constraint_reset_timeline_dispose(_ptr); + } + @override int get constraintIndex { final result = SpineBindings.bindings.spine_physics_constraint_reset_timeline_get_constraint_index(_ptr); diff --git a/spine-flutter/lib/generated/physics_constraint_strength_timeline.dart b/spine-flutter/lib/generated/physics_constraint_strength_timeline.dart index 6b34eace5..7139605e9 100644 --- a/spine-flutter/lib/generated/physics_constraint_strength_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_strength_timeline.dart @@ -49,4 +49,8 @@ class PhysicsConstraintStrengthTimeline extends PhysicsConstraintTimeline { .spine_physics_constraint_strength_timeline_create(frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintStrengthTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_physics_constraint_strength_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/physics_constraint_wind_timeline.dart b/spine-flutter/lib/generated/physics_constraint_wind_timeline.dart index a2574175f..fcd084e5b 100644 --- a/spine-flutter/lib/generated/physics_constraint_wind_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_wind_timeline.dart @@ -49,4 +49,8 @@ class PhysicsConstraintWindTimeline extends PhysicsConstraintTimeline { .spine_physics_constraint_wind_timeline_create(frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintWindTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_physics_constraint_wind_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/point_attachment.dart b/spine-flutter/lib/generated/point_attachment.dart index 8d7a4c283..ae794e322 100644 --- a/spine-flutter/lib/generated/point_attachment.dart +++ b/spine-flutter/lib/generated/point_attachment.dart @@ -52,6 +52,10 @@ class PointAttachment extends Attachment { return PointAttachment.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_point_attachment_dispose(_ptr); + } + double get x { final result = SpineBindings.bindings.spine_point_attachment_get_x(_ptr); return result; diff --git a/spine-flutter/lib/generated/polygon.dart b/spine-flutter/lib/generated/polygon.dart index ac5b45a0c..d55971820 100644 --- a/spine-flutter/lib/generated/polygon.dart +++ b/spine-flutter/lib/generated/polygon.dart @@ -35,7 +35,7 @@ import '../spine_bindings.dart'; import 'arrays.dart'; /// Polygon wrapper -class Polygon implements Finalizable { +class Polygon { final Pointer _ptr; Polygon.fromPointer(this._ptr); @@ -48,6 +48,10 @@ class Polygon implements Finalizable { return Polygon.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_polygon_dispose(_ptr); + } + ArrayFloat get vertices { final result = SpineBindings.bindings.spine_polygon_get__vertices(_ptr); return ArrayFloat.fromPointer(result); diff --git a/spine-flutter/lib/generated/posed_active.dart b/spine-flutter/lib/generated/posed_active.dart index 0996bef69..a0a917625 100644 --- a/spine-flutter/lib/generated/posed_active.dart +++ b/spine-flutter/lib/generated/posed_active.dart @@ -34,7 +34,7 @@ import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// PosedActive wrapper -class PosedActive implements Finalizable { +class PosedActive { final Pointer _ptr; PosedActive.fromPointer(this._ptr); @@ -42,6 +42,10 @@ class PosedActive implements Finalizable { /// Get the native pointer for FFI calls Pointer get nativePtr => _ptr; + void dispose() { + SpineBindings.bindings.spine_posed_active_dispose(_ptr); + } + bool get isActive { final result = SpineBindings.bindings.spine_posed_active_is_active(_ptr); return result; diff --git a/spine-flutter/lib/generated/posed_data.dart b/spine-flutter/lib/generated/posed_data.dart index 8690039b7..fc3e907af 100644 --- a/spine-flutter/lib/generated/posed_data.dart +++ b/spine-flutter/lib/generated/posed_data.dart @@ -35,7 +35,7 @@ import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// PosedData wrapper -class PosedData implements Finalizable { +class PosedData { final Pointer _ptr; PosedData.fromPointer(this._ptr); @@ -48,6 +48,10 @@ class PosedData implements Finalizable { return PosedData.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_posed_data_dispose(_ptr); + } + String get name { final result = SpineBindings.bindings.spine_posed_data_get_name(_ptr); return result.cast().toDartString(); diff --git a/spine-flutter/lib/generated/region_attachment.dart b/spine-flutter/lib/generated/region_attachment.dart index fad58f61a..f6f4411ec 100644 --- a/spine-flutter/lib/generated/region_attachment.dart +++ b/spine-flutter/lib/generated/region_attachment.dart @@ -55,6 +55,10 @@ class RegionAttachment extends Attachment { return RegionAttachment.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_region_attachment_dispose(_ptr); + } + void updateRegion() { SpineBindings.bindings.spine_region_attachment_update_region(_ptr); } diff --git a/spine-flutter/lib/generated/render_command.dart b/spine-flutter/lib/generated/render_command.dart index d82b5d733..04984c0a9 100644 --- a/spine-flutter/lib/generated/render_command.dart +++ b/spine-flutter/lib/generated/render_command.dart @@ -35,7 +35,7 @@ import '../spine_bindings.dart'; import 'blend_mode.dart'; /// RenderCommand wrapper -class RenderCommand implements Finalizable { +class RenderCommand { final Pointer _ptr; RenderCommand.fromPointer(this._ptr); @@ -43,6 +43,10 @@ class RenderCommand implements Finalizable { /// Get the native pointer for FFI calls Pointer get nativePtr => _ptr; + void dispose() { + SpineBindings.bindings.spine_render_command_dispose(_ptr); + } + Pointer get positions { final result = SpineBindings.bindings.spine_render_command_get_positions(_ptr); return result; diff --git a/spine-flutter/lib/generated/rgb2_timeline.dart b/spine-flutter/lib/generated/rgb2_timeline.dart index 27ebc8812..d9f4cbc1e 100644 --- a/spine-flutter/lib/generated/rgb2_timeline.dart +++ b/spine-flutter/lib/generated/rgb2_timeline.dart @@ -49,6 +49,10 @@ class Rgb2Timeline extends SlotCurveTimeline { return Rgb2Timeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_rgb2_timeline_dispose(_ptr); + } + void setFrame(int frame, double time, double r, double g, double b, double r2, double g2, double b2) { SpineBindings.bindings.spine_rgb2_timeline_set_frame(_ptr, frame, time, r, g, b, r2, g2, b2); } diff --git a/spine-flutter/lib/generated/rgb_timeline.dart b/spine-flutter/lib/generated/rgb_timeline.dart index 1cb015129..736b595de 100644 --- a/spine-flutter/lib/generated/rgb_timeline.dart +++ b/spine-flutter/lib/generated/rgb_timeline.dart @@ -49,6 +49,10 @@ class RgbTimeline extends SlotCurveTimeline { return RgbTimeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_rgb_timeline_dispose(_ptr); + } + void setFrame(int frame, double time, double r, double g, double b) { SpineBindings.bindings.spine_rgb_timeline_set_frame(_ptr, frame, time, r, g, b); } diff --git a/spine-flutter/lib/generated/rgba2_timeline.dart b/spine-flutter/lib/generated/rgba2_timeline.dart index e90f318c8..8da87ed6c 100644 --- a/spine-flutter/lib/generated/rgba2_timeline.dart +++ b/spine-flutter/lib/generated/rgba2_timeline.dart @@ -49,6 +49,10 @@ class Rgba2Timeline extends SlotCurveTimeline { return Rgba2Timeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_rgba2_timeline_dispose(_ptr); + } + void setFrame(int frame, double time, double r, double g, double b, double a, double r2, double g2, double b2) { SpineBindings.bindings.spine_rgba2_timeline_set_frame(_ptr, frame, time, r, g, b, a, r2, g2, b2); } diff --git a/spine-flutter/lib/generated/rgba_timeline.dart b/spine-flutter/lib/generated/rgba_timeline.dart index 95682622b..661ec7900 100644 --- a/spine-flutter/lib/generated/rgba_timeline.dart +++ b/spine-flutter/lib/generated/rgba_timeline.dart @@ -49,6 +49,10 @@ class RgbaTimeline extends SlotCurveTimeline { return RgbaTimeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_rgba_timeline_dispose(_ptr); + } + void setFrame(int frame, double time, double r, double g, double b, double a) { SpineBindings.bindings.spine_rgba_timeline_set_frame(_ptr, frame, time, r, g, b, a); } diff --git a/spine-flutter/lib/generated/rotate_timeline.dart b/spine-flutter/lib/generated/rotate_timeline.dart index b67cea1b0..74920c3ea 100644 --- a/spine-flutter/lib/generated/rotate_timeline.dart +++ b/spine-flutter/lib/generated/rotate_timeline.dart @@ -48,4 +48,8 @@ class RotateTimeline extends BoneTimeline1 { final ptr = SpineBindings.bindings.spine_rotate_timeline_create(frameCount, bezierCount, boneIndex); return RotateTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_rotate_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/rtti.dart b/spine-flutter/lib/generated/rtti.dart index f9c85dc18..fddbe1bf5 100644 --- a/spine-flutter/lib/generated/rtti.dart +++ b/spine-flutter/lib/generated/rtti.dart @@ -35,7 +35,7 @@ import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// Rtti wrapper -class Rtti implements Finalizable { +class Rtti { final Pointer _ptr; Rtti.fromPointer(this._ptr); @@ -43,6 +43,10 @@ class Rtti implements Finalizable { /// Get the native pointer for FFI calls Pointer get nativePtr => _ptr; + void dispose() { + SpineBindings.bindings.spine_rtti_dispose(_ptr); + } + String get className { final result = SpineBindings.bindings.spine_rtti_get_class_name(_ptr); return result.cast().toDartString(); diff --git a/spine-flutter/lib/generated/scale_timeline.dart b/spine-flutter/lib/generated/scale_timeline.dart index 3f25fbc1b..fc857b870 100644 --- a/spine-flutter/lib/generated/scale_timeline.dart +++ b/spine-flutter/lib/generated/scale_timeline.dart @@ -48,4 +48,8 @@ class ScaleTimeline extends BoneTimeline2 { final ptr = SpineBindings.bindings.spine_scale_timeline_create(frameCount, bezierCount, boneIndex); return ScaleTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_scale_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/scale_x_timeline.dart b/spine-flutter/lib/generated/scale_x_timeline.dart index a33f625fd..1ddea169c 100644 --- a/spine-flutter/lib/generated/scale_x_timeline.dart +++ b/spine-flutter/lib/generated/scale_x_timeline.dart @@ -48,4 +48,8 @@ class ScaleXTimeline extends BoneTimeline1 { final ptr = SpineBindings.bindings.spine_scale_x_timeline_create(frameCount, bezierCount, boneIndex); return ScaleXTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_scale_x_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/scale_y_timeline.dart b/spine-flutter/lib/generated/scale_y_timeline.dart index 70e8fe3c7..ae2316216 100644 --- a/spine-flutter/lib/generated/scale_y_timeline.dart +++ b/spine-flutter/lib/generated/scale_y_timeline.dart @@ -48,4 +48,8 @@ class ScaleYTimeline extends BoneTimeline1 { final ptr = SpineBindings.bindings.spine_scale_y_timeline_create(frameCount, bezierCount, boneIndex); return ScaleYTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_scale_y_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/sequence.dart b/spine-flutter/lib/generated/sequence.dart index 8080516a1..440014b8e 100644 --- a/spine-flutter/lib/generated/sequence.dart +++ b/spine-flutter/lib/generated/sequence.dart @@ -38,7 +38,7 @@ import 'attachment.dart'; import 'slot_pose.dart'; /// Sequence wrapper -class Sequence implements Finalizable { +class Sequence { final Pointer _ptr; Sequence.fromPointer(this._ptr); @@ -51,6 +51,10 @@ class Sequence implements Finalizable { return Sequence.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_sequence_dispose(_ptr); + } + Sequence copy() { final result = SpineBindings.bindings.spine_sequence_copy(_ptr); return Sequence.fromPointer(result); diff --git a/spine-flutter/lib/generated/sequence_timeline.dart b/spine-flutter/lib/generated/sequence_timeline.dart index a28b82294..d61ba2544 100644 --- a/spine-flutter/lib/generated/sequence_timeline.dart +++ b/spine-flutter/lib/generated/sequence_timeline.dart @@ -60,6 +60,10 @@ class SequenceTimeline extends Timeline implements SlotTimeline { return SequenceTimeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_sequence_timeline_dispose(_ptr); + } + void setFrame(int frame, double time, SequenceMode mode, int index, double delay) { SpineBindings.bindings.spine_sequence_timeline_set_frame(_ptr, frame, time, mode.value, index, delay); } diff --git a/spine-flutter/lib/generated/shear_timeline.dart b/spine-flutter/lib/generated/shear_timeline.dart index bcef47614..ddc6d1d74 100644 --- a/spine-flutter/lib/generated/shear_timeline.dart +++ b/spine-flutter/lib/generated/shear_timeline.dart @@ -48,4 +48,8 @@ class ShearTimeline extends BoneTimeline2 { final ptr = SpineBindings.bindings.spine_shear_timeline_create(frameCount, bezierCount, boneIndex); return ShearTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_shear_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/shear_x_timeline.dart b/spine-flutter/lib/generated/shear_x_timeline.dart index 0e5d9b398..c0f7fbb7a 100644 --- a/spine-flutter/lib/generated/shear_x_timeline.dart +++ b/spine-flutter/lib/generated/shear_x_timeline.dart @@ -48,4 +48,8 @@ class ShearXTimeline extends BoneTimeline1 { final ptr = SpineBindings.bindings.spine_shear_x_timeline_create(frameCount, bezierCount, boneIndex); return ShearXTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_shear_x_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/shear_y_timeline.dart b/spine-flutter/lib/generated/shear_y_timeline.dart index 81e4ff936..286720514 100644 --- a/spine-flutter/lib/generated/shear_y_timeline.dart +++ b/spine-flutter/lib/generated/shear_y_timeline.dart @@ -48,4 +48,8 @@ class ShearYTimeline extends BoneTimeline1 { final ptr = SpineBindings.bindings.spine_shear_y_timeline_create(frameCount, bezierCount, boneIndex); return ShearYTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_shear_y_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/skeleton.dart b/spine-flutter/lib/generated/skeleton.dart index 14df42efc..2a6af9f15 100644 --- a/spine-flutter/lib/generated/skeleton.dart +++ b/spine-flutter/lib/generated/skeleton.dart @@ -51,7 +51,7 @@ import 'skin.dart'; import 'slot.dart'; /// Skeleton wrapper -class Skeleton implements Finalizable { +class Skeleton { final Pointer _ptr; Skeleton.fromPointer(this._ptr); @@ -64,6 +64,10 @@ class Skeleton implements Finalizable { return Skeleton.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_skeleton_dispose(_ptr); + } + void updateCache() { SpineBindings.bindings.spine_skeleton_update_cache(_ptr); } diff --git a/spine-flutter/lib/generated/skeleton_binary.dart b/spine-flutter/lib/generated/skeleton_binary.dart index 189c411ec..bfdd78455 100644 --- a/spine-flutter/lib/generated/skeleton_binary.dart +++ b/spine-flutter/lib/generated/skeleton_binary.dart @@ -38,7 +38,7 @@ import 'attachment_loader.dart'; import 'skeleton_data.dart'; /// SkeletonBinary wrapper -class SkeletonBinary implements Finalizable { +class SkeletonBinary { final Pointer _ptr; SkeletonBinary.fromPointer(this._ptr); @@ -56,6 +56,10 @@ class SkeletonBinary implements Finalizable { return SkeletonBinary.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_skeleton_binary_dispose(_ptr); + } + SkeletonData readSkeletonDataFile(String path) { final result = SpineBindings.bindings.spine_skeleton_binary_read_skeleton_data_file(_ptr, path.toNativeUtf8().cast()); diff --git a/spine-flutter/lib/generated/skeleton_bounds.dart b/spine-flutter/lib/generated/skeleton_bounds.dart index 99ab22d54..3811befff 100644 --- a/spine-flutter/lib/generated/skeleton_bounds.dart +++ b/spine-flutter/lib/generated/skeleton_bounds.dart @@ -38,7 +38,7 @@ import 'polygon.dart'; import 'skeleton.dart'; /// SkeletonBounds wrapper -class SkeletonBounds implements Finalizable { +class SkeletonBounds { final Pointer _ptr; SkeletonBounds.fromPointer(this._ptr); @@ -51,6 +51,10 @@ class SkeletonBounds implements Finalizable { return SkeletonBounds.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_skeleton_bounds_dispose(_ptr); + } + void update(Skeleton skeleton, bool updateAabb) { SpineBindings.bindings.spine_skeleton_bounds_update(_ptr, skeleton.nativePtr.cast(), updateAabb); } diff --git a/spine-flutter/lib/generated/skeleton_clipping.dart b/spine-flutter/lib/generated/skeleton_clipping.dart index c6b8377d1..1df1c81c2 100644 --- a/spine-flutter/lib/generated/skeleton_clipping.dart +++ b/spine-flutter/lib/generated/skeleton_clipping.dart @@ -38,7 +38,7 @@ import 'skeleton.dart'; import 'slot.dart'; /// SkeletonClipping wrapper -class SkeletonClipping implements Finalizable { +class SkeletonClipping { final Pointer _ptr; SkeletonClipping.fromPointer(this._ptr); @@ -51,6 +51,10 @@ class SkeletonClipping implements Finalizable { return SkeletonClipping.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_skeleton_clipping_dispose(_ptr); + } + int clipStart(Skeleton skeleton, Slot slot, ClippingAttachment clip) { final result = SpineBindings.bindings.spine_skeleton_clipping_clip_start( _ptr, skeleton.nativePtr.cast(), slot.nativePtr.cast(), clip.nativePtr.cast()); diff --git a/spine-flutter/lib/generated/skeleton_data.dart b/spine-flutter/lib/generated/skeleton_data.dart index b704209dc..0ef43da0e 100644 --- a/spine-flutter/lib/generated/skeleton_data.dart +++ b/spine-flutter/lib/generated/skeleton_data.dart @@ -41,7 +41,7 @@ import 'skin.dart'; import 'slot_data.dart'; /// SkeletonData wrapper -class SkeletonData implements Finalizable { +class SkeletonData { final Pointer _ptr; SkeletonData.fromPointer(this._ptr); @@ -54,6 +54,10 @@ class SkeletonData implements Finalizable { return SkeletonData.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_skeleton_data_dispose(_ptr); + } + BoneData findBone(String boneName) { final result = SpineBindings.bindings.spine_skeleton_data_find_bone(_ptr, boneName.toNativeUtf8().cast()); return BoneData.fromPointer(result); diff --git a/spine-flutter/lib/generated/skeleton_json.dart b/spine-flutter/lib/generated/skeleton_json.dart index dcc7c6338..a44b7feab 100644 --- a/spine-flutter/lib/generated/skeleton_json.dart +++ b/spine-flutter/lib/generated/skeleton_json.dart @@ -38,7 +38,7 @@ import 'attachment_loader.dart'; import 'skeleton_data.dart'; /// SkeletonJson wrapper -class SkeletonJson implements Finalizable { +class SkeletonJson { final Pointer _ptr; SkeletonJson.fromPointer(this._ptr); @@ -56,6 +56,10 @@ class SkeletonJson implements Finalizable { return SkeletonJson.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_skeleton_json_dispose(_ptr); + } + SkeletonData readSkeletonDataFile(String path) { final result = SpineBindings.bindings.spine_skeleton_json_read_skeleton_data_file(_ptr, path.toNativeUtf8().cast()); diff --git a/spine-flutter/lib/generated/skeleton_renderer.dart b/spine-flutter/lib/generated/skeleton_renderer.dart index 65827cd65..1f4643818 100644 --- a/spine-flutter/lib/generated/skeleton_renderer.dart +++ b/spine-flutter/lib/generated/skeleton_renderer.dart @@ -36,7 +36,7 @@ import 'render_command.dart'; import 'skeleton.dart'; /// SkeletonRenderer wrapper -class SkeletonRenderer implements Finalizable { +class SkeletonRenderer { final Pointer _ptr; SkeletonRenderer.fromPointer(this._ptr); @@ -49,6 +49,10 @@ class SkeletonRenderer implements Finalizable { return SkeletonRenderer.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_skeleton_renderer_dispose(_ptr); + } + RenderCommand render(Skeleton skeleton) { final result = SpineBindings.bindings.spine_skeleton_renderer_render(_ptr, skeleton.nativePtr.cast()); return RenderCommand.fromPointer(result); diff --git a/spine-flutter/lib/generated/skin.dart b/spine-flutter/lib/generated/skin.dart index 2baa8c1cd..f04ee734f 100644 --- a/spine-flutter/lib/generated/skin.dart +++ b/spine-flutter/lib/generated/skin.dart @@ -44,7 +44,7 @@ import 'point_attachment.dart'; import 'region_attachment.dart'; /// Skin wrapper -class Skin implements Finalizable { +class Skin { final Pointer _ptr; Skin.fromPointer(this._ptr); @@ -57,6 +57,10 @@ class Skin implements Finalizable { return Skin.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_skin_dispose(_ptr); + } + void setAttachment(int slotIndex, String name, Attachment attachment) { SpineBindings.bindings .spine_skin_set_attachment(_ptr, slotIndex, name.toNativeUtf8().cast(), attachment.nativePtr.cast()); diff --git a/spine-flutter/lib/generated/slider.dart b/spine-flutter/lib/generated/slider.dart index f219fdec7..7d7284dd0 100644 --- a/spine-flutter/lib/generated/slider.dart +++ b/spine-flutter/lib/generated/slider.dart @@ -57,6 +57,11 @@ class Slider extends PosedActive implements Posed, Constraint { return Slider.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_slider_dispose(_ptr); + } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_slider_get_rtti(_ptr); diff --git a/spine-flutter/lib/generated/slider_data.dart b/spine-flutter/lib/generated/slider_data.dart index edc282c0b..893ff11ee 100644 --- a/spine-flutter/lib/generated/slider_data.dart +++ b/spine-flutter/lib/generated/slider_data.dart @@ -69,6 +69,11 @@ class SliderData extends PosedData implements ConstraintData { return SliderData.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_slider_data_dispose(_ptr); + } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_slider_data_get_rtti(_ptr); diff --git a/spine-flutter/lib/generated/slider_mix_timeline.dart b/spine-flutter/lib/generated/slider_mix_timeline.dart index 8fc13cc9e..8e9d64f38 100644 --- a/spine-flutter/lib/generated/slider_mix_timeline.dart +++ b/spine-flutter/lib/generated/slider_mix_timeline.dart @@ -48,4 +48,8 @@ class SliderMixTimeline extends ConstraintTimeline1 { final ptr = SpineBindings.bindings.spine_slider_mix_timeline_create(frameCount, bezierCount, sliderIndex); return SliderMixTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_slider_mix_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/slider_pose.dart b/spine-flutter/lib/generated/slider_pose.dart index d92d9f113..771a42078 100644 --- a/spine-flutter/lib/generated/slider_pose.dart +++ b/spine-flutter/lib/generated/slider_pose.dart @@ -34,7 +34,7 @@ import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// SliderPose wrapper -class SliderPose implements Finalizable { +class SliderPose { final Pointer _ptr; SliderPose.fromPointer(this._ptr); @@ -47,6 +47,10 @@ class SliderPose implements Finalizable { return SliderPose.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_slider_pose_dispose(_ptr); + } + void set(SliderPose pose) { SpineBindings.bindings.spine_slider_pose_set(_ptr, pose.nativePtr.cast()); } diff --git a/spine-flutter/lib/generated/slider_timeline.dart b/spine-flutter/lib/generated/slider_timeline.dart index 47b4107da..d31799f54 100644 --- a/spine-flutter/lib/generated/slider_timeline.dart +++ b/spine-flutter/lib/generated/slider_timeline.dart @@ -48,4 +48,8 @@ class SliderTimeline extends ConstraintTimeline1 { final ptr = SpineBindings.bindings.spine_slider_timeline_create(frameCount, bezierCount, sliderIndex); return SliderTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_slider_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/slot.dart b/spine-flutter/lib/generated/slot.dart index 8987749c6..41f6891d8 100644 --- a/spine-flutter/lib/generated/slot.dart +++ b/spine-flutter/lib/generated/slot.dart @@ -39,7 +39,7 @@ import 'slot_data.dart'; import 'slot_pose.dart'; /// Slot wrapper -class Slot implements Finalizable, Posed { +class Slot implements Posed { final Pointer _ptr; Slot.fromPointer(this._ptr); @@ -53,6 +53,10 @@ class Slot implements Finalizable, Posed { return Slot.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_slot_dispose(_ptr); + } + Bone get bone { final result = SpineBindings.bindings.spine_slot_get_bone(_ptr); return Bone.fromPointer(result); diff --git a/spine-flutter/lib/generated/slot_data.dart b/spine-flutter/lib/generated/slot_data.dart index 68fb938a8..eb0654e64 100644 --- a/spine-flutter/lib/generated/slot_data.dart +++ b/spine-flutter/lib/generated/slot_data.dart @@ -54,6 +54,11 @@ class SlotData extends PosedData { return SlotData.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_slot_data_dispose(_ptr); + } + int get index { final result = SpineBindings.bindings.spine_slot_data_get_index(_ptr); return result; diff --git a/spine-flutter/lib/generated/slot_pose.dart b/spine-flutter/lib/generated/slot_pose.dart index 5960c7966..a524d98df 100644 --- a/spine-flutter/lib/generated/slot_pose.dart +++ b/spine-flutter/lib/generated/slot_pose.dart @@ -44,7 +44,7 @@ import 'point_attachment.dart'; import 'region_attachment.dart'; /// SlotPose wrapper -class SlotPose implements Finalizable { +class SlotPose { final Pointer _ptr; SlotPose.fromPointer(this._ptr); @@ -57,6 +57,10 @@ class SlotPose implements Finalizable { return SlotPose.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_slot_pose_dispose(_ptr); + } + void set(SlotPose pose) { SpineBindings.bindings.spine_slot_pose_set(_ptr, pose.nativePtr.cast()); } diff --git a/spine-flutter/lib/generated/texture_region.dart b/spine-flutter/lib/generated/texture_region.dart index 3b015c788..9014c9ee1 100644 --- a/spine-flutter/lib/generated/texture_region.dart +++ b/spine-flutter/lib/generated/texture_region.dart @@ -35,7 +35,7 @@ import '../spine_bindings.dart'; import 'rtti.dart'; /// TextureRegion wrapper -class TextureRegion implements Finalizable { +class TextureRegion { final Pointer _ptr; TextureRegion.fromPointer(this._ptr); @@ -48,6 +48,10 @@ class TextureRegion implements Finalizable { return TextureRegion.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_texture_region_dispose(_ptr); + } + Rtti get rtti { final result = SpineBindings.bindings.spine_texture_region_get_rtti(_ptr); return Rtti.fromPointer(result); diff --git a/spine-flutter/lib/generated/timeline.dart b/spine-flutter/lib/generated/timeline.dart index ef808d661..b92a0f8d6 100644 --- a/spine-flutter/lib/generated/timeline.dart +++ b/spine-flutter/lib/generated/timeline.dart @@ -39,7 +39,7 @@ import 'mix_direction.dart'; import 'skeleton.dart'; /// Timeline wrapper -abstract class Timeline implements Finalizable { +abstract class Timeline { final Pointer _ptr; Timeline.fromPointer(this._ptr); diff --git a/spine-flutter/lib/generated/to_property.dart b/spine-flutter/lib/generated/to_property.dart index 9591d5da8..8b80952ba 100644 --- a/spine-flutter/lib/generated/to_property.dart +++ b/spine-flutter/lib/generated/to_property.dart @@ -38,7 +38,7 @@ import 'skeleton.dart'; import 'transform_constraint_pose.dart'; /// ToProperty wrapper -abstract class ToProperty implements Finalizable { +abstract class ToProperty { final Pointer _ptr; ToProperty.fromPointer(this._ptr); diff --git a/spine-flutter/lib/generated/to_rotate.dart b/spine-flutter/lib/generated/to_rotate.dart index f9d1429fb..f995afa7e 100644 --- a/spine-flutter/lib/generated/to_rotate.dart +++ b/spine-flutter/lib/generated/to_rotate.dart @@ -48,4 +48,8 @@ class ToRotate extends ToProperty { final ptr = SpineBindings.bindings.spine_to_rotate_create(); return ToRotate.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_to_rotate_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/to_scale_x.dart b/spine-flutter/lib/generated/to_scale_x.dart index 22e7fe77b..8a4dd8896 100644 --- a/spine-flutter/lib/generated/to_scale_x.dart +++ b/spine-flutter/lib/generated/to_scale_x.dart @@ -48,4 +48,8 @@ class ToScaleX extends ToProperty { final ptr = SpineBindings.bindings.spine_to_scale_x_create(); return ToScaleX.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_to_scale_x_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/to_scale_y.dart b/spine-flutter/lib/generated/to_scale_y.dart index 350441d23..244ed8f18 100644 --- a/spine-flutter/lib/generated/to_scale_y.dart +++ b/spine-flutter/lib/generated/to_scale_y.dart @@ -48,4 +48,8 @@ class ToScaleY extends ToProperty { final ptr = SpineBindings.bindings.spine_to_scale_y_create(); return ToScaleY.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_to_scale_y_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/to_shear_y.dart b/spine-flutter/lib/generated/to_shear_y.dart index cabf60b8f..a19272c79 100644 --- a/spine-flutter/lib/generated/to_shear_y.dart +++ b/spine-flutter/lib/generated/to_shear_y.dart @@ -48,4 +48,8 @@ class ToShearY extends ToProperty { final ptr = SpineBindings.bindings.spine_to_shear_y_create(); return ToShearY.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_to_shear_y_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/to_x.dart b/spine-flutter/lib/generated/to_x.dart index b834aff6a..6def4fb43 100644 --- a/spine-flutter/lib/generated/to_x.dart +++ b/spine-flutter/lib/generated/to_x.dart @@ -48,4 +48,8 @@ class ToX extends ToProperty { final ptr = SpineBindings.bindings.spine_to_x_create(); return ToX.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_to_x_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/to_y.dart b/spine-flutter/lib/generated/to_y.dart index 614500b63..248d8cd59 100644 --- a/spine-flutter/lib/generated/to_y.dart +++ b/spine-flutter/lib/generated/to_y.dart @@ -48,4 +48,8 @@ class ToY extends ToProperty { final ptr = SpineBindings.bindings.spine_to_y_create(); return ToY.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_to_y_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/track_entry.dart b/spine-flutter/lib/generated/track_entry.dart index 777b00e5f..76ae81ce6 100644 --- a/spine-flutter/lib/generated/track_entry.dart +++ b/spine-flutter/lib/generated/track_entry.dart @@ -36,7 +36,7 @@ import 'animation.dart'; import 'mix_blend.dart'; /// TrackEntry wrapper -class TrackEntry implements Finalizable { +class TrackEntry { final Pointer _ptr; TrackEntry.fromPointer(this._ptr); @@ -49,6 +49,10 @@ class TrackEntry implements Finalizable { return TrackEntry.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_track_entry_dispose(_ptr); + } + int get trackIndex { final result = SpineBindings.bindings.spine_track_entry_get_track_index(_ptr); return result; diff --git a/spine-flutter/lib/generated/transform_constraint.dart b/spine-flutter/lib/generated/transform_constraint.dart index c58e0418e..bbc35cb4e 100644 --- a/spine-flutter/lib/generated/transform_constraint.dart +++ b/spine-flutter/lib/generated/transform_constraint.dart @@ -59,6 +59,11 @@ class TransformConstraint extends PosedActive implements Posed, Constraint { return TransformConstraint.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_transform_constraint_dispose(_ptr); + } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_transform_constraint_get_rtti(_ptr); diff --git a/spine-flutter/lib/generated/transform_constraint_data.dart b/spine-flutter/lib/generated/transform_constraint_data.dart index 3b1d1c220..cefe8c55d 100644 --- a/spine-flutter/lib/generated/transform_constraint_data.dart +++ b/spine-flutter/lib/generated/transform_constraint_data.dart @@ -62,6 +62,11 @@ class TransformConstraintData extends PosedData implements ConstraintData { return TransformConstraintData.fromPointer(ptr); } + @override + void dispose() { + SpineBindings.bindings.spine_transform_constraint_data_dispose(_ptr); + } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_transform_constraint_data_get_rtti(_ptr); diff --git a/spine-flutter/lib/generated/transform_constraint_pose.dart b/spine-flutter/lib/generated/transform_constraint_pose.dart index 4b4f4f2cf..6f9496c69 100644 --- a/spine-flutter/lib/generated/transform_constraint_pose.dart +++ b/spine-flutter/lib/generated/transform_constraint_pose.dart @@ -34,7 +34,7 @@ import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// TransformConstraintPose wrapper -class TransformConstraintPose implements Finalizable { +class TransformConstraintPose { final Pointer _ptr; TransformConstraintPose.fromPointer(this._ptr); @@ -47,6 +47,10 @@ class TransformConstraintPose implements Finalizable { return TransformConstraintPose.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_transform_constraint_pose_dispose(_ptr); + } + void set(TransformConstraintPose pose) { SpineBindings.bindings.spine_transform_constraint_pose_set(_ptr, pose.nativePtr.cast()); } diff --git a/spine-flutter/lib/generated/transform_constraint_timeline.dart b/spine-flutter/lib/generated/transform_constraint_timeline.dart index d0daff149..b4acd74db 100644 --- a/spine-flutter/lib/generated/transform_constraint_timeline.dart +++ b/spine-flutter/lib/generated/transform_constraint_timeline.dart @@ -51,6 +51,10 @@ class TransformConstraintTimeline extends CurveTimeline implements ConstraintTim return TransformConstraintTimeline.fromPointer(ptr); } + void dispose() { + SpineBindings.bindings.spine_transform_constraint_timeline_dispose(_ptr); + } + void setFrame(int frame, double time, double mixRotate, double mixX, double mixY, double mixScaleX, double mixScaleY, double mixShearY) { SpineBindings.bindings.spine_transform_constraint_timeline_set_frame( diff --git a/spine-flutter/lib/generated/translate_timeline.dart b/spine-flutter/lib/generated/translate_timeline.dart index 737da0501..ba36bd27c 100644 --- a/spine-flutter/lib/generated/translate_timeline.dart +++ b/spine-flutter/lib/generated/translate_timeline.dart @@ -48,4 +48,8 @@ class TranslateTimeline extends BoneTimeline2 { final ptr = SpineBindings.bindings.spine_translate_timeline_create(frameCount, bezierCount, boneIndex); return TranslateTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_translate_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/translate_x_timeline.dart b/spine-flutter/lib/generated/translate_x_timeline.dart index 750da3b0a..8a10cf4cb 100644 --- a/spine-flutter/lib/generated/translate_x_timeline.dart +++ b/spine-flutter/lib/generated/translate_x_timeline.dart @@ -48,4 +48,8 @@ class TranslateXTimeline extends BoneTimeline1 { final ptr = SpineBindings.bindings.spine_translate_x_timeline_create(frameCount, bezierCount, boneIndex); return TranslateXTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_translate_x_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/generated/translate_y_timeline.dart b/spine-flutter/lib/generated/translate_y_timeline.dart index 8cda4ca6a..540a18349 100644 --- a/spine-flutter/lib/generated/translate_y_timeline.dart +++ b/spine-flutter/lib/generated/translate_y_timeline.dart @@ -48,4 +48,8 @@ class TranslateYTimeline extends BoneTimeline1 { final ptr = SpineBindings.bindings.spine_translate_y_timeline_create(frameCount, bezierCount, boneIndex); return TranslateYTimeline.fromPointer(ptr); } + + void dispose() { + SpineBindings.bindings.spine_translate_y_timeline_dispose(_ptr); + } } diff --git a/spine-flutter/lib/new_extensions.dart b/spine-flutter/lib/new_extensions.dart index 4b2b6cc62..78c46b180 100644 --- a/spine-flutter/lib/new_extensions.dart +++ b/spine-flutter/lib/new_extensions.dart @@ -38,7 +38,7 @@ class SkeletonDataResult { // Skeleton Data Extensions extension SkeletonDataExtensions on SkeletonData { /// Load skeleton data from JSON string - static SkeletonDataResult fromJson(Atlas atlas, String jsonData, {String? path}) { + static SkeletonData fromJson(Atlas atlas, String jsonData, {String? path}) { final jsonDataNative = jsonData.toNativeUtf8(); final pathNative = (path ?? '').toNativeUtf8(); @@ -52,13 +52,14 @@ extension SkeletonDataExtensions on SkeletonData { final errorPtr = SpineBindings.bindings.spine_skeleton_data_result_get_error(resultPtr.cast()); if (errorPtr != nullptr) { final error = errorPtr.cast().toDartString(); - return SkeletonDataResult._(error, null, resultPtr); + SpineBindings.bindings.spine_skeleton_data_result_dispose(resultPtr.cast()); + throw Exception("Couldn't load skeleton data: $error"); } // Get skeleton data final skeletonDataPtr = SpineBindings.bindings.spine_skeleton_data_result_get_data(resultPtr.cast()); final skeletonData = SkeletonData.fromPointer(skeletonDataPtr); - - return SkeletonDataResult._(null, skeletonData, resultPtr); + SpineBindings.bindings.spine_skeleton_data_result_dispose(resultPtr.cast()); + return skeletonData; } } diff --git a/spine-flutter/test/bin/headless_test.dart b/spine-flutter/test/headless_test.dart similarity index 52% rename from spine-flutter/test/bin/headless_test.dart rename to spine-flutter/test/headless_test.dart index b2fe18d1b..6226b263a 100644 --- a/spine-flutter/test/bin/headless_test.dart +++ b/spine-flutter/test/headless_test.dart @@ -5,7 +5,7 @@ void main() async { print('Testing atlas and skeleton data loading...'); // Initialize with debug extension enabled - await initSpineFlutter(enableMemoryDebugging: true); + await initSpineFlutter(enableMemoryDebugging: false); // Load atlas final atlasData = File('../example/assets/spineboy.atlas').readAsStringSync(); @@ -16,20 +16,20 @@ void main() async { // Load skeleton data final skeletonJson = File('../example/assets/spineboy-pro.json').readAsStringSync(); - final skeletonDataResult = SkeletonDataExtensions.fromJson(atlas, skeletonJson); + final skeletonData = SkeletonDataExtensions.fromJson(atlas, skeletonJson); - if (skeletonDataResult.error != null) { - print('Error loading skeleton: ${skeletonDataResult.error}'); - } else { - print('Skeleton data loaded successfully'); - final skeletonData = skeletonDataResult.skeletonData!; - print('Number of bones: ${skeletonData.bones.length}'); - print('Number of slots: ${skeletonData.slots.length}'); - print('Number of animations: ${skeletonData.animations.length}'); - } + print('Skeleton data loaded successfully'); + print('Number of bones: ${skeletonData.bones.length}'); + print('Number of slots: ${skeletonData.slots.length}'); + print('Number of animations: ${skeletonData.animations.length}'); + + final skeleton = Skeleton(skeletonData); + print('Skeleton created successfully'); + print('Skeleton has ${skeleton.slots.length} slots and ${skeleton.bones.length} bones'); // Cleanup - skeletonDataResult.dispose(); + skeleton.dispose(); + skeletonData.dispose(); atlas.dispose(); // Report memory leaks diff --git a/spine-flutter/test/pubspec.lock b/spine-flutter/test/pubspec.lock index a8e752978..99ec5c6da 100644 --- a/spine-flutter/test/pubspec.lock +++ b/spine-flutter/test/pubspec.lock @@ -1,6 +1,30 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: f7bac1065b51df46b2291296e1c1b3616a47aeb735aea46a8ca3dcb7bb700ee7 + url: "https://pub.dev" + source: hosted + version: "86.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: "4001e2de7c9d125af9504b4c4f64ebba507c9cb9c712caf02ac1d4c37824f58c" + url: "https://pub.dev" + source: hosted + version: "8.0.0" + args: + dependency: transitive + description: + name: args + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 + url: "https://pub.dev" + source: hosted + version: "2.7.0" async: dependency: transitive description: @@ -9,6 +33,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.13.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + url: "https://pub.dev" + source: hosted + version: "2.1.2" characters: dependency: transitive description: @@ -17,6 +49,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.0" + cli_config: + dependency: transitive + description: + name: cli_config + sha256: ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec + url: "https://pub.dev" + source: hosted + version: "0.2.0" collection: dependency: transitive description: @@ -25,6 +65,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.19.1" + convert: + dependency: transitive + description: + name: convert + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 + url: "https://pub.dev" + source: hosted + version: "3.1.2" + coverage: + dependency: transitive + description: + name: coverage + sha256: "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d" + url: "https://pub.dev" + source: hosted + version: "1.15.0" crypto: dependency: transitive description: @@ -41,11 +97,35 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + file: + dependency: transitive + description: + name: file + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 + url: "https://pub.dev" + source: hosted + version: "7.0.1" flutter: dependency: transitive description: flutter source: sdk version: "0.0.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 + url: "https://pub.dev" + source: hosted + version: "4.0.0" + glob: + dependency: transitive + description: + name: glob + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de + url: "https://pub.dev" + source: hosted + version: "2.1.3" http: dependency: transitive description: @@ -54,6 +134,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.0" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 + url: "https://pub.dev" + source: hosted + version: "3.2.2" http_parser: dependency: transitive description: @@ -70,6 +158,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + io: + dependency: transitive + description: + name: io + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b + url: "https://pub.dev" + source: hosted + version: "1.0.5" js: dependency: transitive description: @@ -86,6 +182,22 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.0" + logging: + dependency: transitive + description: + name: logging + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 + url: "https://pub.dev" + source: hosted + version: "1.3.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + url: "https://pub.dev" + source: hosted + version: "0.12.17" material_color_utilities: dependency: transitive description: @@ -102,6 +214,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.16.0" + mime: + dependency: transitive + description: + name: mime + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + node_preamble: + dependency: transitive + description: + name: node_preamble + sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" + url: "https://pub.dev" + source: hosted + version: "2.0.2" + package_config: + dependency: transitive + description: + name: package_config + sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc + url: "https://pub.dev" + source: hosted + version: "2.2.0" path: dependency: transitive description: @@ -110,11 +246,75 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" + pool: + dependency: transitive + description: + name: pool + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" + source: hosted + version: "1.5.1" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + shelf: + dependency: transitive + description: + name: shelf + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 + url: "https://pub.dev" + source: hosted + version: "1.4.2" + shelf_packages_handler: + dependency: transitive + description: + name: shelf_packages_handler + sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + shelf_static: + dependency: transitive + description: + name: shelf_static + sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3 + url: "https://pub.dev" + source: hosted + version: "1.1.3" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" + url: "https://pub.dev" + source: hosted + version: "3.0.0" sky_engine: dependency: transitive description: flutter source: sdk version: "0.0.0" + source_map_stack_trace: + dependency: transitive + description: + name: source_map_stack_trace + sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b + url: "https://pub.dev" + source: hosted + version: "2.1.2" + source_maps: + dependency: transitive + description: + name: source_maps + sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812" + url: "https://pub.dev" + source: hosted + version: "0.10.13" source_span: dependency: transitive description: @@ -130,6 +330,22 @@ packages: relative: true source: path version: "4.2.36" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + url: "https://pub.dev" + source: hosted + version: "1.12.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + url: "https://pub.dev" + source: hosted + version: "2.1.4" string_scanner: dependency: transitive description: @@ -146,6 +362,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.2" + test: + dependency: "direct dev" + description: + name: test + sha256: "75906bf273541b676716d1ca7627a17e4c4070a3a16272b7a3dc7da3b9f3f6b7" + url: "https://pub.dev" + source: hosted + version: "1.26.3" + test_api: + dependency: transitive + description: + name: test_api + sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 + url: "https://pub.dev" + source: hosted + version: "0.7.7" + test_core: + dependency: transitive + description: + name: test_core + sha256: "0cc24b5ff94b38d2ae73e1eb43cc302b77964fbf67abad1e296025b78deb53d0" + url: "https://pub.dev" + source: hosted + version: "0.6.12" typed_data: dependency: transitive description: @@ -162,6 +402,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60" + url: "https://pub.dev" + source: hosted + version: "15.0.2" + watcher: + dependency: transitive + description: + name: watcher + sha256: "0b7fd4a0bbc4b92641dbf20adfd7e3fd1398fe17102d94b674234563e110088a" + url: "https://pub.dev" + source: hosted + version: "1.1.2" web: dependency: transitive description: @@ -178,5 +434,37 @@ packages: url: "https://pub.dev" source: hosted version: "0.7.5" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8 + url: "https://pub.dev" + source: hosted + version: "3.0.3" + webkit_inspection_protocol: + dependency: transitive + description: + name: webkit_inspection_protocol + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + yaml: + dependency: transitive + description: + name: yaml + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce + url: "https://pub.dev" + source: hosted + version: "3.1.3" sdks: dart: ">=3.7.0 <4.0.0" diff --git a/spine-flutter/test/pubspec.yaml b/spine-flutter/test/pubspec.yaml index c380c0c3c..87d87d2b5 100644 --- a/spine-flutter/test/pubspec.yaml +++ b/spine-flutter/test/pubspec.yaml @@ -10,6 +10,7 @@ dependencies: dev_dependencies: lints: ^3.0.0 + test: ^1.25.0 dependency_overrides: spine_flutter: