[dart] Codegen now inserts proper C++ up/down casts in locations where an abstract type is returned.

This commit is contained in:
Mario Zechner 2025-09-10 23:13:14 +02:00
parent 324a962b5f
commit 59c1593aec
96 changed files with 9720 additions and 890 deletions

View File

@ -11,6 +11,13 @@
"program": "headless_test.dart", "program": "headless_test.dart",
"cwd": "${workspaceFolder}/test" "cwd": "${workspaceFolder}/test"
}, },
{
"name": "skeleton_drawable_test (dart)",
"type": "dart",
"request": "launch",
"program": "skeleton_drawable_test.dart",
"cwd": "${workspaceFolder}/test"
},
{ {
"name": "spine-flutter", "name": "spine-flutter",
"request": "launch", "request": "launch",
@ -28,25 +35,5 @@
"type": "dart", "type": "dart",
"flutterMode": "release" "flutterMode": "release"
}, },
{
"name": "example",
"cwd": "example",
"request": "launch",
"type": "dart"
},
{
"name": "example (profile mode)",
"cwd": "example",
"request": "launch",
"type": "dart",
"flutterMode": "profile"
},
{
"name": "example (release mode)",
"cwd": "example",
"request": "launch",
"type": "dart",
"flutterMode": "release"
}
] ]
} }

View File

@ -599,7 +599,15 @@ ${declaration} {`;
private generatePointerConstructor (dartClass: DartClass): string { private generatePointerConstructor (dartClass: DartClass): string {
if (dartClass.inheritance.extends) { if (dartClass.inheritance.extends) {
return ` ${dartClass.name}.fromPointer(this._ptr) : super.fromPointer(_ptr.cast());`; // Use C cast function to handle multiple inheritance pointer adjustments
const childCType = this.toCTypeName(dartClass.name); // "spine_transform_constraint"
const parentCType = this.toCTypeName(dartClass.inheritance.extends); // "spine_transform_constraint_base"
const toType = parentCType.replace('spine_', ''); // "transform_constraint_base"
const castFunctionName = `${childCType}_cast_to_${toType}`;
return ` ${dartClass.name}.fromPointer(this._ptr) : super.fromPointer(
SpineBindings.bindings.${castFunctionName}(_ptr)
);`;
} else { } else {
return ` ${dartClass.name}.fromPointer(this._ptr);`; return ` ${dartClass.name}.fromPointer(this._ptr);`;
} }
@ -1340,7 +1348,15 @@ ${declaration} {`;
if (!cppClass) throw Error(`Class ${subclass} not found in class map`); if (!cppClass) throw Error(`Class ${subclass} not found in class map`);
const dartSubclass = this.toDartTypeName(subclass); const dartSubclass = this.toDartTypeName(subclass);
lines.push(` case '${cppClass.cppType.name}':`); lines.push(` case '${cppClass.cppType.name}':`);
lines.push(` return ${dartSubclass}.fromPointer(${resultVar}.cast());`);
// Use C cast function to handle multiple inheritance pointer adjustments
// abstractClass.name is like "spine_constraint"
// subclass is like "spine_transform_constraint"
const toType = subclass.replace('spine_', ''); // "transform_constraint"
const castFunctionName = `${abstractClass.name}_cast_to_${toType}`;
lines.push(` final castedPtr = SpineBindings.bindings.${castFunctionName}(${resultVar});`);
lines.push(` return ${dartSubclass}.fromPointer(castedPtr);`);
} }
lines.push(` default:`); lines.push(` default:`);

View File

@ -5,5 +5,6 @@
import FlutterMacOS import FlutterMacOS
import Foundation import Foundation
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
} }

View File

@ -54,47 +54,49 @@ a._spine_transform_constraint_rtti=Y.spine_transform_constraint_rtti;a._spine_ik
a._spine_ik_constraint_pose_set_softness=Y.spine_ik_constraint_pose_set_softness;a._spine_ik_constraint_pose_get_bend_direction=Y.spine_ik_constraint_pose_get_bend_direction;a._spine_ik_constraint_pose_set_bend_direction=Y.spine_ik_constraint_pose_set_bend_direction;a._spine_ik_constraint_pose_get_compress=Y.spine_ik_constraint_pose_get_compress;a._spine_ik_constraint_pose_set_compress=Y.spine_ik_constraint_pose_set_compress;a._spine_ik_constraint_pose_get_stretch=Y.spine_ik_constraint_pose_get_stretch; a._spine_ik_constraint_pose_set_softness=Y.spine_ik_constraint_pose_set_softness;a._spine_ik_constraint_pose_get_bend_direction=Y.spine_ik_constraint_pose_get_bend_direction;a._spine_ik_constraint_pose_set_bend_direction=Y.spine_ik_constraint_pose_set_bend_direction;a._spine_ik_constraint_pose_get_compress=Y.spine_ik_constraint_pose_get_compress;a._spine_ik_constraint_pose_set_compress=Y.spine_ik_constraint_pose_set_compress;a._spine_ik_constraint_pose_get_stretch=Y.spine_ik_constraint_pose_get_stretch;
a._spine_ik_constraint_pose_set_stretch=Y.spine_ik_constraint_pose_set_stretch;a._spine_bone_create=Y.spine_bone_create;a._spine_bone_create2=Y.spine_bone_create2;a._spine_bone_dispose=Y.spine_bone_dispose;a._spine_bone_get_rtti=Y.spine_bone_get_rtti;a._spine_bone_get_parent=Y.spine_bone_get_parent;a._spine_bone_get_children=Y.spine_bone_get_children;a._spine_bone_is_y_down=Y.spine_bone_is_y_down;a._spine_bone_set_y_down=Y.spine_bone_set_y_down;a._spine_bone_update=Y.spine_bone_update; a._spine_ik_constraint_pose_set_stretch=Y.spine_ik_constraint_pose_set_stretch;a._spine_bone_create=Y.spine_bone_create;a._spine_bone_create2=Y.spine_bone_create2;a._spine_bone_dispose=Y.spine_bone_dispose;a._spine_bone_get_rtti=Y.spine_bone_get_rtti;a._spine_bone_get_parent=Y.spine_bone_get_parent;a._spine_bone_get_children=Y.spine_bone_get_children;a._spine_bone_is_y_down=Y.spine_bone_is_y_down;a._spine_bone_set_y_down=Y.spine_bone_set_y_down;a._spine_bone_update=Y.spine_bone_update;
a._spine_bone_get_data=Y.spine_bone_get_data;a._spine_bone_get_pose=Y.spine_bone_get_pose;a._spine_bone_get_applied_pose=Y.spine_bone_get_applied_pose;a._spine_bone_reset_constrained=Y.spine_bone_reset_constrained;a._spine_bone_constrained=Y.spine_bone_constrained;a._spine_bone_is_pose_equal_to_applied=Y.spine_bone_is_pose_equal_to_applied;a._spine_bone_is_active=Y.spine_bone_is_active;a._spine_bone_set_active=Y.spine_bone_set_active;a._spine_bone_rtti=Y.spine_bone_rtti; a._spine_bone_get_data=Y.spine_bone_get_data;a._spine_bone_get_pose=Y.spine_bone_get_pose;a._spine_bone_get_applied_pose=Y.spine_bone_get_applied_pose;a._spine_bone_reset_constrained=Y.spine_bone_reset_constrained;a._spine_bone_constrained=Y.spine_bone_constrained;a._spine_bone_is_pose_equal_to_applied=Y.spine_bone_is_pose_equal_to_applied;a._spine_bone_is_active=Y.spine_bone_is_active;a._spine_bone_set_active=Y.spine_bone_set_active;a._spine_bone_rtti=Y.spine_bone_rtti;
a._spine_to_scale_y_create=Y.spine_to_scale_y_create;a._spine_to_scale_y_dispose=Y.spine_to_scale_y_dispose;a._spine_to_scale_y_get_rtti=Y.spine_to_scale_y_get_rtti;a._spine_to_scale_y_mix=Y.spine_to_scale_y_mix;a._spine_to_scale_y_apply=Y.spine_to_scale_y_apply;a._spine_to_scale_y_rtti=Y.spine_to_scale_y_rtti;a._spine_from_property_dispose=Y.spine_from_property_dispose;a._spine_from_property_get_rtti=Y.spine_from_property_get_rtti;a._spine_from_property_value=Y.spine_from_property_value; a._spine_to_scale_y_create=Y.spine_to_scale_y_create;a._spine_to_scale_y_dispose=Y.spine_to_scale_y_dispose;a._spine_to_scale_y_get_rtti=Y.spine_to_scale_y_get_rtti;a._spine_to_scale_y_mix=Y.spine_to_scale_y_mix;a._spine_to_scale_y_apply=Y.spine_to_scale_y_apply;a._spine_to_scale_y_rtti=Y.spine_to_scale_y_rtti;a._spine_physics_constraint_base_dispose=Y.spine_physics_constraint_base_dispose;a._spine_physics_constraint_base_get_data=Y.spine_physics_constraint_base_get_data;
a._spine_from_property_rtti=Y.spine_from_property_rtti;a._spine_from_property_get__offset=Y.spine_from_property_get__offset;a._spine_from_property_set__offset=Y.spine_from_property_set__offset;a._spine_from_property_get__to=Y.spine_from_property_get__to;a._spine_from_property_set__to=Y.spine_from_property_set__to;a._spine_transform_constraint_pose_create=Y.spine_transform_constraint_pose_create;a._spine_transform_constraint_pose_dispose=Y.spine_transform_constraint_pose_dispose; a._spine_physics_constraint_base_get_pose=Y.spine_physics_constraint_base_get_pose;a._spine_physics_constraint_base_get_applied_pose=Y.spine_physics_constraint_base_get_applied_pose;a._spine_physics_constraint_base_reset_constrained=Y.spine_physics_constraint_base_reset_constrained;a._spine_physics_constraint_base_constrained=Y.spine_physics_constraint_base_constrained;a._spine_physics_constraint_base_is_pose_equal_to_applied=Y.spine_physics_constraint_base_is_pose_equal_to_applied;
a._spine_transform_constraint_pose_set=Y.spine_transform_constraint_pose_set;a._spine_transform_constraint_pose_get_mix_rotate=Y.spine_transform_constraint_pose_get_mix_rotate;a._spine_transform_constraint_pose_set_mix_rotate=Y.spine_transform_constraint_pose_set_mix_rotate;a._spine_transform_constraint_pose_get_mix_x=Y.spine_transform_constraint_pose_get_mix_x;a._spine_transform_constraint_pose_set_mix_x=Y.spine_transform_constraint_pose_set_mix_x;a._spine_transform_constraint_pose_get_mix_y=Y.spine_transform_constraint_pose_get_mix_y; a._spine_physics_constraint_base_is_active=Y.spine_physics_constraint_base_is_active;a._spine_physics_constraint_base_set_active=Y.spine_physics_constraint_base_set_active;a._spine_physics_constraint_base_get_rtti=Y.spine_physics_constraint_base_get_rtti;a._spine_physics_constraint_base_sort=Y.spine_physics_constraint_base_sort;a._spine_physics_constraint_base_is_source_active=Y.spine_physics_constraint_base_is_source_active;a._spine_physics_constraint_base_update=Y.spine_physics_constraint_base_update;
a._spine_transform_constraint_pose_set_mix_y=Y.spine_transform_constraint_pose_set_mix_y;a._spine_transform_constraint_pose_get_mix_scale_x=Y.spine_transform_constraint_pose_get_mix_scale_x;a._spine_transform_constraint_pose_set_mix_scale_x=Y.spine_transform_constraint_pose_set_mix_scale_x;a._spine_transform_constraint_pose_get_mix_scale_y=Y.spine_transform_constraint_pose_get_mix_scale_y;a._spine_transform_constraint_pose_set_mix_scale_y=Y.spine_transform_constraint_pose_set_mix_scale_y; a._spine_physics_constraint_base_rtti=Y.spine_physics_constraint_base_rtti;a._spine_from_property_dispose=Y.spine_from_property_dispose;a._spine_from_property_get_rtti=Y.spine_from_property_get_rtti;a._spine_from_property_value=Y.spine_from_property_value;a._spine_from_property_rtti=Y.spine_from_property_rtti;a._spine_from_property_get__offset=Y.spine_from_property_get__offset;a._spine_from_property_set__offset=Y.spine_from_property_set__offset;a._spine_from_property_get__to=Y.spine_from_property_get__to;
a._spine_transform_constraint_pose_get_mix_shear_y=Y.spine_transform_constraint_pose_get_mix_shear_y;a._spine_transform_constraint_pose_set_mix_shear_y=Y.spine_transform_constraint_pose_set_mix_shear_y;a._spine_scale_y_timeline_create=Y.spine_scale_y_timeline_create;a._spine_scale_y_timeline_dispose=Y.spine_scale_y_timeline_dispose;a._spine_scale_y_timeline_get_rtti=Y.spine_scale_y_timeline_get_rtti;a._spine_scale_y_timeline_apply=Y.spine_scale_y_timeline_apply; a._spine_from_property_set__to=Y.spine_from_property_set__to;a._spine_transform_constraint_pose_create=Y.spine_transform_constraint_pose_create;a._spine_transform_constraint_pose_dispose=Y.spine_transform_constraint_pose_dispose;a._spine_transform_constraint_pose_set=Y.spine_transform_constraint_pose_set;a._spine_transform_constraint_pose_get_mix_rotate=Y.spine_transform_constraint_pose_get_mix_rotate;a._spine_transform_constraint_pose_set_mix_rotate=Y.spine_transform_constraint_pose_set_mix_rotate;
a._spine_scale_y_timeline_get_bone_index=Y.spine_scale_y_timeline_get_bone_index;a._spine_scale_y_timeline_set_bone_index=Y.spine_scale_y_timeline_set_bone_index;a._spine_scale_y_timeline_set_frame=Y.spine_scale_y_timeline_set_frame;a._spine_scale_y_timeline_get_curve_value=Y.spine_scale_y_timeline_get_curve_value;a._spine_scale_y_timeline_get_relative_value=Y.spine_scale_y_timeline_get_relative_value;a._spine_scale_y_timeline_get_absolute_value_1=Y.spine_scale_y_timeline_get_absolute_value_1; a._spine_transform_constraint_pose_get_mix_x=Y.spine_transform_constraint_pose_get_mix_x;a._spine_transform_constraint_pose_set_mix_x=Y.spine_transform_constraint_pose_set_mix_x;a._spine_transform_constraint_pose_get_mix_y=Y.spine_transform_constraint_pose_get_mix_y;a._spine_transform_constraint_pose_set_mix_y=Y.spine_transform_constraint_pose_set_mix_y;a._spine_transform_constraint_pose_get_mix_scale_x=Y.spine_transform_constraint_pose_get_mix_scale_x;
a._spine_scale_y_timeline_get_absolute_value_2=Y.spine_scale_y_timeline_get_absolute_value_2;a._spine_scale_y_timeline_get_scale_value=Y.spine_scale_y_timeline_get_scale_value;a._spine_scale_y_timeline_set_linear=Y.spine_scale_y_timeline_set_linear;a._spine_scale_y_timeline_set_stepped=Y.spine_scale_y_timeline_set_stepped;a._spine_scale_y_timeline_set_bezier=Y.spine_scale_y_timeline_set_bezier;a._spine_scale_y_timeline_get_bezier_value=Y.spine_scale_y_timeline_get_bezier_value; a._spine_transform_constraint_pose_set_mix_scale_x=Y.spine_transform_constraint_pose_set_mix_scale_x;a._spine_transform_constraint_pose_get_mix_scale_y=Y.spine_transform_constraint_pose_get_mix_scale_y;a._spine_transform_constraint_pose_set_mix_scale_y=Y.spine_transform_constraint_pose_set_mix_scale_y;a._spine_transform_constraint_pose_get_mix_shear_y=Y.spine_transform_constraint_pose_get_mix_shear_y;a._spine_transform_constraint_pose_set_mix_shear_y=Y.spine_transform_constraint_pose_set_mix_shear_y;
a._spine_scale_y_timeline_get_curves=Y.spine_scale_y_timeline_get_curves;a._spine_scale_y_timeline_get_frame_entries=Y.spine_scale_y_timeline_get_frame_entries;a._spine_scale_y_timeline_get_frame_count=Y.spine_scale_y_timeline_get_frame_count;a._spine_scale_y_timeline_get_frames=Y.spine_scale_y_timeline_get_frames;a._spine_scale_y_timeline_get_duration=Y.spine_scale_y_timeline_get_duration;a._spine_scale_y_timeline_get_property_ids=Y.spine_scale_y_timeline_get_property_ids; a._spine_scale_y_timeline_create=Y.spine_scale_y_timeline_create;a._spine_scale_y_timeline_dispose=Y.spine_scale_y_timeline_dispose;a._spine_scale_y_timeline_get_rtti=Y.spine_scale_y_timeline_get_rtti;a._spine_scale_y_timeline_apply=Y.spine_scale_y_timeline_apply;a._spine_scale_y_timeline_get_bone_index=Y.spine_scale_y_timeline_get_bone_index;a._spine_scale_y_timeline_set_bone_index=Y.spine_scale_y_timeline_set_bone_index;a._spine_scale_y_timeline_set_frame=Y.spine_scale_y_timeline_set_frame;
a._spine_scale_y_timeline_rtti=Y.spine_scale_y_timeline_rtti;a._spine_physics_constraint_data_create=Y.spine_physics_constraint_data_create;a._spine_physics_constraint_data_dispose=Y.spine_physics_constraint_data_dispose;a._spine_physics_constraint_data_get_rtti=Y.spine_physics_constraint_data_get_rtti;a._spine_physics_constraint_data_create_method=Y.spine_physics_constraint_data_create_method;a._spine_physics_constraint_data_get_bone=Y.spine_physics_constraint_data_get_bone; a._spine_scale_y_timeline_get_curve_value=Y.spine_scale_y_timeline_get_curve_value;a._spine_scale_y_timeline_get_relative_value=Y.spine_scale_y_timeline_get_relative_value;a._spine_scale_y_timeline_get_absolute_value_1=Y.spine_scale_y_timeline_get_absolute_value_1;a._spine_scale_y_timeline_get_absolute_value_2=Y.spine_scale_y_timeline_get_absolute_value_2;a._spine_scale_y_timeline_get_scale_value=Y.spine_scale_y_timeline_get_scale_value;a._spine_scale_y_timeline_set_linear=Y.spine_scale_y_timeline_set_linear;
a._spine_physics_constraint_data_set_bone=Y.spine_physics_constraint_data_set_bone;a._spine_physics_constraint_data_get_step=Y.spine_physics_constraint_data_get_step;a._spine_physics_constraint_data_set_step=Y.spine_physics_constraint_data_set_step;a._spine_physics_constraint_data_get_x=Y.spine_physics_constraint_data_get_x;a._spine_physics_constraint_data_set_x=Y.spine_physics_constraint_data_set_x;a._spine_physics_constraint_data_get_y=Y.spine_physics_constraint_data_get_y; a._spine_scale_y_timeline_set_stepped=Y.spine_scale_y_timeline_set_stepped;a._spine_scale_y_timeline_set_bezier=Y.spine_scale_y_timeline_set_bezier;a._spine_scale_y_timeline_get_bezier_value=Y.spine_scale_y_timeline_get_bezier_value;a._spine_scale_y_timeline_get_curves=Y.spine_scale_y_timeline_get_curves;a._spine_scale_y_timeline_get_frame_entries=Y.spine_scale_y_timeline_get_frame_entries;a._spine_scale_y_timeline_get_frame_count=Y.spine_scale_y_timeline_get_frame_count;
a._spine_physics_constraint_data_set_y=Y.spine_physics_constraint_data_set_y;a._spine_physics_constraint_data_get_rotate=Y.spine_physics_constraint_data_get_rotate;a._spine_physics_constraint_data_set_rotate=Y.spine_physics_constraint_data_set_rotate;a._spine_physics_constraint_data_get_scale_x=Y.spine_physics_constraint_data_get_scale_x;a._spine_physics_constraint_data_set_scale_x=Y.spine_physics_constraint_data_set_scale_x;a._spine_physics_constraint_data_get_shear_x=Y.spine_physics_constraint_data_get_shear_x; a._spine_scale_y_timeline_get_frames=Y.spine_scale_y_timeline_get_frames;a._spine_scale_y_timeline_get_duration=Y.spine_scale_y_timeline_get_duration;a._spine_scale_y_timeline_get_property_ids=Y.spine_scale_y_timeline_get_property_ids;a._spine_scale_y_timeline_rtti=Y.spine_scale_y_timeline_rtti;a._spine_physics_constraint_data_create=Y.spine_physics_constraint_data_create;a._spine_physics_constraint_data_dispose=Y.spine_physics_constraint_data_dispose;a._spine_physics_constraint_data_get_rtti=Y.spine_physics_constraint_data_get_rtti;
a._spine_physics_constraint_data_set_shear_x=Y.spine_physics_constraint_data_set_shear_x;a._spine_physics_constraint_data_get_limit=Y.spine_physics_constraint_data_get_limit;a._spine_physics_constraint_data_set_limit=Y.spine_physics_constraint_data_set_limit;a._spine_physics_constraint_data_get_inertia_global=Y.spine_physics_constraint_data_get_inertia_global;a._spine_physics_constraint_data_set_inertia_global=Y.spine_physics_constraint_data_set_inertia_global; a._spine_physics_constraint_data_create_method=Y.spine_physics_constraint_data_create_method;a._spine_physics_constraint_data_get_bone=Y.spine_physics_constraint_data_get_bone;a._spine_physics_constraint_data_set_bone=Y.spine_physics_constraint_data_set_bone;a._spine_physics_constraint_data_get_step=Y.spine_physics_constraint_data_get_step;a._spine_physics_constraint_data_set_step=Y.spine_physics_constraint_data_set_step;a._spine_physics_constraint_data_get_x=Y.spine_physics_constraint_data_get_x;
a._spine_physics_constraint_data_get_strength_global=Y.spine_physics_constraint_data_get_strength_global;a._spine_physics_constraint_data_set_strength_global=Y.spine_physics_constraint_data_set_strength_global;a._spine_physics_constraint_data_get_damping_global=Y.spine_physics_constraint_data_get_damping_global;a._spine_physics_constraint_data_set_damping_global=Y.spine_physics_constraint_data_set_damping_global;a._spine_physics_constraint_data_get_mass_global=Y.spine_physics_constraint_data_get_mass_global; a._spine_physics_constraint_data_set_x=Y.spine_physics_constraint_data_set_x;a._spine_physics_constraint_data_get_y=Y.spine_physics_constraint_data_get_y;a._spine_physics_constraint_data_set_y=Y.spine_physics_constraint_data_set_y;a._spine_physics_constraint_data_get_rotate=Y.spine_physics_constraint_data_get_rotate;a._spine_physics_constraint_data_set_rotate=Y.spine_physics_constraint_data_set_rotate;a._spine_physics_constraint_data_get_scale_x=Y.spine_physics_constraint_data_get_scale_x;
a._spine_physics_constraint_data_set_mass_global=Y.spine_physics_constraint_data_set_mass_global;a._spine_physics_constraint_data_get_wind_global=Y.spine_physics_constraint_data_get_wind_global;a._spine_physics_constraint_data_set_wind_global=Y.spine_physics_constraint_data_set_wind_global;a._spine_physics_constraint_data_get_gravity_global=Y.spine_physics_constraint_data_get_gravity_global;a._spine_physics_constraint_data_set_gravity_global=Y.spine_physics_constraint_data_set_gravity_global; a._spine_physics_constraint_data_set_scale_x=Y.spine_physics_constraint_data_set_scale_x;a._spine_physics_constraint_data_get_shear_x=Y.spine_physics_constraint_data_get_shear_x;a._spine_physics_constraint_data_set_shear_x=Y.spine_physics_constraint_data_set_shear_x;a._spine_physics_constraint_data_get_limit=Y.spine_physics_constraint_data_get_limit;a._spine_physics_constraint_data_set_limit=Y.spine_physics_constraint_data_set_limit;a._spine_physics_constraint_data_get_inertia_global=Y.spine_physics_constraint_data_get_inertia_global;
a._spine_physics_constraint_data_get_mix_global=Y.spine_physics_constraint_data_get_mix_global;a._spine_physics_constraint_data_set_mix_global=Y.spine_physics_constraint_data_set_mix_global;a._spine_physics_constraint_data_get_name=Y.spine_physics_constraint_data_get_name;a._spine_physics_constraint_data_get_skin_required=Y.spine_physics_constraint_data_get_skin_required;a._spine_physics_constraint_data_get_setup_pose=Y.spine_physics_constraint_data_get_setup_pose; a._spine_physics_constraint_data_set_inertia_global=Y.spine_physics_constraint_data_set_inertia_global;a._spine_physics_constraint_data_get_strength_global=Y.spine_physics_constraint_data_get_strength_global;a._spine_physics_constraint_data_set_strength_global=Y.spine_physics_constraint_data_set_strength_global;a._spine_physics_constraint_data_get_damping_global=Y.spine_physics_constraint_data_get_damping_global;a._spine_physics_constraint_data_set_damping_global=Y.spine_physics_constraint_data_set_damping_global;
a._spine_physics_constraint_data_set_skin_required=Y.spine_physics_constraint_data_set_skin_required;a._spine_physics_constraint_data_rtti=Y.spine_physics_constraint_data_rtti;a._spine_to_scale_x_create=Y.spine_to_scale_x_create;a._spine_to_scale_x_dispose=Y.spine_to_scale_x_dispose;a._spine_to_scale_x_get_rtti=Y.spine_to_scale_x_get_rtti;a._spine_to_scale_x_mix=Y.spine_to_scale_x_mix;a._spine_to_scale_x_apply=Y.spine_to_scale_x_apply;a._spine_to_scale_x_rtti=Y.spine_to_scale_x_rtti; a._spine_physics_constraint_data_get_mass_global=Y.spine_physics_constraint_data_get_mass_global;a._spine_physics_constraint_data_set_mass_global=Y.spine_physics_constraint_data_set_mass_global;a._spine_physics_constraint_data_get_wind_global=Y.spine_physics_constraint_data_get_wind_global;a._spine_physics_constraint_data_set_wind_global=Y.spine_physics_constraint_data_set_wind_global;a._spine_physics_constraint_data_get_gravity_global=Y.spine_physics_constraint_data_get_gravity_global;
a._spine_constraint_timeline_dispose=Y.spine_constraint_timeline_dispose;a._spine_constraint_timeline_get_rtti=Y.spine_constraint_timeline_get_rtti;a._spine_constraint_timeline_get_constraint_index=Y.spine_constraint_timeline_get_constraint_index;a._spine_constraint_timeline_set_constraint_index=Y.spine_constraint_timeline_set_constraint_index;a._spine_constraint_timeline_rtti=Y.spine_constraint_timeline_rtti;a._spine_to_property_dispose=Y.spine_to_property_dispose;a._spine_to_property_get_rtti=Y.spine_to_property_get_rtti; a._spine_physics_constraint_data_set_gravity_global=Y.spine_physics_constraint_data_set_gravity_global;a._spine_physics_constraint_data_get_mix_global=Y.spine_physics_constraint_data_get_mix_global;a._spine_physics_constraint_data_set_mix_global=Y.spine_physics_constraint_data_set_mix_global;a._spine_physics_constraint_data_get_name=Y.spine_physics_constraint_data_get_name;a._spine_physics_constraint_data_get_skin_required=Y.spine_physics_constraint_data_get_skin_required;
a._spine_to_property_mix=Y.spine_to_property_mix;a._spine_to_property_apply=Y.spine_to_property_apply;a._spine_to_property_rtti=Y.spine_to_property_rtti;a._spine_to_property_get__offset=Y.spine_to_property_get__offset;a._spine_to_property_set__offset=Y.spine_to_property_set__offset;a._spine_to_property_get__max=Y.spine_to_property_get__max;a._spine_to_property_set__max=Y.spine_to_property_set__max;a._spine_to_property_get__scale=Y.spine_to_property_get__scale;a._spine_to_property_set__scale=Y.spine_to_property_set__scale; a._spine_physics_constraint_data_get_setup_pose=Y.spine_physics_constraint_data_get_setup_pose;a._spine_physics_constraint_data_set_skin_required=Y.spine_physics_constraint_data_set_skin_required;a._spine_physics_constraint_data_rtti=Y.spine_physics_constraint_data_rtti;a._spine_to_scale_x_create=Y.spine_to_scale_x_create;a._spine_to_scale_x_dispose=Y.spine_to_scale_x_dispose;a._spine_to_scale_x_get_rtti=Y.spine_to_scale_x_get_rtti;a._spine_to_scale_x_mix=Y.spine_to_scale_x_mix;
a._spine_rgb_timeline_create=Y.spine_rgb_timeline_create;a._spine_rgb_timeline_dispose=Y.spine_rgb_timeline_dispose;a._spine_rgb_timeline_get_rtti=Y.spine_rgb_timeline_get_rtti;a._spine_rgb_timeline_set_frame=Y.spine_rgb_timeline_set_frame;a._spine_rgb_timeline_apply=Y.spine_rgb_timeline_apply;a._spine_rgb_timeline_get_slot_index=Y.spine_rgb_timeline_get_slot_index;a._spine_rgb_timeline_set_slot_index=Y.spine_rgb_timeline_set_slot_index;a._spine_rgb_timeline_set_linear=Y.spine_rgb_timeline_set_linear; a._spine_to_scale_x_apply=Y.spine_to_scale_x_apply;a._spine_to_scale_x_rtti=Y.spine_to_scale_x_rtti;a._spine_constraint_timeline_dispose=Y.spine_constraint_timeline_dispose;a._spine_constraint_timeline_get_rtti=Y.spine_constraint_timeline_get_rtti;a._spine_constraint_timeline_get_constraint_index=Y.spine_constraint_timeline_get_constraint_index;a._spine_constraint_timeline_set_constraint_index=Y.spine_constraint_timeline_set_constraint_index;a._spine_constraint_timeline_rtti=Y.spine_constraint_timeline_rtti;
a._spine_rgb_timeline_set_stepped=Y.spine_rgb_timeline_set_stepped;a._spine_rgb_timeline_set_bezier=Y.spine_rgb_timeline_set_bezier;a._spine_rgb_timeline_get_bezier_value=Y.spine_rgb_timeline_get_bezier_value;a._spine_rgb_timeline_get_curves=Y.spine_rgb_timeline_get_curves;a._spine_rgb_timeline_get_frame_entries=Y.spine_rgb_timeline_get_frame_entries;a._spine_rgb_timeline_get_frame_count=Y.spine_rgb_timeline_get_frame_count;a._spine_rgb_timeline_get_frames=Y.spine_rgb_timeline_get_frames; a._spine_to_property_dispose=Y.spine_to_property_dispose;a._spine_to_property_get_rtti=Y.spine_to_property_get_rtti;a._spine_to_property_mix=Y.spine_to_property_mix;a._spine_to_property_apply=Y.spine_to_property_apply;a._spine_to_property_rtti=Y.spine_to_property_rtti;a._spine_to_property_get__offset=Y.spine_to_property_get__offset;a._spine_to_property_set__offset=Y.spine_to_property_set__offset;a._spine_to_property_get__max=Y.spine_to_property_get__max;a._spine_to_property_set__max=Y.spine_to_property_set__max;
a._spine_rgb_timeline_get_duration=Y.spine_rgb_timeline_get_duration;a._spine_rgb_timeline_get_property_ids=Y.spine_rgb_timeline_get_property_ids;a._spine_rgb_timeline_rtti=Y.spine_rgb_timeline_rtti;a._spine_render_command_dispose=Y.spine_render_command_dispose;a._spine_render_command_get_positions=Y.spine_render_command_get_positions;a._spine_render_command_get_uvs=Y.spine_render_command_get_uvs;a._spine_render_command_get_colors=Y.spine_render_command_get_colors; a._spine_to_property_get__scale=Y.spine_to_property_get__scale;a._spine_to_property_set__scale=Y.spine_to_property_set__scale;a._spine_rgb_timeline_create=Y.spine_rgb_timeline_create;a._spine_rgb_timeline_dispose=Y.spine_rgb_timeline_dispose;a._spine_rgb_timeline_get_rtti=Y.spine_rgb_timeline_get_rtti;a._spine_rgb_timeline_set_frame=Y.spine_rgb_timeline_set_frame;a._spine_rgb_timeline_apply=Y.spine_rgb_timeline_apply;a._spine_rgb_timeline_get_slot_index=Y.spine_rgb_timeline_get_slot_index;
a._spine_render_command_get_dark_colors=Y.spine_render_command_get_dark_colors;a._spine_render_command_get_num_vertices=Y.spine_render_command_get_num_vertices;a._spine_render_command_get_indices=Y.spine_render_command_get_indices;a._spine_render_command_get_num_indices=Y.spine_render_command_get_num_indices;a._spine_render_command_get_blend_mode=Y.spine_render_command_get_blend_mode;a._spine_render_command_get_texture=Y.spine_render_command_get_texture;a._spine_render_command_get_next=Y.spine_render_command_get_next; a._spine_rgb_timeline_set_slot_index=Y.spine_rgb_timeline_set_slot_index;a._spine_rgb_timeline_set_linear=Y.spine_rgb_timeline_set_linear;a._spine_rgb_timeline_set_stepped=Y.spine_rgb_timeline_set_stepped;a._spine_rgb_timeline_set_bezier=Y.spine_rgb_timeline_set_bezier;a._spine_rgb_timeline_get_bezier_value=Y.spine_rgb_timeline_get_bezier_value;a._spine_rgb_timeline_get_curves=Y.spine_rgb_timeline_get_curves;a._spine_rgb_timeline_get_frame_entries=Y.spine_rgb_timeline_get_frame_entries;
a._spine_translate_y_timeline_create=Y.spine_translate_y_timeline_create;a._spine_translate_y_timeline_dispose=Y.spine_translate_y_timeline_dispose;a._spine_translate_y_timeline_get_rtti=Y.spine_translate_y_timeline_get_rtti;a._spine_translate_y_timeline_apply=Y.spine_translate_y_timeline_apply;a._spine_translate_y_timeline_get_bone_index=Y.spine_translate_y_timeline_get_bone_index;a._spine_translate_y_timeline_set_bone_index=Y.spine_translate_y_timeline_set_bone_index; a._spine_rgb_timeline_get_frame_count=Y.spine_rgb_timeline_get_frame_count;a._spine_rgb_timeline_get_frames=Y.spine_rgb_timeline_get_frames;a._spine_rgb_timeline_get_duration=Y.spine_rgb_timeline_get_duration;a._spine_rgb_timeline_get_property_ids=Y.spine_rgb_timeline_get_property_ids;a._spine_rgb_timeline_rtti=Y.spine_rgb_timeline_rtti;a._spine_render_command_dispose=Y.spine_render_command_dispose;a._spine_render_command_get_positions=Y.spine_render_command_get_positions;
a._spine_translate_y_timeline_set_frame=Y.spine_translate_y_timeline_set_frame;a._spine_translate_y_timeline_get_curve_value=Y.spine_translate_y_timeline_get_curve_value;a._spine_translate_y_timeline_get_relative_value=Y.spine_translate_y_timeline_get_relative_value;a._spine_translate_y_timeline_get_absolute_value_1=Y.spine_translate_y_timeline_get_absolute_value_1;a._spine_translate_y_timeline_get_absolute_value_2=Y.spine_translate_y_timeline_get_absolute_value_2; a._spine_render_command_get_uvs=Y.spine_render_command_get_uvs;a._spine_render_command_get_colors=Y.spine_render_command_get_colors;a._spine_render_command_get_dark_colors=Y.spine_render_command_get_dark_colors;a._spine_render_command_get_num_vertices=Y.spine_render_command_get_num_vertices;a._spine_render_command_get_indices=Y.spine_render_command_get_indices;a._spine_render_command_get_num_indices=Y.spine_render_command_get_num_indices;a._spine_render_command_get_blend_mode=Y.spine_render_command_get_blend_mode;
a._spine_translate_y_timeline_get_scale_value=Y.spine_translate_y_timeline_get_scale_value;a._spine_translate_y_timeline_set_linear=Y.spine_translate_y_timeline_set_linear;a._spine_translate_y_timeline_set_stepped=Y.spine_translate_y_timeline_set_stepped;a._spine_translate_y_timeline_set_bezier=Y.spine_translate_y_timeline_set_bezier;a._spine_translate_y_timeline_get_bezier_value=Y.spine_translate_y_timeline_get_bezier_value;a._spine_translate_y_timeline_get_curves=Y.spine_translate_y_timeline_get_curves; a._spine_render_command_get_texture=Y.spine_render_command_get_texture;a._spine_render_command_get_next=Y.spine_render_command_get_next;a._spine_translate_y_timeline_create=Y.spine_translate_y_timeline_create;a._spine_translate_y_timeline_dispose=Y.spine_translate_y_timeline_dispose;a._spine_translate_y_timeline_get_rtti=Y.spine_translate_y_timeline_get_rtti;a._spine_translate_y_timeline_apply=Y.spine_translate_y_timeline_apply;a._spine_translate_y_timeline_get_bone_index=Y.spine_translate_y_timeline_get_bone_index;
a._spine_translate_y_timeline_get_frame_entries=Y.spine_translate_y_timeline_get_frame_entries;a._spine_translate_y_timeline_get_frame_count=Y.spine_translate_y_timeline_get_frame_count;a._spine_translate_y_timeline_get_frames=Y.spine_translate_y_timeline_get_frames;a._spine_translate_y_timeline_get_duration=Y.spine_translate_y_timeline_get_duration;a._spine_translate_y_timeline_get_property_ids=Y.spine_translate_y_timeline_get_property_ids;a._spine_translate_y_timeline_rtti=Y.spine_translate_y_timeline_rtti; a._spine_translate_y_timeline_set_bone_index=Y.spine_translate_y_timeline_set_bone_index;a._spine_translate_y_timeline_set_frame=Y.spine_translate_y_timeline_set_frame;a._spine_translate_y_timeline_get_curve_value=Y.spine_translate_y_timeline_get_curve_value;a._spine_translate_y_timeline_get_relative_value=Y.spine_translate_y_timeline_get_relative_value;a._spine_translate_y_timeline_get_absolute_value_1=Y.spine_translate_y_timeline_get_absolute_value_1;
a._spine_rgb2_timeline_create=Y.spine_rgb2_timeline_create;a._spine_rgb2_timeline_dispose=Y.spine_rgb2_timeline_dispose;a._spine_rgb2_timeline_get_rtti=Y.spine_rgb2_timeline_get_rtti;a._spine_rgb2_timeline_set_frame=Y.spine_rgb2_timeline_set_frame;a._spine_rgb2_timeline_apply=Y.spine_rgb2_timeline_apply;a._spine_rgb2_timeline_get_slot_index=Y.spine_rgb2_timeline_get_slot_index;a._spine_rgb2_timeline_set_slot_index=Y.spine_rgb2_timeline_set_slot_index;a._spine_rgb2_timeline_set_linear=Y.spine_rgb2_timeline_set_linear; a._spine_translate_y_timeline_get_absolute_value_2=Y.spine_translate_y_timeline_get_absolute_value_2;a._spine_translate_y_timeline_get_scale_value=Y.spine_translate_y_timeline_get_scale_value;a._spine_translate_y_timeline_set_linear=Y.spine_translate_y_timeline_set_linear;a._spine_translate_y_timeline_set_stepped=Y.spine_translate_y_timeline_set_stepped;a._spine_translate_y_timeline_set_bezier=Y.spine_translate_y_timeline_set_bezier;a._spine_translate_y_timeline_get_bezier_value=Y.spine_translate_y_timeline_get_bezier_value;
a._spine_rgb2_timeline_set_stepped=Y.spine_rgb2_timeline_set_stepped;a._spine_rgb2_timeline_set_bezier=Y.spine_rgb2_timeline_set_bezier;a._spine_rgb2_timeline_get_bezier_value=Y.spine_rgb2_timeline_get_bezier_value;a._spine_rgb2_timeline_get_curves=Y.spine_rgb2_timeline_get_curves;a._spine_rgb2_timeline_get_frame_entries=Y.spine_rgb2_timeline_get_frame_entries;a._spine_rgb2_timeline_get_frame_count=Y.spine_rgb2_timeline_get_frame_count;a._spine_rgb2_timeline_get_frames=Y.spine_rgb2_timeline_get_frames; a._spine_translate_y_timeline_get_curves=Y.spine_translate_y_timeline_get_curves;a._spine_translate_y_timeline_get_frame_entries=Y.spine_translate_y_timeline_get_frame_entries;a._spine_translate_y_timeline_get_frame_count=Y.spine_translate_y_timeline_get_frame_count;a._spine_translate_y_timeline_get_frames=Y.spine_translate_y_timeline_get_frames;a._spine_translate_y_timeline_get_duration=Y.spine_translate_y_timeline_get_duration;a._spine_translate_y_timeline_get_property_ids=Y.spine_translate_y_timeline_get_property_ids;
a._spine_rgb2_timeline_get_duration=Y.spine_rgb2_timeline_get_duration;a._spine_rgb2_timeline_get_property_ids=Y.spine_rgb2_timeline_get_property_ids;a._spine_rgb2_timeline_rtti=Y.spine_rgb2_timeline_rtti;a._spine_event_timeline_create=Y.spine_event_timeline_create;a._spine_event_timeline_dispose=Y.spine_event_timeline_dispose;a._spine_event_timeline_get_rtti=Y.spine_event_timeline_get_rtti;a._spine_event_timeline_apply=Y.spine_event_timeline_apply;a._spine_event_timeline_get_frame_count=Y.spine_event_timeline_get_frame_count; a._spine_translate_y_timeline_rtti=Y.spine_translate_y_timeline_rtti;a._spine_rgb2_timeline_create=Y.spine_rgb2_timeline_create;a._spine_rgb2_timeline_dispose=Y.spine_rgb2_timeline_dispose;a._spine_rgb2_timeline_get_rtti=Y.spine_rgb2_timeline_get_rtti;a._spine_rgb2_timeline_set_frame=Y.spine_rgb2_timeline_set_frame;a._spine_rgb2_timeline_apply=Y.spine_rgb2_timeline_apply;a._spine_rgb2_timeline_get_slot_index=Y.spine_rgb2_timeline_get_slot_index;a._spine_rgb2_timeline_set_slot_index=Y.spine_rgb2_timeline_set_slot_index;
a._spine_event_timeline_get_events=Y.spine_event_timeline_get_events;a._spine_event_timeline_set_frame=Y.spine_event_timeline_set_frame;a._spine_event_timeline_get_frame_entries=Y.spine_event_timeline_get_frame_entries;a._spine_event_timeline_get_frames=Y.spine_event_timeline_get_frames;a._spine_event_timeline_get_duration=Y.spine_event_timeline_get_duration;a._spine_event_timeline_get_property_ids=Y.spine_event_timeline_get_property_ids;a._spine_event_timeline_rtti=Y.spine_event_timeline_rtti; a._spine_rgb2_timeline_set_linear=Y.spine_rgb2_timeline_set_linear;a._spine_rgb2_timeline_set_stepped=Y.spine_rgb2_timeline_set_stepped;a._spine_rgb2_timeline_set_bezier=Y.spine_rgb2_timeline_set_bezier;a._spine_rgb2_timeline_get_bezier_value=Y.spine_rgb2_timeline_get_bezier_value;a._spine_rgb2_timeline_get_curves=Y.spine_rgb2_timeline_get_curves;a._spine_rgb2_timeline_get_frame_entries=Y.spine_rgb2_timeline_get_frame_entries;a._spine_rgb2_timeline_get_frame_count=Y.spine_rgb2_timeline_get_frame_count;
a._spine_to_rotate_create=Y.spine_to_rotate_create;a._spine_to_rotate_dispose=Y.spine_to_rotate_dispose;a._spine_to_rotate_get_rtti=Y.spine_to_rotate_get_rtti;a._spine_to_rotate_mix=Y.spine_to_rotate_mix;a._spine_to_rotate_apply=Y.spine_to_rotate_apply;a._spine_to_rotate_rtti=Y.spine_to_rotate_rtti;a._spine_bone_timeline2_dispose=Y.spine_bone_timeline2_dispose;a._spine_bone_timeline2_get_rtti=Y.spine_bone_timeline2_get_rtti;a._spine_bone_timeline2_apply=Y.spine_bone_timeline2_apply; a._spine_rgb2_timeline_get_frames=Y.spine_rgb2_timeline_get_frames;a._spine_rgb2_timeline_get_duration=Y.spine_rgb2_timeline_get_duration;a._spine_rgb2_timeline_get_property_ids=Y.spine_rgb2_timeline_get_property_ids;a._spine_rgb2_timeline_rtti=Y.spine_rgb2_timeline_rtti;a._spine_event_timeline_create=Y.spine_event_timeline_create;a._spine_event_timeline_dispose=Y.spine_event_timeline_dispose;a._spine_event_timeline_get_rtti=Y.spine_event_timeline_get_rtti;a._spine_event_timeline_apply=Y.spine_event_timeline_apply;
a._spine_bone_timeline2_get_bone_index=Y.spine_bone_timeline2_get_bone_index;a._spine_bone_timeline2_set_bone_index=Y.spine_bone_timeline2_set_bone_index;a._spine_bone_timeline2_set_frame=Y.spine_bone_timeline2_set_frame;a._spine_bone_timeline2_set_linear=Y.spine_bone_timeline2_set_linear;a._spine_bone_timeline2_set_stepped=Y.spine_bone_timeline2_set_stepped;a._spine_bone_timeline2_set_bezier=Y.spine_bone_timeline2_set_bezier;a._spine_bone_timeline2_get_bezier_value=Y.spine_bone_timeline2_get_bezier_value; a._spine_event_timeline_get_frame_count=Y.spine_event_timeline_get_frame_count;a._spine_event_timeline_get_events=Y.spine_event_timeline_get_events;a._spine_event_timeline_set_frame=Y.spine_event_timeline_set_frame;a._spine_event_timeline_get_frame_entries=Y.spine_event_timeline_get_frame_entries;a._spine_event_timeline_get_frames=Y.spine_event_timeline_get_frames;a._spine_event_timeline_get_duration=Y.spine_event_timeline_get_duration;a._spine_event_timeline_get_property_ids=Y.spine_event_timeline_get_property_ids;
a._spine_bone_timeline2_get_curves=Y.spine_bone_timeline2_get_curves;a._spine_bone_timeline2_get_frame_entries=Y.spine_bone_timeline2_get_frame_entries;a._spine_bone_timeline2_get_frame_count=Y.spine_bone_timeline2_get_frame_count;a._spine_bone_timeline2_get_frames=Y.spine_bone_timeline2_get_frames;a._spine_bone_timeline2_get_duration=Y.spine_bone_timeline2_get_duration;a._spine_bone_timeline2_get_property_ids=Y.spine_bone_timeline2_get_property_ids;a._spine_bone_timeline2_rtti=Y.spine_bone_timeline2_rtti; a._spine_event_timeline_rtti=Y.spine_event_timeline_rtti;a._spine_to_rotate_create=Y.spine_to_rotate_create;a._spine_to_rotate_dispose=Y.spine_to_rotate_dispose;a._spine_to_rotate_get_rtti=Y.spine_to_rotate_get_rtti;a._spine_to_rotate_mix=Y.spine_to_rotate_mix;a._spine_to_rotate_apply=Y.spine_to_rotate_apply;a._spine_to_rotate_rtti=Y.spine_to_rotate_rtti;a._spine_bone_timeline2_dispose=Y.spine_bone_timeline2_dispose;a._spine_bone_timeline2_get_rtti=Y.spine_bone_timeline2_get_rtti;
a._spine_linked_mesh_create=Y.spine_linked_mesh_create;a._spine_linked_mesh_create2=Y.spine_linked_mesh_create2;a._spine_linked_mesh_dispose=Y.spine_linked_mesh_dispose;a._spine_scale_x_timeline_create=Y.spine_scale_x_timeline_create;a._spine_scale_x_timeline_dispose=Y.spine_scale_x_timeline_dispose;a._spine_scale_x_timeline_get_rtti=Y.spine_scale_x_timeline_get_rtti;a._spine_scale_x_timeline_apply=Y.spine_scale_x_timeline_apply;a._spine_scale_x_timeline_get_bone_index=Y.spine_scale_x_timeline_get_bone_index; a._spine_bone_timeline2_apply=Y.spine_bone_timeline2_apply;a._spine_bone_timeline2_get_bone_index=Y.spine_bone_timeline2_get_bone_index;a._spine_bone_timeline2_set_bone_index=Y.spine_bone_timeline2_set_bone_index;a._spine_bone_timeline2_set_frame=Y.spine_bone_timeline2_set_frame;a._spine_bone_timeline2_set_linear=Y.spine_bone_timeline2_set_linear;a._spine_bone_timeline2_set_stepped=Y.spine_bone_timeline2_set_stepped;a._spine_bone_timeline2_set_bezier=Y.spine_bone_timeline2_set_bezier;
a._spine_scale_x_timeline_set_bone_index=Y.spine_scale_x_timeline_set_bone_index;a._spine_scale_x_timeline_set_frame=Y.spine_scale_x_timeline_set_frame;a._spine_scale_x_timeline_get_curve_value=Y.spine_scale_x_timeline_get_curve_value;a._spine_scale_x_timeline_get_relative_value=Y.spine_scale_x_timeline_get_relative_value;a._spine_scale_x_timeline_get_absolute_value_1=Y.spine_scale_x_timeline_get_absolute_value_1;a._spine_scale_x_timeline_get_absolute_value_2=Y.spine_scale_x_timeline_get_absolute_value_2; a._spine_bone_timeline2_get_bezier_value=Y.spine_bone_timeline2_get_bezier_value;a._spine_bone_timeline2_get_curves=Y.spine_bone_timeline2_get_curves;a._spine_bone_timeline2_get_frame_entries=Y.spine_bone_timeline2_get_frame_entries;a._spine_bone_timeline2_get_frame_count=Y.spine_bone_timeline2_get_frame_count;a._spine_bone_timeline2_get_frames=Y.spine_bone_timeline2_get_frames;a._spine_bone_timeline2_get_duration=Y.spine_bone_timeline2_get_duration;a._spine_bone_timeline2_get_property_ids=Y.spine_bone_timeline2_get_property_ids;
a._spine_scale_x_timeline_get_scale_value=Y.spine_scale_x_timeline_get_scale_value;a._spine_scale_x_timeline_set_linear=Y.spine_scale_x_timeline_set_linear;a._spine_scale_x_timeline_set_stepped=Y.spine_scale_x_timeline_set_stepped;a._spine_scale_x_timeline_set_bezier=Y.spine_scale_x_timeline_set_bezier;a._spine_scale_x_timeline_get_bezier_value=Y.spine_scale_x_timeline_get_bezier_value;a._spine_scale_x_timeline_get_curves=Y.spine_scale_x_timeline_get_curves; a._spine_bone_timeline2_rtti=Y.spine_bone_timeline2_rtti;a._spine_linked_mesh_create=Y.spine_linked_mesh_create;a._spine_linked_mesh_create2=Y.spine_linked_mesh_create2;a._spine_linked_mesh_dispose=Y.spine_linked_mesh_dispose;a._spine_scale_x_timeline_create=Y.spine_scale_x_timeline_create;a._spine_scale_x_timeline_dispose=Y.spine_scale_x_timeline_dispose;a._spine_scale_x_timeline_get_rtti=Y.spine_scale_x_timeline_get_rtti;a._spine_scale_x_timeline_apply=Y.spine_scale_x_timeline_apply;
a._spine_scale_x_timeline_get_frame_entries=Y.spine_scale_x_timeline_get_frame_entries;a._spine_scale_x_timeline_get_frame_count=Y.spine_scale_x_timeline_get_frame_count;a._spine_scale_x_timeline_get_frames=Y.spine_scale_x_timeline_get_frames;a._spine_scale_x_timeline_get_duration=Y.spine_scale_x_timeline_get_duration;a._spine_scale_x_timeline_get_property_ids=Y.spine_scale_x_timeline_get_property_ids;a._spine_scale_x_timeline_rtti=Y.spine_scale_x_timeline_rtti; a._spine_scale_x_timeline_get_bone_index=Y.spine_scale_x_timeline_get_bone_index;a._spine_scale_x_timeline_set_bone_index=Y.spine_scale_x_timeline_set_bone_index;a._spine_scale_x_timeline_set_frame=Y.spine_scale_x_timeline_set_frame;a._spine_scale_x_timeline_get_curve_value=Y.spine_scale_x_timeline_get_curve_value;a._spine_scale_x_timeline_get_relative_value=Y.spine_scale_x_timeline_get_relative_value;a._spine_scale_x_timeline_get_absolute_value_1=Y.spine_scale_x_timeline_get_absolute_value_1;
a._spine_path_constraint_position_timeline_create=Y.spine_path_constraint_position_timeline_create;a._spine_path_constraint_position_timeline_dispose=Y.spine_path_constraint_position_timeline_dispose;a._spine_path_constraint_position_timeline_get_rtti=Y.spine_path_constraint_position_timeline_get_rtti;a._spine_path_constraint_position_timeline_apply=Y.spine_path_constraint_position_timeline_apply;a._spine_path_constraint_position_timeline_get_constraint_index=Y.spine_path_constraint_position_timeline_get_constraint_index; a._spine_scale_x_timeline_get_absolute_value_2=Y.spine_scale_x_timeline_get_absolute_value_2;a._spine_scale_x_timeline_get_scale_value=Y.spine_scale_x_timeline_get_scale_value;a._spine_scale_x_timeline_set_linear=Y.spine_scale_x_timeline_set_linear;a._spine_scale_x_timeline_set_stepped=Y.spine_scale_x_timeline_set_stepped;a._spine_scale_x_timeline_set_bezier=Y.spine_scale_x_timeline_set_bezier;a._spine_scale_x_timeline_get_bezier_value=Y.spine_scale_x_timeline_get_bezier_value;
a._spine_path_constraint_position_timeline_set_constraint_index=Y.spine_path_constraint_position_timeline_set_constraint_index;a._spine_path_constraint_position_timeline_set_frame=Y.spine_path_constraint_position_timeline_set_frame;a._spine_path_constraint_position_timeline_get_curve_value=Y.spine_path_constraint_position_timeline_get_curve_value;a._spine_path_constraint_position_timeline_get_relative_value=Y.spine_path_constraint_position_timeline_get_relative_value; a._spine_scale_x_timeline_get_curves=Y.spine_scale_x_timeline_get_curves;a._spine_scale_x_timeline_get_frame_entries=Y.spine_scale_x_timeline_get_frame_entries;a._spine_scale_x_timeline_get_frame_count=Y.spine_scale_x_timeline_get_frame_count;a._spine_scale_x_timeline_get_frames=Y.spine_scale_x_timeline_get_frames;a._spine_scale_x_timeline_get_duration=Y.spine_scale_x_timeline_get_duration;a._spine_scale_x_timeline_get_property_ids=Y.spine_scale_x_timeline_get_property_ids;
a._spine_path_constraint_position_timeline_get_absolute_value_1=Y.spine_path_constraint_position_timeline_get_absolute_value_1;a._spine_path_constraint_position_timeline_get_absolute_value_2=Y.spine_path_constraint_position_timeline_get_absolute_value_2;a._spine_path_constraint_position_timeline_get_scale_value=Y.spine_path_constraint_position_timeline_get_scale_value;a._spine_path_constraint_position_timeline_set_linear=Y.spine_path_constraint_position_timeline_set_linear; a._spine_scale_x_timeline_rtti=Y.spine_scale_x_timeline_rtti;a._spine_path_constraint_position_timeline_create=Y.spine_path_constraint_position_timeline_create;a._spine_path_constraint_position_timeline_dispose=Y.spine_path_constraint_position_timeline_dispose;a._spine_path_constraint_position_timeline_get_rtti=Y.spine_path_constraint_position_timeline_get_rtti;a._spine_path_constraint_position_timeline_apply=Y.spine_path_constraint_position_timeline_apply;
a._spine_path_constraint_position_timeline_set_stepped=Y.spine_path_constraint_position_timeline_set_stepped;a._spine_path_constraint_position_timeline_set_bezier=Y.spine_path_constraint_position_timeline_set_bezier;a._spine_path_constraint_position_timeline_get_bezier_value=Y.spine_path_constraint_position_timeline_get_bezier_value;a._spine_path_constraint_position_timeline_get_curves=Y.spine_path_constraint_position_timeline_get_curves; a._spine_path_constraint_position_timeline_get_constraint_index=Y.spine_path_constraint_position_timeline_get_constraint_index;a._spine_path_constraint_position_timeline_set_constraint_index=Y.spine_path_constraint_position_timeline_set_constraint_index;a._spine_path_constraint_position_timeline_set_frame=Y.spine_path_constraint_position_timeline_set_frame;a._spine_path_constraint_position_timeline_get_curve_value=Y.spine_path_constraint_position_timeline_get_curve_value;
a._spine_path_constraint_position_timeline_get_relative_value=Y.spine_path_constraint_position_timeline_get_relative_value;a._spine_path_constraint_position_timeline_get_absolute_value_1=Y.spine_path_constraint_position_timeline_get_absolute_value_1;a._spine_path_constraint_position_timeline_get_absolute_value_2=Y.spine_path_constraint_position_timeline_get_absolute_value_2;a._spine_path_constraint_position_timeline_get_scale_value=Y.spine_path_constraint_position_timeline_get_scale_value;
a._spine_path_constraint_position_timeline_set_linear=Y.spine_path_constraint_position_timeline_set_linear;a._spine_path_constraint_position_timeline_set_stepped=Y.spine_path_constraint_position_timeline_set_stepped;a._spine_path_constraint_position_timeline_set_bezier=Y.spine_path_constraint_position_timeline_set_bezier;a._spine_path_constraint_position_timeline_get_bezier_value=Y.spine_path_constraint_position_timeline_get_bezier_value;a._spine_path_constraint_position_timeline_get_curves=Y.spine_path_constraint_position_timeline_get_curves;
a._spine_path_constraint_position_timeline_get_frame_entries=Y.spine_path_constraint_position_timeline_get_frame_entries;a._spine_path_constraint_position_timeline_get_frame_count=Y.spine_path_constraint_position_timeline_get_frame_count;a._spine_path_constraint_position_timeline_get_frames=Y.spine_path_constraint_position_timeline_get_frames;a._spine_path_constraint_position_timeline_get_duration=Y.spine_path_constraint_position_timeline_get_duration; a._spine_path_constraint_position_timeline_get_frame_entries=Y.spine_path_constraint_position_timeline_get_frame_entries;a._spine_path_constraint_position_timeline_get_frame_count=Y.spine_path_constraint_position_timeline_get_frame_count;a._spine_path_constraint_position_timeline_get_frames=Y.spine_path_constraint_position_timeline_get_frames;a._spine_path_constraint_position_timeline_get_duration=Y.spine_path_constraint_position_timeline_get_duration;
a._spine_path_constraint_position_timeline_get_property_ids=Y.spine_path_constraint_position_timeline_get_property_ids;a._spine_path_constraint_position_timeline_rtti=Y.spine_path_constraint_position_timeline_rtti;a._spine_rgba2_timeline_create=Y.spine_rgba2_timeline_create;a._spine_rgba2_timeline_dispose=Y.spine_rgba2_timeline_dispose;a._spine_rgba2_timeline_get_rtti=Y.spine_rgba2_timeline_get_rtti;a._spine_rgba2_timeline_set_frame=Y.spine_rgba2_timeline_set_frame;a._spine_rgba2_timeline_apply=Y.spine_rgba2_timeline_apply; a._spine_path_constraint_position_timeline_get_property_ids=Y.spine_path_constraint_position_timeline_get_property_ids;a._spine_path_constraint_position_timeline_rtti=Y.spine_path_constraint_position_timeline_rtti;a._spine_rgba2_timeline_create=Y.spine_rgba2_timeline_create;a._spine_rgba2_timeline_dispose=Y.spine_rgba2_timeline_dispose;a._spine_rgba2_timeline_get_rtti=Y.spine_rgba2_timeline_get_rtti;a._spine_rgba2_timeline_set_frame=Y.spine_rgba2_timeline_set_frame;a._spine_rgba2_timeline_apply=Y.spine_rgba2_timeline_apply;
a._spine_rgba2_timeline_get_slot_index=Y.spine_rgba2_timeline_get_slot_index;a._spine_rgba2_timeline_set_slot_index=Y.spine_rgba2_timeline_set_slot_index;a._spine_rgba2_timeline_set_linear=Y.spine_rgba2_timeline_set_linear;a._spine_rgba2_timeline_set_stepped=Y.spine_rgba2_timeline_set_stepped;a._spine_rgba2_timeline_set_bezier=Y.spine_rgba2_timeline_set_bezier;a._spine_rgba2_timeline_get_bezier_value=Y.spine_rgba2_timeline_get_bezier_value;a._spine_rgba2_timeline_get_curves=Y.spine_rgba2_timeline_get_curves; a._spine_rgba2_timeline_get_slot_index=Y.spine_rgba2_timeline_get_slot_index;a._spine_rgba2_timeline_set_slot_index=Y.spine_rgba2_timeline_set_slot_index;a._spine_rgba2_timeline_set_linear=Y.spine_rgba2_timeline_set_linear;a._spine_rgba2_timeline_set_stepped=Y.spine_rgba2_timeline_set_stepped;a._spine_rgba2_timeline_set_bezier=Y.spine_rgba2_timeline_set_bezier;a._spine_rgba2_timeline_get_bezier_value=Y.spine_rgba2_timeline_get_bezier_value;a._spine_rgba2_timeline_get_curves=Y.spine_rgba2_timeline_get_curves;
@ -147,7 +149,7 @@ a._spine_physics_constraint_gravity_timeline_rtti=Y.spine_physics_constraint_gra
a._spine_skin_add_skin=Y.spine_skin_add_skin;a._spine_skin_copy_skin=Y.spine_skin_copy_skin;a._spine_skin_get_bones=Y.spine_skin_get_bones;a._spine_skin_get_constraints=Y.spine_skin_get_constraints;a._spine_skin_get_color=Y.spine_skin_get_color;a._spine_curve_timeline_dispose=Y.spine_curve_timeline_dispose;a._spine_curve_timeline_get_rtti=Y.spine_curve_timeline_get_rtti;a._spine_curve_timeline_set_linear=Y.spine_curve_timeline_set_linear;a._spine_curve_timeline_set_stepped=Y.spine_curve_timeline_set_stepped; a._spine_skin_add_skin=Y.spine_skin_add_skin;a._spine_skin_copy_skin=Y.spine_skin_copy_skin;a._spine_skin_get_bones=Y.spine_skin_get_bones;a._spine_skin_get_constraints=Y.spine_skin_get_constraints;a._spine_skin_get_color=Y.spine_skin_get_color;a._spine_curve_timeline_dispose=Y.spine_curve_timeline_dispose;a._spine_curve_timeline_get_rtti=Y.spine_curve_timeline_get_rtti;a._spine_curve_timeline_set_linear=Y.spine_curve_timeline_set_linear;a._spine_curve_timeline_set_stepped=Y.spine_curve_timeline_set_stepped;
a._spine_curve_timeline_set_bezier=Y.spine_curve_timeline_set_bezier;a._spine_curve_timeline_get_bezier_value=Y.spine_curve_timeline_get_bezier_value;a._spine_curve_timeline_get_curves=Y.spine_curve_timeline_get_curves;a._spine_curve_timeline_apply=Y.spine_curve_timeline_apply;a._spine_curve_timeline_get_frame_entries=Y.spine_curve_timeline_get_frame_entries;a._spine_curve_timeline_get_frame_count=Y.spine_curve_timeline_get_frame_count;a._spine_curve_timeline_get_frames=Y.spine_curve_timeline_get_frames; a._spine_curve_timeline_set_bezier=Y.spine_curve_timeline_set_bezier;a._spine_curve_timeline_get_bezier_value=Y.spine_curve_timeline_get_bezier_value;a._spine_curve_timeline_get_curves=Y.spine_curve_timeline_get_curves;a._spine_curve_timeline_apply=Y.spine_curve_timeline_apply;a._spine_curve_timeline_get_frame_entries=Y.spine_curve_timeline_get_frame_entries;a._spine_curve_timeline_get_frame_count=Y.spine_curve_timeline_get_frame_count;a._spine_curve_timeline_get_frames=Y.spine_curve_timeline_get_frames;
a._spine_curve_timeline_get_duration=Y.spine_curve_timeline_get_duration;a._spine_curve_timeline_get_property_ids=Y.spine_curve_timeline_get_property_ids;a._spine_curve_timeline_rtti=Y.spine_curve_timeline_rtti;a._spine_ik_constraint_create=Y.spine_ik_constraint_create;a._spine_ik_constraint_dispose=Y.spine_ik_constraint_dispose;a._spine_ik_constraint_get_rtti=Y.spine_ik_constraint_get_rtti;a._spine_ik_constraint_copy=Y.spine_ik_constraint_copy;a._spine_ik_constraint_update=Y.spine_ik_constraint_update; a._spine_curve_timeline_get_duration=Y.spine_curve_timeline_get_duration;a._spine_curve_timeline_get_property_ids=Y.spine_curve_timeline_get_property_ids;a._spine_curve_timeline_rtti=Y.spine_curve_timeline_rtti;a._spine_ik_constraint_create=Y.spine_ik_constraint_create;a._spine_ik_constraint_dispose=Y.spine_ik_constraint_dispose;a._spine_ik_constraint_get_rtti=Y.spine_ik_constraint_get_rtti;a._spine_ik_constraint_copy=Y.spine_ik_constraint_copy;a._spine_ik_constraint_update=Y.spine_ik_constraint_update;
a._spine_ik_constraint_sort=Y.spine_ik_constraint_sort;a._spine_ik_constraint_is_source_active=Y.spine_ik_constraint_is_source_active;a._spine_ik_constraint_get_data=Y.spine_ik_constraint_get_data;a._spine_ik_constraint_get_bones=Y.spine_ik_constraint_get_bones;a._spine_ik_constraint_get_target=Y.spine_ik_constraint_get_target;a._spine_ik_constraint_set_target=Y.spine_ik_constraint_set_target;a._spine_ik_constraint_apply_1=Y.spine_ik_constraint_apply_1;a._spine_ik_constraint_apply_2=Y.spine_ik_constraint_apply_2; a._spine_ik_constraint_sort=Y.spine_ik_constraint_sort;a._spine_ik_constraint_is_source_active=Y.spine_ik_constraint_is_source_active;a._spine_ik_constraint_get_bones=Y.spine_ik_constraint_get_bones;a._spine_ik_constraint_get_target=Y.spine_ik_constraint_get_target;a._spine_ik_constraint_set_target=Y.spine_ik_constraint_set_target;a._spine_ik_constraint_apply_1=Y.spine_ik_constraint_apply_1;a._spine_ik_constraint_apply_2=Y.spine_ik_constraint_apply_2;a._spine_ik_constraint_get_data=Y.spine_ik_constraint_get_data;
a._spine_ik_constraint_get_pose=Y.spine_ik_constraint_get_pose;a._spine_ik_constraint_get_applied_pose=Y.spine_ik_constraint_get_applied_pose;a._spine_ik_constraint_reset_constrained=Y.spine_ik_constraint_reset_constrained;a._spine_ik_constraint_constrained=Y.spine_ik_constraint_constrained;a._spine_ik_constraint_is_pose_equal_to_applied=Y.spine_ik_constraint_is_pose_equal_to_applied;a._spine_ik_constraint_is_active=Y.spine_ik_constraint_is_active;a._spine_ik_constraint_set_active=Y.spine_ik_constraint_set_active; a._spine_ik_constraint_get_pose=Y.spine_ik_constraint_get_pose;a._spine_ik_constraint_get_applied_pose=Y.spine_ik_constraint_get_applied_pose;a._spine_ik_constraint_reset_constrained=Y.spine_ik_constraint_reset_constrained;a._spine_ik_constraint_constrained=Y.spine_ik_constraint_constrained;a._spine_ik_constraint_is_pose_equal_to_applied=Y.spine_ik_constraint_is_pose_equal_to_applied;a._spine_ik_constraint_is_active=Y.spine_ik_constraint_is_active;a._spine_ik_constraint_set_active=Y.spine_ik_constraint_set_active;
a._spine_ik_constraint_rtti=Y.spine_ik_constraint_rtti;a._spine_rtti_dispose=Y.spine_rtti_dispose;a._spine_rtti_get_class_name=Y.spine_rtti_get_class_name;a._spine_rtti_is_exactly=Y.spine_rtti_is_exactly;a._spine_rtti_instance_of=Y.spine_rtti_instance_of;a._spine_physics_constraint_mass_timeline_create=Y.spine_physics_constraint_mass_timeline_create;a._spine_physics_constraint_mass_timeline_dispose=Y.spine_physics_constraint_mass_timeline_dispose; a._spine_ik_constraint_rtti=Y.spine_ik_constraint_rtti;a._spine_rtti_dispose=Y.spine_rtti_dispose;a._spine_rtti_get_class_name=Y.spine_rtti_get_class_name;a._spine_rtti_is_exactly=Y.spine_rtti_is_exactly;a._spine_rtti_instance_of=Y.spine_rtti_instance_of;a._spine_physics_constraint_mass_timeline_create=Y.spine_physics_constraint_mass_timeline_create;a._spine_physics_constraint_mass_timeline_dispose=Y.spine_physics_constraint_mass_timeline_dispose;
a._spine_physics_constraint_mass_timeline_get_rtti=Y.spine_physics_constraint_mass_timeline_get_rtti;a._spine_physics_constraint_mass_timeline_apply=Y.spine_physics_constraint_mass_timeline_apply;a._spine_physics_constraint_mass_timeline_get_constraint_index=Y.spine_physics_constraint_mass_timeline_get_constraint_index;a._spine_physics_constraint_mass_timeline_set_constraint_index=Y.spine_physics_constraint_mass_timeline_set_constraint_index;a._spine_physics_constraint_mass_timeline_set_frame=Y.spine_physics_constraint_mass_timeline_set_frame; a._spine_physics_constraint_mass_timeline_get_rtti=Y.spine_physics_constraint_mass_timeline_get_rtti;a._spine_physics_constraint_mass_timeline_apply=Y.spine_physics_constraint_mass_timeline_apply;a._spine_physics_constraint_mass_timeline_get_constraint_index=Y.spine_physics_constraint_mass_timeline_get_constraint_index;a._spine_physics_constraint_mass_timeline_set_constraint_index=Y.spine_physics_constraint_mass_timeline_set_constraint_index;a._spine_physics_constraint_mass_timeline_set_frame=Y.spine_physics_constraint_mass_timeline_set_frame;
@ -299,28 +301,138 @@ a._spine_draw_order_timeline_dispose=Y.spine_draw_order_timeline_dispose;a._spin
a._spine_draw_order_timeline_get_frames=Y.spine_draw_order_timeline_get_frames;a._spine_draw_order_timeline_get_duration=Y.spine_draw_order_timeline_get_duration;a._spine_draw_order_timeline_get_property_ids=Y.spine_draw_order_timeline_get_property_ids;a._spine_draw_order_timeline_rtti=Y.spine_draw_order_timeline_rtti;a._spine_physics_constraint_pose_create=Y.spine_physics_constraint_pose_create;a._spine_physics_constraint_pose_dispose=Y.spine_physics_constraint_pose_dispose; a._spine_draw_order_timeline_get_frames=Y.spine_draw_order_timeline_get_frames;a._spine_draw_order_timeline_get_duration=Y.spine_draw_order_timeline_get_duration;a._spine_draw_order_timeline_get_property_ids=Y.spine_draw_order_timeline_get_property_ids;a._spine_draw_order_timeline_rtti=Y.spine_draw_order_timeline_rtti;a._spine_physics_constraint_pose_create=Y.spine_physics_constraint_pose_create;a._spine_physics_constraint_pose_dispose=Y.spine_physics_constraint_pose_dispose;
a._spine_physics_constraint_pose_set=Y.spine_physics_constraint_pose_set;a._spine_physics_constraint_pose_get_inertia=Y.spine_physics_constraint_pose_get_inertia;a._spine_physics_constraint_pose_set_inertia=Y.spine_physics_constraint_pose_set_inertia;a._spine_physics_constraint_pose_get_strength=Y.spine_physics_constraint_pose_get_strength;a._spine_physics_constraint_pose_set_strength=Y.spine_physics_constraint_pose_set_strength;a._spine_physics_constraint_pose_get_damping=Y.spine_physics_constraint_pose_get_damping; a._spine_physics_constraint_pose_set=Y.spine_physics_constraint_pose_set;a._spine_physics_constraint_pose_get_inertia=Y.spine_physics_constraint_pose_get_inertia;a._spine_physics_constraint_pose_set_inertia=Y.spine_physics_constraint_pose_set_inertia;a._spine_physics_constraint_pose_get_strength=Y.spine_physics_constraint_pose_get_strength;a._spine_physics_constraint_pose_set_strength=Y.spine_physics_constraint_pose_set_strength;a._spine_physics_constraint_pose_get_damping=Y.spine_physics_constraint_pose_get_damping;
a._spine_physics_constraint_pose_set_damping=Y.spine_physics_constraint_pose_set_damping;a._spine_physics_constraint_pose_get_mass_inverse=Y.spine_physics_constraint_pose_get_mass_inverse;a._spine_physics_constraint_pose_set_mass_inverse=Y.spine_physics_constraint_pose_set_mass_inverse;a._spine_physics_constraint_pose_get_wind=Y.spine_physics_constraint_pose_get_wind;a._spine_physics_constraint_pose_set_wind=Y.spine_physics_constraint_pose_set_wind;a._spine_physics_constraint_pose_get_gravity=Y.spine_physics_constraint_pose_get_gravity; a._spine_physics_constraint_pose_set_damping=Y.spine_physics_constraint_pose_set_damping;a._spine_physics_constraint_pose_get_mass_inverse=Y.spine_physics_constraint_pose_get_mass_inverse;a._spine_physics_constraint_pose_set_mass_inverse=Y.spine_physics_constraint_pose_set_mass_inverse;a._spine_physics_constraint_pose_get_wind=Y.spine_physics_constraint_pose_get_wind;a._spine_physics_constraint_pose_set_wind=Y.spine_physics_constraint_pose_set_wind;a._spine_physics_constraint_pose_get_gravity=Y.spine_physics_constraint_pose_get_gravity;
a._spine_physics_constraint_pose_set_gravity=Y.spine_physics_constraint_pose_set_gravity;a._spine_physics_constraint_pose_get_mix=Y.spine_physics_constraint_pose_get_mix;a._spine_physics_constraint_pose_set_mix=Y.spine_physics_constraint_pose_set_mix;a._spine_posed_dispose=Y.spine_posed_dispose;a._spine_posed_constrained=Y.spine_posed_constrained;a._spine_posed_reset_constrained=Y.spine_posed_reset_constrained;a._spine_posed_is_pose_equal_to_applied=Y.spine_posed_is_pose_equal_to_applied; a._spine_physics_constraint_pose_set_gravity=Y.spine_physics_constraint_pose_set_gravity;a._spine_physics_constraint_pose_get_mix=Y.spine_physics_constraint_pose_get_mix;a._spine_physics_constraint_pose_set_mix=Y.spine_physics_constraint_pose_set_mix;a._spine_ik_constraint_base_dispose=Y.spine_ik_constraint_base_dispose;a._spine_ik_constraint_base_get_data=Y.spine_ik_constraint_base_get_data;a._spine_ik_constraint_base_get_pose=Y.spine_ik_constraint_base_get_pose;
a._spine_ik_constraint_data_create=Y.spine_ik_constraint_data_create;a._spine_ik_constraint_data_dispose=Y.spine_ik_constraint_data_dispose;a._spine_ik_constraint_data_get_rtti=Y.spine_ik_constraint_data_get_rtti;a._spine_ik_constraint_data_create_method=Y.spine_ik_constraint_data_create_method;a._spine_ik_constraint_data_get_bones=Y.spine_ik_constraint_data_get_bones;a._spine_ik_constraint_data_get_target=Y.spine_ik_constraint_data_get_target;a._spine_ik_constraint_data_set_target=Y.spine_ik_constraint_data_set_target; a._spine_ik_constraint_base_get_applied_pose=Y.spine_ik_constraint_base_get_applied_pose;a._spine_ik_constraint_base_reset_constrained=Y.spine_ik_constraint_base_reset_constrained;a._spine_ik_constraint_base_constrained=Y.spine_ik_constraint_base_constrained;a._spine_ik_constraint_base_is_pose_equal_to_applied=Y.spine_ik_constraint_base_is_pose_equal_to_applied;a._spine_ik_constraint_base_is_active=Y.spine_ik_constraint_base_is_active;a._spine_ik_constraint_base_set_active=Y.spine_ik_constraint_base_set_active;
a._spine_ik_constraint_data_get_uniform=Y.spine_ik_constraint_data_get_uniform;a._spine_ik_constraint_data_set_uniform=Y.spine_ik_constraint_data_set_uniform;a._spine_ik_constraint_data_get_name=Y.spine_ik_constraint_data_get_name;a._spine_ik_constraint_data_get_skin_required=Y.spine_ik_constraint_data_get_skin_required;a._spine_ik_constraint_data_get_setup_pose=Y.spine_ik_constraint_data_get_setup_pose;a._spine_ik_constraint_data_set_skin_required=Y.spine_ik_constraint_data_set_skin_required; a._spine_ik_constraint_base_get_rtti=Y.spine_ik_constraint_base_get_rtti;a._spine_ik_constraint_base_sort=Y.spine_ik_constraint_base_sort;a._spine_ik_constraint_base_is_source_active=Y.spine_ik_constraint_base_is_source_active;a._spine_ik_constraint_base_update=Y.spine_ik_constraint_base_update;a._spine_ik_constraint_base_rtti=Y.spine_ik_constraint_base_rtti;a._spine_posed_dispose=Y.spine_posed_dispose;a._spine_posed_constrained=Y.spine_posed_constrained;a._spine_posed_reset_constrained=Y.spine_posed_reset_constrained;
a._spine_ik_constraint_data_rtti=Y.spine_ik_constraint_data_rtti;a._spine_transform_constraint_data_create=Y.spine_transform_constraint_data_create;a._spine_transform_constraint_data_dispose=Y.spine_transform_constraint_data_dispose;a._spine_transform_constraint_data_get_rtti=Y.spine_transform_constraint_data_get_rtti;a._spine_transform_constraint_data_create_method=Y.spine_transform_constraint_data_create_method;a._spine_transform_constraint_data_get_bones=Y.spine_transform_constraint_data_get_bones; a._spine_posed_is_pose_equal_to_applied=Y.spine_posed_is_pose_equal_to_applied;a._spine_transform_constraint_base_dispose=Y.spine_transform_constraint_base_dispose;a._spine_transform_constraint_base_get_data=Y.spine_transform_constraint_base_get_data;a._spine_transform_constraint_base_get_pose=Y.spine_transform_constraint_base_get_pose;a._spine_transform_constraint_base_get_applied_pose=Y.spine_transform_constraint_base_get_applied_pose;a._spine_transform_constraint_base_reset_constrained=Y.spine_transform_constraint_base_reset_constrained;
a._spine_transform_constraint_data_get_source=Y.spine_transform_constraint_data_get_source;a._spine_transform_constraint_data_set_source=Y.spine_transform_constraint_data_set_source;a._spine_transform_constraint_data_get_offset_rotation=Y.spine_transform_constraint_data_get_offset_rotation;a._spine_transform_constraint_data_set_offset_rotation=Y.spine_transform_constraint_data_set_offset_rotation;a._spine_transform_constraint_data_get_offset_x=Y.spine_transform_constraint_data_get_offset_x; a._spine_transform_constraint_base_constrained=Y.spine_transform_constraint_base_constrained;a._spine_transform_constraint_base_is_pose_equal_to_applied=Y.spine_transform_constraint_base_is_pose_equal_to_applied;a._spine_transform_constraint_base_is_active=Y.spine_transform_constraint_base_is_active;a._spine_transform_constraint_base_set_active=Y.spine_transform_constraint_base_set_active;a._spine_transform_constraint_base_get_rtti=Y.spine_transform_constraint_base_get_rtti;
a._spine_transform_constraint_data_set_offset_x=Y.spine_transform_constraint_data_set_offset_x;a._spine_transform_constraint_data_get_offset_y=Y.spine_transform_constraint_data_get_offset_y;a._spine_transform_constraint_data_set_offset_y=Y.spine_transform_constraint_data_set_offset_y;a._spine_transform_constraint_data_get_offset_scale_x=Y.spine_transform_constraint_data_get_offset_scale_x;a._spine_transform_constraint_data_set_offset_scale_x=Y.spine_transform_constraint_data_set_offset_scale_x; a._spine_transform_constraint_base_sort=Y.spine_transform_constraint_base_sort;a._spine_transform_constraint_base_is_source_active=Y.spine_transform_constraint_base_is_source_active;a._spine_transform_constraint_base_update=Y.spine_transform_constraint_base_update;a._spine_transform_constraint_base_rtti=Y.spine_transform_constraint_base_rtti;a._spine_ik_constraint_data_create=Y.spine_ik_constraint_data_create;a._spine_ik_constraint_data_dispose=Y.spine_ik_constraint_data_dispose;
a._spine_transform_constraint_data_get_offset_scale_y=Y.spine_transform_constraint_data_get_offset_scale_y;a._spine_transform_constraint_data_set_offset_scale_y=Y.spine_transform_constraint_data_set_offset_scale_y;a._spine_transform_constraint_data_get_offset_shear_y=Y.spine_transform_constraint_data_get_offset_shear_y;a._spine_transform_constraint_data_set_offset_shear_y=Y.spine_transform_constraint_data_set_offset_shear_y;a._spine_transform_constraint_data_get_local_source=Y.spine_transform_constraint_data_get_local_source; a._spine_ik_constraint_data_get_rtti=Y.spine_ik_constraint_data_get_rtti;a._spine_ik_constraint_data_create_method=Y.spine_ik_constraint_data_create_method;a._spine_ik_constraint_data_get_bones=Y.spine_ik_constraint_data_get_bones;a._spine_ik_constraint_data_get_target=Y.spine_ik_constraint_data_get_target;a._spine_ik_constraint_data_set_target=Y.spine_ik_constraint_data_set_target;a._spine_ik_constraint_data_get_uniform=Y.spine_ik_constraint_data_get_uniform;
a._spine_transform_constraint_data_set_local_source=Y.spine_transform_constraint_data_set_local_source;a._spine_transform_constraint_data_get_local_target=Y.spine_transform_constraint_data_get_local_target;a._spine_transform_constraint_data_set_local_target=Y.spine_transform_constraint_data_set_local_target;a._spine_transform_constraint_data_get_additive=Y.spine_transform_constraint_data_get_additive;a._spine_transform_constraint_data_set_additive=Y.spine_transform_constraint_data_set_additive; a._spine_ik_constraint_data_set_uniform=Y.spine_ik_constraint_data_set_uniform;a._spine_ik_constraint_data_get_name=Y.spine_ik_constraint_data_get_name;a._spine_ik_constraint_data_get_skin_required=Y.spine_ik_constraint_data_get_skin_required;a._spine_ik_constraint_data_get_setup_pose=Y.spine_ik_constraint_data_get_setup_pose;a._spine_ik_constraint_data_set_skin_required=Y.spine_ik_constraint_data_set_skin_required;a._spine_ik_constraint_data_rtti=Y.spine_ik_constraint_data_rtti;
a._spine_transform_constraint_data_get_clamp=Y.spine_transform_constraint_data_get_clamp;a._spine_transform_constraint_data_set_clamp=Y.spine_transform_constraint_data_set_clamp;a._spine_transform_constraint_data_get_properties=Y.spine_transform_constraint_data_get_properties;a._spine_transform_constraint_data_get_name=Y.spine_transform_constraint_data_get_name;a._spine_transform_constraint_data_get_skin_required=Y.spine_transform_constraint_data_get_skin_required; a._spine_alpha_timeline_cast_to_curve_timeline1=Y.spine_alpha_timeline_cast_to_curve_timeline1;a._spine_alpha_timeline_cast_to_curve_timeline=Y.spine_alpha_timeline_cast_to_curve_timeline;a._spine_alpha_timeline_cast_to_timeline=Y.spine_alpha_timeline_cast_to_timeline;a._spine_alpha_timeline_cast_to_slot_timeline=Y.spine_alpha_timeline_cast_to_slot_timeline;a._spine_atlas_attachment_loader_cast_to_attachment_loader=Y.spine_atlas_attachment_loader_cast_to_attachment_loader;
a._spine_transform_constraint_data_get_setup_pose=Y.spine_transform_constraint_data_get_setup_pose;a._spine_transform_constraint_data_set_skin_required=Y.spine_transform_constraint_data_set_skin_required;a._spine_transform_constraint_data_rtti=Y.spine_transform_constraint_data_rtti;a._spine_to_shear_y_create=Y.spine_to_shear_y_create;a._spine_to_shear_y_dispose=Y.spine_to_shear_y_dispose;a._spine_to_shear_y_get_rtti=Y.spine_to_shear_y_get_rtti;a._spine_to_shear_y_mix=Y.spine_to_shear_y_mix; a._spine_atlas_region_cast_to_texture_region=Y.spine_atlas_region_cast_to_texture_region;a._spine_attachment_timeline_cast_to_timeline=Y.spine_attachment_timeline_cast_to_timeline;a._spine_attachment_timeline_cast_to_slot_timeline=Y.spine_attachment_timeline_cast_to_slot_timeline;a._spine_bone_cast_to_posed=Y.spine_bone_cast_to_posed;a._spine_bone_cast_to_posed_active=Y.spine_bone_cast_to_posed_active;a._spine_bone_cast_to_update=Y.spine_bone_cast_to_update;a._spine_bone_data_cast_to_posed_data=Y.spine_bone_data_cast_to_posed_data;
a._spine_to_shear_y_apply=Y.spine_to_shear_y_apply;a._spine_to_shear_y_rtti=Y.spine_to_shear_y_rtti;a._spine_polygon_create=Y.spine_polygon_create;a._spine_polygon_dispose=Y.spine_polygon_dispose;a._spine_polygon_get__vertices=Y.spine_polygon_get__vertices;a._spine_polygon_set__vertices=Y.spine_polygon_set__vertices;a._spine_polygon_get__count=Y.spine_polygon_get__count;a._spine_polygon_set__count=Y.spine_polygon_set__count;a._spine_physics_constraint_damping_timeline_create=Y.spine_physics_constraint_damping_timeline_create; a._spine_bone_pose_cast_to_bone_local=Y.spine_bone_pose_cast_to_bone_local;a._spine_bone_pose_cast_to_update=Y.spine_bone_pose_cast_to_update;a._spine_bone_timeline1_cast_to_curve_timeline1=Y.spine_bone_timeline1_cast_to_curve_timeline1;a._spine_bone_timeline1_cast_to_curve_timeline=Y.spine_bone_timeline1_cast_to_curve_timeline;a._spine_bone_timeline1_cast_to_timeline=Y.spine_bone_timeline1_cast_to_timeline;a._spine_bone_timeline1_cast_to_bone_timeline=Y.spine_bone_timeline1_cast_to_bone_timeline;
a._spine_physics_constraint_damping_timeline_dispose=Y.spine_physics_constraint_damping_timeline_dispose;a._spine_physics_constraint_damping_timeline_get_rtti=Y.spine_physics_constraint_damping_timeline_get_rtti;a._spine_physics_constraint_damping_timeline_apply=Y.spine_physics_constraint_damping_timeline_apply;a._spine_physics_constraint_damping_timeline_get_constraint_index=Y.spine_physics_constraint_damping_timeline_get_constraint_index; a._spine_bone_timeline2_cast_to_curve_timeline=Y.spine_bone_timeline2_cast_to_curve_timeline;a._spine_bone_timeline2_cast_to_timeline=Y.spine_bone_timeline2_cast_to_timeline;a._spine_bone_timeline2_cast_to_bone_timeline=Y.spine_bone_timeline2_cast_to_bone_timeline;a._spine_bounding_box_attachment_cast_to_vertex_attachment=Y.spine_bounding_box_attachment_cast_to_vertex_attachment;a._spine_bounding_box_attachment_cast_to_attachment=Y.spine_bounding_box_attachment_cast_to_attachment;
a._spine_physics_constraint_damping_timeline_set_constraint_index=Y.spine_physics_constraint_damping_timeline_set_constraint_index;a._spine_physics_constraint_damping_timeline_set_frame=Y.spine_physics_constraint_damping_timeline_set_frame;a._spine_physics_constraint_damping_timeline_get_curve_value=Y.spine_physics_constraint_damping_timeline_get_curve_value;a._spine_physics_constraint_damping_timeline_get_relative_value=Y.spine_physics_constraint_damping_timeline_get_relative_value; a._spine_clipping_attachment_cast_to_vertex_attachment=Y.spine_clipping_attachment_cast_to_vertex_attachment;a._spine_clipping_attachment_cast_to_attachment=Y.spine_clipping_attachment_cast_to_attachment;a._spine_constraint_cast_to_update=Y.spine_constraint_cast_to_update;a._spine_constraint_timeline1_cast_to_curve_timeline1=Y.spine_constraint_timeline1_cast_to_curve_timeline1;a._spine_constraint_timeline1_cast_to_curve_timeline=Y.spine_constraint_timeline1_cast_to_curve_timeline;
a._spine_physics_constraint_damping_timeline_get_absolute_value_1=Y.spine_physics_constraint_damping_timeline_get_absolute_value_1;a._spine_physics_constraint_damping_timeline_get_absolute_value_2=Y.spine_physics_constraint_damping_timeline_get_absolute_value_2;a._spine_physics_constraint_damping_timeline_get_scale_value=Y.spine_physics_constraint_damping_timeline_get_scale_value;a._spine_physics_constraint_damping_timeline_set_linear=Y.spine_physics_constraint_damping_timeline_set_linear; a._spine_constraint_timeline1_cast_to_timeline=Y.spine_constraint_timeline1_cast_to_timeline;a._spine_constraint_timeline1_cast_to_constraint_timeline=Y.spine_constraint_timeline1_cast_to_constraint_timeline;a._spine_curve_timeline_cast_to_timeline=Y.spine_curve_timeline_cast_to_timeline;a._spine_curve_timeline1_cast_to_curve_timeline=Y.spine_curve_timeline1_cast_to_curve_timeline;a._spine_curve_timeline1_cast_to_timeline=Y.spine_curve_timeline1_cast_to_timeline;
a._spine_physics_constraint_damping_timeline_set_stepped=Y.spine_physics_constraint_damping_timeline_set_stepped;a._spine_physics_constraint_damping_timeline_set_bezier=Y.spine_physics_constraint_damping_timeline_set_bezier;a._spine_physics_constraint_damping_timeline_get_bezier_value=Y.spine_physics_constraint_damping_timeline_get_bezier_value;a._spine_physics_constraint_damping_timeline_get_curves=Y.spine_physics_constraint_damping_timeline_get_curves; a._spine_deform_timeline_cast_to_slot_curve_timeline=Y.spine_deform_timeline_cast_to_slot_curve_timeline;a._spine_deform_timeline_cast_to_curve_timeline=Y.spine_deform_timeline_cast_to_curve_timeline;a._spine_deform_timeline_cast_to_timeline=Y.spine_deform_timeline_cast_to_timeline;a._spine_deform_timeline_cast_to_slot_timeline=Y.spine_deform_timeline_cast_to_slot_timeline;a._spine_draw_order_timeline_cast_to_timeline=Y.spine_draw_order_timeline_cast_to_timeline;
a._spine_physics_constraint_damping_timeline_get_frame_entries=Y.spine_physics_constraint_damping_timeline_get_frame_entries;a._spine_physics_constraint_damping_timeline_get_frame_count=Y.spine_physics_constraint_damping_timeline_get_frame_count;a._spine_physics_constraint_damping_timeline_get_frames=Y.spine_physics_constraint_damping_timeline_get_frames;a._spine_physics_constraint_damping_timeline_get_duration=Y.spine_physics_constraint_damping_timeline_get_duration; a._spine_event_timeline_cast_to_timeline=Y.spine_event_timeline_cast_to_timeline;a._spine_from_rotate_cast_to_from_property=Y.spine_from_rotate_cast_to_from_property;a._spine_from_scale_x_cast_to_from_property=Y.spine_from_scale_x_cast_to_from_property;a._spine_from_scale_y_cast_to_from_property=Y.spine_from_scale_y_cast_to_from_property;a._spine_from_shear_y_cast_to_from_property=Y.spine_from_shear_y_cast_to_from_property;a._spine_from_x_cast_to_from_property=Y.spine_from_x_cast_to_from_property;
a._spine_physics_constraint_damping_timeline_get_property_ids=Y.spine_physics_constraint_damping_timeline_get_property_ids;a._spine_physics_constraint_damping_timeline_rtti=Y.spine_physics_constraint_damping_timeline_rtti;a._spine_slot_curve_timeline_dispose=Y.spine_slot_curve_timeline_dispose;a._spine_slot_curve_timeline_get_rtti=Y.spine_slot_curve_timeline_get_rtti;a._spine_slot_curve_timeline_apply=Y.spine_slot_curve_timeline_apply;a._spine_slot_curve_timeline_get_slot_index=Y.spine_slot_curve_timeline_get_slot_index; a._spine_from_y_cast_to_from_property=Y.spine_from_y_cast_to_from_property;a._spine_ik_constraint_cast_to_ik_constraint_base=Y.spine_ik_constraint_cast_to_ik_constraint_base;a._spine_ik_constraint_cast_to_posed=Y.spine_ik_constraint_cast_to_posed;a._spine_ik_constraint_cast_to_posed_active=Y.spine_ik_constraint_cast_to_posed_active;a._spine_ik_constraint_cast_to_constraint=Y.spine_ik_constraint_cast_to_constraint;a._spine_ik_constraint_cast_to_update=Y.spine_ik_constraint_cast_to_update;
a._spine_slot_curve_timeline_set_slot_index=Y.spine_slot_curve_timeline_set_slot_index;a._spine_slot_curve_timeline_set_linear=Y.spine_slot_curve_timeline_set_linear;a._spine_slot_curve_timeline_set_stepped=Y.spine_slot_curve_timeline_set_stepped;a._spine_slot_curve_timeline_set_bezier=Y.spine_slot_curve_timeline_set_bezier;a._spine_slot_curve_timeline_get_bezier_value=Y.spine_slot_curve_timeline_get_bezier_value;a._spine_slot_curve_timeline_get_curves=Y.spine_slot_curve_timeline_get_curves; a._spine_ik_constraint_base_cast_to_posed=Y.spine_ik_constraint_base_cast_to_posed;a._spine_ik_constraint_base_cast_to_posed_active=Y.spine_ik_constraint_base_cast_to_posed_active;a._spine_ik_constraint_base_cast_to_constraint=Y.spine_ik_constraint_base_cast_to_constraint;a._spine_ik_constraint_base_cast_to_update=Y.spine_ik_constraint_base_cast_to_update;a._spine_ik_constraint_data_cast_to_posed_data=Y.spine_ik_constraint_data_cast_to_posed_data;
a._spine_slot_curve_timeline_get_frame_entries=Y.spine_slot_curve_timeline_get_frame_entries;a._spine_slot_curve_timeline_get_frame_count=Y.spine_slot_curve_timeline_get_frame_count;a._spine_slot_curve_timeline_get_frames=Y.spine_slot_curve_timeline_get_frames;a._spine_slot_curve_timeline_get_duration=Y.spine_slot_curve_timeline_get_duration;a._spine_slot_curve_timeline_get_property_ids=Y.spine_slot_curve_timeline_get_property_ids;a._spine_slot_curve_timeline_rtti=Y.spine_slot_curve_timeline_rtti; a._spine_ik_constraint_data_cast_to_constraint_data=Y.spine_ik_constraint_data_cast_to_constraint_data;a._spine_ik_constraint_timeline_cast_to_curve_timeline=Y.spine_ik_constraint_timeline_cast_to_curve_timeline;a._spine_ik_constraint_timeline_cast_to_timeline=Y.spine_ik_constraint_timeline_cast_to_timeline;a._spine_ik_constraint_timeline_cast_to_constraint_timeline=Y.spine_ik_constraint_timeline_cast_to_constraint_timeline;a._spine_inherit_timeline_cast_to_timeline=Y.spine_inherit_timeline_cast_to_timeline;
a._spine_slot_create=Y.spine_slot_create;a._spine_slot_dispose=Y.spine_slot_dispose;a._spine_slot_get_bone=Y.spine_slot_get_bone;a._spine_slot_setup_pose=Y.spine_slot_setup_pose;a._spine_slot_get_data=Y.spine_slot_get_data;a._spine_slot_get_pose=Y.spine_slot_get_pose;a._spine_slot_get_applied_pose=Y.spine_slot_get_applied_pose;a._spine_slot_reset_constrained=Y.spine_slot_reset_constrained;a._spine_slot_constrained=Y.spine_slot_constrained;a._spine_slot_is_pose_equal_to_applied=Y.spine_slot_is_pose_equal_to_applied; a._spine_inherit_timeline_cast_to_bone_timeline=Y.spine_inherit_timeline_cast_to_bone_timeline;a._spine_mesh_attachment_cast_to_vertex_attachment=Y.spine_mesh_attachment_cast_to_vertex_attachment;a._spine_mesh_attachment_cast_to_attachment=Y.spine_mesh_attachment_cast_to_attachment;a._spine_path_attachment_cast_to_vertex_attachment=Y.spine_path_attachment_cast_to_vertex_attachment;a._spine_path_attachment_cast_to_attachment=Y.spine_path_attachment_cast_to_attachment;
a._spine_path_constraint_data_create=Y.spine_path_constraint_data_create;a._spine_path_constraint_data_dispose=Y.spine_path_constraint_data_dispose;a._spine_path_constraint_data_get_rtti=Y.spine_path_constraint_data_get_rtti;a._spine_path_constraint_data_create_method=Y.spine_path_constraint_data_create_method;a._spine_path_constraint_data_get_bones=Y.spine_path_constraint_data_get_bones;a._spine_path_constraint_data_get_slot=Y.spine_path_constraint_data_get_slot; a._spine_path_constraint_cast_to_path_constraint_base=Y.spine_path_constraint_cast_to_path_constraint_base;a._spine_path_constraint_cast_to_posed=Y.spine_path_constraint_cast_to_posed;a._spine_path_constraint_cast_to_posed_active=Y.spine_path_constraint_cast_to_posed_active;a._spine_path_constraint_cast_to_constraint=Y.spine_path_constraint_cast_to_constraint;a._spine_path_constraint_cast_to_update=Y.spine_path_constraint_cast_to_update;a._spine_path_constraint_base_cast_to_posed=Y.spine_path_constraint_base_cast_to_posed;
a._spine_path_constraint_data_set_slot=Y.spine_path_constraint_data_set_slot;a._spine_path_constraint_data_get_position_mode=Y.spine_path_constraint_data_get_position_mode;a._spine_path_constraint_data_set_position_mode=Y.spine_path_constraint_data_set_position_mode;a._spine_path_constraint_data_get_spacing_mode=Y.spine_path_constraint_data_get_spacing_mode;a._spine_path_constraint_data_set_spacing_mode=Y.spine_path_constraint_data_set_spacing_mode;a._spine_path_constraint_data_get_rotate_mode=Y.spine_path_constraint_data_get_rotate_mode; a._spine_path_constraint_base_cast_to_posed_active=Y.spine_path_constraint_base_cast_to_posed_active;a._spine_path_constraint_base_cast_to_constraint=Y.spine_path_constraint_base_cast_to_constraint;a._spine_path_constraint_base_cast_to_update=Y.spine_path_constraint_base_cast_to_update;a._spine_path_constraint_data_cast_to_posed_data=Y.spine_path_constraint_data_cast_to_posed_data;a._spine_path_constraint_data_cast_to_constraint_data=Y.spine_path_constraint_data_cast_to_constraint_data;
a._spine_path_constraint_mix_timeline_cast_to_curve_timeline=Y.spine_path_constraint_mix_timeline_cast_to_curve_timeline;a._spine_path_constraint_mix_timeline_cast_to_timeline=Y.spine_path_constraint_mix_timeline_cast_to_timeline;a._spine_path_constraint_mix_timeline_cast_to_constraint_timeline=Y.spine_path_constraint_mix_timeline_cast_to_constraint_timeline;a._spine_path_constraint_position_timeline_cast_to_constraint_timeline1=Y.spine_path_constraint_position_timeline_cast_to_constraint_timeline1;
a._spine_path_constraint_position_timeline_cast_to_curve_timeline1=Y.spine_path_constraint_position_timeline_cast_to_curve_timeline1;a._spine_path_constraint_position_timeline_cast_to_curve_timeline=Y.spine_path_constraint_position_timeline_cast_to_curve_timeline;a._spine_path_constraint_position_timeline_cast_to_timeline=Y.spine_path_constraint_position_timeline_cast_to_timeline;a._spine_path_constraint_position_timeline_cast_to_constraint_timeline=Y.spine_path_constraint_position_timeline_cast_to_constraint_timeline;
a._spine_path_constraint_spacing_timeline_cast_to_constraint_timeline1=Y.spine_path_constraint_spacing_timeline_cast_to_constraint_timeline1;a._spine_path_constraint_spacing_timeline_cast_to_curve_timeline1=Y.spine_path_constraint_spacing_timeline_cast_to_curve_timeline1;a._spine_path_constraint_spacing_timeline_cast_to_curve_timeline=Y.spine_path_constraint_spacing_timeline_cast_to_curve_timeline;a._spine_path_constraint_spacing_timeline_cast_to_timeline=Y.spine_path_constraint_spacing_timeline_cast_to_timeline;
a._spine_path_constraint_spacing_timeline_cast_to_constraint_timeline=Y.spine_path_constraint_spacing_timeline_cast_to_constraint_timeline;a._spine_physics_constraint_cast_to_physics_constraint_base=Y.spine_physics_constraint_cast_to_physics_constraint_base;a._spine_physics_constraint_cast_to_posed=Y.spine_physics_constraint_cast_to_posed;a._spine_physics_constraint_cast_to_posed_active=Y.spine_physics_constraint_cast_to_posed_active;a._spine_physics_constraint_cast_to_constraint=Y.spine_physics_constraint_cast_to_constraint;
a._spine_physics_constraint_cast_to_update=Y.spine_physics_constraint_cast_to_update;a._spine_physics_constraint_base_cast_to_posed=Y.spine_physics_constraint_base_cast_to_posed;a._spine_physics_constraint_base_cast_to_posed_active=Y.spine_physics_constraint_base_cast_to_posed_active;a._spine_physics_constraint_base_cast_to_constraint=Y.spine_physics_constraint_base_cast_to_constraint;a._spine_physics_constraint_base_cast_to_update=Y.spine_physics_constraint_base_cast_to_update;
a._spine_physics_constraint_damping_timeline_cast_to_physics_constraint_timeline=Y.spine_physics_constraint_damping_timeline_cast_to_physics_constraint_timeline;a._spine_physics_constraint_damping_timeline_cast_to_curve_timeline1=Y.spine_physics_constraint_damping_timeline_cast_to_curve_timeline1;a._spine_physics_constraint_damping_timeline_cast_to_curve_timeline=Y.spine_physics_constraint_damping_timeline_cast_to_curve_timeline;a._spine_physics_constraint_damping_timeline_cast_to_timeline=Y.spine_physics_constraint_damping_timeline_cast_to_timeline;
a._spine_physics_constraint_damping_timeline_cast_to_constraint_timeline=Y.spine_physics_constraint_damping_timeline_cast_to_constraint_timeline;a._spine_physics_constraint_data_cast_to_posed_data=Y.spine_physics_constraint_data_cast_to_posed_data;a._spine_physics_constraint_data_cast_to_constraint_data=Y.spine_physics_constraint_data_cast_to_constraint_data;a._spine_physics_constraint_gravity_timeline_cast_to_physics_constraint_timeline=Y.spine_physics_constraint_gravity_timeline_cast_to_physics_constraint_timeline;
a._spine_physics_constraint_gravity_timeline_cast_to_curve_timeline1=Y.spine_physics_constraint_gravity_timeline_cast_to_curve_timeline1;a._spine_physics_constraint_gravity_timeline_cast_to_curve_timeline=Y.spine_physics_constraint_gravity_timeline_cast_to_curve_timeline;a._spine_physics_constraint_gravity_timeline_cast_to_timeline=Y.spine_physics_constraint_gravity_timeline_cast_to_timeline;a._spine_physics_constraint_gravity_timeline_cast_to_constraint_timeline=Y.spine_physics_constraint_gravity_timeline_cast_to_constraint_timeline;
a._spine_physics_constraint_inertia_timeline_cast_to_physics_constraint_timeline=Y.spine_physics_constraint_inertia_timeline_cast_to_physics_constraint_timeline;a._spine_physics_constraint_inertia_timeline_cast_to_curve_timeline1=Y.spine_physics_constraint_inertia_timeline_cast_to_curve_timeline1;a._spine_physics_constraint_inertia_timeline_cast_to_curve_timeline=Y.spine_physics_constraint_inertia_timeline_cast_to_curve_timeline;a._spine_physics_constraint_inertia_timeline_cast_to_timeline=Y.spine_physics_constraint_inertia_timeline_cast_to_timeline;
a._spine_physics_constraint_inertia_timeline_cast_to_constraint_timeline=Y.spine_physics_constraint_inertia_timeline_cast_to_constraint_timeline;a._spine_physics_constraint_mass_timeline_cast_to_physics_constraint_timeline=Y.spine_physics_constraint_mass_timeline_cast_to_physics_constraint_timeline;a._spine_physics_constraint_mass_timeline_cast_to_curve_timeline1=Y.spine_physics_constraint_mass_timeline_cast_to_curve_timeline1;a._spine_physics_constraint_mass_timeline_cast_to_curve_timeline=Y.spine_physics_constraint_mass_timeline_cast_to_curve_timeline;
a._spine_physics_constraint_mass_timeline_cast_to_timeline=Y.spine_physics_constraint_mass_timeline_cast_to_timeline;a._spine_physics_constraint_mass_timeline_cast_to_constraint_timeline=Y.spine_physics_constraint_mass_timeline_cast_to_constraint_timeline;a._spine_physics_constraint_mix_timeline_cast_to_physics_constraint_timeline=Y.spine_physics_constraint_mix_timeline_cast_to_physics_constraint_timeline;a._spine_physics_constraint_mix_timeline_cast_to_curve_timeline1=Y.spine_physics_constraint_mix_timeline_cast_to_curve_timeline1;
a._spine_physics_constraint_mix_timeline_cast_to_curve_timeline=Y.spine_physics_constraint_mix_timeline_cast_to_curve_timeline;a._spine_physics_constraint_mix_timeline_cast_to_timeline=Y.spine_physics_constraint_mix_timeline_cast_to_timeline;a._spine_physics_constraint_mix_timeline_cast_to_constraint_timeline=Y.spine_physics_constraint_mix_timeline_cast_to_constraint_timeline;a._spine_physics_constraint_reset_timeline_cast_to_timeline=Y.spine_physics_constraint_reset_timeline_cast_to_timeline;
a._spine_physics_constraint_reset_timeline_cast_to_constraint_timeline=Y.spine_physics_constraint_reset_timeline_cast_to_constraint_timeline;a._spine_physics_constraint_strength_timeline_cast_to_physics_constraint_timeline=Y.spine_physics_constraint_strength_timeline_cast_to_physics_constraint_timeline;a._spine_physics_constraint_strength_timeline_cast_to_curve_timeline1=Y.spine_physics_constraint_strength_timeline_cast_to_curve_timeline1;
a._spine_physics_constraint_strength_timeline_cast_to_curve_timeline=Y.spine_physics_constraint_strength_timeline_cast_to_curve_timeline;a._spine_physics_constraint_strength_timeline_cast_to_timeline=Y.spine_physics_constraint_strength_timeline_cast_to_timeline;a._spine_physics_constraint_strength_timeline_cast_to_constraint_timeline=Y.spine_physics_constraint_strength_timeline_cast_to_constraint_timeline;a._spine_physics_constraint_timeline_cast_to_curve_timeline1=Y.spine_physics_constraint_timeline_cast_to_curve_timeline1;
a._spine_physics_constraint_timeline_cast_to_curve_timeline=Y.spine_physics_constraint_timeline_cast_to_curve_timeline;a._spine_physics_constraint_timeline_cast_to_timeline=Y.spine_physics_constraint_timeline_cast_to_timeline;a._spine_physics_constraint_timeline_cast_to_constraint_timeline=Y.spine_physics_constraint_timeline_cast_to_constraint_timeline;a._spine_physics_constraint_wind_timeline_cast_to_physics_constraint_timeline=Y.spine_physics_constraint_wind_timeline_cast_to_physics_constraint_timeline;
a._spine_physics_constraint_wind_timeline_cast_to_curve_timeline1=Y.spine_physics_constraint_wind_timeline_cast_to_curve_timeline1;a._spine_physics_constraint_wind_timeline_cast_to_curve_timeline=Y.spine_physics_constraint_wind_timeline_cast_to_curve_timeline;a._spine_physics_constraint_wind_timeline_cast_to_timeline=Y.spine_physics_constraint_wind_timeline_cast_to_timeline;a._spine_physics_constraint_wind_timeline_cast_to_constraint_timeline=Y.spine_physics_constraint_wind_timeline_cast_to_constraint_timeline;
a._spine_point_attachment_cast_to_attachment=Y.spine_point_attachment_cast_to_attachment;a._spine_region_attachment_cast_to_attachment=Y.spine_region_attachment_cast_to_attachment;a._spine_rgb2_timeline_cast_to_slot_curve_timeline=Y.spine_rgb2_timeline_cast_to_slot_curve_timeline;a._spine_rgb2_timeline_cast_to_curve_timeline=Y.spine_rgb2_timeline_cast_to_curve_timeline;a._spine_rgb2_timeline_cast_to_timeline=Y.spine_rgb2_timeline_cast_to_timeline;a._spine_rgb2_timeline_cast_to_slot_timeline=Y.spine_rgb2_timeline_cast_to_slot_timeline;
a._spine_rgba2_timeline_cast_to_slot_curve_timeline=Y.spine_rgba2_timeline_cast_to_slot_curve_timeline;a._spine_rgba2_timeline_cast_to_curve_timeline=Y.spine_rgba2_timeline_cast_to_curve_timeline;a._spine_rgba2_timeline_cast_to_timeline=Y.spine_rgba2_timeline_cast_to_timeline;a._spine_rgba2_timeline_cast_to_slot_timeline=Y.spine_rgba2_timeline_cast_to_slot_timeline;a._spine_rgba_timeline_cast_to_slot_curve_timeline=Y.spine_rgba_timeline_cast_to_slot_curve_timeline;
a._spine_rgba_timeline_cast_to_curve_timeline=Y.spine_rgba_timeline_cast_to_curve_timeline;a._spine_rgba_timeline_cast_to_timeline=Y.spine_rgba_timeline_cast_to_timeline;a._spine_rgba_timeline_cast_to_slot_timeline=Y.spine_rgba_timeline_cast_to_slot_timeline;a._spine_rgb_timeline_cast_to_slot_curve_timeline=Y.spine_rgb_timeline_cast_to_slot_curve_timeline;a._spine_rgb_timeline_cast_to_curve_timeline=Y.spine_rgb_timeline_cast_to_curve_timeline;a._spine_rgb_timeline_cast_to_timeline=Y.spine_rgb_timeline_cast_to_timeline;
a._spine_rgb_timeline_cast_to_slot_timeline=Y.spine_rgb_timeline_cast_to_slot_timeline;a._spine_rotate_timeline_cast_to_bone_timeline1=Y.spine_rotate_timeline_cast_to_bone_timeline1;a._spine_rotate_timeline_cast_to_curve_timeline1=Y.spine_rotate_timeline_cast_to_curve_timeline1;a._spine_rotate_timeline_cast_to_curve_timeline=Y.spine_rotate_timeline_cast_to_curve_timeline;a._spine_rotate_timeline_cast_to_timeline=Y.spine_rotate_timeline_cast_to_timeline;
a._spine_rotate_timeline_cast_to_bone_timeline=Y.spine_rotate_timeline_cast_to_bone_timeline;a._spine_scale_timeline_cast_to_bone_timeline2=Y.spine_scale_timeline_cast_to_bone_timeline2;a._spine_scale_timeline_cast_to_curve_timeline=Y.spine_scale_timeline_cast_to_curve_timeline;a._spine_scale_timeline_cast_to_timeline=Y.spine_scale_timeline_cast_to_timeline;a._spine_scale_timeline_cast_to_bone_timeline=Y.spine_scale_timeline_cast_to_bone_timeline;a._spine_scale_x_timeline_cast_to_bone_timeline1=Y.spine_scale_x_timeline_cast_to_bone_timeline1;
a._spine_scale_x_timeline_cast_to_curve_timeline1=Y.spine_scale_x_timeline_cast_to_curve_timeline1;a._spine_scale_x_timeline_cast_to_curve_timeline=Y.spine_scale_x_timeline_cast_to_curve_timeline;a._spine_scale_x_timeline_cast_to_timeline=Y.spine_scale_x_timeline_cast_to_timeline;a._spine_scale_x_timeline_cast_to_bone_timeline=Y.spine_scale_x_timeline_cast_to_bone_timeline;a._spine_scale_y_timeline_cast_to_bone_timeline1=Y.spine_scale_y_timeline_cast_to_bone_timeline1;
a._spine_scale_y_timeline_cast_to_curve_timeline1=Y.spine_scale_y_timeline_cast_to_curve_timeline1;a._spine_scale_y_timeline_cast_to_curve_timeline=Y.spine_scale_y_timeline_cast_to_curve_timeline;a._spine_scale_y_timeline_cast_to_timeline=Y.spine_scale_y_timeline_cast_to_timeline;a._spine_scale_y_timeline_cast_to_bone_timeline=Y.spine_scale_y_timeline_cast_to_bone_timeline;a._spine_sequence_timeline_cast_to_timeline=Y.spine_sequence_timeline_cast_to_timeline;
a._spine_sequence_timeline_cast_to_slot_timeline=Y.spine_sequence_timeline_cast_to_slot_timeline;a._spine_shear_timeline_cast_to_bone_timeline2=Y.spine_shear_timeline_cast_to_bone_timeline2;a._spine_shear_timeline_cast_to_curve_timeline=Y.spine_shear_timeline_cast_to_curve_timeline;a._spine_shear_timeline_cast_to_timeline=Y.spine_shear_timeline_cast_to_timeline;a._spine_shear_timeline_cast_to_bone_timeline=Y.spine_shear_timeline_cast_to_bone_timeline;
a._spine_shear_x_timeline_cast_to_bone_timeline1=Y.spine_shear_x_timeline_cast_to_bone_timeline1;a._spine_shear_x_timeline_cast_to_curve_timeline1=Y.spine_shear_x_timeline_cast_to_curve_timeline1;a._spine_shear_x_timeline_cast_to_curve_timeline=Y.spine_shear_x_timeline_cast_to_curve_timeline;a._spine_shear_x_timeline_cast_to_timeline=Y.spine_shear_x_timeline_cast_to_timeline;a._spine_shear_x_timeline_cast_to_bone_timeline=Y.spine_shear_x_timeline_cast_to_bone_timeline;
a._spine_shear_y_timeline_cast_to_bone_timeline1=Y.spine_shear_y_timeline_cast_to_bone_timeline1;a._spine_shear_y_timeline_cast_to_curve_timeline1=Y.spine_shear_y_timeline_cast_to_curve_timeline1;a._spine_shear_y_timeline_cast_to_curve_timeline=Y.spine_shear_y_timeline_cast_to_curve_timeline;a._spine_shear_y_timeline_cast_to_timeline=Y.spine_shear_y_timeline_cast_to_timeline;a._spine_shear_y_timeline_cast_to_bone_timeline=Y.spine_shear_y_timeline_cast_to_bone_timeline;
a._spine_slider_cast_to_slider_base=Y.spine_slider_cast_to_slider_base;a._spine_slider_cast_to_posed=Y.spine_slider_cast_to_posed;a._spine_slider_cast_to_posed_active=Y.spine_slider_cast_to_posed_active;a._spine_slider_cast_to_constraint=Y.spine_slider_cast_to_constraint;a._spine_slider_cast_to_update=Y.spine_slider_cast_to_update;a._spine_slider_base_cast_to_posed=Y.spine_slider_base_cast_to_posed;a._spine_slider_base_cast_to_posed_active=Y.spine_slider_base_cast_to_posed_active;
a._spine_slider_base_cast_to_constraint=Y.spine_slider_base_cast_to_constraint;a._spine_slider_base_cast_to_update=Y.spine_slider_base_cast_to_update;a._spine_slider_data_cast_to_posed_data=Y.spine_slider_data_cast_to_posed_data;a._spine_slider_data_cast_to_constraint_data=Y.spine_slider_data_cast_to_constraint_data;a._spine_slider_mix_timeline_cast_to_constraint_timeline1=Y.spine_slider_mix_timeline_cast_to_constraint_timeline1;a._spine_slider_mix_timeline_cast_to_curve_timeline1=Y.spine_slider_mix_timeline_cast_to_curve_timeline1;
a._spine_slider_mix_timeline_cast_to_curve_timeline=Y.spine_slider_mix_timeline_cast_to_curve_timeline;a._spine_slider_mix_timeline_cast_to_timeline=Y.spine_slider_mix_timeline_cast_to_timeline;a._spine_slider_mix_timeline_cast_to_constraint_timeline=Y.spine_slider_mix_timeline_cast_to_constraint_timeline;a._spine_slider_timeline_cast_to_constraint_timeline1=Y.spine_slider_timeline_cast_to_constraint_timeline1;a._spine_slider_timeline_cast_to_curve_timeline1=Y.spine_slider_timeline_cast_to_curve_timeline1;
a._spine_slider_timeline_cast_to_curve_timeline=Y.spine_slider_timeline_cast_to_curve_timeline;a._spine_slider_timeline_cast_to_timeline=Y.spine_slider_timeline_cast_to_timeline;a._spine_slider_timeline_cast_to_constraint_timeline=Y.spine_slider_timeline_cast_to_constraint_timeline;a._spine_slot_cast_to_posed=Y.spine_slot_cast_to_posed;a._spine_slot_curve_timeline_cast_to_curve_timeline=Y.spine_slot_curve_timeline_cast_to_curve_timeline;a._spine_slot_curve_timeline_cast_to_timeline=Y.spine_slot_curve_timeline_cast_to_timeline;
a._spine_slot_curve_timeline_cast_to_slot_timeline=Y.spine_slot_curve_timeline_cast_to_slot_timeline;a._spine_slot_data_cast_to_posed_data=Y.spine_slot_data_cast_to_posed_data;a._spine_to_rotate_cast_to_to_property=Y.spine_to_rotate_cast_to_to_property;a._spine_to_scale_x_cast_to_to_property=Y.spine_to_scale_x_cast_to_to_property;a._spine_to_scale_y_cast_to_to_property=Y.spine_to_scale_y_cast_to_to_property;a._spine_to_shear_y_cast_to_to_property=Y.spine_to_shear_y_cast_to_to_property;
a._spine_to_x_cast_to_to_property=Y.spine_to_x_cast_to_to_property;a._spine_to_y_cast_to_to_property=Y.spine_to_y_cast_to_to_property;a._spine_transform_constraint_cast_to_transform_constraint_base=Y.spine_transform_constraint_cast_to_transform_constraint_base;a._spine_transform_constraint_cast_to_posed=Y.spine_transform_constraint_cast_to_posed;a._spine_transform_constraint_cast_to_posed_active=Y.spine_transform_constraint_cast_to_posed_active;a._spine_transform_constraint_cast_to_constraint=Y.spine_transform_constraint_cast_to_constraint;
a._spine_transform_constraint_cast_to_update=Y.spine_transform_constraint_cast_to_update;a._spine_transform_constraint_base_cast_to_posed=Y.spine_transform_constraint_base_cast_to_posed;a._spine_transform_constraint_base_cast_to_posed_active=Y.spine_transform_constraint_base_cast_to_posed_active;a._spine_transform_constraint_base_cast_to_constraint=Y.spine_transform_constraint_base_cast_to_constraint;a._spine_transform_constraint_base_cast_to_update=Y.spine_transform_constraint_base_cast_to_update;
a._spine_transform_constraint_data_cast_to_posed_data=Y.spine_transform_constraint_data_cast_to_posed_data;a._spine_transform_constraint_data_cast_to_constraint_data=Y.spine_transform_constraint_data_cast_to_constraint_data;a._spine_transform_constraint_timeline_cast_to_curve_timeline=Y.spine_transform_constraint_timeline_cast_to_curve_timeline;a._spine_transform_constraint_timeline_cast_to_timeline=Y.spine_transform_constraint_timeline_cast_to_timeline;
a._spine_transform_constraint_timeline_cast_to_constraint_timeline=Y.spine_transform_constraint_timeline_cast_to_constraint_timeline;a._spine_translate_timeline_cast_to_bone_timeline2=Y.spine_translate_timeline_cast_to_bone_timeline2;a._spine_translate_timeline_cast_to_curve_timeline=Y.spine_translate_timeline_cast_to_curve_timeline;a._spine_translate_timeline_cast_to_timeline=Y.spine_translate_timeline_cast_to_timeline;a._spine_translate_timeline_cast_to_bone_timeline=Y.spine_translate_timeline_cast_to_bone_timeline;
a._spine_translate_x_timeline_cast_to_bone_timeline1=Y.spine_translate_x_timeline_cast_to_bone_timeline1;a._spine_translate_x_timeline_cast_to_curve_timeline1=Y.spine_translate_x_timeline_cast_to_curve_timeline1;a._spine_translate_x_timeline_cast_to_curve_timeline=Y.spine_translate_x_timeline_cast_to_curve_timeline;a._spine_translate_x_timeline_cast_to_timeline=Y.spine_translate_x_timeline_cast_to_timeline;a._spine_translate_x_timeline_cast_to_bone_timeline=Y.spine_translate_x_timeline_cast_to_bone_timeline;
a._spine_translate_y_timeline_cast_to_bone_timeline1=Y.spine_translate_y_timeline_cast_to_bone_timeline1;a._spine_translate_y_timeline_cast_to_curve_timeline1=Y.spine_translate_y_timeline_cast_to_curve_timeline1;a._spine_translate_y_timeline_cast_to_curve_timeline=Y.spine_translate_y_timeline_cast_to_curve_timeline;a._spine_translate_y_timeline_cast_to_timeline=Y.spine_translate_y_timeline_cast_to_timeline;a._spine_translate_y_timeline_cast_to_bone_timeline=Y.spine_translate_y_timeline_cast_to_bone_timeline;
a._spine_vertex_attachment_cast_to_attachment=Y.spine_vertex_attachment_cast_to_attachment;a._spine_curve_timeline1_cast_to_alpha_timeline=Y.spine_curve_timeline1_cast_to_alpha_timeline;a._spine_curve_timeline1_cast_to_bone_timeline1=Y.spine_curve_timeline1_cast_to_bone_timeline1;a._spine_curve_timeline1_cast_to_constraint_timeline1=Y.spine_curve_timeline1_cast_to_constraint_timeline1;a._spine_curve_timeline1_cast_to_path_constraint_position_timeline=Y.spine_curve_timeline1_cast_to_path_constraint_position_timeline;
a._spine_curve_timeline1_cast_to_path_constraint_spacing_timeline=Y.spine_curve_timeline1_cast_to_path_constraint_spacing_timeline;a._spine_curve_timeline1_cast_to_physics_constraint_damping_timeline=Y.spine_curve_timeline1_cast_to_physics_constraint_damping_timeline;a._spine_curve_timeline1_cast_to_physics_constraint_gravity_timeline=Y.spine_curve_timeline1_cast_to_physics_constraint_gravity_timeline;a._spine_curve_timeline1_cast_to_physics_constraint_inertia_timeline=Y.spine_curve_timeline1_cast_to_physics_constraint_inertia_timeline;
a._spine_curve_timeline1_cast_to_physics_constraint_mass_timeline=Y.spine_curve_timeline1_cast_to_physics_constraint_mass_timeline;a._spine_curve_timeline1_cast_to_physics_constraint_mix_timeline=Y.spine_curve_timeline1_cast_to_physics_constraint_mix_timeline;a._spine_curve_timeline1_cast_to_physics_constraint_strength_timeline=Y.spine_curve_timeline1_cast_to_physics_constraint_strength_timeline;a._spine_curve_timeline1_cast_to_physics_constraint_timeline=Y.spine_curve_timeline1_cast_to_physics_constraint_timeline;
a._spine_curve_timeline1_cast_to_physics_constraint_wind_timeline=Y.spine_curve_timeline1_cast_to_physics_constraint_wind_timeline;a._spine_curve_timeline1_cast_to_rotate_timeline=Y.spine_curve_timeline1_cast_to_rotate_timeline;a._spine_curve_timeline1_cast_to_scale_x_timeline=Y.spine_curve_timeline1_cast_to_scale_x_timeline;a._spine_curve_timeline1_cast_to_scale_y_timeline=Y.spine_curve_timeline1_cast_to_scale_y_timeline;a._spine_curve_timeline1_cast_to_shear_x_timeline=Y.spine_curve_timeline1_cast_to_shear_x_timeline;
a._spine_curve_timeline1_cast_to_shear_y_timeline=Y.spine_curve_timeline1_cast_to_shear_y_timeline;a._spine_curve_timeline1_cast_to_slider_mix_timeline=Y.spine_curve_timeline1_cast_to_slider_mix_timeline;a._spine_curve_timeline1_cast_to_slider_timeline=Y.spine_curve_timeline1_cast_to_slider_timeline;a._spine_curve_timeline1_cast_to_translate_x_timeline=Y.spine_curve_timeline1_cast_to_translate_x_timeline;a._spine_curve_timeline1_cast_to_translate_y_timeline=Y.spine_curve_timeline1_cast_to_translate_y_timeline;
a._spine_curve_timeline_cast_to_alpha_timeline=Y.spine_curve_timeline_cast_to_alpha_timeline;a._spine_curve_timeline_cast_to_bone_timeline1=Y.spine_curve_timeline_cast_to_bone_timeline1;a._spine_curve_timeline_cast_to_bone_timeline2=Y.spine_curve_timeline_cast_to_bone_timeline2;a._spine_curve_timeline_cast_to_constraint_timeline1=Y.spine_curve_timeline_cast_to_constraint_timeline1;a._spine_curve_timeline_cast_to_curve_timeline1=Y.spine_curve_timeline_cast_to_curve_timeline1;
a._spine_curve_timeline_cast_to_deform_timeline=Y.spine_curve_timeline_cast_to_deform_timeline;a._spine_curve_timeline_cast_to_ik_constraint_timeline=Y.spine_curve_timeline_cast_to_ik_constraint_timeline;a._spine_curve_timeline_cast_to_path_constraint_mix_timeline=Y.spine_curve_timeline_cast_to_path_constraint_mix_timeline;a._spine_curve_timeline_cast_to_path_constraint_position_timeline=Y.spine_curve_timeline_cast_to_path_constraint_position_timeline;
a._spine_curve_timeline_cast_to_path_constraint_spacing_timeline=Y.spine_curve_timeline_cast_to_path_constraint_spacing_timeline;a._spine_curve_timeline_cast_to_physics_constraint_damping_timeline=Y.spine_curve_timeline_cast_to_physics_constraint_damping_timeline;a._spine_curve_timeline_cast_to_physics_constraint_gravity_timeline=Y.spine_curve_timeline_cast_to_physics_constraint_gravity_timeline;a._spine_curve_timeline_cast_to_physics_constraint_inertia_timeline=Y.spine_curve_timeline_cast_to_physics_constraint_inertia_timeline;
a._spine_curve_timeline_cast_to_physics_constraint_mass_timeline=Y.spine_curve_timeline_cast_to_physics_constraint_mass_timeline;a._spine_curve_timeline_cast_to_physics_constraint_mix_timeline=Y.spine_curve_timeline_cast_to_physics_constraint_mix_timeline;a._spine_curve_timeline_cast_to_physics_constraint_strength_timeline=Y.spine_curve_timeline_cast_to_physics_constraint_strength_timeline;a._spine_curve_timeline_cast_to_physics_constraint_timeline=Y.spine_curve_timeline_cast_to_physics_constraint_timeline;
a._spine_curve_timeline_cast_to_physics_constraint_wind_timeline=Y.spine_curve_timeline_cast_to_physics_constraint_wind_timeline;a._spine_curve_timeline_cast_to_rgb2_timeline=Y.spine_curve_timeline_cast_to_rgb2_timeline;a._spine_curve_timeline_cast_to_rgba2_timeline=Y.spine_curve_timeline_cast_to_rgba2_timeline;a._spine_curve_timeline_cast_to_rgba_timeline=Y.spine_curve_timeline_cast_to_rgba_timeline;a._spine_curve_timeline_cast_to_rgb_timeline=Y.spine_curve_timeline_cast_to_rgb_timeline;
a._spine_curve_timeline_cast_to_rotate_timeline=Y.spine_curve_timeline_cast_to_rotate_timeline;a._spine_curve_timeline_cast_to_scale_timeline=Y.spine_curve_timeline_cast_to_scale_timeline;a._spine_curve_timeline_cast_to_scale_x_timeline=Y.spine_curve_timeline_cast_to_scale_x_timeline;a._spine_curve_timeline_cast_to_scale_y_timeline=Y.spine_curve_timeline_cast_to_scale_y_timeline;a._spine_curve_timeline_cast_to_shear_timeline=Y.spine_curve_timeline_cast_to_shear_timeline;
a._spine_curve_timeline_cast_to_shear_x_timeline=Y.spine_curve_timeline_cast_to_shear_x_timeline;a._spine_curve_timeline_cast_to_shear_y_timeline=Y.spine_curve_timeline_cast_to_shear_y_timeline;a._spine_curve_timeline_cast_to_slider_mix_timeline=Y.spine_curve_timeline_cast_to_slider_mix_timeline;a._spine_curve_timeline_cast_to_slider_timeline=Y.spine_curve_timeline_cast_to_slider_timeline;a._spine_curve_timeline_cast_to_slot_curve_timeline=Y.spine_curve_timeline_cast_to_slot_curve_timeline;
a._spine_curve_timeline_cast_to_transform_constraint_timeline=Y.spine_curve_timeline_cast_to_transform_constraint_timeline;a._spine_curve_timeline_cast_to_translate_timeline=Y.spine_curve_timeline_cast_to_translate_timeline;a._spine_curve_timeline_cast_to_translate_x_timeline=Y.spine_curve_timeline_cast_to_translate_x_timeline;a._spine_curve_timeline_cast_to_translate_y_timeline=Y.spine_curve_timeline_cast_to_translate_y_timeline;a._spine_timeline_cast_to_alpha_timeline=Y.spine_timeline_cast_to_alpha_timeline;
a._spine_timeline_cast_to_attachment_timeline=Y.spine_timeline_cast_to_attachment_timeline;a._spine_timeline_cast_to_bone_timeline1=Y.spine_timeline_cast_to_bone_timeline1;a._spine_timeline_cast_to_bone_timeline2=Y.spine_timeline_cast_to_bone_timeline2;a._spine_timeline_cast_to_constraint_timeline1=Y.spine_timeline_cast_to_constraint_timeline1;a._spine_timeline_cast_to_curve_timeline=Y.spine_timeline_cast_to_curve_timeline;a._spine_timeline_cast_to_curve_timeline1=Y.spine_timeline_cast_to_curve_timeline1;
a._spine_timeline_cast_to_deform_timeline=Y.spine_timeline_cast_to_deform_timeline;a._spine_timeline_cast_to_draw_order_timeline=Y.spine_timeline_cast_to_draw_order_timeline;a._spine_timeline_cast_to_event_timeline=Y.spine_timeline_cast_to_event_timeline;a._spine_timeline_cast_to_ik_constraint_timeline=Y.spine_timeline_cast_to_ik_constraint_timeline;a._spine_timeline_cast_to_inherit_timeline=Y.spine_timeline_cast_to_inherit_timeline;a._spine_timeline_cast_to_path_constraint_mix_timeline=Y.spine_timeline_cast_to_path_constraint_mix_timeline;
a._spine_timeline_cast_to_path_constraint_position_timeline=Y.spine_timeline_cast_to_path_constraint_position_timeline;a._spine_timeline_cast_to_path_constraint_spacing_timeline=Y.spine_timeline_cast_to_path_constraint_spacing_timeline;a._spine_timeline_cast_to_physics_constraint_damping_timeline=Y.spine_timeline_cast_to_physics_constraint_damping_timeline;a._spine_timeline_cast_to_physics_constraint_gravity_timeline=Y.spine_timeline_cast_to_physics_constraint_gravity_timeline;
a._spine_timeline_cast_to_physics_constraint_inertia_timeline=Y.spine_timeline_cast_to_physics_constraint_inertia_timeline;a._spine_timeline_cast_to_physics_constraint_mass_timeline=Y.spine_timeline_cast_to_physics_constraint_mass_timeline;a._spine_timeline_cast_to_physics_constraint_mix_timeline=Y.spine_timeline_cast_to_physics_constraint_mix_timeline;a._spine_timeline_cast_to_physics_constraint_reset_timeline=Y.spine_timeline_cast_to_physics_constraint_reset_timeline;
a._spine_timeline_cast_to_physics_constraint_strength_timeline=Y.spine_timeline_cast_to_physics_constraint_strength_timeline;a._spine_timeline_cast_to_physics_constraint_timeline=Y.spine_timeline_cast_to_physics_constraint_timeline;a._spine_timeline_cast_to_physics_constraint_wind_timeline=Y.spine_timeline_cast_to_physics_constraint_wind_timeline;a._spine_timeline_cast_to_rgb2_timeline=Y.spine_timeline_cast_to_rgb2_timeline;a._spine_timeline_cast_to_rgba2_timeline=Y.spine_timeline_cast_to_rgba2_timeline;
a._spine_timeline_cast_to_rgba_timeline=Y.spine_timeline_cast_to_rgba_timeline;a._spine_timeline_cast_to_rgb_timeline=Y.spine_timeline_cast_to_rgb_timeline;a._spine_timeline_cast_to_rotate_timeline=Y.spine_timeline_cast_to_rotate_timeline;a._spine_timeline_cast_to_scale_timeline=Y.spine_timeline_cast_to_scale_timeline;a._spine_timeline_cast_to_scale_x_timeline=Y.spine_timeline_cast_to_scale_x_timeline;a._spine_timeline_cast_to_scale_y_timeline=Y.spine_timeline_cast_to_scale_y_timeline;
a._spine_timeline_cast_to_sequence_timeline=Y.spine_timeline_cast_to_sequence_timeline;a._spine_timeline_cast_to_shear_timeline=Y.spine_timeline_cast_to_shear_timeline;a._spine_timeline_cast_to_shear_x_timeline=Y.spine_timeline_cast_to_shear_x_timeline;a._spine_timeline_cast_to_shear_y_timeline=Y.spine_timeline_cast_to_shear_y_timeline;a._spine_timeline_cast_to_slider_mix_timeline=Y.spine_timeline_cast_to_slider_mix_timeline;a._spine_timeline_cast_to_slider_timeline=Y.spine_timeline_cast_to_slider_timeline;
a._spine_timeline_cast_to_slot_curve_timeline=Y.spine_timeline_cast_to_slot_curve_timeline;a._spine_timeline_cast_to_transform_constraint_timeline=Y.spine_timeline_cast_to_transform_constraint_timeline;a._spine_timeline_cast_to_translate_timeline=Y.spine_timeline_cast_to_translate_timeline;a._spine_timeline_cast_to_translate_x_timeline=Y.spine_timeline_cast_to_translate_x_timeline;a._spine_timeline_cast_to_translate_y_timeline=Y.spine_timeline_cast_to_translate_y_timeline;
a._spine_slot_timeline_cast_to_alpha_timeline=Y.spine_slot_timeline_cast_to_alpha_timeline;a._spine_slot_timeline_cast_to_attachment_timeline=Y.spine_slot_timeline_cast_to_attachment_timeline;a._spine_slot_timeline_cast_to_deform_timeline=Y.spine_slot_timeline_cast_to_deform_timeline;a._spine_slot_timeline_cast_to_rgb2_timeline=Y.spine_slot_timeline_cast_to_rgb2_timeline;a._spine_slot_timeline_cast_to_rgba2_timeline=Y.spine_slot_timeline_cast_to_rgba2_timeline;
a._spine_slot_timeline_cast_to_rgba_timeline=Y.spine_slot_timeline_cast_to_rgba_timeline;a._spine_slot_timeline_cast_to_rgb_timeline=Y.spine_slot_timeline_cast_to_rgb_timeline;a._spine_slot_timeline_cast_to_sequence_timeline=Y.spine_slot_timeline_cast_to_sequence_timeline;a._spine_slot_timeline_cast_to_slot_curve_timeline=Y.spine_slot_timeline_cast_to_slot_curve_timeline;a._spine_attachment_loader_cast_to_atlas_attachment_loader=Y.spine_attachment_loader_cast_to_atlas_attachment_loader;
a._spine_texture_region_cast_to_atlas_region=Y.spine_texture_region_cast_to_atlas_region;a._spine_posed_cast_to_bone=Y.spine_posed_cast_to_bone;a._spine_posed_cast_to_ik_constraint=Y.spine_posed_cast_to_ik_constraint;a._spine_posed_cast_to_ik_constraint_base=Y.spine_posed_cast_to_ik_constraint_base;a._spine_posed_cast_to_path_constraint=Y.spine_posed_cast_to_path_constraint;a._spine_posed_cast_to_path_constraint_base=Y.spine_posed_cast_to_path_constraint_base;
a._spine_posed_cast_to_physics_constraint=Y.spine_posed_cast_to_physics_constraint;a._spine_posed_cast_to_physics_constraint_base=Y.spine_posed_cast_to_physics_constraint_base;a._spine_posed_cast_to_slider=Y.spine_posed_cast_to_slider;a._spine_posed_cast_to_slider_base=Y.spine_posed_cast_to_slider_base;a._spine_posed_cast_to_slot=Y.spine_posed_cast_to_slot;a._spine_posed_cast_to_transform_constraint=Y.spine_posed_cast_to_transform_constraint;a._spine_posed_cast_to_transform_constraint_base=Y.spine_posed_cast_to_transform_constraint_base;
a._spine_posed_active_cast_to_bone=Y.spine_posed_active_cast_to_bone;a._spine_posed_active_cast_to_ik_constraint=Y.spine_posed_active_cast_to_ik_constraint;a._spine_posed_active_cast_to_ik_constraint_base=Y.spine_posed_active_cast_to_ik_constraint_base;a._spine_posed_active_cast_to_path_constraint=Y.spine_posed_active_cast_to_path_constraint;a._spine_posed_active_cast_to_path_constraint_base=Y.spine_posed_active_cast_to_path_constraint_base;a._spine_posed_active_cast_to_physics_constraint=Y.spine_posed_active_cast_to_physics_constraint;
a._spine_posed_active_cast_to_physics_constraint_base=Y.spine_posed_active_cast_to_physics_constraint_base;a._spine_posed_active_cast_to_slider=Y.spine_posed_active_cast_to_slider;a._spine_posed_active_cast_to_slider_base=Y.spine_posed_active_cast_to_slider_base;a._spine_posed_active_cast_to_transform_constraint=Y.spine_posed_active_cast_to_transform_constraint;a._spine_posed_active_cast_to_transform_constraint_base=Y.spine_posed_active_cast_to_transform_constraint_base;
a._spine_update_cast_to_bone=Y.spine_update_cast_to_bone;a._spine_update_cast_to_bone_pose=Y.spine_update_cast_to_bone_pose;a._spine_update_cast_to_constraint=Y.spine_update_cast_to_constraint;a._spine_update_cast_to_ik_constraint=Y.spine_update_cast_to_ik_constraint;a._spine_update_cast_to_ik_constraint_base=Y.spine_update_cast_to_ik_constraint_base;a._spine_update_cast_to_path_constraint=Y.spine_update_cast_to_path_constraint;a._spine_update_cast_to_path_constraint_base=Y.spine_update_cast_to_path_constraint_base;
a._spine_update_cast_to_physics_constraint=Y.spine_update_cast_to_physics_constraint;a._spine_update_cast_to_physics_constraint_base=Y.spine_update_cast_to_physics_constraint_base;a._spine_update_cast_to_slider=Y.spine_update_cast_to_slider;a._spine_update_cast_to_slider_base=Y.spine_update_cast_to_slider_base;a._spine_update_cast_to_transform_constraint=Y.spine_update_cast_to_transform_constraint;a._spine_update_cast_to_transform_constraint_base=Y.spine_update_cast_to_transform_constraint_base;
a._spine_posed_data_cast_to_bone_data=Y.spine_posed_data_cast_to_bone_data;a._spine_posed_data_cast_to_ik_constraint_data=Y.spine_posed_data_cast_to_ik_constraint_data;a._spine_posed_data_cast_to_path_constraint_data=Y.spine_posed_data_cast_to_path_constraint_data;a._spine_posed_data_cast_to_physics_constraint_data=Y.spine_posed_data_cast_to_physics_constraint_data;a._spine_posed_data_cast_to_slider_data=Y.spine_posed_data_cast_to_slider_data;a._spine_posed_data_cast_to_slot_data=Y.spine_posed_data_cast_to_slot_data;
a._spine_posed_data_cast_to_transform_constraint_data=Y.spine_posed_data_cast_to_transform_constraint_data;a._spine_bone_local_cast_to_bone_pose=Y.spine_bone_local_cast_to_bone_pose;a._spine_bone_timeline_cast_to_bone_timeline1=Y.spine_bone_timeline_cast_to_bone_timeline1;a._spine_bone_timeline_cast_to_bone_timeline2=Y.spine_bone_timeline_cast_to_bone_timeline2;a._spine_bone_timeline_cast_to_inherit_timeline=Y.spine_bone_timeline_cast_to_inherit_timeline;
a._spine_bone_timeline_cast_to_rotate_timeline=Y.spine_bone_timeline_cast_to_rotate_timeline;a._spine_bone_timeline_cast_to_scale_timeline=Y.spine_bone_timeline_cast_to_scale_timeline;a._spine_bone_timeline_cast_to_scale_x_timeline=Y.spine_bone_timeline_cast_to_scale_x_timeline;a._spine_bone_timeline_cast_to_scale_y_timeline=Y.spine_bone_timeline_cast_to_scale_y_timeline;a._spine_bone_timeline_cast_to_shear_timeline=Y.spine_bone_timeline_cast_to_shear_timeline;
a._spine_bone_timeline_cast_to_shear_x_timeline=Y.spine_bone_timeline_cast_to_shear_x_timeline;a._spine_bone_timeline_cast_to_shear_y_timeline=Y.spine_bone_timeline_cast_to_shear_y_timeline;a._spine_bone_timeline_cast_to_translate_timeline=Y.spine_bone_timeline_cast_to_translate_timeline;a._spine_bone_timeline_cast_to_translate_x_timeline=Y.spine_bone_timeline_cast_to_translate_x_timeline;a._spine_bone_timeline_cast_to_translate_y_timeline=Y.spine_bone_timeline_cast_to_translate_y_timeline;
a._spine_vertex_attachment_cast_to_bounding_box_attachment=Y.spine_vertex_attachment_cast_to_bounding_box_attachment;a._spine_vertex_attachment_cast_to_clipping_attachment=Y.spine_vertex_attachment_cast_to_clipping_attachment;a._spine_vertex_attachment_cast_to_mesh_attachment=Y.spine_vertex_attachment_cast_to_mesh_attachment;a._spine_vertex_attachment_cast_to_path_attachment=Y.spine_vertex_attachment_cast_to_path_attachment;a._spine_attachment_cast_to_bounding_box_attachment=Y.spine_attachment_cast_to_bounding_box_attachment;
a._spine_attachment_cast_to_clipping_attachment=Y.spine_attachment_cast_to_clipping_attachment;a._spine_attachment_cast_to_mesh_attachment=Y.spine_attachment_cast_to_mesh_attachment;a._spine_attachment_cast_to_path_attachment=Y.spine_attachment_cast_to_path_attachment;a._spine_attachment_cast_to_point_attachment=Y.spine_attachment_cast_to_point_attachment;a._spine_attachment_cast_to_region_attachment=Y.spine_attachment_cast_to_region_attachment;a._spine_attachment_cast_to_vertex_attachment=Y.spine_attachment_cast_to_vertex_attachment;
a._spine_constraint_timeline_cast_to_constraint_timeline1=Y.spine_constraint_timeline_cast_to_constraint_timeline1;a._spine_constraint_timeline_cast_to_ik_constraint_timeline=Y.spine_constraint_timeline_cast_to_ik_constraint_timeline;a._spine_constraint_timeline_cast_to_path_constraint_mix_timeline=Y.spine_constraint_timeline_cast_to_path_constraint_mix_timeline;a._spine_constraint_timeline_cast_to_path_constraint_position_timeline=Y.spine_constraint_timeline_cast_to_path_constraint_position_timeline;
a._spine_constraint_timeline_cast_to_path_constraint_spacing_timeline=Y.spine_constraint_timeline_cast_to_path_constraint_spacing_timeline;a._spine_constraint_timeline_cast_to_physics_constraint_damping_timeline=Y.spine_constraint_timeline_cast_to_physics_constraint_damping_timeline;a._spine_constraint_timeline_cast_to_physics_constraint_gravity_timeline=Y.spine_constraint_timeline_cast_to_physics_constraint_gravity_timeline;
a._spine_constraint_timeline_cast_to_physics_constraint_inertia_timeline=Y.spine_constraint_timeline_cast_to_physics_constraint_inertia_timeline;a._spine_constraint_timeline_cast_to_physics_constraint_mass_timeline=Y.spine_constraint_timeline_cast_to_physics_constraint_mass_timeline;a._spine_constraint_timeline_cast_to_physics_constraint_mix_timeline=Y.spine_constraint_timeline_cast_to_physics_constraint_mix_timeline;a._spine_constraint_timeline_cast_to_physics_constraint_reset_timeline=Y.spine_constraint_timeline_cast_to_physics_constraint_reset_timeline;
a._spine_constraint_timeline_cast_to_physics_constraint_strength_timeline=Y.spine_constraint_timeline_cast_to_physics_constraint_strength_timeline;a._spine_constraint_timeline_cast_to_physics_constraint_timeline=Y.spine_constraint_timeline_cast_to_physics_constraint_timeline;a._spine_constraint_timeline_cast_to_physics_constraint_wind_timeline=Y.spine_constraint_timeline_cast_to_physics_constraint_wind_timeline;a._spine_constraint_timeline_cast_to_slider_mix_timeline=Y.spine_constraint_timeline_cast_to_slider_mix_timeline;
a._spine_constraint_timeline_cast_to_slider_timeline=Y.spine_constraint_timeline_cast_to_slider_timeline;a._spine_constraint_timeline_cast_to_transform_constraint_timeline=Y.spine_constraint_timeline_cast_to_transform_constraint_timeline;a._spine_slot_curve_timeline_cast_to_deform_timeline=Y.spine_slot_curve_timeline_cast_to_deform_timeline;a._spine_slot_curve_timeline_cast_to_rgb2_timeline=Y.spine_slot_curve_timeline_cast_to_rgb2_timeline;a._spine_slot_curve_timeline_cast_to_rgba2_timeline=Y.spine_slot_curve_timeline_cast_to_rgba2_timeline;
a._spine_slot_curve_timeline_cast_to_rgba_timeline=Y.spine_slot_curve_timeline_cast_to_rgba_timeline;a._spine_slot_curve_timeline_cast_to_rgb_timeline=Y.spine_slot_curve_timeline_cast_to_rgb_timeline;a._spine_from_property_cast_to_from_rotate=Y.spine_from_property_cast_to_from_rotate;a._spine_from_property_cast_to_from_scale_x=Y.spine_from_property_cast_to_from_scale_x;a._spine_from_property_cast_to_from_scale_y=Y.spine_from_property_cast_to_from_scale_y;
a._spine_from_property_cast_to_from_shear_y=Y.spine_from_property_cast_to_from_shear_y;a._spine_from_property_cast_to_from_x=Y.spine_from_property_cast_to_from_x;a._spine_from_property_cast_to_from_y=Y.spine_from_property_cast_to_from_y;a._spine_ik_constraint_base_cast_to_ik_constraint=Y.spine_ik_constraint_base_cast_to_ik_constraint;a._spine_constraint_cast_to_ik_constraint=Y.spine_constraint_cast_to_ik_constraint;a._spine_constraint_cast_to_ik_constraint_base=Y.spine_constraint_cast_to_ik_constraint_base;
a._spine_constraint_cast_to_path_constraint=Y.spine_constraint_cast_to_path_constraint;a._spine_constraint_cast_to_path_constraint_base=Y.spine_constraint_cast_to_path_constraint_base;a._spine_constraint_cast_to_physics_constraint=Y.spine_constraint_cast_to_physics_constraint;a._spine_constraint_cast_to_physics_constraint_base=Y.spine_constraint_cast_to_physics_constraint_base;a._spine_constraint_cast_to_slider=Y.spine_constraint_cast_to_slider;a._spine_constraint_cast_to_slider_base=Y.spine_constraint_cast_to_slider_base;
a._spine_constraint_cast_to_transform_constraint=Y.spine_constraint_cast_to_transform_constraint;a._spine_constraint_cast_to_transform_constraint_base=Y.spine_constraint_cast_to_transform_constraint_base;a._spine_constraint_data_cast_to_ik_constraint_data=Y.spine_constraint_data_cast_to_ik_constraint_data;a._spine_constraint_data_cast_to_path_constraint_data=Y.spine_constraint_data_cast_to_path_constraint_data;a._spine_constraint_data_cast_to_physics_constraint_data=Y.spine_constraint_data_cast_to_physics_constraint_data;
a._spine_constraint_data_cast_to_slider_data=Y.spine_constraint_data_cast_to_slider_data;a._spine_constraint_data_cast_to_transform_constraint_data=Y.spine_constraint_data_cast_to_transform_constraint_data;a._spine_path_constraint_base_cast_to_path_constraint=Y.spine_path_constraint_base_cast_to_path_constraint;a._spine_constraint_timeline1_cast_to_path_constraint_position_timeline=Y.spine_constraint_timeline1_cast_to_path_constraint_position_timeline;
a._spine_constraint_timeline1_cast_to_path_constraint_spacing_timeline=Y.spine_constraint_timeline1_cast_to_path_constraint_spacing_timeline;a._spine_constraint_timeline1_cast_to_slider_mix_timeline=Y.spine_constraint_timeline1_cast_to_slider_mix_timeline;a._spine_constraint_timeline1_cast_to_slider_timeline=Y.spine_constraint_timeline1_cast_to_slider_timeline;a._spine_physics_constraint_base_cast_to_physics_constraint=Y.spine_physics_constraint_base_cast_to_physics_constraint;
a._spine_physics_constraint_timeline_cast_to_physics_constraint_damping_timeline=Y.spine_physics_constraint_timeline_cast_to_physics_constraint_damping_timeline;a._spine_physics_constraint_timeline_cast_to_physics_constraint_gravity_timeline=Y.spine_physics_constraint_timeline_cast_to_physics_constraint_gravity_timeline;a._spine_physics_constraint_timeline_cast_to_physics_constraint_inertia_timeline=Y.spine_physics_constraint_timeline_cast_to_physics_constraint_inertia_timeline;
a._spine_physics_constraint_timeline_cast_to_physics_constraint_mass_timeline=Y.spine_physics_constraint_timeline_cast_to_physics_constraint_mass_timeline;a._spine_physics_constraint_timeline_cast_to_physics_constraint_mix_timeline=Y.spine_physics_constraint_timeline_cast_to_physics_constraint_mix_timeline;a._spine_physics_constraint_timeline_cast_to_physics_constraint_strength_timeline=Y.spine_physics_constraint_timeline_cast_to_physics_constraint_strength_timeline;
a._spine_physics_constraint_timeline_cast_to_physics_constraint_wind_timeline=Y.spine_physics_constraint_timeline_cast_to_physics_constraint_wind_timeline;a._spine_bone_timeline1_cast_to_rotate_timeline=Y.spine_bone_timeline1_cast_to_rotate_timeline;a._spine_bone_timeline1_cast_to_scale_x_timeline=Y.spine_bone_timeline1_cast_to_scale_x_timeline;a._spine_bone_timeline1_cast_to_scale_y_timeline=Y.spine_bone_timeline1_cast_to_scale_y_timeline;a._spine_bone_timeline1_cast_to_shear_x_timeline=Y.spine_bone_timeline1_cast_to_shear_x_timeline;
a._spine_bone_timeline1_cast_to_shear_y_timeline=Y.spine_bone_timeline1_cast_to_shear_y_timeline;a._spine_bone_timeline1_cast_to_translate_x_timeline=Y.spine_bone_timeline1_cast_to_translate_x_timeline;a._spine_bone_timeline1_cast_to_translate_y_timeline=Y.spine_bone_timeline1_cast_to_translate_y_timeline;a._spine_bone_timeline2_cast_to_scale_timeline=Y.spine_bone_timeline2_cast_to_scale_timeline;a._spine_bone_timeline2_cast_to_shear_timeline=Y.spine_bone_timeline2_cast_to_shear_timeline;
a._spine_bone_timeline2_cast_to_translate_timeline=Y.spine_bone_timeline2_cast_to_translate_timeline;a._spine_slider_base_cast_to_slider=Y.spine_slider_base_cast_to_slider;a._spine_to_property_cast_to_to_rotate=Y.spine_to_property_cast_to_to_rotate;a._spine_to_property_cast_to_to_scale_x=Y.spine_to_property_cast_to_to_scale_x;a._spine_to_property_cast_to_to_scale_y=Y.spine_to_property_cast_to_to_scale_y;a._spine_to_property_cast_to_to_shear_y=Y.spine_to_property_cast_to_to_shear_y;
a._spine_to_property_cast_to_to_x=Y.spine_to_property_cast_to_to_x;a._spine_to_property_cast_to_to_y=Y.spine_to_property_cast_to_to_y;a._spine_transform_constraint_base_cast_to_transform_constraint=Y.spine_transform_constraint_base_cast_to_transform_constraint;a._spine_transform_constraint_data_create=Y.spine_transform_constraint_data_create;a._spine_transform_constraint_data_dispose=Y.spine_transform_constraint_data_dispose;a._spine_transform_constraint_data_get_rtti=Y.spine_transform_constraint_data_get_rtti;
a._spine_transform_constraint_data_create_method=Y.spine_transform_constraint_data_create_method;a._spine_transform_constraint_data_get_bones=Y.spine_transform_constraint_data_get_bones;a._spine_transform_constraint_data_get_source=Y.spine_transform_constraint_data_get_source;a._spine_transform_constraint_data_set_source=Y.spine_transform_constraint_data_set_source;a._spine_transform_constraint_data_get_offset_rotation=Y.spine_transform_constraint_data_get_offset_rotation;
a._spine_transform_constraint_data_set_offset_rotation=Y.spine_transform_constraint_data_set_offset_rotation;a._spine_transform_constraint_data_get_offset_x=Y.spine_transform_constraint_data_get_offset_x;a._spine_transform_constraint_data_set_offset_x=Y.spine_transform_constraint_data_set_offset_x;a._spine_transform_constraint_data_get_offset_y=Y.spine_transform_constraint_data_get_offset_y;a._spine_transform_constraint_data_set_offset_y=Y.spine_transform_constraint_data_set_offset_y;
a._spine_transform_constraint_data_get_offset_scale_x=Y.spine_transform_constraint_data_get_offset_scale_x;a._spine_transform_constraint_data_set_offset_scale_x=Y.spine_transform_constraint_data_set_offset_scale_x;a._spine_transform_constraint_data_get_offset_scale_y=Y.spine_transform_constraint_data_get_offset_scale_y;a._spine_transform_constraint_data_set_offset_scale_y=Y.spine_transform_constraint_data_set_offset_scale_y;a._spine_transform_constraint_data_get_offset_shear_y=Y.spine_transform_constraint_data_get_offset_shear_y;
a._spine_transform_constraint_data_set_offset_shear_y=Y.spine_transform_constraint_data_set_offset_shear_y;a._spine_transform_constraint_data_get_local_source=Y.spine_transform_constraint_data_get_local_source;a._spine_transform_constraint_data_set_local_source=Y.spine_transform_constraint_data_set_local_source;a._spine_transform_constraint_data_get_local_target=Y.spine_transform_constraint_data_get_local_target;a._spine_transform_constraint_data_set_local_target=Y.spine_transform_constraint_data_set_local_target;
a._spine_transform_constraint_data_get_additive=Y.spine_transform_constraint_data_get_additive;a._spine_transform_constraint_data_set_additive=Y.spine_transform_constraint_data_set_additive;a._spine_transform_constraint_data_get_clamp=Y.spine_transform_constraint_data_get_clamp;a._spine_transform_constraint_data_set_clamp=Y.spine_transform_constraint_data_set_clamp;a._spine_transform_constraint_data_get_properties=Y.spine_transform_constraint_data_get_properties;
a._spine_transform_constraint_data_get_name=Y.spine_transform_constraint_data_get_name;a._spine_transform_constraint_data_get_skin_required=Y.spine_transform_constraint_data_get_skin_required;a._spine_transform_constraint_data_get_setup_pose=Y.spine_transform_constraint_data_get_setup_pose;a._spine_transform_constraint_data_set_skin_required=Y.spine_transform_constraint_data_set_skin_required;a._spine_transform_constraint_data_rtti=Y.spine_transform_constraint_data_rtti;
a._spine_to_shear_y_create=Y.spine_to_shear_y_create;a._spine_to_shear_y_dispose=Y.spine_to_shear_y_dispose;a._spine_to_shear_y_get_rtti=Y.spine_to_shear_y_get_rtti;a._spine_to_shear_y_mix=Y.spine_to_shear_y_mix;a._spine_to_shear_y_apply=Y.spine_to_shear_y_apply;a._spine_to_shear_y_rtti=Y.spine_to_shear_y_rtti;a._spine_path_constraint_base_dispose=Y.spine_path_constraint_base_dispose;a._spine_path_constraint_base_get_data=Y.spine_path_constraint_base_get_data;
a._spine_path_constraint_base_get_pose=Y.spine_path_constraint_base_get_pose;a._spine_path_constraint_base_get_applied_pose=Y.spine_path_constraint_base_get_applied_pose;a._spine_path_constraint_base_reset_constrained=Y.spine_path_constraint_base_reset_constrained;a._spine_path_constraint_base_constrained=Y.spine_path_constraint_base_constrained;a._spine_path_constraint_base_is_pose_equal_to_applied=Y.spine_path_constraint_base_is_pose_equal_to_applied;a._spine_path_constraint_base_is_active=Y.spine_path_constraint_base_is_active;
a._spine_path_constraint_base_set_active=Y.spine_path_constraint_base_set_active;a._spine_path_constraint_base_get_rtti=Y.spine_path_constraint_base_get_rtti;a._spine_path_constraint_base_sort=Y.spine_path_constraint_base_sort;a._spine_path_constraint_base_is_source_active=Y.spine_path_constraint_base_is_source_active;a._spine_path_constraint_base_update=Y.spine_path_constraint_base_update;a._spine_path_constraint_base_rtti=Y.spine_path_constraint_base_rtti;a._spine_polygon_create=Y.spine_polygon_create;
a._spine_polygon_dispose=Y.spine_polygon_dispose;a._spine_polygon_get__vertices=Y.spine_polygon_get__vertices;a._spine_polygon_set__vertices=Y.spine_polygon_set__vertices;a._spine_polygon_get__count=Y.spine_polygon_get__count;a._spine_polygon_set__count=Y.spine_polygon_set__count;a._spine_physics_constraint_damping_timeline_create=Y.spine_physics_constraint_damping_timeline_create;a._spine_physics_constraint_damping_timeline_dispose=Y.spine_physics_constraint_damping_timeline_dispose;
a._spine_physics_constraint_damping_timeline_get_rtti=Y.spine_physics_constraint_damping_timeline_get_rtti;a._spine_physics_constraint_damping_timeline_apply=Y.spine_physics_constraint_damping_timeline_apply;a._spine_physics_constraint_damping_timeline_get_constraint_index=Y.spine_physics_constraint_damping_timeline_get_constraint_index;a._spine_physics_constraint_damping_timeline_set_constraint_index=Y.spine_physics_constraint_damping_timeline_set_constraint_index;
a._spine_physics_constraint_damping_timeline_set_frame=Y.spine_physics_constraint_damping_timeline_set_frame;a._spine_physics_constraint_damping_timeline_get_curve_value=Y.spine_physics_constraint_damping_timeline_get_curve_value;a._spine_physics_constraint_damping_timeline_get_relative_value=Y.spine_physics_constraint_damping_timeline_get_relative_value;a._spine_physics_constraint_damping_timeline_get_absolute_value_1=Y.spine_physics_constraint_damping_timeline_get_absolute_value_1;
a._spine_physics_constraint_damping_timeline_get_absolute_value_2=Y.spine_physics_constraint_damping_timeline_get_absolute_value_2;a._spine_physics_constraint_damping_timeline_get_scale_value=Y.spine_physics_constraint_damping_timeline_get_scale_value;a._spine_physics_constraint_damping_timeline_set_linear=Y.spine_physics_constraint_damping_timeline_set_linear;a._spine_physics_constraint_damping_timeline_set_stepped=Y.spine_physics_constraint_damping_timeline_set_stepped;
a._spine_physics_constraint_damping_timeline_set_bezier=Y.spine_physics_constraint_damping_timeline_set_bezier;a._spine_physics_constraint_damping_timeline_get_bezier_value=Y.spine_physics_constraint_damping_timeline_get_bezier_value;a._spine_physics_constraint_damping_timeline_get_curves=Y.spine_physics_constraint_damping_timeline_get_curves;a._spine_physics_constraint_damping_timeline_get_frame_entries=Y.spine_physics_constraint_damping_timeline_get_frame_entries;
a._spine_physics_constraint_damping_timeline_get_frame_count=Y.spine_physics_constraint_damping_timeline_get_frame_count;a._spine_physics_constraint_damping_timeline_get_frames=Y.spine_physics_constraint_damping_timeline_get_frames;a._spine_physics_constraint_damping_timeline_get_duration=Y.spine_physics_constraint_damping_timeline_get_duration;a._spine_physics_constraint_damping_timeline_get_property_ids=Y.spine_physics_constraint_damping_timeline_get_property_ids;
a._spine_physics_constraint_damping_timeline_rtti=Y.spine_physics_constraint_damping_timeline_rtti;a._spine_slot_curve_timeline_dispose=Y.spine_slot_curve_timeline_dispose;a._spine_slot_curve_timeline_get_rtti=Y.spine_slot_curve_timeline_get_rtti;a._spine_slot_curve_timeline_apply=Y.spine_slot_curve_timeline_apply;a._spine_slot_curve_timeline_get_slot_index=Y.spine_slot_curve_timeline_get_slot_index;a._spine_slot_curve_timeline_set_slot_index=Y.spine_slot_curve_timeline_set_slot_index;
a._spine_slot_curve_timeline_set_linear=Y.spine_slot_curve_timeline_set_linear;a._spine_slot_curve_timeline_set_stepped=Y.spine_slot_curve_timeline_set_stepped;a._spine_slot_curve_timeline_set_bezier=Y.spine_slot_curve_timeline_set_bezier;a._spine_slot_curve_timeline_get_bezier_value=Y.spine_slot_curve_timeline_get_bezier_value;a._spine_slot_curve_timeline_get_curves=Y.spine_slot_curve_timeline_get_curves;a._spine_slot_curve_timeline_get_frame_entries=Y.spine_slot_curve_timeline_get_frame_entries;
a._spine_slot_curve_timeline_get_frame_count=Y.spine_slot_curve_timeline_get_frame_count;a._spine_slot_curve_timeline_get_frames=Y.spine_slot_curve_timeline_get_frames;a._spine_slot_curve_timeline_get_duration=Y.spine_slot_curve_timeline_get_duration;a._spine_slot_curve_timeline_get_property_ids=Y.spine_slot_curve_timeline_get_property_ids;a._spine_slot_curve_timeline_rtti=Y.spine_slot_curve_timeline_rtti;a._spine_slot_create=Y.spine_slot_create;a._spine_slot_dispose=Y.spine_slot_dispose;
a._spine_slot_get_bone=Y.spine_slot_get_bone;a._spine_slot_setup_pose=Y.spine_slot_setup_pose;a._spine_slot_get_data=Y.spine_slot_get_data;a._spine_slot_get_pose=Y.spine_slot_get_pose;a._spine_slot_get_applied_pose=Y.spine_slot_get_applied_pose;a._spine_slot_reset_constrained=Y.spine_slot_reset_constrained;a._spine_slot_constrained=Y.spine_slot_constrained;a._spine_slot_is_pose_equal_to_applied=Y.spine_slot_is_pose_equal_to_applied;a._spine_path_constraint_data_create=Y.spine_path_constraint_data_create;
a._spine_path_constraint_data_dispose=Y.spine_path_constraint_data_dispose;a._spine_path_constraint_data_get_rtti=Y.spine_path_constraint_data_get_rtti;a._spine_path_constraint_data_create_method=Y.spine_path_constraint_data_create_method;a._spine_path_constraint_data_get_bones=Y.spine_path_constraint_data_get_bones;a._spine_path_constraint_data_get_slot=Y.spine_path_constraint_data_get_slot;a._spine_path_constraint_data_set_slot=Y.spine_path_constraint_data_set_slot;
a._spine_path_constraint_data_get_position_mode=Y.spine_path_constraint_data_get_position_mode;a._spine_path_constraint_data_set_position_mode=Y.spine_path_constraint_data_set_position_mode;a._spine_path_constraint_data_get_spacing_mode=Y.spine_path_constraint_data_get_spacing_mode;a._spine_path_constraint_data_set_spacing_mode=Y.spine_path_constraint_data_set_spacing_mode;a._spine_path_constraint_data_get_rotate_mode=Y.spine_path_constraint_data_get_rotate_mode;
a._spine_path_constraint_data_set_rotate_mode=Y.spine_path_constraint_data_set_rotate_mode;a._spine_path_constraint_data_get_offset_rotation=Y.spine_path_constraint_data_get_offset_rotation;a._spine_path_constraint_data_set_offset_rotation=Y.spine_path_constraint_data_set_offset_rotation;a._spine_path_constraint_data_get_name=Y.spine_path_constraint_data_get_name;a._spine_path_constraint_data_get_skin_required=Y.spine_path_constraint_data_get_skin_required; a._spine_path_constraint_data_set_rotate_mode=Y.spine_path_constraint_data_set_rotate_mode;a._spine_path_constraint_data_get_offset_rotation=Y.spine_path_constraint_data_get_offset_rotation;a._spine_path_constraint_data_set_offset_rotation=Y.spine_path_constraint_data_set_offset_rotation;a._spine_path_constraint_data_get_name=Y.spine_path_constraint_data_get_name;a._spine_path_constraint_data_get_skin_required=Y.spine_path_constraint_data_get_skin_required;
a._spine_path_constraint_data_get_setup_pose=Y.spine_path_constraint_data_get_setup_pose;a._spine_path_constraint_data_set_skin_required=Y.spine_path_constraint_data_set_skin_required;a._spine_path_constraint_data_rtti=Y.spine_path_constraint_data_rtti;a._spine_physics_constraint_strength_timeline_create=Y.spine_physics_constraint_strength_timeline_create;a._spine_physics_constraint_strength_timeline_dispose=Y.spine_physics_constraint_strength_timeline_dispose; a._spine_path_constraint_data_get_setup_pose=Y.spine_path_constraint_data_get_setup_pose;a._spine_path_constraint_data_set_skin_required=Y.spine_path_constraint_data_set_skin_required;a._spine_path_constraint_data_rtti=Y.spine_path_constraint_data_rtti;a._spine_physics_constraint_strength_timeline_create=Y.spine_physics_constraint_strength_timeline_create;a._spine_physics_constraint_strength_timeline_dispose=Y.spine_physics_constraint_strength_timeline_dispose;
a._spine_physics_constraint_strength_timeline_get_rtti=Y.spine_physics_constraint_strength_timeline_get_rtti;a._spine_physics_constraint_strength_timeline_apply=Y.spine_physics_constraint_strength_timeline_apply;a._spine_physics_constraint_strength_timeline_get_constraint_index=Y.spine_physics_constraint_strength_timeline_get_constraint_index;a._spine_physics_constraint_strength_timeline_set_constraint_index=Y.spine_physics_constraint_strength_timeline_set_constraint_index; a._spine_physics_constraint_strength_timeline_get_rtti=Y.spine_physics_constraint_strength_timeline_get_rtti;a._spine_physics_constraint_strength_timeline_apply=Y.spine_physics_constraint_strength_timeline_apply;a._spine_physics_constraint_strength_timeline_get_constraint_index=Y.spine_physics_constraint_strength_timeline_get_constraint_index;a._spine_physics_constraint_strength_timeline_set_constraint_index=Y.spine_physics_constraint_strength_timeline_set_constraint_index;
@ -389,21 +501,23 @@ a._spine_physics_constraint_inertia_timeline_set_frame=Y.spine_physics_constrain
a._spine_physics_constraint_inertia_timeline_get_absolute_value_2=Y.spine_physics_constraint_inertia_timeline_get_absolute_value_2;a._spine_physics_constraint_inertia_timeline_get_scale_value=Y.spine_physics_constraint_inertia_timeline_get_scale_value;a._spine_physics_constraint_inertia_timeline_set_linear=Y.spine_physics_constraint_inertia_timeline_set_linear;a._spine_physics_constraint_inertia_timeline_set_stepped=Y.spine_physics_constraint_inertia_timeline_set_stepped; a._spine_physics_constraint_inertia_timeline_get_absolute_value_2=Y.spine_physics_constraint_inertia_timeline_get_absolute_value_2;a._spine_physics_constraint_inertia_timeline_get_scale_value=Y.spine_physics_constraint_inertia_timeline_get_scale_value;a._spine_physics_constraint_inertia_timeline_set_linear=Y.spine_physics_constraint_inertia_timeline_set_linear;a._spine_physics_constraint_inertia_timeline_set_stepped=Y.spine_physics_constraint_inertia_timeline_set_stepped;
a._spine_physics_constraint_inertia_timeline_set_bezier=Y.spine_physics_constraint_inertia_timeline_set_bezier;a._spine_physics_constraint_inertia_timeline_get_bezier_value=Y.spine_physics_constraint_inertia_timeline_get_bezier_value;a._spine_physics_constraint_inertia_timeline_get_curves=Y.spine_physics_constraint_inertia_timeline_get_curves;a._spine_physics_constraint_inertia_timeline_get_frame_entries=Y.spine_physics_constraint_inertia_timeline_get_frame_entries; a._spine_physics_constraint_inertia_timeline_set_bezier=Y.spine_physics_constraint_inertia_timeline_set_bezier;a._spine_physics_constraint_inertia_timeline_get_bezier_value=Y.spine_physics_constraint_inertia_timeline_get_bezier_value;a._spine_physics_constraint_inertia_timeline_get_curves=Y.spine_physics_constraint_inertia_timeline_get_curves;a._spine_physics_constraint_inertia_timeline_get_frame_entries=Y.spine_physics_constraint_inertia_timeline_get_frame_entries;
a._spine_physics_constraint_inertia_timeline_get_frame_count=Y.spine_physics_constraint_inertia_timeline_get_frame_count;a._spine_physics_constraint_inertia_timeline_get_frames=Y.spine_physics_constraint_inertia_timeline_get_frames;a._spine_physics_constraint_inertia_timeline_get_duration=Y.spine_physics_constraint_inertia_timeline_get_duration;a._spine_physics_constraint_inertia_timeline_get_property_ids=Y.spine_physics_constraint_inertia_timeline_get_property_ids; a._spine_physics_constraint_inertia_timeline_get_frame_count=Y.spine_physics_constraint_inertia_timeline_get_frame_count;a._spine_physics_constraint_inertia_timeline_get_frames=Y.spine_physics_constraint_inertia_timeline_get_frames;a._spine_physics_constraint_inertia_timeline_get_duration=Y.spine_physics_constraint_inertia_timeline_get_duration;a._spine_physics_constraint_inertia_timeline_get_property_ids=Y.spine_physics_constraint_inertia_timeline_get_property_ids;
a._spine_physics_constraint_inertia_timeline_rtti=Y.spine_physics_constraint_inertia_timeline_rtti;a._spine_animation_state_data_create=Y.spine_animation_state_data_create;a._spine_animation_state_data_dispose=Y.spine_animation_state_data_dispose;a._spine_animation_state_data_get_skeleton_data=Y.spine_animation_state_data_get_skeleton_data;a._spine_animation_state_data_get_default_mix=Y.spine_animation_state_data_get_default_mix;a._spine_animation_state_data_set_default_mix=Y.spine_animation_state_data_set_default_mix; a._spine_physics_constraint_inertia_timeline_rtti=Y.spine_physics_constraint_inertia_timeline_rtti;a._spine_slider_base_dispose=Y.spine_slider_base_dispose;a._spine_slider_base_get_data=Y.spine_slider_base_get_data;a._spine_slider_base_get_pose=Y.spine_slider_base_get_pose;a._spine_slider_base_get_applied_pose=Y.spine_slider_base_get_applied_pose;a._spine_slider_base_reset_constrained=Y.spine_slider_base_reset_constrained;a._spine_slider_base_constrained=Y.spine_slider_base_constrained;
a._spine_animation_state_data_set_mix_1=Y.spine_animation_state_data_set_mix_1;a._spine_animation_state_data_set_mix_2=Y.spine_animation_state_data_set_mix_2;a._spine_animation_state_data_get_mix=Y.spine_animation_state_data_get_mix;a._spine_animation_state_data_clear=Y.spine_animation_state_data_clear;a._spine_shear_y_timeline_create=Y.spine_shear_y_timeline_create;a._spine_shear_y_timeline_dispose=Y.spine_shear_y_timeline_dispose;a._spine_shear_y_timeline_get_rtti=Y.spine_shear_y_timeline_get_rtti; a._spine_slider_base_is_pose_equal_to_applied=Y.spine_slider_base_is_pose_equal_to_applied;a._spine_slider_base_is_active=Y.spine_slider_base_is_active;a._spine_slider_base_set_active=Y.spine_slider_base_set_active;a._spine_slider_base_get_rtti=Y.spine_slider_base_get_rtti;a._spine_slider_base_sort=Y.spine_slider_base_sort;a._spine_slider_base_is_source_active=Y.spine_slider_base_is_source_active;a._spine_slider_base_update=Y.spine_slider_base_update;a._spine_slider_base_rtti=Y.spine_slider_base_rtti;
a._spine_shear_y_timeline_apply=Y.spine_shear_y_timeline_apply;a._spine_shear_y_timeline_get_bone_index=Y.spine_shear_y_timeline_get_bone_index;a._spine_shear_y_timeline_set_bone_index=Y.spine_shear_y_timeline_set_bone_index;a._spine_shear_y_timeline_set_frame=Y.spine_shear_y_timeline_set_frame;a._spine_shear_y_timeline_get_curve_value=Y.spine_shear_y_timeline_get_curve_value;a._spine_shear_y_timeline_get_relative_value=Y.spine_shear_y_timeline_get_relative_value; a._spine_animation_state_data_create=Y.spine_animation_state_data_create;a._spine_animation_state_data_dispose=Y.spine_animation_state_data_dispose;a._spine_animation_state_data_get_skeleton_data=Y.spine_animation_state_data_get_skeleton_data;a._spine_animation_state_data_get_default_mix=Y.spine_animation_state_data_get_default_mix;a._spine_animation_state_data_set_default_mix=Y.spine_animation_state_data_set_default_mix;a._spine_animation_state_data_set_mix_1=Y.spine_animation_state_data_set_mix_1;
a._spine_shear_y_timeline_get_absolute_value_1=Y.spine_shear_y_timeline_get_absolute_value_1;a._spine_shear_y_timeline_get_absolute_value_2=Y.spine_shear_y_timeline_get_absolute_value_2;a._spine_shear_y_timeline_get_scale_value=Y.spine_shear_y_timeline_get_scale_value;a._spine_shear_y_timeline_set_linear=Y.spine_shear_y_timeline_set_linear;a._spine_shear_y_timeline_set_stepped=Y.spine_shear_y_timeline_set_stepped;a._spine_shear_y_timeline_set_bezier=Y.spine_shear_y_timeline_set_bezier; a._spine_animation_state_data_set_mix_2=Y.spine_animation_state_data_set_mix_2;a._spine_animation_state_data_get_mix=Y.spine_animation_state_data_get_mix;a._spine_animation_state_data_clear=Y.spine_animation_state_data_clear;a._spine_shear_y_timeline_create=Y.spine_shear_y_timeline_create;a._spine_shear_y_timeline_dispose=Y.spine_shear_y_timeline_dispose;a._spine_shear_y_timeline_get_rtti=Y.spine_shear_y_timeline_get_rtti;a._spine_shear_y_timeline_apply=Y.spine_shear_y_timeline_apply;
a._spine_shear_y_timeline_get_bezier_value=Y.spine_shear_y_timeline_get_bezier_value;a._spine_shear_y_timeline_get_curves=Y.spine_shear_y_timeline_get_curves;a._spine_shear_y_timeline_get_frame_entries=Y.spine_shear_y_timeline_get_frame_entries;a._spine_shear_y_timeline_get_frame_count=Y.spine_shear_y_timeline_get_frame_count;a._spine_shear_y_timeline_get_frames=Y.spine_shear_y_timeline_get_frames;a._spine_shear_y_timeline_get_duration=Y.spine_shear_y_timeline_get_duration; a._spine_shear_y_timeline_get_bone_index=Y.spine_shear_y_timeline_get_bone_index;a._spine_shear_y_timeline_set_bone_index=Y.spine_shear_y_timeline_set_bone_index;a._spine_shear_y_timeline_set_frame=Y.spine_shear_y_timeline_set_frame;a._spine_shear_y_timeline_get_curve_value=Y.spine_shear_y_timeline_get_curve_value;a._spine_shear_y_timeline_get_relative_value=Y.spine_shear_y_timeline_get_relative_value;a._spine_shear_y_timeline_get_absolute_value_1=Y.spine_shear_y_timeline_get_absolute_value_1;
a._spine_shear_y_timeline_get_property_ids=Y.spine_shear_y_timeline_get_property_ids;a._spine_shear_y_timeline_rtti=Y.spine_shear_y_timeline_rtti;a._spine_event_data_create=Y.spine_event_data_create;a._spine_event_data_dispose=Y.spine_event_data_dispose;a._spine_event_data_get_name=Y.spine_event_data_get_name;a._spine_event_data_get_int=Y.spine_event_data_get_int;a._spine_event_data_set_int=Y.spine_event_data_set_int;a._spine_event_data_get_float=Y.spine_event_data_get_float; a._spine_shear_y_timeline_get_absolute_value_2=Y.spine_shear_y_timeline_get_absolute_value_2;a._spine_shear_y_timeline_get_scale_value=Y.spine_shear_y_timeline_get_scale_value;a._spine_shear_y_timeline_set_linear=Y.spine_shear_y_timeline_set_linear;a._spine_shear_y_timeline_set_stepped=Y.spine_shear_y_timeline_set_stepped;a._spine_shear_y_timeline_set_bezier=Y.spine_shear_y_timeline_set_bezier;a._spine_shear_y_timeline_get_bezier_value=Y.spine_shear_y_timeline_get_bezier_value;
a._spine_event_data_set_float=Y.spine_event_data_set_float;a._spine_event_data_get_string=Y.spine_event_data_get_string;a._spine_event_data_set_string=Y.spine_event_data_set_string;a._spine_event_data_get_audio_path=Y.spine_event_data_get_audio_path;a._spine_event_data_set_audio_path=Y.spine_event_data_set_audio_path;a._spine_event_data_get_volume=Y.spine_event_data_get_volume;a._spine_event_data_set_volume=Y.spine_event_data_set_volume;a._spine_event_data_get_balance=Y.spine_event_data_get_balance; a._spine_shear_y_timeline_get_curves=Y.spine_shear_y_timeline_get_curves;a._spine_shear_y_timeline_get_frame_entries=Y.spine_shear_y_timeline_get_frame_entries;a._spine_shear_y_timeline_get_frame_count=Y.spine_shear_y_timeline_get_frame_count;a._spine_shear_y_timeline_get_frames=Y.spine_shear_y_timeline_get_frames;a._spine_shear_y_timeline_get_duration=Y.spine_shear_y_timeline_get_duration;a._spine_shear_y_timeline_get_property_ids=Y.spine_shear_y_timeline_get_property_ids;
a._spine_event_data_set_balance=Y.spine_event_data_set_balance;a._spine_constraint_timeline1_dispose=Y.spine_constraint_timeline1_dispose;a._spine_constraint_timeline1_get_rtti=Y.spine_constraint_timeline1_get_rtti;a._spine_constraint_timeline1_get_constraint_index=Y.spine_constraint_timeline1_get_constraint_index;a._spine_constraint_timeline1_set_constraint_index=Y.spine_constraint_timeline1_set_constraint_index;a._spine_constraint_timeline1_set_frame=Y.spine_constraint_timeline1_set_frame; a._spine_shear_y_timeline_rtti=Y.spine_shear_y_timeline_rtti;a._spine_event_data_create=Y.spine_event_data_create;a._spine_event_data_dispose=Y.spine_event_data_dispose;a._spine_event_data_get_name=Y.spine_event_data_get_name;a._spine_event_data_get_int=Y.spine_event_data_get_int;a._spine_event_data_set_int=Y.spine_event_data_set_int;a._spine_event_data_get_float=Y.spine_event_data_get_float;a._spine_event_data_set_float=Y.spine_event_data_set_float;a._spine_event_data_get_string=Y.spine_event_data_get_string;
a._spine_constraint_timeline1_get_curve_value=Y.spine_constraint_timeline1_get_curve_value;a._spine_constraint_timeline1_get_relative_value=Y.spine_constraint_timeline1_get_relative_value;a._spine_constraint_timeline1_get_absolute_value_1=Y.spine_constraint_timeline1_get_absolute_value_1;a._spine_constraint_timeline1_get_absolute_value_2=Y.spine_constraint_timeline1_get_absolute_value_2;a._spine_constraint_timeline1_get_scale_value=Y.spine_constraint_timeline1_get_scale_value; a._spine_event_data_set_string=Y.spine_event_data_set_string;a._spine_event_data_get_audio_path=Y.spine_event_data_get_audio_path;a._spine_event_data_set_audio_path=Y.spine_event_data_set_audio_path;a._spine_event_data_get_volume=Y.spine_event_data_get_volume;a._spine_event_data_set_volume=Y.spine_event_data_set_volume;a._spine_event_data_get_balance=Y.spine_event_data_get_balance;a._spine_event_data_set_balance=Y.spine_event_data_set_balance;a._spine_constraint_timeline1_dispose=Y.spine_constraint_timeline1_dispose;
a._spine_constraint_timeline1_set_linear=Y.spine_constraint_timeline1_set_linear;a._spine_constraint_timeline1_set_stepped=Y.spine_constraint_timeline1_set_stepped;a._spine_constraint_timeline1_set_bezier=Y.spine_constraint_timeline1_set_bezier;a._spine_constraint_timeline1_get_bezier_value=Y.spine_constraint_timeline1_get_bezier_value;a._spine_constraint_timeline1_get_curves=Y.spine_constraint_timeline1_get_curves;a._spine_constraint_timeline1_apply=Y.spine_constraint_timeline1_apply; a._spine_constraint_timeline1_get_rtti=Y.spine_constraint_timeline1_get_rtti;a._spine_constraint_timeline1_get_constraint_index=Y.spine_constraint_timeline1_get_constraint_index;a._spine_constraint_timeline1_set_constraint_index=Y.spine_constraint_timeline1_set_constraint_index;a._spine_constraint_timeline1_set_frame=Y.spine_constraint_timeline1_set_frame;a._spine_constraint_timeline1_get_curve_value=Y.spine_constraint_timeline1_get_curve_value;a._spine_constraint_timeline1_get_relative_value=Y.spine_constraint_timeline1_get_relative_value;
a._spine_constraint_timeline1_get_frame_entries=Y.spine_constraint_timeline1_get_frame_entries;a._spine_constraint_timeline1_get_frame_count=Y.spine_constraint_timeline1_get_frame_count;a._spine_constraint_timeline1_get_frames=Y.spine_constraint_timeline1_get_frames;a._spine_constraint_timeline1_get_duration=Y.spine_constraint_timeline1_get_duration;a._spine_constraint_timeline1_get_property_ids=Y.spine_constraint_timeline1_get_property_ids;a._spine_constraint_timeline1_rtti=Y.spine_constraint_timeline1_rtti; a._spine_constraint_timeline1_get_absolute_value_1=Y.spine_constraint_timeline1_get_absolute_value_1;a._spine_constraint_timeline1_get_absolute_value_2=Y.spine_constraint_timeline1_get_absolute_value_2;a._spine_constraint_timeline1_get_scale_value=Y.spine_constraint_timeline1_get_scale_value;a._spine_constraint_timeline1_set_linear=Y.spine_constraint_timeline1_set_linear;a._spine_constraint_timeline1_set_stepped=Y.spine_constraint_timeline1_set_stepped;a._spine_constraint_timeline1_set_bezier=Y.spine_constraint_timeline1_set_bezier;
a._spine_slider_data_create=Y.spine_slider_data_create;a._spine_slider_data_dispose=Y.spine_slider_data_dispose;a._spine_slider_data_get_rtti=Y.spine_slider_data_get_rtti;a._spine_slider_data_create_method=Y.spine_slider_data_create_method;a._spine_slider_data_get_animation=Y.spine_slider_data_get_animation;a._spine_slider_data_set_animation=Y.spine_slider_data_set_animation;a._spine_slider_data_get_additive=Y.spine_slider_data_get_additive;a._spine_slider_data_set_additive=Y.spine_slider_data_set_additive; a._spine_constraint_timeline1_get_bezier_value=Y.spine_constraint_timeline1_get_bezier_value;a._spine_constraint_timeline1_get_curves=Y.spine_constraint_timeline1_get_curves;a._spine_constraint_timeline1_apply=Y.spine_constraint_timeline1_apply;a._spine_constraint_timeline1_get_frame_entries=Y.spine_constraint_timeline1_get_frame_entries;a._spine_constraint_timeline1_get_frame_count=Y.spine_constraint_timeline1_get_frame_count;a._spine_constraint_timeline1_get_frames=Y.spine_constraint_timeline1_get_frames;
a._spine_slider_data_get_loop=Y.spine_slider_data_get_loop;a._spine_slider_data_set_loop=Y.spine_slider_data_set_loop;a._spine_slider_data_get_bone=Y.spine_slider_data_get_bone;a._spine_slider_data_set_bone=Y.spine_slider_data_set_bone;a._spine_slider_data_get_property=Y.spine_slider_data_get_property;a._spine_slider_data_set_property=Y.spine_slider_data_set_property;a._spine_slider_data_get_scale=Y.spine_slider_data_get_scale;a._spine_slider_data_set_scale=Y.spine_slider_data_set_scale; a._spine_constraint_timeline1_get_duration=Y.spine_constraint_timeline1_get_duration;a._spine_constraint_timeline1_get_property_ids=Y.spine_constraint_timeline1_get_property_ids;a._spine_constraint_timeline1_rtti=Y.spine_constraint_timeline1_rtti;a._spine_slider_data_create=Y.spine_slider_data_create;a._spine_slider_data_dispose=Y.spine_slider_data_dispose;a._spine_slider_data_get_rtti=Y.spine_slider_data_get_rtti;a._spine_slider_data_create_method=Y.spine_slider_data_create_method;
a._spine_slider_data_get_offset=Y.spine_slider_data_get_offset;a._spine_slider_data_set_offset=Y.spine_slider_data_set_offset;a._spine_slider_data_get_local=Y.spine_slider_data_get_local;a._spine_slider_data_set_local=Y.spine_slider_data_set_local;a._spine_slider_data_get_name=Y.spine_slider_data_get_name;a._spine_slider_data_get_skin_required=Y.spine_slider_data_get_skin_required;a._spine_slider_data_get_setup_pose=Y.spine_slider_data_get_setup_pose;a._spine_slider_data_set_skin_required=Y.spine_slider_data_set_skin_required; a._spine_slider_data_get_animation=Y.spine_slider_data_get_animation;a._spine_slider_data_set_animation=Y.spine_slider_data_set_animation;a._spine_slider_data_get_additive=Y.spine_slider_data_get_additive;a._spine_slider_data_set_additive=Y.spine_slider_data_set_additive;a._spine_slider_data_get_loop=Y.spine_slider_data_get_loop;a._spine_slider_data_set_loop=Y.spine_slider_data_set_loop;a._spine_slider_data_get_bone=Y.spine_slider_data_get_bone;a._spine_slider_data_set_bone=Y.spine_slider_data_set_bone;
a._spine_slider_data_rtti=Y.spine_slider_data_rtti;a._malloc=Y.malloc;a._free=Y.free;var ha=Y._emscripten_stack_restore,ia=Y.emscripten_stack_get_current;a.wasmExports=Y;function Z(){0<I?J=Z:0<I?J=Z:(a.calledRun=!0,x||(Y.__wasm_call_ctors(),b(a)))}Z();moduleRtn=k; a._spine_slider_data_get_property=Y.spine_slider_data_get_property;a._spine_slider_data_set_property=Y.spine_slider_data_set_property;a._spine_slider_data_get_scale=Y.spine_slider_data_get_scale;a._spine_slider_data_set_scale=Y.spine_slider_data_set_scale;a._spine_slider_data_get_offset=Y.spine_slider_data_get_offset;a._spine_slider_data_set_offset=Y.spine_slider_data_set_offset;a._spine_slider_data_get_local=Y.spine_slider_data_get_local;a._spine_slider_data_set_local=Y.spine_slider_data_set_local;
a._spine_slider_data_get_name=Y.spine_slider_data_get_name;a._spine_slider_data_get_skin_required=Y.spine_slider_data_get_skin_required;a._spine_slider_data_get_setup_pose=Y.spine_slider_data_get_setup_pose;a._spine_slider_data_set_skin_required=Y.spine_slider_data_set_skin_required;a._spine_slider_data_rtti=Y.spine_slider_data_rtti;a._malloc=Y.malloc;a._free=Y.free;var ha=Y._emscripten_stack_restore,ia=Y.emscripten_stack_get_current;a.wasmExports=Y;
function Z(){0<I?J=Z:0<I?J=Z:(a.calledRun=!0,x||(Y.__wasm_call_ctors(),b(a)))}Z();moduleRtn=k;
return moduleRtn; return moduleRtn;

View File

@ -39,7 +39,8 @@ import 'slot_timeline.dart';
class AlphaTimeline extends CurveTimeline1 implements SlotTimeline { class AlphaTimeline extends CurveTimeline1 implements SlotTimeline {
final Pointer<spine_alpha_timeline_wrapper> _ptr; final Pointer<spine_alpha_timeline_wrapper> _ptr;
AlphaTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); AlphaTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_alpha_timeline_cast_to_curve_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -98,6 +98,7 @@ export 'from_scale_y.dart';
export 'from_shear_y.dart'; export 'from_shear_y.dart';
export 'from_x.dart'; export 'from_x.dart';
export 'from_y.dart'; export 'from_y.dart';
export 'ik_constraint_base.dart';
export 'ik_constraint.dart'; export 'ik_constraint.dart';
export 'ik_constraint_data.dart'; export 'ik_constraint_data.dart';
export 'ik_constraint_pose.dart'; export 'ik_constraint_pose.dart';
@ -106,12 +107,14 @@ export 'inherit_timeline.dart';
export 'linked_mesh.dart'; export 'linked_mesh.dart';
export 'mesh_attachment.dart'; export 'mesh_attachment.dart';
export 'path_attachment.dart'; export 'path_attachment.dart';
export 'path_constraint_base.dart';
export 'path_constraint.dart'; export 'path_constraint.dart';
export 'path_constraint_data.dart'; export 'path_constraint_data.dart';
export 'path_constraint_mix_timeline.dart'; export 'path_constraint_mix_timeline.dart';
export 'path_constraint_pose.dart'; export 'path_constraint_pose.dart';
export 'path_constraint_position_timeline.dart'; export 'path_constraint_position_timeline.dart';
export 'path_constraint_spacing_timeline.dart'; export 'path_constraint_spacing_timeline.dart';
export 'physics_constraint_base.dart';
export 'physics_constraint.dart'; export 'physics_constraint.dart';
export 'physics_constraint_timeline.dart'; export 'physics_constraint_timeline.dart';
export 'physics_constraint_damping_timeline.dart'; export 'physics_constraint_damping_timeline.dart';
@ -150,6 +153,7 @@ export 'skeleton_data.dart';
export 'skeleton_json.dart'; export 'skeleton_json.dart';
export 'skeleton_renderer.dart'; export 'skeleton_renderer.dart';
export 'skin.dart'; export 'skin.dart';
export 'slider_base.dart';
export 'slider.dart'; export 'slider.dart';
export 'slider_data.dart'; export 'slider_data.dart';
export 'slider_mix_timeline.dart'; export 'slider_mix_timeline.dart';
@ -166,6 +170,7 @@ export 'to_shear_y.dart';
export 'to_x.dart'; export 'to_x.dart';
export 'to_y.dart'; export 'to_y.dart';
export 'track_entry.dart'; export 'track_entry.dart';
export 'transform_constraint_base.dart';
export 'transform_constraint.dart'; export 'transform_constraint.dart';
export 'transform_constraint_data.dart'; export 'transform_constraint_data.dart';
export 'transform_constraint_pose.dart'; export 'transform_constraint_pose.dart';

View File

@ -697,18 +697,24 @@ class ArrayAttachment extends NativeArray<Attachment?> {
final rtti = SpineBindings.bindings.spine_attachment_get_rtti(buffer[index]); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(buffer[index]);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_bounding_box_attachment': case 'BoundingBoxAttachment':
return BoundingBoxAttachment.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_bounding_box_attachment(buffer[index]);
case 'spine_clipping_attachment': return BoundingBoxAttachment.fromPointer(castedPtr);
return ClippingAttachment.fromPointer(buffer[index].cast()); case 'ClippingAttachment':
case 'spine_mesh_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_clipping_attachment(buffer[index]);
return MeshAttachment.fromPointer(buffer[index].cast()); return ClippingAttachment.fromPointer(castedPtr);
case 'spine_path_attachment': case 'MeshAttachment':
return PathAttachment.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_mesh_attachment(buffer[index]);
case 'spine_point_attachment': return MeshAttachment.fromPointer(castedPtr);
return PointAttachment.fromPointer(buffer[index].cast()); case 'PathAttachment':
case 'spine_region_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_path_attachment(buffer[index]);
return RegionAttachment.fromPointer(buffer[index].cast()); return PathAttachment.fromPointer(castedPtr);
case 'PointAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_point_attachment(buffer[index]);
return PointAttachment.fromPointer(castedPtr);
case 'RegionAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_region_attachment(buffer[index]);
return RegionAttachment.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment');
} }
@ -1106,16 +1112,21 @@ class ArrayConstraint extends NativeArray<Constraint?> {
final rtti = SpineBindings.bindings.spine_constraint_get_rtti(buffer[index]); final rtti = SpineBindings.bindings.spine_constraint_get_rtti(buffer[index]);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_ik_constraint': case 'IkConstraint':
return IkConstraint.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_ik_constraint(buffer[index]);
case 'spine_path_constraint': return IkConstraint.fromPointer(castedPtr);
return PathConstraint.fromPointer(buffer[index].cast()); case 'PathConstraint':
case 'spine_physics_constraint': final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_path_constraint(buffer[index]);
return PhysicsConstraint.fromPointer(buffer[index].cast()); return PathConstraint.fromPointer(castedPtr);
case 'spine_slider': case 'PhysicsConstraint':
return Slider.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_physics_constraint(buffer[index]);
case 'spine_transform_constraint': return PhysicsConstraint.fromPointer(castedPtr);
return TransformConstraint.fromPointer(buffer[index].cast()); case 'Slider':
final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_slider(buffer[index]);
return Slider.fromPointer(castedPtr);
case 'TransformConstraint':
final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_transform_constraint(buffer[index]);
return TransformConstraint.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Constraint'); throw UnsupportedError('Unknown concrete type: $className for abstract class Constraint');
} }
@ -1200,16 +1211,21 @@ class ArrayConstraintData extends NativeArray<ConstraintData?> {
final rtti = SpineBindings.bindings.spine_constraint_data_get_rtti(buffer[index]); final rtti = SpineBindings.bindings.spine_constraint_data_get_rtti(buffer[index]);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_ik_constraint_data': case 'IkConstraintData':
return IkConstraintData.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_constraint_data_cast_to_ik_constraint_data(buffer[index]);
case 'spine_path_constraint_data': return IkConstraintData.fromPointer(castedPtr);
return PathConstraintData.fromPointer(buffer[index].cast()); case 'PathConstraintData':
case 'spine_physics_constraint_data': final castedPtr = SpineBindings.bindings.spine_constraint_data_cast_to_path_constraint_data(buffer[index]);
return PhysicsConstraintData.fromPointer(buffer[index].cast()); return PathConstraintData.fromPointer(castedPtr);
case 'spine_slider_data': case 'PhysicsConstraintData':
return SliderData.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_constraint_data_cast_to_physics_constraint_data(buffer[index]);
case 'spine_transform_constraint_data': return PhysicsConstraintData.fromPointer(castedPtr);
return TransformConstraintData.fromPointer(buffer[index].cast()); case 'SliderData':
final castedPtr = SpineBindings.bindings.spine_constraint_data_cast_to_slider_data(buffer[index]);
return SliderData.fromPointer(castedPtr);
case 'TransformConstraintData':
final castedPtr = SpineBindings.bindings.spine_constraint_data_cast_to_transform_constraint_data(buffer[index]);
return TransformConstraintData.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class ConstraintData'); throw UnsupportedError('Unknown concrete type: $className for abstract class ConstraintData');
} }
@ -1449,18 +1465,24 @@ class ArrayFromProperty extends NativeArray<FromProperty?> {
final rtti = SpineBindings.bindings.spine_from_property_get_rtti(buffer[index]); final rtti = SpineBindings.bindings.spine_from_property_get_rtti(buffer[index]);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_from_rotate': case 'FromRotate':
return FromRotate.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_from_property_cast_to_from_rotate(buffer[index]);
case 'spine_from_scale_x': return FromRotate.fromPointer(castedPtr);
return FromScaleX.fromPointer(buffer[index].cast()); case 'FromScaleX':
case 'spine_from_scale_y': final castedPtr = SpineBindings.bindings.spine_from_property_cast_to_from_scale_x(buffer[index]);
return FromScaleY.fromPointer(buffer[index].cast()); return FromScaleX.fromPointer(castedPtr);
case 'spine_from_shear_y': case 'FromScaleY':
return FromShearY.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_from_property_cast_to_from_scale_y(buffer[index]);
case 'spine_from_x': return FromScaleY.fromPointer(castedPtr);
return FromX.fromPointer(buffer[index].cast()); case 'FromShearY':
case 'spine_from_y': final castedPtr = SpineBindings.bindings.spine_from_property_cast_to_from_shear_y(buffer[index]);
return FromY.fromPointer(buffer[index].cast()); return FromShearY.fromPointer(castedPtr);
case 'FromX':
final castedPtr = SpineBindings.bindings.spine_from_property_cast_to_from_x(buffer[index]);
return FromX.fromPointer(castedPtr);
case 'FromY':
final castedPtr = SpineBindings.bindings.spine_from_property_cast_to_from_y(buffer[index]);
return FromY.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class FromProperty'); throw UnsupportedError('Unknown concrete type: $className for abstract class FromProperty');
} }
@ -2011,78 +2033,120 @@ class ArrayTimeline extends NativeArray<Timeline?> {
final rtti = SpineBindings.bindings.spine_timeline_get_rtti(buffer[index]); final rtti = SpineBindings.bindings.spine_timeline_get_rtti(buffer[index]);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_alpha_timeline': case 'AlphaTimeline':
return AlphaTimeline.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_alpha_timeline(buffer[index]);
case 'spine_attachment_timeline': return AlphaTimeline.fromPointer(castedPtr);
return AttachmentTimeline.fromPointer(buffer[index].cast()); case 'AttachmentTimeline':
case 'spine_deform_timeline': final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_attachment_timeline(buffer[index]);
return DeformTimeline.fromPointer(buffer[index].cast()); return AttachmentTimeline.fromPointer(castedPtr);
case 'spine_draw_order_timeline': case 'DeformTimeline':
return DrawOrderTimeline.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_deform_timeline(buffer[index]);
case 'spine_event_timeline': return DeformTimeline.fromPointer(castedPtr);
return EventTimeline.fromPointer(buffer[index].cast()); case 'DrawOrderTimeline':
case 'spine_ik_constraint_timeline': final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_draw_order_timeline(buffer[index]);
return IkConstraintTimeline.fromPointer(buffer[index].cast()); return DrawOrderTimeline.fromPointer(castedPtr);
case 'spine_inherit_timeline': case 'EventTimeline':
return InheritTimeline.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_event_timeline(buffer[index]);
case 'spine_path_constraint_mix_timeline': return EventTimeline.fromPointer(castedPtr);
return PathConstraintMixTimeline.fromPointer(buffer[index].cast()); case 'IkConstraintTimeline':
case 'spine_path_constraint_position_timeline': final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_ik_constraint_timeline(buffer[index]);
return PathConstraintPositionTimeline.fromPointer(buffer[index].cast()); return IkConstraintTimeline.fromPointer(castedPtr);
case 'spine_path_constraint_spacing_timeline': case 'InheritTimeline':
return PathConstraintSpacingTimeline.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_inherit_timeline(buffer[index]);
case 'spine_physics_constraint_damping_timeline': return InheritTimeline.fromPointer(castedPtr);
return PhysicsConstraintDampingTimeline.fromPointer(buffer[index].cast()); case 'PathConstraintMixTimeline':
case 'spine_physics_constraint_gravity_timeline': final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_path_constraint_mix_timeline(buffer[index]);
return PhysicsConstraintGravityTimeline.fromPointer(buffer[index].cast()); return PathConstraintMixTimeline.fromPointer(castedPtr);
case 'spine_physics_constraint_inertia_timeline': case 'PathConstraintPositionTimeline':
return PhysicsConstraintInertiaTimeline.fromPointer(buffer[index].cast()); final castedPtr =
case 'spine_physics_constraint_mass_timeline': SpineBindings.bindings.spine_timeline_cast_to_path_constraint_position_timeline(buffer[index]);
return PhysicsConstraintMassTimeline.fromPointer(buffer[index].cast()); return PathConstraintPositionTimeline.fromPointer(castedPtr);
case 'spine_physics_constraint_mix_timeline': case 'PathConstraintSpacingTimeline':
return PhysicsConstraintMixTimeline.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_path_constraint_spacing_timeline(buffer[index]);
case 'spine_physics_constraint_reset_timeline': return PathConstraintSpacingTimeline.fromPointer(castedPtr);
return PhysicsConstraintResetTimeline.fromPointer(buffer[index].cast()); case 'PhysicsConstraintDampingTimeline':
case 'spine_physics_constraint_strength_timeline': final castedPtr =
return PhysicsConstraintStrengthTimeline.fromPointer(buffer[index].cast()); SpineBindings.bindings.spine_timeline_cast_to_physics_constraint_damping_timeline(buffer[index]);
case 'spine_physics_constraint_wind_timeline': return PhysicsConstraintDampingTimeline.fromPointer(castedPtr);
return PhysicsConstraintWindTimeline.fromPointer(buffer[index].cast()); case 'PhysicsConstraintGravityTimeline':
case 'spine_rgb2_timeline': final castedPtr =
return Rgb2Timeline.fromPointer(buffer[index].cast()); SpineBindings.bindings.spine_timeline_cast_to_physics_constraint_gravity_timeline(buffer[index]);
case 'spine_rgba2_timeline': return PhysicsConstraintGravityTimeline.fromPointer(castedPtr);
return Rgba2Timeline.fromPointer(buffer[index].cast()); case 'PhysicsConstraintInertiaTimeline':
case 'spine_rgba_timeline': final castedPtr =
return RgbaTimeline.fromPointer(buffer[index].cast()); SpineBindings.bindings.spine_timeline_cast_to_physics_constraint_inertia_timeline(buffer[index]);
case 'spine_rgb_timeline': return PhysicsConstraintInertiaTimeline.fromPointer(castedPtr);
return RgbTimeline.fromPointer(buffer[index].cast()); case 'PhysicsConstraintMassTimeline':
case 'spine_rotate_timeline': final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_physics_constraint_mass_timeline(buffer[index]);
return RotateTimeline.fromPointer(buffer[index].cast()); return PhysicsConstraintMassTimeline.fromPointer(castedPtr);
case 'spine_scale_timeline': case 'PhysicsConstraintMixTimeline':
return ScaleTimeline.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_physics_constraint_mix_timeline(buffer[index]);
case 'spine_scale_x_timeline': return PhysicsConstraintMixTimeline.fromPointer(castedPtr);
return ScaleXTimeline.fromPointer(buffer[index].cast()); case 'PhysicsConstraintResetTimeline':
case 'spine_scale_y_timeline': final castedPtr =
return ScaleYTimeline.fromPointer(buffer[index].cast()); SpineBindings.bindings.spine_timeline_cast_to_physics_constraint_reset_timeline(buffer[index]);
case 'spine_sequence_timeline': return PhysicsConstraintResetTimeline.fromPointer(castedPtr);
return SequenceTimeline.fromPointer(buffer[index].cast()); case 'PhysicsConstraintStrengthTimeline':
case 'spine_shear_timeline': final castedPtr =
return ShearTimeline.fromPointer(buffer[index].cast()); SpineBindings.bindings.spine_timeline_cast_to_physics_constraint_strength_timeline(buffer[index]);
case 'spine_shear_x_timeline': return PhysicsConstraintStrengthTimeline.fromPointer(castedPtr);
return ShearXTimeline.fromPointer(buffer[index].cast()); case 'PhysicsConstraintWindTimeline':
case 'spine_shear_y_timeline': final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_physics_constraint_wind_timeline(buffer[index]);
return ShearYTimeline.fromPointer(buffer[index].cast()); return PhysicsConstraintWindTimeline.fromPointer(castedPtr);
case 'spine_slider_mix_timeline': case 'RGB2Timeline':
return SliderMixTimeline.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_rgb2_timeline(buffer[index]);
case 'spine_slider_timeline': return Rgb2Timeline.fromPointer(castedPtr);
return SliderTimeline.fromPointer(buffer[index].cast()); case 'RGBA2Timeline':
case 'spine_transform_constraint_timeline': final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_rgba2_timeline(buffer[index]);
return TransformConstraintTimeline.fromPointer(buffer[index].cast()); return Rgba2Timeline.fromPointer(castedPtr);
case 'spine_translate_timeline': case 'RGBATimeline':
return TranslateTimeline.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_rgba_timeline(buffer[index]);
case 'spine_translate_x_timeline': return RgbaTimeline.fromPointer(castedPtr);
return TranslateXTimeline.fromPointer(buffer[index].cast()); case 'RGBTimeline':
case 'spine_translate_y_timeline': final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_rgb_timeline(buffer[index]);
return TranslateYTimeline.fromPointer(buffer[index].cast()); return RgbTimeline.fromPointer(castedPtr);
case 'RotateTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_rotate_timeline(buffer[index]);
return RotateTimeline.fromPointer(castedPtr);
case 'ScaleTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_scale_timeline(buffer[index]);
return ScaleTimeline.fromPointer(castedPtr);
case 'ScaleXTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_scale_x_timeline(buffer[index]);
return ScaleXTimeline.fromPointer(castedPtr);
case 'ScaleYTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_scale_y_timeline(buffer[index]);
return ScaleYTimeline.fromPointer(castedPtr);
case 'SequenceTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_sequence_timeline(buffer[index]);
return SequenceTimeline.fromPointer(castedPtr);
case 'ShearTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_shear_timeline(buffer[index]);
return ShearTimeline.fromPointer(castedPtr);
case 'ShearXTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_shear_x_timeline(buffer[index]);
return ShearXTimeline.fromPointer(castedPtr);
case 'ShearYTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_shear_y_timeline(buffer[index]);
return ShearYTimeline.fromPointer(castedPtr);
case 'SliderMixTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_slider_mix_timeline(buffer[index]);
return SliderMixTimeline.fromPointer(castedPtr);
case 'SliderTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_slider_timeline(buffer[index]);
return SliderTimeline.fromPointer(castedPtr);
case 'TransformConstraintTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_transform_constraint_timeline(buffer[index]);
return TransformConstraintTimeline.fromPointer(castedPtr);
case 'TranslateTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_translate_timeline(buffer[index]);
return TranslateTimeline.fromPointer(castedPtr);
case 'TranslateXTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_translate_x_timeline(buffer[index]);
return TranslateXTimeline.fromPointer(castedPtr);
case 'TranslateYTimeline':
final castedPtr = SpineBindings.bindings.spine_timeline_cast_to_translate_y_timeline(buffer[index]);
return TranslateYTimeline.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Timeline'); throw UnsupportedError('Unknown concrete type: $className for abstract class Timeline');
} }
@ -2167,18 +2231,24 @@ class ArrayToProperty extends NativeArray<ToProperty?> {
final rtti = SpineBindings.bindings.spine_to_property_get_rtti(buffer[index]); final rtti = SpineBindings.bindings.spine_to_property_get_rtti(buffer[index]);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_to_rotate': case 'ToRotate':
return ToRotate.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_to_property_cast_to_to_rotate(buffer[index]);
case 'spine_to_scale_x': return ToRotate.fromPointer(castedPtr);
return ToScaleX.fromPointer(buffer[index].cast()); case 'ToScaleX':
case 'spine_to_scale_y': final castedPtr = SpineBindings.bindings.spine_to_property_cast_to_to_scale_x(buffer[index]);
return ToScaleY.fromPointer(buffer[index].cast()); return ToScaleX.fromPointer(castedPtr);
case 'spine_to_shear_y': case 'ToScaleY':
return ToShearY.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_to_property_cast_to_to_scale_y(buffer[index]);
case 'spine_to_x': return ToScaleY.fromPointer(castedPtr);
return ToX.fromPointer(buffer[index].cast()); case 'ToShearY':
case 'spine_to_y': final castedPtr = SpineBindings.bindings.spine_to_property_cast_to_to_shear_y(buffer[index]);
return ToY.fromPointer(buffer[index].cast()); return ToShearY.fromPointer(castedPtr);
case 'ToX':
final castedPtr = SpineBindings.bindings.spine_to_property_cast_to_to_x(buffer[index]);
return ToX.fromPointer(castedPtr);
case 'ToY':
final castedPtr = SpineBindings.bindings.spine_to_property_cast_to_to_y(buffer[index]);
return ToY.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class ToProperty'); throw UnsupportedError('Unknown concrete type: $className for abstract class ToProperty');
} }
@ -2341,20 +2411,27 @@ class ArrayUpdate extends NativeArray<Update?> {
final rtti = SpineBindings.bindings.spine_update_get_rtti(buffer[index]); final rtti = SpineBindings.bindings.spine_update_get_rtti(buffer[index]);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_bone': case 'Bone':
return Bone.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_update_cast_to_bone(buffer[index]);
case 'spine_bone_pose': return Bone.fromPointer(castedPtr);
return BonePose.fromPointer(buffer[index].cast()); case 'BonePose':
case 'spine_ik_constraint': final castedPtr = SpineBindings.bindings.spine_update_cast_to_bone_pose(buffer[index]);
return IkConstraint.fromPointer(buffer[index].cast()); return BonePose.fromPointer(castedPtr);
case 'spine_path_constraint': case 'IkConstraint':
return PathConstraint.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_update_cast_to_ik_constraint(buffer[index]);
case 'spine_physics_constraint': return IkConstraint.fromPointer(castedPtr);
return PhysicsConstraint.fromPointer(buffer[index].cast()); case 'PathConstraint':
case 'spine_slider': final castedPtr = SpineBindings.bindings.spine_update_cast_to_path_constraint(buffer[index]);
return Slider.fromPointer(buffer[index].cast()); return PathConstraint.fromPointer(castedPtr);
case 'spine_transform_constraint': case 'PhysicsConstraint':
return TransformConstraint.fromPointer(buffer[index].cast()); final castedPtr = SpineBindings.bindings.spine_update_cast_to_physics_constraint(buffer[index]);
return PhysicsConstraint.fromPointer(castedPtr);
case 'Slider':
final castedPtr = SpineBindings.bindings.spine_update_cast_to_slider(buffer[index]);
return Slider.fromPointer(castedPtr);
case 'TransformConstraint':
final castedPtr = SpineBindings.bindings.spine_update_cast_to_transform_constraint(buffer[index]);
return TransformConstraint.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Update'); throw UnsupportedError('Unknown concrete type: $className for abstract class Update');
} }

View File

@ -41,7 +41,8 @@ import 'texture_region.dart';
class AtlasRegion extends TextureRegion { class AtlasRegion extends TextureRegion {
final Pointer<spine_atlas_region_wrapper> _ptr; final Pointer<spine_atlas_region_wrapper> _ptr;
AtlasRegion.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); AtlasRegion.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_atlas_region_cast_to_texture_region(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -65,18 +65,24 @@ abstract class Attachment {
final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_bounding_box_attachment': case 'BoundingBoxAttachment':
return BoundingBoxAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_bounding_box_attachment(result);
case 'spine_clipping_attachment': return BoundingBoxAttachment.fromPointer(castedPtr);
return ClippingAttachment.fromPointer(result.cast()); case 'ClippingAttachment':
case 'spine_mesh_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_clipping_attachment(result);
return MeshAttachment.fromPointer(result.cast()); return ClippingAttachment.fromPointer(castedPtr);
case 'spine_path_attachment': case 'MeshAttachment':
return PathAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_mesh_attachment(result);
case 'spine_point_attachment': return MeshAttachment.fromPointer(castedPtr);
return PointAttachment.fromPointer(result.cast()); case 'PathAttachment':
case 'spine_region_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_path_attachment(result);
return RegionAttachment.fromPointer(result.cast()); return PathAttachment.fromPointer(castedPtr);
case 'PointAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_point_attachment(result);
return PointAttachment.fromPointer(castedPtr);
case 'RegionAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_region_attachment(result);
return RegionAttachment.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment');
} }

View File

@ -40,7 +40,8 @@ import 'timeline.dart';
class AttachmentTimeline extends Timeline implements SlotTimeline { class AttachmentTimeline extends Timeline implements SlotTimeline {
final Pointer<spine_attachment_timeline_wrapper> _ptr; final Pointer<spine_attachment_timeline_wrapper> _ptr;
AttachmentTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); AttachmentTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_attachment_timeline_cast_to_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -47,7 +47,7 @@ import 'update.dart';
class Bone extends PosedActive implements Posed, Update { class Bone extends PosedActive implements Posed, Update {
final Pointer<spine_bone_wrapper> _ptr; final Pointer<spine_bone_wrapper> _ptr;
Bone.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); Bone.fromPointer(this._ptr) : super.fromPointer(SpineBindings.bindings.spine_bone_cast_to_posed_active(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -41,7 +41,7 @@ import 'posed_data.dart';
class BoneData extends PosedData { class BoneData extends PosedData {
final Pointer<spine_bone_data_wrapper> _ptr; final Pointer<spine_bone_data_wrapper> _ptr;
BoneData.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); BoneData.fromPointer(this._ptr) : super.fromPointer(SpineBindings.bindings.spine_bone_data_cast_to_posed_data(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -42,7 +42,7 @@ import 'update.dart';
class BonePose extends BoneLocal implements Update { class BonePose extends BoneLocal implements Update {
final Pointer<spine_bone_pose_wrapper> _ptr; final Pointer<spine_bone_pose_wrapper> _ptr;
BonePose.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); BonePose.fromPointer(this._ptr) : super.fromPointer(SpineBindings.bindings.spine_bone_pose_cast_to_bone_local(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -39,7 +39,8 @@ import 'curve_timeline1.dart';
abstract class BoneTimeline1 extends CurveTimeline1 implements BoneTimeline { abstract class BoneTimeline1 extends CurveTimeline1 implements BoneTimeline {
final Pointer<spine_bone_timeline1_wrapper> _ptr; final Pointer<spine_bone_timeline1_wrapper> _ptr;
BoneTimeline1.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); BoneTimeline1.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_bone_timeline1_cast_to_curve_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -39,7 +39,8 @@ import 'curve_timeline.dart';
abstract class BoneTimeline2 extends CurveTimeline implements BoneTimeline { abstract class BoneTimeline2 extends CurveTimeline implements BoneTimeline {
final Pointer<spine_bone_timeline2_wrapper> _ptr; final Pointer<spine_bone_timeline2_wrapper> _ptr;
BoneTimeline2.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); BoneTimeline2.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_bone_timeline2_cast_to_curve_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -40,7 +40,8 @@ import 'vertex_attachment.dart';
class BoundingBoxAttachment extends VertexAttachment { class BoundingBoxAttachment extends VertexAttachment {
final Pointer<spine_bounding_box_attachment_wrapper> _ptr; final Pointer<spine_bounding_box_attachment_wrapper> _ptr;
BoundingBoxAttachment.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); BoundingBoxAttachment.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_bounding_box_attachment_cast_to_vertex_attachment(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -41,7 +41,8 @@ import 'vertex_attachment.dart';
class ClippingAttachment extends VertexAttachment { class ClippingAttachment extends VertexAttachment {
final Pointer<spine_clipping_attachment_wrapper> _ptr; final Pointer<spine_clipping_attachment_wrapper> _ptr;
ClippingAttachment.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ClippingAttachment.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_clipping_attachment_cast_to_vertex_attachment(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -39,7 +39,8 @@ import 'curve_timeline1.dart';
abstract class ConstraintTimeline1 extends CurveTimeline1 implements ConstraintTimeline { abstract class ConstraintTimeline1 extends CurveTimeline1 implements ConstraintTimeline {
final Pointer<spine_constraint_timeline1_wrapper> _ptr; final Pointer<spine_constraint_timeline1_wrapper> _ptr;
ConstraintTimeline1.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ConstraintTimeline1.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_constraint_timeline1_cast_to_curve_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -39,7 +39,8 @@ import 'timeline.dart';
abstract class CurveTimeline extends Timeline { abstract class CurveTimeline extends Timeline {
final Pointer<spine_curve_timeline_wrapper> _ptr; final Pointer<spine_curve_timeline_wrapper> _ptr;
CurveTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); CurveTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_curve_timeline_cast_to_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -40,7 +40,8 @@ import 'mix_direction.dart';
abstract class CurveTimeline1 extends CurveTimeline { abstract class CurveTimeline1 extends CurveTimeline {
final Pointer<spine_curve_timeline1_wrapper> _ptr; final Pointer<spine_curve_timeline1_wrapper> _ptr;
CurveTimeline1.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); CurveTimeline1.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_curve_timeline1_cast_to_curve_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -45,7 +45,8 @@ import 'vertex_attachment.dart';
class DeformTimeline extends SlotCurveTimeline { class DeformTimeline extends SlotCurveTimeline {
final Pointer<spine_deform_timeline_wrapper> _ptr; final Pointer<spine_deform_timeline_wrapper> _ptr;
DeformTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); DeformTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_deform_timeline_cast_to_slot_curve_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override
@ -70,14 +71,18 @@ class DeformTimeline extends SlotCurveTimeline {
final rtti = SpineBindings.bindings.spine_vertex_attachment_get_rtti(result); final rtti = SpineBindings.bindings.spine_vertex_attachment_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_bounding_box_attachment': case 'BoundingBoxAttachment':
return BoundingBoxAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_vertex_attachment_cast_to_bounding_box_attachment(result);
case 'spine_clipping_attachment': return BoundingBoxAttachment.fromPointer(castedPtr);
return ClippingAttachment.fromPointer(result.cast()); case 'ClippingAttachment':
case 'spine_mesh_attachment': final castedPtr = SpineBindings.bindings.spine_vertex_attachment_cast_to_clipping_attachment(result);
return MeshAttachment.fromPointer(result.cast()); return ClippingAttachment.fromPointer(castedPtr);
case 'spine_path_attachment': case 'MeshAttachment':
return PathAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_vertex_attachment_cast_to_mesh_attachment(result);
return MeshAttachment.fromPointer(castedPtr);
case 'PathAttachment':
final castedPtr = SpineBindings.bindings.spine_vertex_attachment_cast_to_path_attachment(result);
return PathAttachment.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class VertexAttachment'); throw UnsupportedError('Unknown concrete type: $className for abstract class VertexAttachment');
} }

View File

@ -39,7 +39,8 @@ import 'timeline.dart';
class DrawOrderTimeline extends Timeline { class DrawOrderTimeline extends Timeline {
final Pointer<spine_draw_order_timeline_wrapper> _ptr; final Pointer<spine_draw_order_timeline_wrapper> _ptr;
DrawOrderTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); DrawOrderTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_draw_order_timeline_cast_to_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -40,7 +40,8 @@ import 'timeline.dart';
class EventTimeline extends Timeline { class EventTimeline extends Timeline {
final Pointer<spine_event_timeline_wrapper> _ptr; final Pointer<spine_event_timeline_wrapper> _ptr;
EventTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); EventTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_event_timeline_cast_to_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'from_property.dart';
class FromRotate extends FromProperty { class FromRotate extends FromProperty {
final Pointer<spine_from_rotate_wrapper> _ptr; final Pointer<spine_from_rotate_wrapper> _ptr;
FromRotate.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); FromRotate.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_from_rotate_cast_to_from_property(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'from_property.dart';
class FromScaleX extends FromProperty { class FromScaleX extends FromProperty {
final Pointer<spine_from_scale_x_wrapper> _ptr; final Pointer<spine_from_scale_x_wrapper> _ptr;
FromScaleX.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); FromScaleX.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_from_scale_x_cast_to_from_property(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'from_property.dart';
class FromScaleY extends FromProperty { class FromScaleY extends FromProperty {
final Pointer<spine_from_scale_y_wrapper> _ptr; final Pointer<spine_from_scale_y_wrapper> _ptr;
FromScaleY.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); FromScaleY.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_from_scale_y_cast_to_from_property(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'from_property.dart';
class FromShearY extends FromProperty { class FromShearY extends FromProperty {
final Pointer<spine_from_shear_y_wrapper> _ptr; final Pointer<spine_from_shear_y_wrapper> _ptr;
FromShearY.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); FromShearY.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_from_shear_y_cast_to_from_property(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,7 @@ import 'from_property.dart';
class FromX extends FromProperty { class FromX extends FromProperty {
final Pointer<spine_from_x_wrapper> _ptr; final Pointer<spine_from_x_wrapper> _ptr;
FromX.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); FromX.fromPointer(this._ptr) : super.fromPointer(SpineBindings.bindings.spine_from_x_cast_to_from_property(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,7 @@ import 'from_property.dart';
class FromY extends FromProperty { class FromY extends FromProperty {
final Pointer<spine_from_y_wrapper> _ptr; final Pointer<spine_from_y_wrapper> _ptr;
FromY.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); FromY.fromPointer(this._ptr) : super.fromPointer(SpineBindings.bindings.spine_from_y_cast_to_from_property(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -32,23 +32,19 @@
import 'package:universal_ffi/ffi.dart'; import 'package:universal_ffi/ffi.dart';
import 'spine_dart_bindings_generated.dart'; import 'spine_dart_bindings_generated.dart';
import '../spine_bindings.dart'; import '../spine_bindings.dart';
import 'rtti.dart';
import 'arrays.dart'; import 'arrays.dart';
import 'bone.dart'; import 'bone.dart';
import 'bone_pose.dart'; import 'bone_pose.dart';
import 'constraint.dart'; import 'ik_constraint_base.dart';
import 'ik_constraint_data.dart'; import 'ik_constraint_data.dart';
import 'ik_constraint_pose.dart';
import 'physics.dart';
import 'posed.dart';
import 'posed_active.dart';
import 'skeleton.dart'; import 'skeleton.dart';
/// IkConstraint wrapper /// IkConstraint wrapper
class IkConstraint extends PosedActive implements Posed, Constraint { class IkConstraint extends IkConstraintBase {
final Pointer<spine_ik_constraint_wrapper> _ptr; final Pointer<spine_ik_constraint_wrapper> _ptr;
IkConstraint.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); IkConstraint.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_ik_constraint_cast_to_ik_constraint_base(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override
@ -64,39 +60,11 @@ class IkConstraint extends PosedActive implements Posed, Constraint {
SpineBindings.bindings.spine_ik_constraint_dispose(_ptr); SpineBindings.bindings.spine_ik_constraint_dispose(_ptr);
} }
@override
Rtti get rtti {
final result = SpineBindings.bindings.spine_ik_constraint_get_rtti(_ptr);
return Rtti.fromPointer(result);
}
IkConstraint copy(Skeleton skeleton) { IkConstraint copy(Skeleton skeleton) {
final result = SpineBindings.bindings.spine_ik_constraint_copy(_ptr, skeleton.nativePtr.cast()); final result = SpineBindings.bindings.spine_ik_constraint_copy(_ptr, skeleton.nativePtr.cast());
return IkConstraint.fromPointer(result); return IkConstraint.fromPointer(result);
} }
@override
void update(Skeleton skeleton, Physics physics) {
SpineBindings.bindings.spine_ik_constraint_update(_ptr, skeleton.nativePtr.cast(), physics.value);
}
@override
void sort(Skeleton skeleton) {
SpineBindings.bindings.spine_ik_constraint_sort(_ptr, skeleton.nativePtr.cast());
}
@override
bool get isSourceActive {
final result = SpineBindings.bindings.spine_ik_constraint_is_source_active(_ptr);
return result;
}
@override
IkConstraintData get data {
final result = SpineBindings.bindings.spine_ik_constraint_get_data(_ptr);
return IkConstraintData.fromPointer(result);
}
ArrayBonePose get bones { ArrayBonePose get bones {
final result = SpineBindings.bindings.spine_ik_constraint_get_bones(_ptr); final result = SpineBindings.bindings.spine_ik_constraint_get_bones(_ptr);
return ArrayBonePose.fromPointer(result); return ArrayBonePose.fromPointer(result);
@ -111,37 +79,6 @@ class IkConstraint extends PosedActive implements Posed, Constraint {
SpineBindings.bindings.spine_ik_constraint_set_target(_ptr, value.nativePtr.cast()); SpineBindings.bindings.spine_ik_constraint_set_target(_ptr, value.nativePtr.cast());
} }
IkConstraintPose get pose {
final result = SpineBindings.bindings.spine_ik_constraint_get_pose(_ptr);
return IkConstraintPose.fromPointer(result);
}
IkConstraintPose get appliedPose {
final result = SpineBindings.bindings.spine_ik_constraint_get_applied_pose(_ptr);
return IkConstraintPose.fromPointer(result);
}
@override
void resetConstrained() {
SpineBindings.bindings.spine_ik_constraint_reset_constrained(_ptr);
}
@override
void constrained() {
SpineBindings.bindings.spine_ik_constraint_constrained(_ptr);
}
@override
bool get isPoseEqualToApplied {
final result = SpineBindings.bindings.spine_ik_constraint_is_pose_equal_to_applied(_ptr);
return result;
}
static Rtti rttiStatic() {
final result = SpineBindings.bindings.spine_ik_constraint_rtti();
return Rtti.fromPointer(result);
}
static void apply(Skeleton skeleton, BonePose bone, double targetX, double targetY, bool compress, bool stretch, static void apply(Skeleton skeleton, BonePose bone, double targetX, double targetY, bool compress, bool stretch,
bool uniform, double mix) { bool uniform, double mix) {
SpineBindings.bindings.spine_ik_constraint_apply_1( SpineBindings.bindings.spine_ik_constraint_apply_1(

View File

@ -0,0 +1,113 @@
//
// Spine Runtimes License Agreement
// Last updated April 5, 2025. Replaces all prior versions.
//
// Copyright (c) 2013-2025, Esoteric Software LLC
//
// Integration of the Spine Runtimes into software or otherwise creating
// derivative works of the Spine Runtimes is permitted under the terms and
// conditions of Section 2 of the Spine Editor License Agreement:
// http://esotericsoftware.com/spine-editor-license
//
// Otherwise, it is permitted to integrate the Spine Runtimes into software
// or otherwise create derivative works of the Spine Runtimes (collectively,
// "Products"), provided that each user of the Products must obtain their own
// Spine Editor license and redistribution of the Products in any form must
// include this license and copyright notice.
//
// THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
// BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
// THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// AUTO GENERATED FILE, DO NOT EDIT.
import 'package:universal_ffi/ffi.dart';
import 'spine_dart_bindings_generated.dart';
import '../spine_bindings.dart';
import 'rtti.dart';
import 'constraint.dart';
import 'ik_constraint_data.dart';
import 'ik_constraint_pose.dart';
import 'physics.dart';
import 'posed.dart';
import 'posed_active.dart';
import 'skeleton.dart';
/// IkConstraintBase wrapper
abstract class IkConstraintBase extends PosedActive implements Posed, Constraint {
final Pointer<spine_ik_constraint_base_wrapper> _ptr;
IkConstraintBase.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_ik_constraint_base_cast_to_posed_active(_ptr));
/// Get the native pointer for FFI calls
@override
Pointer get nativePtr => _ptr;
@override
IkConstraintData get data {
final result = SpineBindings.bindings.spine_ik_constraint_base_get_data(_ptr);
return IkConstraintData.fromPointer(result);
}
IkConstraintPose get pose {
final result = SpineBindings.bindings.spine_ik_constraint_base_get_pose(_ptr);
return IkConstraintPose.fromPointer(result);
}
IkConstraintPose get appliedPose {
final result = SpineBindings.bindings.spine_ik_constraint_base_get_applied_pose(_ptr);
return IkConstraintPose.fromPointer(result);
}
@override
void resetConstrained() {
SpineBindings.bindings.spine_ik_constraint_base_reset_constrained(_ptr);
}
@override
void constrained() {
SpineBindings.bindings.spine_ik_constraint_base_constrained(_ptr);
}
@override
bool get isPoseEqualToApplied {
final result = SpineBindings.bindings.spine_ik_constraint_base_is_pose_equal_to_applied(_ptr);
return result;
}
@override
Rtti get rtti {
final result = SpineBindings.bindings.spine_ik_constraint_base_get_rtti(_ptr);
return Rtti.fromPointer(result);
}
@override
void sort(Skeleton skeleton) {
SpineBindings.bindings.spine_ik_constraint_base_sort(_ptr, skeleton.nativePtr.cast());
}
@override
bool get isSourceActive {
final result = SpineBindings.bindings.spine_ik_constraint_base_is_source_active(_ptr);
return result;
}
@override
void update(Skeleton skeleton, Physics physics) {
SpineBindings.bindings.spine_ik_constraint_base_update(_ptr, skeleton.nativePtr.cast(), physics.value);
}
static Rtti rttiStatic() {
final result = SpineBindings.bindings.spine_ik_constraint_base_rtti();
return Rtti.fromPointer(result);
}
}

View File

@ -51,7 +51,8 @@ import 'transform_constraint.dart';
class IkConstraintData extends PosedData implements ConstraintData { class IkConstraintData extends PosedData implements ConstraintData {
final Pointer<spine_ik_constraint_data_wrapper> _ptr; final Pointer<spine_ik_constraint_data_wrapper> _ptr;
IkConstraintData.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); IkConstraintData.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_ik_constraint_data_cast_to_posed_data(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override
@ -79,16 +80,21 @@ class IkConstraintData extends PosedData implements ConstraintData {
final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result); final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_ik_constraint': case 'IkConstraint':
return IkConstraint.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_ik_constraint(result);
case 'spine_path_constraint': return IkConstraint.fromPointer(castedPtr);
return PathConstraint.fromPointer(result.cast()); case 'PathConstraint':
case 'spine_physics_constraint': final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_path_constraint(result);
return PhysicsConstraint.fromPointer(result.cast()); return PathConstraint.fromPointer(castedPtr);
case 'spine_slider': case 'PhysicsConstraint':
return Slider.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_physics_constraint(result);
case 'spine_transform_constraint': return PhysicsConstraint.fromPointer(castedPtr);
return TransformConstraint.fromPointer(result.cast()); case 'Slider':
final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_slider(result);
return Slider.fromPointer(castedPtr);
case 'TransformConstraint':
final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_transform_constraint(result);
return TransformConstraint.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Constraint'); throw UnsupportedError('Unknown concrete type: $className for abstract class Constraint');
} }

View File

@ -39,7 +39,8 @@ import 'curve_timeline.dart';
class IkConstraintTimeline extends CurveTimeline implements ConstraintTimeline { class IkConstraintTimeline extends CurveTimeline implements ConstraintTimeline {
final Pointer<spine_ik_constraint_timeline_wrapper> _ptr; final Pointer<spine_ik_constraint_timeline_wrapper> _ptr;
IkConstraintTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); IkConstraintTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_ik_constraint_timeline_cast_to_curve_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -40,7 +40,8 @@ import 'timeline.dart';
class InheritTimeline extends Timeline implements BoneTimeline { class InheritTimeline extends Timeline implements BoneTimeline {
final Pointer<spine_inherit_timeline_wrapper> _ptr; final Pointer<spine_inherit_timeline_wrapper> _ptr;
InheritTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); InheritTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_inherit_timeline_cast_to_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -43,7 +43,8 @@ import 'vertex_attachment.dart';
class MeshAttachment extends VertexAttachment { class MeshAttachment extends VertexAttachment {
final Pointer<spine_mesh_attachment_wrapper> _ptr; final Pointer<spine_mesh_attachment_wrapper> _ptr;
MeshAttachment.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); MeshAttachment.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_mesh_attachment_cast_to_vertex_attachment(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -41,7 +41,8 @@ import 'vertex_attachment.dart';
class PathAttachment extends VertexAttachment { class PathAttachment extends VertexAttachment {
final Pointer<spine_path_attachment_wrapper> _ptr; final Pointer<spine_path_attachment_wrapper> _ptr;
PathAttachment.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PathAttachment.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_path_attachment_cast_to_vertex_attachment(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -32,22 +32,18 @@
import 'package:universal_ffi/ffi.dart'; import 'package:universal_ffi/ffi.dart';
import 'spine_dart_bindings_generated.dart'; import 'spine_dart_bindings_generated.dart';
import '../spine_bindings.dart'; import '../spine_bindings.dart';
import 'rtti.dart';
import 'arrays.dart'; import 'arrays.dart';
import 'constraint.dart'; import 'path_constraint_base.dart';
import 'path_constraint_data.dart'; import 'path_constraint_data.dart';
import 'path_constraint_pose.dart';
import 'physics.dart';
import 'posed.dart';
import 'posed_active.dart';
import 'skeleton.dart'; import 'skeleton.dart';
import 'slot.dart'; import 'slot.dart';
/// PathConstraint wrapper /// PathConstraint wrapper
class PathConstraint extends PosedActive implements Posed, Constraint { class PathConstraint extends PathConstraintBase {
final Pointer<spine_path_constraint_wrapper> _ptr; final Pointer<spine_path_constraint_wrapper> _ptr;
PathConstraint.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PathConstraint.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_path_constraint_cast_to_path_constraint_base(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override
@ -63,33 +59,11 @@ class PathConstraint extends PosedActive implements Posed, Constraint {
SpineBindings.bindings.spine_path_constraint_dispose(_ptr); SpineBindings.bindings.spine_path_constraint_dispose(_ptr);
} }
@override
Rtti get rtti {
final result = SpineBindings.bindings.spine_path_constraint_get_rtti(_ptr);
return Rtti.fromPointer(result);
}
PathConstraint copy(Skeleton skeleton) { PathConstraint copy(Skeleton skeleton) {
final result = SpineBindings.bindings.spine_path_constraint_copy(_ptr, skeleton.nativePtr.cast()); final result = SpineBindings.bindings.spine_path_constraint_copy(_ptr, skeleton.nativePtr.cast());
return PathConstraint.fromPointer(result); return PathConstraint.fromPointer(result);
} }
@override
void update(Skeleton skeleton, Physics physics) {
SpineBindings.bindings.spine_path_constraint_update(_ptr, skeleton.nativePtr.cast(), physics.value);
}
@override
void sort(Skeleton skeleton) {
SpineBindings.bindings.spine_path_constraint_sort(_ptr, skeleton.nativePtr.cast());
}
@override
bool get isSourceActive {
final result = SpineBindings.bindings.spine_path_constraint_is_source_active(_ptr);
return result;
}
ArrayBonePose get bones { ArrayBonePose get bones {
final result = SpineBindings.bindings.spine_path_constraint_get_bones(_ptr); final result = SpineBindings.bindings.spine_path_constraint_get_bones(_ptr);
return ArrayBonePose.fromPointer(result); return ArrayBonePose.fromPointer(result);
@ -103,41 +77,4 @@ class PathConstraint extends PosedActive implements Posed, Constraint {
set slot(Slot value) { set slot(Slot value) {
SpineBindings.bindings.spine_path_constraint_set_slot(_ptr, value.nativePtr.cast()); SpineBindings.bindings.spine_path_constraint_set_slot(_ptr, value.nativePtr.cast());
} }
@override
PathConstraintData get data {
final result = SpineBindings.bindings.spine_path_constraint_get_data(_ptr);
return PathConstraintData.fromPointer(result);
}
PathConstraintPose get pose {
final result = SpineBindings.bindings.spine_path_constraint_get_pose(_ptr);
return PathConstraintPose.fromPointer(result);
}
PathConstraintPose get appliedPose {
final result = SpineBindings.bindings.spine_path_constraint_get_applied_pose(_ptr);
return PathConstraintPose.fromPointer(result);
}
@override
void resetConstrained() {
SpineBindings.bindings.spine_path_constraint_reset_constrained(_ptr);
}
@override
void constrained() {
SpineBindings.bindings.spine_path_constraint_constrained(_ptr);
}
@override
bool get isPoseEqualToApplied {
final result = SpineBindings.bindings.spine_path_constraint_is_pose_equal_to_applied(_ptr);
return result;
}
static Rtti rttiStatic() {
final result = SpineBindings.bindings.spine_path_constraint_rtti();
return Rtti.fromPointer(result);
}
} }

View File

@ -0,0 +1,113 @@
//
// Spine Runtimes License Agreement
// Last updated April 5, 2025. Replaces all prior versions.
//
// Copyright (c) 2013-2025, Esoteric Software LLC
//
// Integration of the Spine Runtimes into software or otherwise creating
// derivative works of the Spine Runtimes is permitted under the terms and
// conditions of Section 2 of the Spine Editor License Agreement:
// http://esotericsoftware.com/spine-editor-license
//
// Otherwise, it is permitted to integrate the Spine Runtimes into software
// or otherwise create derivative works of the Spine Runtimes (collectively,
// "Products"), provided that each user of the Products must obtain their own
// Spine Editor license and redistribution of the Products in any form must
// include this license and copyright notice.
//
// THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
// BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
// THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// AUTO GENERATED FILE, DO NOT EDIT.
import 'package:universal_ffi/ffi.dart';
import 'spine_dart_bindings_generated.dart';
import '../spine_bindings.dart';
import 'rtti.dart';
import 'constraint.dart';
import 'path_constraint_data.dart';
import 'path_constraint_pose.dart';
import 'physics.dart';
import 'posed.dart';
import 'posed_active.dart';
import 'skeleton.dart';
/// PathConstraintBase wrapper
abstract class PathConstraintBase extends PosedActive implements Posed, Constraint {
final Pointer<spine_path_constraint_base_wrapper> _ptr;
PathConstraintBase.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_path_constraint_base_cast_to_posed_active(_ptr));
/// Get the native pointer for FFI calls
@override
Pointer get nativePtr => _ptr;
@override
PathConstraintData get data {
final result = SpineBindings.bindings.spine_path_constraint_base_get_data(_ptr);
return PathConstraintData.fromPointer(result);
}
PathConstraintPose get pose {
final result = SpineBindings.bindings.spine_path_constraint_base_get_pose(_ptr);
return PathConstraintPose.fromPointer(result);
}
PathConstraintPose get appliedPose {
final result = SpineBindings.bindings.spine_path_constraint_base_get_applied_pose(_ptr);
return PathConstraintPose.fromPointer(result);
}
@override
void resetConstrained() {
SpineBindings.bindings.spine_path_constraint_base_reset_constrained(_ptr);
}
@override
void constrained() {
SpineBindings.bindings.spine_path_constraint_base_constrained(_ptr);
}
@override
bool get isPoseEqualToApplied {
final result = SpineBindings.bindings.spine_path_constraint_base_is_pose_equal_to_applied(_ptr);
return result;
}
@override
Rtti get rtti {
final result = SpineBindings.bindings.spine_path_constraint_base_get_rtti(_ptr);
return Rtti.fromPointer(result);
}
@override
void sort(Skeleton skeleton) {
SpineBindings.bindings.spine_path_constraint_base_sort(_ptr, skeleton.nativePtr.cast());
}
@override
bool get isSourceActive {
final result = SpineBindings.bindings.spine_path_constraint_base_is_source_active(_ptr);
return result;
}
@override
void update(Skeleton skeleton, Physics physics) {
SpineBindings.bindings.spine_path_constraint_base_update(_ptr, skeleton.nativePtr.cast(), physics.value);
}
static Rtti rttiStatic() {
final result = SpineBindings.bindings.spine_path_constraint_base_rtti();
return Rtti.fromPointer(result);
}
}

View File

@ -54,7 +54,8 @@ import 'transform_constraint.dart';
class PathConstraintData extends PosedData implements ConstraintData { class PathConstraintData extends PosedData implements ConstraintData {
final Pointer<spine_path_constraint_data_wrapper> _ptr; final Pointer<spine_path_constraint_data_wrapper> _ptr;
PathConstraintData.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PathConstraintData.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_path_constraint_data_cast_to_posed_data(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override
@ -82,16 +83,21 @@ class PathConstraintData extends PosedData implements ConstraintData {
final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result); final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_ik_constraint': case 'IkConstraint':
return IkConstraint.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_ik_constraint(result);
case 'spine_path_constraint': return IkConstraint.fromPointer(castedPtr);
return PathConstraint.fromPointer(result.cast()); case 'PathConstraint':
case 'spine_physics_constraint': final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_path_constraint(result);
return PhysicsConstraint.fromPointer(result.cast()); return PathConstraint.fromPointer(castedPtr);
case 'spine_slider': case 'PhysicsConstraint':
return Slider.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_physics_constraint(result);
case 'spine_transform_constraint': return PhysicsConstraint.fromPointer(castedPtr);
return TransformConstraint.fromPointer(result.cast()); case 'Slider':
final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_slider(result);
return Slider.fromPointer(castedPtr);
case 'TransformConstraint':
final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_transform_constraint(result);
return TransformConstraint.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Constraint'); throw UnsupportedError('Unknown concrete type: $className for abstract class Constraint');
} }

View File

@ -39,7 +39,8 @@ import 'curve_timeline.dart';
class PathConstraintMixTimeline extends CurveTimeline implements ConstraintTimeline { class PathConstraintMixTimeline extends CurveTimeline implements ConstraintTimeline {
final Pointer<spine_path_constraint_mix_timeline_wrapper> _ptr; final Pointer<spine_path_constraint_mix_timeline_wrapper> _ptr;
PathConstraintMixTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PathConstraintMixTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_path_constraint_mix_timeline_cast_to_curve_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,9 @@ import 'constraint_timeline1.dart';
class PathConstraintPositionTimeline extends ConstraintTimeline1 { class PathConstraintPositionTimeline extends ConstraintTimeline1 {
final Pointer<spine_path_constraint_position_timeline_wrapper> _ptr; final Pointer<spine_path_constraint_position_timeline_wrapper> _ptr;
PathConstraintPositionTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PathConstraintPositionTimeline.fromPointer(this._ptr)
: super.fromPointer(
SpineBindings.bindings.spine_path_constraint_position_timeline_cast_to_constraint_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,9 @@ import 'constraint_timeline1.dart';
class PathConstraintSpacingTimeline extends ConstraintTimeline1 { class PathConstraintSpacingTimeline extends ConstraintTimeline1 {
final Pointer<spine_path_constraint_spacing_timeline_wrapper> _ptr; final Pointer<spine_path_constraint_spacing_timeline_wrapper> _ptr;
PathConstraintSpacingTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PathConstraintSpacingTimeline.fromPointer(this._ptr)
: super.fromPointer(
SpineBindings.bindings.spine_path_constraint_spacing_timeline_cast_to_constraint_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -32,21 +32,17 @@
import 'package:universal_ffi/ffi.dart'; import 'package:universal_ffi/ffi.dart';
import 'spine_dart_bindings_generated.dart'; import 'spine_dart_bindings_generated.dart';
import '../spine_bindings.dart'; import '../spine_bindings.dart';
import 'rtti.dart';
import 'bone_pose.dart'; import 'bone_pose.dart';
import 'constraint.dart'; import 'physics_constraint_base.dart';
import 'physics.dart';
import 'physics_constraint_data.dart'; import 'physics_constraint_data.dart';
import 'physics_constraint_pose.dart';
import 'posed.dart';
import 'posed_active.dart';
import 'skeleton.dart'; import 'skeleton.dart';
/// PhysicsConstraint wrapper /// PhysicsConstraint wrapper
class PhysicsConstraint extends PosedActive implements Posed, Constraint { class PhysicsConstraint extends PhysicsConstraintBase {
final Pointer<spine_physics_constraint_wrapper> _ptr; final Pointer<spine_physics_constraint_wrapper> _ptr;
PhysicsConstraint.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PhysicsConstraint.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_physics_constraint_cast_to_physics_constraint_base(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override
@ -63,28 +59,6 @@ class PhysicsConstraint extends PosedActive implements Posed, Constraint {
SpineBindings.bindings.spine_physics_constraint_dispose(_ptr); SpineBindings.bindings.spine_physics_constraint_dispose(_ptr);
} }
@override
Rtti get rtti {
final result = SpineBindings.bindings.spine_physics_constraint_get_rtti(_ptr);
return Rtti.fromPointer(result);
}
@override
void update(Skeleton skeleton, Physics physics) {
SpineBindings.bindings.spine_physics_constraint_update(_ptr, skeleton.nativePtr.cast(), physics.value);
}
@override
void sort(Skeleton skeleton) {
SpineBindings.bindings.spine_physics_constraint_sort(_ptr, skeleton.nativePtr.cast());
}
@override
bool get isSourceActive {
final result = SpineBindings.bindings.spine_physics_constraint_is_source_active(_ptr);
return result;
}
PhysicsConstraint copy(Skeleton skeleton) { PhysicsConstraint copy(Skeleton skeleton) {
final result = SpineBindings.bindings.spine_physics_constraint_copy(_ptr, skeleton.nativePtr.cast()); final result = SpineBindings.bindings.spine_physics_constraint_copy(_ptr, skeleton.nativePtr.cast());
return PhysicsConstraint.fromPointer(result); return PhysicsConstraint.fromPointer(result);
@ -110,41 +84,4 @@ class PhysicsConstraint extends PosedActive implements Posed, Constraint {
set bone(BonePose value) { set bone(BonePose value) {
SpineBindings.bindings.spine_physics_constraint_set_bone(_ptr, value.nativePtr.cast()); SpineBindings.bindings.spine_physics_constraint_set_bone(_ptr, value.nativePtr.cast());
} }
@override
PhysicsConstraintData get data {
final result = SpineBindings.bindings.spine_physics_constraint_get_data(_ptr);
return PhysicsConstraintData.fromPointer(result);
}
PhysicsConstraintPose get pose {
final result = SpineBindings.bindings.spine_physics_constraint_get_pose(_ptr);
return PhysicsConstraintPose.fromPointer(result);
}
PhysicsConstraintPose get appliedPose {
final result = SpineBindings.bindings.spine_physics_constraint_get_applied_pose(_ptr);
return PhysicsConstraintPose.fromPointer(result);
}
@override
void resetConstrained() {
SpineBindings.bindings.spine_physics_constraint_reset_constrained(_ptr);
}
@override
void constrained() {
SpineBindings.bindings.spine_physics_constraint_constrained(_ptr);
}
@override
bool get isPoseEqualToApplied {
final result = SpineBindings.bindings.spine_physics_constraint_is_pose_equal_to_applied(_ptr);
return result;
}
static Rtti rttiStatic() {
final result = SpineBindings.bindings.spine_physics_constraint_rtti();
return Rtti.fromPointer(result);
}
} }

View File

@ -0,0 +1,113 @@
//
// Spine Runtimes License Agreement
// Last updated April 5, 2025. Replaces all prior versions.
//
// Copyright (c) 2013-2025, Esoteric Software LLC
//
// Integration of the Spine Runtimes into software or otherwise creating
// derivative works of the Spine Runtimes is permitted under the terms and
// conditions of Section 2 of the Spine Editor License Agreement:
// http://esotericsoftware.com/spine-editor-license
//
// Otherwise, it is permitted to integrate the Spine Runtimes into software
// or otherwise create derivative works of the Spine Runtimes (collectively,
// "Products"), provided that each user of the Products must obtain their own
// Spine Editor license and redistribution of the Products in any form must
// include this license and copyright notice.
//
// THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
// BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
// THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// AUTO GENERATED FILE, DO NOT EDIT.
import 'package:universal_ffi/ffi.dart';
import 'spine_dart_bindings_generated.dart';
import '../spine_bindings.dart';
import 'rtti.dart';
import 'constraint.dart';
import 'physics.dart';
import 'physics_constraint_data.dart';
import 'physics_constraint_pose.dart';
import 'posed.dart';
import 'posed_active.dart';
import 'skeleton.dart';
/// PhysicsConstraintBase wrapper
abstract class PhysicsConstraintBase extends PosedActive implements Posed, Constraint {
final Pointer<spine_physics_constraint_base_wrapper> _ptr;
PhysicsConstraintBase.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_physics_constraint_base_cast_to_posed_active(_ptr));
/// Get the native pointer for FFI calls
@override
Pointer get nativePtr => _ptr;
@override
PhysicsConstraintData get data {
final result = SpineBindings.bindings.spine_physics_constraint_base_get_data(_ptr);
return PhysicsConstraintData.fromPointer(result);
}
PhysicsConstraintPose get pose {
final result = SpineBindings.bindings.spine_physics_constraint_base_get_pose(_ptr);
return PhysicsConstraintPose.fromPointer(result);
}
PhysicsConstraintPose get appliedPose {
final result = SpineBindings.bindings.spine_physics_constraint_base_get_applied_pose(_ptr);
return PhysicsConstraintPose.fromPointer(result);
}
@override
void resetConstrained() {
SpineBindings.bindings.spine_physics_constraint_base_reset_constrained(_ptr);
}
@override
void constrained() {
SpineBindings.bindings.spine_physics_constraint_base_constrained(_ptr);
}
@override
bool get isPoseEqualToApplied {
final result = SpineBindings.bindings.spine_physics_constraint_base_is_pose_equal_to_applied(_ptr);
return result;
}
@override
Rtti get rtti {
final result = SpineBindings.bindings.spine_physics_constraint_base_get_rtti(_ptr);
return Rtti.fromPointer(result);
}
@override
void sort(Skeleton skeleton) {
SpineBindings.bindings.spine_physics_constraint_base_sort(_ptr, skeleton.nativePtr.cast());
}
@override
bool get isSourceActive {
final result = SpineBindings.bindings.spine_physics_constraint_base_is_source_active(_ptr);
return result;
}
@override
void update(Skeleton skeleton, Physics physics) {
SpineBindings.bindings.spine_physics_constraint_base_update(_ptr, skeleton.nativePtr.cast(), physics.value);
}
static Rtti rttiStatic() {
final result = SpineBindings.bindings.spine_physics_constraint_base_rtti();
return Rtti.fromPointer(result);
}
}

View File

@ -38,7 +38,9 @@ import 'physics_constraint_timeline.dart';
class PhysicsConstraintDampingTimeline extends PhysicsConstraintTimeline { class PhysicsConstraintDampingTimeline extends PhysicsConstraintTimeline {
final Pointer<spine_physics_constraint_damping_timeline_wrapper> _ptr; final Pointer<spine_physics_constraint_damping_timeline_wrapper> _ptr;
PhysicsConstraintDampingTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PhysicsConstraintDampingTimeline.fromPointer(this._ptr)
: super.fromPointer(
SpineBindings.bindings.spine_physics_constraint_damping_timeline_cast_to_physics_constraint_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -50,7 +50,8 @@ import 'transform_constraint.dart';
class PhysicsConstraintData extends PosedData implements ConstraintData { class PhysicsConstraintData extends PosedData implements ConstraintData {
final Pointer<spine_physics_constraint_data_wrapper> _ptr; final Pointer<spine_physics_constraint_data_wrapper> _ptr;
PhysicsConstraintData.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PhysicsConstraintData.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_physics_constraint_data_cast_to_posed_data(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override
@ -78,16 +79,21 @@ class PhysicsConstraintData extends PosedData implements ConstraintData {
final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result); final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_ik_constraint': case 'IkConstraint':
return IkConstraint.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_ik_constraint(result);
case 'spine_path_constraint': return IkConstraint.fromPointer(castedPtr);
return PathConstraint.fromPointer(result.cast()); case 'PathConstraint':
case 'spine_physics_constraint': final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_path_constraint(result);
return PhysicsConstraint.fromPointer(result.cast()); return PathConstraint.fromPointer(castedPtr);
case 'spine_slider': case 'PhysicsConstraint':
return Slider.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_physics_constraint(result);
case 'spine_transform_constraint': return PhysicsConstraint.fromPointer(castedPtr);
return TransformConstraint.fromPointer(result.cast()); case 'Slider':
final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_slider(result);
return Slider.fromPointer(castedPtr);
case 'TransformConstraint':
final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_transform_constraint(result);
return TransformConstraint.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Constraint'); throw UnsupportedError('Unknown concrete type: $className for abstract class Constraint');
} }

View File

@ -38,7 +38,9 @@ import 'physics_constraint_timeline.dart';
class PhysicsConstraintGravityTimeline extends PhysicsConstraintTimeline { class PhysicsConstraintGravityTimeline extends PhysicsConstraintTimeline {
final Pointer<spine_physics_constraint_gravity_timeline_wrapper> _ptr; final Pointer<spine_physics_constraint_gravity_timeline_wrapper> _ptr;
PhysicsConstraintGravityTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PhysicsConstraintGravityTimeline.fromPointer(this._ptr)
: super.fromPointer(
SpineBindings.bindings.spine_physics_constraint_gravity_timeline_cast_to_physics_constraint_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,9 @@ import 'physics_constraint_timeline.dart';
class PhysicsConstraintInertiaTimeline extends PhysicsConstraintTimeline { class PhysicsConstraintInertiaTimeline extends PhysicsConstraintTimeline {
final Pointer<spine_physics_constraint_inertia_timeline_wrapper> _ptr; final Pointer<spine_physics_constraint_inertia_timeline_wrapper> _ptr;
PhysicsConstraintInertiaTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PhysicsConstraintInertiaTimeline.fromPointer(this._ptr)
: super.fromPointer(
SpineBindings.bindings.spine_physics_constraint_inertia_timeline_cast_to_physics_constraint_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,9 @@ import 'physics_constraint_timeline.dart';
class PhysicsConstraintMassTimeline extends PhysicsConstraintTimeline { class PhysicsConstraintMassTimeline extends PhysicsConstraintTimeline {
final Pointer<spine_physics_constraint_mass_timeline_wrapper> _ptr; final Pointer<spine_physics_constraint_mass_timeline_wrapper> _ptr;
PhysicsConstraintMassTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PhysicsConstraintMassTimeline.fromPointer(this._ptr)
: super.fromPointer(
SpineBindings.bindings.spine_physics_constraint_mass_timeline_cast_to_physics_constraint_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,9 @@ import 'physics_constraint_timeline.dart';
class PhysicsConstraintMixTimeline extends PhysicsConstraintTimeline { class PhysicsConstraintMixTimeline extends PhysicsConstraintTimeline {
final Pointer<spine_physics_constraint_mix_timeline_wrapper> _ptr; final Pointer<spine_physics_constraint_mix_timeline_wrapper> _ptr;
PhysicsConstraintMixTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PhysicsConstraintMixTimeline.fromPointer(this._ptr)
: super.fromPointer(
SpineBindings.bindings.spine_physics_constraint_mix_timeline_cast_to_physics_constraint_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -39,7 +39,8 @@ import 'timeline.dart';
class PhysicsConstraintResetTimeline extends Timeline implements ConstraintTimeline { class PhysicsConstraintResetTimeline extends Timeline implements ConstraintTimeline {
final Pointer<spine_physics_constraint_reset_timeline_wrapper> _ptr; final Pointer<spine_physics_constraint_reset_timeline_wrapper> _ptr;
PhysicsConstraintResetTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PhysicsConstraintResetTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_physics_constraint_reset_timeline_cast_to_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,9 @@ import 'physics_constraint_timeline.dart';
class PhysicsConstraintStrengthTimeline extends PhysicsConstraintTimeline { class PhysicsConstraintStrengthTimeline extends PhysicsConstraintTimeline {
final Pointer<spine_physics_constraint_strength_timeline_wrapper> _ptr; final Pointer<spine_physics_constraint_strength_timeline_wrapper> _ptr;
PhysicsConstraintStrengthTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PhysicsConstraintStrengthTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings
.spine_physics_constraint_strength_timeline_cast_to_physics_constraint_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -39,7 +39,8 @@ import 'curve_timeline1.dart';
abstract class PhysicsConstraintTimeline extends CurveTimeline1 implements ConstraintTimeline { abstract class PhysicsConstraintTimeline extends CurveTimeline1 implements ConstraintTimeline {
final Pointer<spine_physics_constraint_timeline_wrapper> _ptr; final Pointer<spine_physics_constraint_timeline_wrapper> _ptr;
PhysicsConstraintTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PhysicsConstraintTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_physics_constraint_timeline_cast_to_curve_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,9 @@ import 'physics_constraint_timeline.dart';
class PhysicsConstraintWindTimeline extends PhysicsConstraintTimeline { class PhysicsConstraintWindTimeline extends PhysicsConstraintTimeline {
final Pointer<spine_physics_constraint_wind_timeline_wrapper> _ptr; final Pointer<spine_physics_constraint_wind_timeline_wrapper> _ptr;
PhysicsConstraintWindTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PhysicsConstraintWindTimeline.fromPointer(this._ptr)
: super.fromPointer(
SpineBindings.bindings.spine_physics_constraint_wind_timeline_cast_to_physics_constraint_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -41,7 +41,8 @@ import 'color.dart';
class PointAttachment extends Attachment { class PointAttachment extends Attachment {
final Pointer<spine_point_attachment_wrapper> _ptr; final Pointer<spine_point_attachment_wrapper> _ptr;
PointAttachment.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); PointAttachment.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_point_attachment_cast_to_attachment(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -44,7 +44,8 @@ import 'texture_region.dart';
class RegionAttachment extends Attachment { class RegionAttachment extends Attachment {
final Pointer<spine_region_attachment_wrapper> _ptr; final Pointer<spine_region_attachment_wrapper> _ptr;
RegionAttachment.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); RegionAttachment.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_region_attachment_cast_to_attachment(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'slot_curve_timeline.dart';
class Rgb2Timeline extends SlotCurveTimeline { class Rgb2Timeline extends SlotCurveTimeline {
final Pointer<spine_rgb2_timeline_wrapper> _ptr; final Pointer<spine_rgb2_timeline_wrapper> _ptr;
Rgb2Timeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); Rgb2Timeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_rgb2_timeline_cast_to_slot_curve_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'slot_curve_timeline.dart';
class RgbTimeline extends SlotCurveTimeline { class RgbTimeline extends SlotCurveTimeline {
final Pointer<spine_rgb_timeline_wrapper> _ptr; final Pointer<spine_rgb_timeline_wrapper> _ptr;
RgbTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); RgbTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_rgb_timeline_cast_to_slot_curve_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'slot_curve_timeline.dart';
class Rgba2Timeline extends SlotCurveTimeline { class Rgba2Timeline extends SlotCurveTimeline {
final Pointer<spine_rgba2_timeline_wrapper> _ptr; final Pointer<spine_rgba2_timeline_wrapper> _ptr;
Rgba2Timeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); Rgba2Timeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_rgba2_timeline_cast_to_slot_curve_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'slot_curve_timeline.dart';
class RgbaTimeline extends SlotCurveTimeline { class RgbaTimeline extends SlotCurveTimeline {
final Pointer<spine_rgba_timeline_wrapper> _ptr; final Pointer<spine_rgba_timeline_wrapper> _ptr;
RgbaTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); RgbaTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_rgba_timeline_cast_to_slot_curve_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'bone_timeline1.dart';
class RotateTimeline extends BoneTimeline1 { class RotateTimeline extends BoneTimeline1 {
final Pointer<spine_rotate_timeline_wrapper> _ptr; final Pointer<spine_rotate_timeline_wrapper> _ptr;
RotateTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); RotateTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_rotate_timeline_cast_to_bone_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'bone_timeline2.dart';
class ScaleTimeline extends BoneTimeline2 { class ScaleTimeline extends BoneTimeline2 {
final Pointer<spine_scale_timeline_wrapper> _ptr; final Pointer<spine_scale_timeline_wrapper> _ptr;
ScaleTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ScaleTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_scale_timeline_cast_to_bone_timeline2(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'bone_timeline1.dart';
class ScaleXTimeline extends BoneTimeline1 { class ScaleXTimeline extends BoneTimeline1 {
final Pointer<spine_scale_x_timeline_wrapper> _ptr; final Pointer<spine_scale_x_timeline_wrapper> _ptr;
ScaleXTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ScaleXTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_scale_x_timeline_cast_to_bone_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'bone_timeline1.dart';
class ScaleYTimeline extends BoneTimeline1 { class ScaleYTimeline extends BoneTimeline1 {
final Pointer<spine_scale_y_timeline_wrapper> _ptr; final Pointer<spine_scale_y_timeline_wrapper> _ptr;
ScaleYTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ScaleYTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_scale_y_timeline_cast_to_bone_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -48,7 +48,8 @@ import 'timeline.dart';
class SequenceTimeline extends Timeline implements SlotTimeline { class SequenceTimeline extends Timeline implements SlotTimeline {
final Pointer<spine_sequence_timeline_wrapper> _ptr; final Pointer<spine_sequence_timeline_wrapper> _ptr;
SequenceTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); SequenceTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_sequence_timeline_cast_to_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override
@ -73,18 +74,24 @@ class SequenceTimeline extends Timeline implements SlotTimeline {
final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_bounding_box_attachment': case 'BoundingBoxAttachment':
return BoundingBoxAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_bounding_box_attachment(result);
case 'spine_clipping_attachment': return BoundingBoxAttachment.fromPointer(castedPtr);
return ClippingAttachment.fromPointer(result.cast()); case 'ClippingAttachment':
case 'spine_mesh_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_clipping_attachment(result);
return MeshAttachment.fromPointer(result.cast()); return ClippingAttachment.fromPointer(castedPtr);
case 'spine_path_attachment': case 'MeshAttachment':
return PathAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_mesh_attachment(result);
case 'spine_point_attachment': return MeshAttachment.fromPointer(castedPtr);
return PointAttachment.fromPointer(result.cast()); case 'PathAttachment':
case 'spine_region_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_path_attachment(result);
return RegionAttachment.fromPointer(result.cast()); return PathAttachment.fromPointer(castedPtr);
case 'PointAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_point_attachment(result);
return PointAttachment.fromPointer(castedPtr);
case 'RegionAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_region_attachment(result);
return RegionAttachment.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment');
} }

View File

@ -38,7 +38,8 @@ import 'bone_timeline2.dart';
class ShearTimeline extends BoneTimeline2 { class ShearTimeline extends BoneTimeline2 {
final Pointer<spine_shear_timeline_wrapper> _ptr; final Pointer<spine_shear_timeline_wrapper> _ptr;
ShearTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ShearTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_shear_timeline_cast_to_bone_timeline2(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'bone_timeline1.dart';
class ShearXTimeline extends BoneTimeline1 { class ShearXTimeline extends BoneTimeline1 {
final Pointer<spine_shear_x_timeline_wrapper> _ptr; final Pointer<spine_shear_x_timeline_wrapper> _ptr;
ShearXTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ShearXTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_shear_x_timeline_cast_to_bone_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'bone_timeline1.dart';
class ShearYTimeline extends BoneTimeline1 { class ShearYTimeline extends BoneTimeline1 {
final Pointer<spine_shear_y_timeline_wrapper> _ptr; final Pointer<spine_shear_y_timeline_wrapper> _ptr;
ShearYTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ShearYTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_shear_y_timeline_cast_to_bone_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -284,18 +284,24 @@ class Skeleton {
final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_bounding_box_attachment': case 'BoundingBoxAttachment':
return BoundingBoxAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_bounding_box_attachment(result);
case 'spine_clipping_attachment': return BoundingBoxAttachment.fromPointer(castedPtr);
return ClippingAttachment.fromPointer(result.cast()); case 'ClippingAttachment':
case 'spine_mesh_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_clipping_attachment(result);
return MeshAttachment.fromPointer(result.cast()); return ClippingAttachment.fromPointer(castedPtr);
case 'spine_path_attachment': case 'MeshAttachment':
return PathAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_mesh_attachment(result);
case 'spine_point_attachment': return MeshAttachment.fromPointer(castedPtr);
return PointAttachment.fromPointer(result.cast()); case 'PathAttachment':
case 'spine_region_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_path_attachment(result);
return RegionAttachment.fromPointer(result.cast()); return PathAttachment.fromPointer(castedPtr);
case 'PointAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_point_attachment(result);
return PointAttachment.fromPointer(castedPtr);
case 'RegionAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_region_attachment(result);
return RegionAttachment.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment');
} }
@ -308,18 +314,24 @@ class Skeleton {
final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_bounding_box_attachment': case 'BoundingBoxAttachment':
return BoundingBoxAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_bounding_box_attachment(result);
case 'spine_clipping_attachment': return BoundingBoxAttachment.fromPointer(castedPtr);
return ClippingAttachment.fromPointer(result.cast()); case 'ClippingAttachment':
case 'spine_mesh_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_clipping_attachment(result);
return MeshAttachment.fromPointer(result.cast()); return ClippingAttachment.fromPointer(castedPtr);
case 'spine_path_attachment': case 'MeshAttachment':
return PathAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_mesh_attachment(result);
case 'spine_point_attachment': return MeshAttachment.fromPointer(castedPtr);
return PointAttachment.fromPointer(result.cast()); case 'PathAttachment':
case 'spine_region_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_path_attachment(result);
return RegionAttachment.fromPointer(result.cast()); return PathAttachment.fromPointer(castedPtr);
case 'PointAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_point_attachment(result);
return PointAttachment.fromPointer(castedPtr);
case 'RegionAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_region_attachment(result);
return RegionAttachment.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment');
} }

View File

@ -72,18 +72,24 @@ class Skin {
final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_bounding_box_attachment': case 'BoundingBoxAttachment':
return BoundingBoxAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_bounding_box_attachment(result);
case 'spine_clipping_attachment': return BoundingBoxAttachment.fromPointer(castedPtr);
return ClippingAttachment.fromPointer(result.cast()); case 'ClippingAttachment':
case 'spine_mesh_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_clipping_attachment(result);
return MeshAttachment.fromPointer(result.cast()); return ClippingAttachment.fromPointer(castedPtr);
case 'spine_path_attachment': case 'MeshAttachment':
return PathAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_mesh_attachment(result);
case 'spine_point_attachment': return MeshAttachment.fromPointer(castedPtr);
return PointAttachment.fromPointer(result.cast()); case 'PathAttachment':
case 'spine_region_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_path_attachment(result);
return RegionAttachment.fromPointer(result.cast()); return PathAttachment.fromPointer(castedPtr);
case 'PointAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_point_attachment(result);
return PointAttachment.fromPointer(castedPtr);
case 'RegionAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_region_attachment(result);
return RegionAttachment.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment');
} }

View File

@ -32,21 +32,16 @@
import 'package:universal_ffi/ffi.dart'; import 'package:universal_ffi/ffi.dart';
import 'spine_dart_bindings_generated.dart'; import 'spine_dart_bindings_generated.dart';
import '../spine_bindings.dart'; import '../spine_bindings.dart';
import 'rtti.dart';
import 'bone.dart'; import 'bone.dart';
import 'constraint.dart';
import 'physics.dart';
import 'posed.dart';
import 'posed_active.dart';
import 'skeleton.dart'; import 'skeleton.dart';
import 'slider_base.dart';
import 'slider_data.dart'; import 'slider_data.dart';
import 'slider_pose.dart';
/// Slider wrapper /// Slider wrapper
class Slider extends PosedActive implements Posed, Constraint { class Slider extends SliderBase {
final Pointer<spine_slider_wrapper> _ptr; final Pointer<spine_slider_wrapper> _ptr;
Slider.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); Slider.fromPointer(this._ptr) : super.fromPointer(SpineBindings.bindings.spine_slider_cast_to_slider_base(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override
@ -62,33 +57,11 @@ class Slider extends PosedActive implements Posed, Constraint {
SpineBindings.bindings.spine_slider_dispose(_ptr); SpineBindings.bindings.spine_slider_dispose(_ptr);
} }
@override
Rtti get rtti {
final result = SpineBindings.bindings.spine_slider_get_rtti(_ptr);
return Rtti.fromPointer(result);
}
Slider copy(Skeleton skeleton) { Slider copy(Skeleton skeleton) {
final result = SpineBindings.bindings.spine_slider_copy(_ptr, skeleton.nativePtr.cast()); final result = SpineBindings.bindings.spine_slider_copy(_ptr, skeleton.nativePtr.cast());
return Slider.fromPointer(result); return Slider.fromPointer(result);
} }
@override
void update(Skeleton skeleton, Physics physics) {
SpineBindings.bindings.spine_slider_update(_ptr, skeleton.nativePtr.cast(), physics.value);
}
@override
void sort(Skeleton skeleton) {
SpineBindings.bindings.spine_slider_sort(_ptr, skeleton.nativePtr.cast());
}
@override
bool get isSourceActive {
final result = SpineBindings.bindings.spine_slider_is_source_active(_ptr);
return result;
}
Bone get bone { Bone get bone {
final result = SpineBindings.bindings.spine_slider_get_bone(_ptr); final result = SpineBindings.bindings.spine_slider_get_bone(_ptr);
return Bone.fromPointer(result); return Bone.fromPointer(result);
@ -97,41 +70,4 @@ class Slider extends PosedActive implements Posed, Constraint {
set bone(Bone value) { set bone(Bone value) {
SpineBindings.bindings.spine_slider_set_bone(_ptr, value.nativePtr.cast()); SpineBindings.bindings.spine_slider_set_bone(_ptr, value.nativePtr.cast());
} }
@override
SliderData get data {
final result = SpineBindings.bindings.spine_slider_get_data(_ptr);
return SliderData.fromPointer(result);
}
SliderPose get pose {
final result = SpineBindings.bindings.spine_slider_get_pose(_ptr);
return SliderPose.fromPointer(result);
}
SliderPose get appliedPose {
final result = SpineBindings.bindings.spine_slider_get_applied_pose(_ptr);
return SliderPose.fromPointer(result);
}
@override
void resetConstrained() {
SpineBindings.bindings.spine_slider_reset_constrained(_ptr);
}
@override
void constrained() {
SpineBindings.bindings.spine_slider_constrained(_ptr);
}
@override
bool get isPoseEqualToApplied {
final result = SpineBindings.bindings.spine_slider_is_pose_equal_to_applied(_ptr);
return result;
}
static Rtti rttiStatic() {
final result = SpineBindings.bindings.spine_slider_rtti();
return Rtti.fromPointer(result);
}
} }

View File

@ -0,0 +1,113 @@
//
// Spine Runtimes License Agreement
// Last updated April 5, 2025. Replaces all prior versions.
//
// Copyright (c) 2013-2025, Esoteric Software LLC
//
// Integration of the Spine Runtimes into software or otherwise creating
// derivative works of the Spine Runtimes is permitted under the terms and
// conditions of Section 2 of the Spine Editor License Agreement:
// http://esotericsoftware.com/spine-editor-license
//
// Otherwise, it is permitted to integrate the Spine Runtimes into software
// or otherwise create derivative works of the Spine Runtimes (collectively,
// "Products"), provided that each user of the Products must obtain their own
// Spine Editor license and redistribution of the Products in any form must
// include this license and copyright notice.
//
// THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
// BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
// THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// AUTO GENERATED FILE, DO NOT EDIT.
import 'package:universal_ffi/ffi.dart';
import 'spine_dart_bindings_generated.dart';
import '../spine_bindings.dart';
import 'rtti.dart';
import 'constraint.dart';
import 'physics.dart';
import 'posed.dart';
import 'posed_active.dart';
import 'skeleton.dart';
import 'slider_data.dart';
import 'slider_pose.dart';
/// SliderBase wrapper
abstract class SliderBase extends PosedActive implements Posed, Constraint {
final Pointer<spine_slider_base_wrapper> _ptr;
SliderBase.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_slider_base_cast_to_posed_active(_ptr));
/// Get the native pointer for FFI calls
@override
Pointer get nativePtr => _ptr;
@override
SliderData get data {
final result = SpineBindings.bindings.spine_slider_base_get_data(_ptr);
return SliderData.fromPointer(result);
}
SliderPose get pose {
final result = SpineBindings.bindings.spine_slider_base_get_pose(_ptr);
return SliderPose.fromPointer(result);
}
SliderPose get appliedPose {
final result = SpineBindings.bindings.spine_slider_base_get_applied_pose(_ptr);
return SliderPose.fromPointer(result);
}
@override
void resetConstrained() {
SpineBindings.bindings.spine_slider_base_reset_constrained(_ptr);
}
@override
void constrained() {
SpineBindings.bindings.spine_slider_base_constrained(_ptr);
}
@override
bool get isPoseEqualToApplied {
final result = SpineBindings.bindings.spine_slider_base_is_pose_equal_to_applied(_ptr);
return result;
}
@override
Rtti get rtti {
final result = SpineBindings.bindings.spine_slider_base_get_rtti(_ptr);
return Rtti.fromPointer(result);
}
@override
void sort(Skeleton skeleton) {
SpineBindings.bindings.spine_slider_base_sort(_ptr, skeleton.nativePtr.cast());
}
@override
bool get isSourceActive {
final result = SpineBindings.bindings.spine_slider_base_is_source_active(_ptr);
return result;
}
@override
void update(Skeleton skeleton, Physics physics) {
SpineBindings.bindings.spine_slider_base_update(_ptr, skeleton.nativePtr.cast(), physics.value);
}
static Rtti rttiStatic() {
final result = SpineBindings.bindings.spine_slider_base_rtti();
return Rtti.fromPointer(result);
}
}

View File

@ -58,7 +58,8 @@ import 'transform_constraint.dart';
class SliderData extends PosedData implements ConstraintData { class SliderData extends PosedData implements ConstraintData {
final Pointer<spine_slider_data_wrapper> _ptr; final Pointer<spine_slider_data_wrapper> _ptr;
SliderData.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); SliderData.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_slider_data_cast_to_posed_data(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override
@ -86,16 +87,21 @@ class SliderData extends PosedData implements ConstraintData {
final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result); final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_ik_constraint': case 'IkConstraint':
return IkConstraint.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_ik_constraint(result);
case 'spine_path_constraint': return IkConstraint.fromPointer(castedPtr);
return PathConstraint.fromPointer(result.cast()); case 'PathConstraint':
case 'spine_physics_constraint': final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_path_constraint(result);
return PhysicsConstraint.fromPointer(result.cast()); return PathConstraint.fromPointer(castedPtr);
case 'spine_slider': case 'PhysicsConstraint':
return Slider.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_physics_constraint(result);
case 'spine_transform_constraint': return PhysicsConstraint.fromPointer(castedPtr);
return TransformConstraint.fromPointer(result.cast()); case 'Slider':
final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_slider(result);
return Slider.fromPointer(castedPtr);
case 'TransformConstraint':
final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_transform_constraint(result);
return TransformConstraint.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Constraint'); throw UnsupportedError('Unknown concrete type: $className for abstract class Constraint');
} }
@ -143,18 +149,24 @@ class SliderData extends PosedData implements ConstraintData {
final rtti = SpineBindings.bindings.spine_from_property_get_rtti(result); final rtti = SpineBindings.bindings.spine_from_property_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_from_rotate': case 'FromRotate':
return FromRotate.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_from_property_cast_to_from_rotate(result);
case 'spine_from_scale_x': return FromRotate.fromPointer(castedPtr);
return FromScaleX.fromPointer(result.cast()); case 'FromScaleX':
case 'spine_from_scale_y': final castedPtr = SpineBindings.bindings.spine_from_property_cast_to_from_scale_x(result);
return FromScaleY.fromPointer(result.cast()); return FromScaleX.fromPointer(castedPtr);
case 'spine_from_shear_y': case 'FromScaleY':
return FromShearY.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_from_property_cast_to_from_scale_y(result);
case 'spine_from_x': return FromScaleY.fromPointer(castedPtr);
return FromX.fromPointer(result.cast()); case 'FromShearY':
case 'spine_from_y': final castedPtr = SpineBindings.bindings.spine_from_property_cast_to_from_shear_y(result);
return FromY.fromPointer(result.cast()); return FromShearY.fromPointer(castedPtr);
case 'FromX':
final castedPtr = SpineBindings.bindings.spine_from_property_cast_to_from_x(result);
return FromX.fromPointer(castedPtr);
case 'FromY':
final castedPtr = SpineBindings.bindings.spine_from_property_cast_to_from_y(result);
return FromY.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class FromProperty'); throw UnsupportedError('Unknown concrete type: $className for abstract class FromProperty');
} }

View File

@ -38,7 +38,8 @@ import 'constraint_timeline1.dart';
class SliderMixTimeline extends ConstraintTimeline1 { class SliderMixTimeline extends ConstraintTimeline1 {
final Pointer<spine_slider_mix_timeline_wrapper> _ptr; final Pointer<spine_slider_mix_timeline_wrapper> _ptr;
SliderMixTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); SliderMixTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_slider_mix_timeline_cast_to_constraint_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'constraint_timeline1.dart';
class SliderTimeline extends ConstraintTimeline1 { class SliderTimeline extends ConstraintTimeline1 {
final Pointer<spine_slider_timeline_wrapper> _ptr; final Pointer<spine_slider_timeline_wrapper> _ptr;
SliderTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); SliderTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_slider_timeline_cast_to_constraint_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -39,7 +39,8 @@ import 'slot_timeline.dart';
abstract class SlotCurveTimeline extends CurveTimeline implements SlotTimeline { abstract class SlotCurveTimeline extends CurveTimeline implements SlotTimeline {
final Pointer<spine_slot_curve_timeline_wrapper> _ptr; final Pointer<spine_slot_curve_timeline_wrapper> _ptr;
SlotCurveTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); SlotCurveTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_slot_curve_timeline_cast_to_curve_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -42,7 +42,7 @@ import 'slot_pose.dart';
class SlotData extends PosedData { class SlotData extends PosedData {
final Pointer<spine_slot_data_wrapper> _ptr; final Pointer<spine_slot_data_wrapper> _ptr;
SlotData.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); SlotData.fromPointer(this._ptr) : super.fromPointer(SpineBindings.bindings.spine_slot_data_cast_to_posed_data(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -90,18 +90,24 @@ class SlotPose {
final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_bounding_box_attachment': case 'BoundingBoxAttachment':
return BoundingBoxAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_bounding_box_attachment(result);
case 'spine_clipping_attachment': return BoundingBoxAttachment.fromPointer(castedPtr);
return ClippingAttachment.fromPointer(result.cast()); case 'ClippingAttachment':
case 'spine_mesh_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_clipping_attachment(result);
return MeshAttachment.fromPointer(result.cast()); return ClippingAttachment.fromPointer(castedPtr);
case 'spine_path_attachment': case 'MeshAttachment':
return PathAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_mesh_attachment(result);
case 'spine_point_attachment': return MeshAttachment.fromPointer(castedPtr);
return PointAttachment.fromPointer(result.cast()); case 'PathAttachment':
case 'spine_region_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_path_attachment(result);
return RegionAttachment.fromPointer(result.cast()); return PathAttachment.fromPointer(castedPtr);
case 'PointAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_point_attachment(result);
return PointAttachment.fromPointer(castedPtr);
case 'RegionAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_region_attachment(result);
return RegionAttachment.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment');
} }

File diff suppressed because it is too large Load Diff

View File

@ -38,7 +38,7 @@ import 'to_property.dart';
class ToRotate extends ToProperty { class ToRotate extends ToProperty {
final Pointer<spine_to_rotate_wrapper> _ptr; final Pointer<spine_to_rotate_wrapper> _ptr;
ToRotate.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ToRotate.fromPointer(this._ptr) : super.fromPointer(SpineBindings.bindings.spine_to_rotate_cast_to_to_property(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'to_property.dart';
class ToScaleX extends ToProperty { class ToScaleX extends ToProperty {
final Pointer<spine_to_scale_x_wrapper> _ptr; final Pointer<spine_to_scale_x_wrapper> _ptr;
ToScaleX.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ToScaleX.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_to_scale_x_cast_to_to_property(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'to_property.dart';
class ToScaleY extends ToProperty { class ToScaleY extends ToProperty {
final Pointer<spine_to_scale_y_wrapper> _ptr; final Pointer<spine_to_scale_y_wrapper> _ptr;
ToScaleY.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ToScaleY.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_to_scale_y_cast_to_to_property(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'to_property.dart';
class ToShearY extends ToProperty { class ToShearY extends ToProperty {
final Pointer<spine_to_shear_y_wrapper> _ptr; final Pointer<spine_to_shear_y_wrapper> _ptr;
ToShearY.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ToShearY.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_to_shear_y_cast_to_to_property(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,7 @@ import 'to_property.dart';
class ToX extends ToProperty { class ToX extends ToProperty {
final Pointer<spine_to_x_wrapper> _ptr; final Pointer<spine_to_x_wrapper> _ptr;
ToX.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ToX.fromPointer(this._ptr) : super.fromPointer(SpineBindings.bindings.spine_to_x_cast_to_to_property(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,7 @@ import 'to_property.dart';
class ToY extends ToProperty { class ToY extends ToProperty {
final Pointer<spine_to_y_wrapper> _ptr; final Pointer<spine_to_y_wrapper> _ptr;
ToY.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); ToY.fromPointer(this._ptr) : super.fromPointer(SpineBindings.bindings.spine_to_y_cast_to_to_property(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -32,22 +32,18 @@
import 'package:universal_ffi/ffi.dart'; import 'package:universal_ffi/ffi.dart';
import 'spine_dart_bindings_generated.dart'; import 'spine_dart_bindings_generated.dart';
import '../spine_bindings.dart'; import '../spine_bindings.dart';
import 'rtti.dart';
import 'arrays.dart'; import 'arrays.dart';
import 'bone.dart'; import 'bone.dart';
import 'constraint.dart';
import 'physics.dart';
import 'posed.dart';
import 'posed_active.dart';
import 'skeleton.dart'; import 'skeleton.dart';
import 'transform_constraint_base.dart';
import 'transform_constraint_data.dart'; import 'transform_constraint_data.dart';
import 'transform_constraint_pose.dart';
/// TransformConstraint wrapper /// TransformConstraint wrapper
class TransformConstraint extends PosedActive implements Posed, Constraint { class TransformConstraint extends TransformConstraintBase {
final Pointer<spine_transform_constraint_wrapper> _ptr; final Pointer<spine_transform_constraint_wrapper> _ptr;
TransformConstraint.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); TransformConstraint.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_transform_constraint_cast_to_transform_constraint_base(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override
@ -64,33 +60,11 @@ class TransformConstraint extends PosedActive implements Posed, Constraint {
SpineBindings.bindings.spine_transform_constraint_dispose(_ptr); SpineBindings.bindings.spine_transform_constraint_dispose(_ptr);
} }
@override
Rtti get rtti {
final result = SpineBindings.bindings.spine_transform_constraint_get_rtti(_ptr);
return Rtti.fromPointer(result);
}
TransformConstraint copy(Skeleton skeleton) { TransformConstraint copy(Skeleton skeleton) {
final result = SpineBindings.bindings.spine_transform_constraint_copy(_ptr, skeleton.nativePtr.cast()); final result = SpineBindings.bindings.spine_transform_constraint_copy(_ptr, skeleton.nativePtr.cast());
return TransformConstraint.fromPointer(result); return TransformConstraint.fromPointer(result);
} }
@override
void update(Skeleton skeleton, Physics physics) {
SpineBindings.bindings.spine_transform_constraint_update(_ptr, skeleton.nativePtr.cast(), physics.value);
}
@override
void sort(Skeleton skeleton) {
SpineBindings.bindings.spine_transform_constraint_sort(_ptr, skeleton.nativePtr.cast());
}
@override
bool get isSourceActive {
final result = SpineBindings.bindings.spine_transform_constraint_is_source_active(_ptr);
return result;
}
ArrayBonePose get bones { ArrayBonePose get bones {
final result = SpineBindings.bindings.spine_transform_constraint_get_bones(_ptr); final result = SpineBindings.bindings.spine_transform_constraint_get_bones(_ptr);
return ArrayBonePose.fromPointer(result); return ArrayBonePose.fromPointer(result);
@ -104,41 +78,4 @@ class TransformConstraint extends PosedActive implements Posed, Constraint {
set source(Bone value) { set source(Bone value) {
SpineBindings.bindings.spine_transform_constraint_set_source(_ptr, value.nativePtr.cast()); SpineBindings.bindings.spine_transform_constraint_set_source(_ptr, value.nativePtr.cast());
} }
@override
TransformConstraintData get data {
final result = SpineBindings.bindings.spine_transform_constraint_get_data(_ptr);
return TransformConstraintData.fromPointer(result);
}
TransformConstraintPose get pose {
final result = SpineBindings.bindings.spine_transform_constraint_get_pose(_ptr);
return TransformConstraintPose.fromPointer(result);
}
TransformConstraintPose get appliedPose {
final result = SpineBindings.bindings.spine_transform_constraint_get_applied_pose(_ptr);
return TransformConstraintPose.fromPointer(result);
}
@override
void resetConstrained() {
SpineBindings.bindings.spine_transform_constraint_reset_constrained(_ptr);
}
@override
void constrained() {
SpineBindings.bindings.spine_transform_constraint_constrained(_ptr);
}
@override
bool get isPoseEqualToApplied {
final result = SpineBindings.bindings.spine_transform_constraint_is_pose_equal_to_applied(_ptr);
return result;
}
static Rtti rttiStatic() {
final result = SpineBindings.bindings.spine_transform_constraint_rtti();
return Rtti.fromPointer(result);
}
} }

View File

@ -0,0 +1,113 @@
//
// Spine Runtimes License Agreement
// Last updated April 5, 2025. Replaces all prior versions.
//
// Copyright (c) 2013-2025, Esoteric Software LLC
//
// Integration of the Spine Runtimes into software or otherwise creating
// derivative works of the Spine Runtimes is permitted under the terms and
// conditions of Section 2 of the Spine Editor License Agreement:
// http://esotericsoftware.com/spine-editor-license
//
// Otherwise, it is permitted to integrate the Spine Runtimes into software
// or otherwise create derivative works of the Spine Runtimes (collectively,
// "Products"), provided that each user of the Products must obtain their own
// Spine Editor license and redistribution of the Products in any form must
// include this license and copyright notice.
//
// THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
// BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
// THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// AUTO GENERATED FILE, DO NOT EDIT.
import 'package:universal_ffi/ffi.dart';
import 'spine_dart_bindings_generated.dart';
import '../spine_bindings.dart';
import 'rtti.dart';
import 'constraint.dart';
import 'physics.dart';
import 'posed.dart';
import 'posed_active.dart';
import 'skeleton.dart';
import 'transform_constraint_data.dart';
import 'transform_constraint_pose.dart';
/// TransformConstraintBase wrapper
abstract class TransformConstraintBase extends PosedActive implements Posed, Constraint {
final Pointer<spine_transform_constraint_base_wrapper> _ptr;
TransformConstraintBase.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_transform_constraint_base_cast_to_posed_active(_ptr));
/// Get the native pointer for FFI calls
@override
Pointer get nativePtr => _ptr;
@override
TransformConstraintData get data {
final result = SpineBindings.bindings.spine_transform_constraint_base_get_data(_ptr);
return TransformConstraintData.fromPointer(result);
}
TransformConstraintPose get pose {
final result = SpineBindings.bindings.spine_transform_constraint_base_get_pose(_ptr);
return TransformConstraintPose.fromPointer(result);
}
TransformConstraintPose get appliedPose {
final result = SpineBindings.bindings.spine_transform_constraint_base_get_applied_pose(_ptr);
return TransformConstraintPose.fromPointer(result);
}
@override
void resetConstrained() {
SpineBindings.bindings.spine_transform_constraint_base_reset_constrained(_ptr);
}
@override
void constrained() {
SpineBindings.bindings.spine_transform_constraint_base_constrained(_ptr);
}
@override
bool get isPoseEqualToApplied {
final result = SpineBindings.bindings.spine_transform_constraint_base_is_pose_equal_to_applied(_ptr);
return result;
}
@override
Rtti get rtti {
final result = SpineBindings.bindings.spine_transform_constraint_base_get_rtti(_ptr);
return Rtti.fromPointer(result);
}
@override
void sort(Skeleton skeleton) {
SpineBindings.bindings.spine_transform_constraint_base_sort(_ptr, skeleton.nativePtr.cast());
}
@override
bool get isSourceActive {
final result = SpineBindings.bindings.spine_transform_constraint_base_is_source_active(_ptr);
return result;
}
@override
void update(Skeleton skeleton, Physics physics) {
SpineBindings.bindings.spine_transform_constraint_base_update(_ptr, skeleton.nativePtr.cast(), physics.value);
}
static Rtti rttiStatic() {
final result = SpineBindings.bindings.spine_transform_constraint_base_rtti();
return Rtti.fromPointer(result);
}
}

View File

@ -51,7 +51,8 @@ import 'transform_constraint_pose.dart';
class TransformConstraintData extends PosedData implements ConstraintData { class TransformConstraintData extends PosedData implements ConstraintData {
final Pointer<spine_transform_constraint_data_wrapper> _ptr; final Pointer<spine_transform_constraint_data_wrapper> _ptr;
TransformConstraintData.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); TransformConstraintData.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_transform_constraint_data_cast_to_posed_data(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override
@ -80,16 +81,21 @@ class TransformConstraintData extends PosedData implements ConstraintData {
final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result); final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_ik_constraint': case 'IkConstraint':
return IkConstraint.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_ik_constraint(result);
case 'spine_path_constraint': return IkConstraint.fromPointer(castedPtr);
return PathConstraint.fromPointer(result.cast()); case 'PathConstraint':
case 'spine_physics_constraint': final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_path_constraint(result);
return PhysicsConstraint.fromPointer(result.cast()); return PathConstraint.fromPointer(castedPtr);
case 'spine_slider': case 'PhysicsConstraint':
return Slider.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_physics_constraint(result);
case 'spine_transform_constraint': return PhysicsConstraint.fromPointer(castedPtr);
return TransformConstraint.fromPointer(result.cast()); case 'Slider':
final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_slider(result);
return Slider.fromPointer(castedPtr);
case 'TransformConstraint':
final castedPtr = SpineBindings.bindings.spine_constraint_cast_to_transform_constraint(result);
return TransformConstraint.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Constraint'); throw UnsupportedError('Unknown concrete type: $className for abstract class Constraint');
} }

View File

@ -39,7 +39,8 @@ import 'curve_timeline.dart';
class TransformConstraintTimeline extends CurveTimeline implements ConstraintTimeline { class TransformConstraintTimeline extends CurveTimeline implements ConstraintTimeline {
final Pointer<spine_transform_constraint_timeline_wrapper> _ptr; final Pointer<spine_transform_constraint_timeline_wrapper> _ptr;
TransformConstraintTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); TransformConstraintTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_transform_constraint_timeline_cast_to_curve_timeline(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'bone_timeline2.dart';
class TranslateTimeline extends BoneTimeline2 { class TranslateTimeline extends BoneTimeline2 {
final Pointer<spine_translate_timeline_wrapper> _ptr; final Pointer<spine_translate_timeline_wrapper> _ptr;
TranslateTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); TranslateTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_translate_timeline_cast_to_bone_timeline2(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'bone_timeline1.dart';
class TranslateXTimeline extends BoneTimeline1 { class TranslateXTimeline extends BoneTimeline1 {
final Pointer<spine_translate_x_timeline_wrapper> _ptr; final Pointer<spine_translate_x_timeline_wrapper> _ptr;
TranslateXTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); TranslateXTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_translate_x_timeline_cast_to_bone_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -38,7 +38,8 @@ import 'bone_timeline1.dart';
class TranslateYTimeline extends BoneTimeline1 { class TranslateYTimeline extends BoneTimeline1 {
final Pointer<spine_translate_y_timeline_wrapper> _ptr; final Pointer<spine_translate_y_timeline_wrapper> _ptr;
TranslateYTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); TranslateYTimeline.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_translate_y_timeline_cast_to_bone_timeline1(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override

View File

@ -48,7 +48,8 @@ import 'slot.dart';
abstract class VertexAttachment extends Attachment { abstract class VertexAttachment extends Attachment {
final Pointer<spine_vertex_attachment_wrapper> _ptr; final Pointer<spine_vertex_attachment_wrapper> _ptr;
VertexAttachment.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); VertexAttachment.fromPointer(this._ptr)
: super.fromPointer(SpineBindings.bindings.spine_vertex_attachment_cast_to_attachment(_ptr));
/// Get the native pointer for FFI calls /// Get the native pointer for FFI calls
@override @override
@ -92,18 +93,24 @@ abstract class VertexAttachment extends Attachment {
final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result);
final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString(); final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast<Utf8>().toDartString();
switch (className) { switch (className) {
case 'spine_bounding_box_attachment': case 'BoundingBoxAttachment':
return BoundingBoxAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_bounding_box_attachment(result);
case 'spine_clipping_attachment': return BoundingBoxAttachment.fromPointer(castedPtr);
return ClippingAttachment.fromPointer(result.cast()); case 'ClippingAttachment':
case 'spine_mesh_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_clipping_attachment(result);
return MeshAttachment.fromPointer(result.cast()); return ClippingAttachment.fromPointer(castedPtr);
case 'spine_path_attachment': case 'MeshAttachment':
return PathAttachment.fromPointer(result.cast()); final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_mesh_attachment(result);
case 'spine_point_attachment': return MeshAttachment.fromPointer(castedPtr);
return PointAttachment.fromPointer(result.cast()); case 'PathAttachment':
case 'spine_region_attachment': final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_path_attachment(result);
return RegionAttachment.fromPointer(result.cast()); return PathAttachment.fromPointer(castedPtr);
case 'PointAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_point_attachment(result);
return PointAttachment.fromPointer(castedPtr);
case 'RegionAttachment':
final castedPtr = SpineBindings.bindings.spine_attachment_cast_to_region_attachment(result);
return RegionAttachment.fromPointer(castedPtr);
default: default:
throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment');
} }

View File

@ -117,6 +117,7 @@ Future<SpineDartFFI> initSpineDartFFI(bool useStaticLinkage) async {
registerOpaqueType<spine_from_shear_y_wrapper>(); registerOpaqueType<spine_from_shear_y_wrapper>();
registerOpaqueType<spine_from_x_wrapper>(); registerOpaqueType<spine_from_x_wrapper>();
registerOpaqueType<spine_from_y_wrapper>(); registerOpaqueType<spine_from_y_wrapper>();
registerOpaqueType<spine_ik_constraint_base_wrapper>();
registerOpaqueType<spine_ik_constraint_data_wrapper>(); registerOpaqueType<spine_ik_constraint_data_wrapper>();
registerOpaqueType<spine_ik_constraint_pose_wrapper>(); registerOpaqueType<spine_ik_constraint_pose_wrapper>();
registerOpaqueType<spine_ik_constraint_timeline_wrapper>(); registerOpaqueType<spine_ik_constraint_timeline_wrapper>();
@ -125,12 +126,14 @@ Future<SpineDartFFI> initSpineDartFFI(bool useStaticLinkage) async {
registerOpaqueType<spine_linked_mesh_wrapper>(); registerOpaqueType<spine_linked_mesh_wrapper>();
registerOpaqueType<spine_mesh_attachment_wrapper>(); registerOpaqueType<spine_mesh_attachment_wrapper>();
registerOpaqueType<spine_path_attachment_wrapper>(); registerOpaqueType<spine_path_attachment_wrapper>();
registerOpaqueType<spine_path_constraint_base_wrapper>();
registerOpaqueType<spine_path_constraint_data_wrapper>(); registerOpaqueType<spine_path_constraint_data_wrapper>();
registerOpaqueType<spine_path_constraint_mix_timeline_wrapper>(); registerOpaqueType<spine_path_constraint_mix_timeline_wrapper>();
registerOpaqueType<spine_path_constraint_pose_wrapper>(); registerOpaqueType<spine_path_constraint_pose_wrapper>();
registerOpaqueType<spine_path_constraint_position_timeline_wrapper>(); registerOpaqueType<spine_path_constraint_position_timeline_wrapper>();
registerOpaqueType<spine_path_constraint_spacing_timeline_wrapper>(); registerOpaqueType<spine_path_constraint_spacing_timeline_wrapper>();
registerOpaqueType<spine_path_constraint_wrapper>(); registerOpaqueType<spine_path_constraint_wrapper>();
registerOpaqueType<spine_physics_constraint_base_wrapper>();
registerOpaqueType<spine_physics_constraint_damping_timeline_wrapper>(); registerOpaqueType<spine_physics_constraint_damping_timeline_wrapper>();
registerOpaqueType<spine_physics_constraint_data_wrapper>(); registerOpaqueType<spine_physics_constraint_data_wrapper>();
registerOpaqueType<spine_physics_constraint_gravity_timeline_wrapper>(); registerOpaqueType<spine_physics_constraint_gravity_timeline_wrapper>();
@ -176,6 +179,7 @@ Future<SpineDartFFI> initSpineDartFFI(bool useStaticLinkage) async {
registerOpaqueType<spine_skin_entries_wrapper>(); registerOpaqueType<spine_skin_entries_wrapper>();
registerOpaqueType<spine_skin_entry_wrapper>(); registerOpaqueType<spine_skin_entry_wrapper>();
registerOpaqueType<spine_skin_wrapper>(); registerOpaqueType<spine_skin_wrapper>();
registerOpaqueType<spine_slider_base_wrapper>();
registerOpaqueType<spine_slider_data_wrapper>(); registerOpaqueType<spine_slider_data_wrapper>();
registerOpaqueType<spine_slider_mix_timeline_wrapper>(); registerOpaqueType<spine_slider_mix_timeline_wrapper>();
registerOpaqueType<spine_slider_pose_wrapper>(); registerOpaqueType<spine_slider_pose_wrapper>();
@ -197,6 +201,7 @@ Future<SpineDartFFI> initSpineDartFFI(bool useStaticLinkage) async {
registerOpaqueType<spine_to_x_wrapper>(); registerOpaqueType<spine_to_x_wrapper>();
registerOpaqueType<spine_to_y_wrapper>(); registerOpaqueType<spine_to_y_wrapper>();
registerOpaqueType<spine_track_entry_wrapper>(); registerOpaqueType<spine_track_entry_wrapper>();
registerOpaqueType<spine_transform_constraint_base_wrapper>();
registerOpaqueType<spine_transform_constraint_data_wrapper>(); registerOpaqueType<spine_transform_constraint_data_wrapper>();
registerOpaqueType<spine_transform_constraint_pose_wrapper>(); registerOpaqueType<spine_transform_constraint_pose_wrapper>();
registerOpaqueType<spine_transform_constraint_timeline_wrapper>(); registerOpaqueType<spine_transform_constraint_timeline_wrapper>();

View File

@ -99,7 +99,8 @@ void main() async {
for (final constraint in drawable.skeleton.constraints) { for (final constraint in drawable.skeleton.constraints) {
final data = constraint?.data; final data = constraint?.data;
print(' Constraint type: ${constraint?.rtti.className}'); print(' Constraint type: ${constraint?.rtti.className}');
print(' Constraint data type: ${constraint?.data?.rtti.className}'); print(' Constraint data type: ${constraint?.data.rtti.className}');
print(' Constraint name: ${data?.name}');
} }
// Check manager state before cleanup // Check manager state before cleanup