From cfeb2505d1889cda169204462ba2e510b9e490e9 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Fri, 2 Sep 2022 11:38:05 +0200 Subject: [PATCH] [flutter] Add missing setters to XXXData. --- spine-flutter/lib/spine_flutter.dart | 82 ++++ .../lib/spine_flutter_bindings_generated.dart | 355 ++++++++++++++++++ spine-flutter/src/spine_flutter.cpp | 117 +++++- spine-flutter/src/spine_flutter.h | 20 + 4 files changed, 572 insertions(+), 2 deletions(-) diff --git a/spine-flutter/lib/spine_flutter.dart b/spine-flutter/lib/spine_flutter.dart index c66bda41d..15ec4347d 100644 --- a/spine-flutter/lib/spine_flutter.dart +++ b/spine-flutter/lib/spine_flutter.dart @@ -334,21 +334,37 @@ class SkeletonData { return _bindings.spine_skeleton_data_get_x(_data); } + void setX(double x) { + _bindings.spine_skeleton_data_set_x(_data, x); + } + /// The Y coordinate of the skeleton's axis aligned bounding box in the setup pose. double getY() { return _bindings.spine_skeleton_data_get_y(_data); } + void setY(double y) { + _bindings.spine_skeleton_data_set_x(_data, y); + } + /// The width of the skeleton's axis aligned bounding box in the setup pose. double getWidth() { return _bindings.spine_skeleton_data_get_width(_data); } + void setWidth(double width) { + _bindings.spine_skeleton_data_set_width(_data, width); + } + /// The height of the skeleton's axis aligned bounding box in the setup pose. double getHeight() { return _bindings.spine_skeleton_data_get_height(_data); } + void setHeight(double height) { + _bindings.spine_skeleton_data_set_height(_data, height); + } + /// The Spine version used to export the skeleton data. String? getVersion() { Pointer name = _bindings.spine_skeleton_data_get_version(_data).cast(); @@ -434,48 +450,92 @@ class BoneData { return _bindings.spine_bone_data_get_length(_data); } + void setLength(double length) { + _bindings.spine_bone_data_set_length(_data, length); + } + double getX() { return _bindings.spine_bone_data_get_x(_data); } + void setX(double x) { + _bindings.spine_bone_data_set_x(_data, x); + } + double getY() { return _bindings.spine_bone_data_get_y(_data); } + void setY(double y) { + _bindings.spine_bone_data_set_y(_data, y); + } + double getRotation() { return _bindings.spine_bone_data_get_rotation(_data); } + void setRotation(double rotation) { + _bindings.spine_bone_data_set_rotation(_data, rotation); + } + double getScaleX() { return _bindings.spine_bone_data_get_scale_x(_data); } + void setScaleX(double scaleX) { + _bindings.spine_bone_data_set_scale_x(_data, scaleX); + } + double getScaleY() { return _bindings.spine_bone_data_get_scale_y(_data); } + void setScaleY(double scaleY) { + _bindings.spine_bone_data_set_scale_y(_data, scaleY); + } + double getShearX() { return _bindings.spine_bone_data_get_shear_x(_data); } + void setShearX(double shearX) { + _bindings.spine_bone_data_set_shear_x(_data, shearX); + } + double getShearY() { return _bindings.spine_bone_data_get_shear_y(_data); } + void setShearY(double shearY) { + _bindings.spine_bone_data_set_shear_y(_data, shearY); + } + TransformMode getTransformMode() { final nativeMode = _bindings.spine_bone_data_get_transform_mode(_data); return TransformMode.values[nativeMode]; } + void setTransformMode(TransformMode mode) { + _bindings.spine_bone_data_set_transform_mode(_data, mode.value); + } + bool isSkinRequired() { return _bindings.spine_bone_data_is_skin_required(_data) == -1; } + void setIsSkinRequired(bool isSkinRequired) { + _bindings.spine_bone_data_set_is_skin_required(_data, isSkinRequired ? -1 : 0); + } + Color getColor() { final color = _bindings.spine_bone_data_get_color(_data); return Color(color.r, color.g, color.b, color.a); } + void setColor(double r, double g, double b, double a) { + _bindings.spine_bone_data_set_color(_data, r, g, b, a); + } + @override String toString() { return getName(); @@ -765,24 +825,46 @@ class SlotData { return Color(color.r, color.g, color.b, color.a); } + void setColor(double r, double g, double b, double a) { + _bindings.spine_slot_data_set_color(_data, r, g, b, a); + } + Color getDarkColor() { final color = _bindings.spine_slot_data_get_dark_color(_data); return Color(color.r, color.g, color.b, color.a); } + void setDarkColor(double r, double g, double b, double a) { + _bindings.spine_slot_data_set_dark_color(_data, r, g, b, a); + } + bool hasDarkColor() { return _bindings.spine_slot_data_has_dark_color(_data) == -1; } + void setHasDarkColor(bool hasDarkColor) { + _bindings.spine_slot_data_set_has_dark_color(_data, hasDarkColor ? -1 : 0); + } + String getAttachmentName() { final Pointer value = _bindings.spine_slot_data_get_attachment_name(_data).cast(); return value.toDartString(); } + void setAttachmentName(String attachmentName) { + final nativeName = attachmentName.toNativeUtf8(); + _bindings.spine_slot_data_set_attachment_name(_data, nativeName.cast()); + malloc.free(nativeName); + } + BlendMode getBlendMode() { return BlendMode.values[_bindings.spine_slot_data_get_blend_mode(_data)]; } + void setBlendMode(BlendMode mode) { + _bindings.spine_slot_data_set_blend_mode(_data, mode.value); + } + @override String toString() { return getName(); diff --git a/spine-flutter/lib/spine_flutter_bindings_generated.dart b/spine-flutter/lib/spine_flutter_bindings_generated.dart index feba9be41..fd8b22bd2 100644 --- a/spine-flutter/lib/spine_flutter_bindings_generated.dart +++ b/spine-flutter/lib/spine_flutter_bindings_generated.dart @@ -592,6 +592,23 @@ class SpineFlutterBindings { late final _spine_skeleton_data_get_x = _spine_skeleton_data_get_xPtr .asFunction(); + void spine_skeleton_data_set_x( + spine_skeleton_data data, + double x, + ) { + return _spine_skeleton_data_set_x( + data, + x, + ); + } + + late final _spine_skeleton_data_set_xPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_skeleton_data, ffi.Float)>>('spine_skeleton_data_set_x'); + late final _spine_skeleton_data_set_x = _spine_skeleton_data_set_xPtr + .asFunction(); + double spine_skeleton_data_get_y( spine_skeleton_data data, ) { @@ -606,6 +623,23 @@ class SpineFlutterBindings { late final _spine_skeleton_data_get_y = _spine_skeleton_data_get_yPtr .asFunction(); + void spine_skeleton_data_set_y( + spine_skeleton_data data, + double y, + ) { + return _spine_skeleton_data_set_y( + data, + y, + ); + } + + late final _spine_skeleton_data_set_yPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_skeleton_data, ffi.Float)>>('spine_skeleton_data_set_y'); + late final _spine_skeleton_data_set_y = _spine_skeleton_data_set_yPtr + .asFunction(); + double spine_skeleton_data_get_width( spine_skeleton_data data, ) { @@ -620,6 +654,23 @@ class SpineFlutterBindings { late final _spine_skeleton_data_get_width = _spine_skeleton_data_get_widthPtr .asFunction(); + void spine_skeleton_data_set_width( + spine_skeleton_data data, + double width, + ) { + return _spine_skeleton_data_set_width( + data, + width, + ); + } + + late final _spine_skeleton_data_set_widthPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton_data, + ffi.Float)>>('spine_skeleton_data_set_width'); + late final _spine_skeleton_data_set_width = _spine_skeleton_data_set_widthPtr + .asFunction(); + double spine_skeleton_data_get_height( spine_skeleton_data data, ) { @@ -635,6 +686,24 @@ class SpineFlutterBindings { _spine_skeleton_data_get_heightPtr .asFunction(); + void spine_skeleton_data_set_height( + spine_skeleton_data data, + double height, + ) { + return _spine_skeleton_data_set_height( + data, + height, + ); + } + + late final _spine_skeleton_data_set_heightPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton_data, + ffi.Float)>>('spine_skeleton_data_set_height'); + late final _spine_skeleton_data_set_height = + _spine_skeleton_data_set_heightPtr + .asFunction(); + ffi.Pointer spine_skeleton_data_get_version( spine_skeleton_data data, ) { @@ -2807,6 +2876,30 @@ class SpineFlutterBindings { late final _spine_slot_data_get_color = _spine_slot_data_get_colorPtr .asFunction(); + void spine_slot_data_set_color( + spine_slot_data slot, + double r, + double g, + double b, + double a, + ) { + return _spine_slot_data_set_color( + slot, + r, + g, + b, + a, + ); + } + + late final _spine_slot_data_set_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_slot_data, ffi.Float, ffi.Float, ffi.Float, + ffi.Float)>>('spine_slot_data_set_color'); + late final _spine_slot_data_set_color = + _spine_slot_data_set_colorPtr.asFunction< + void Function(spine_slot_data, double, double, double, double)>(); + spine_color spine_slot_data_get_dark_color( spine_slot_data slot, ) { @@ -2822,6 +2915,30 @@ class SpineFlutterBindings { _spine_slot_data_get_dark_colorPtr .asFunction(); + void spine_slot_data_set_dark_color( + spine_slot_data slot, + double r, + double g, + double b, + double a, + ) { + return _spine_slot_data_set_dark_color( + slot, + r, + g, + b, + a, + ); + } + + late final _spine_slot_data_set_dark_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_slot_data, ffi.Float, ffi.Float, ffi.Float, + ffi.Float)>>('spine_slot_data_set_dark_color'); + late final _spine_slot_data_set_dark_color = + _spine_slot_data_set_dark_colorPtr.asFunction< + void Function(spine_slot_data, double, double, double, double)>(); + int spine_slot_data_has_dark_color( spine_slot_data slot, ) { @@ -2837,6 +2954,23 @@ class SpineFlutterBindings { _spine_slot_data_has_dark_colorPtr .asFunction(); + void spine_slot_data_set_has_dark_color( + spine_slot_data slot, + int hasDarkColor, + ) { + return _spine_slot_data_set_has_dark_color( + slot, + hasDarkColor, + ); + } + + late final _spine_slot_data_set_has_dark_colorPtr = _lookup< + ffi.NativeFunction>( + 'spine_slot_data_set_has_dark_color'); + late final _spine_slot_data_set_has_dark_color = + _spine_slot_data_set_has_dark_colorPtr + .asFunction(); + ffi.Pointer spine_slot_data_get_attachment_name( spine_slot_data slot, ) { @@ -2852,6 +2986,24 @@ class SpineFlutterBindings { _spine_slot_data_get_attachment_namePtr .asFunction Function(spine_slot_data)>(); + void spine_slot_data_set_attachment_name( + spine_slot_data slot, + ffi.Pointer attachmentName, + ) { + return _spine_slot_data_set_attachment_name( + slot, + attachmentName, + ); + } + + late final _spine_slot_data_set_attachment_namePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_slot_data, + ffi.Pointer)>>('spine_slot_data_set_attachment_name'); + late final _spine_slot_data_set_attachment_name = + _spine_slot_data_set_attachment_namePtr + .asFunction)>(); + int spine_slot_data_get_blend_mode( spine_slot_data slot, ) { @@ -2867,6 +3019,23 @@ class SpineFlutterBindings { _spine_slot_data_get_blend_modePtr .asFunction(); + void spine_slot_data_set_blend_mode( + spine_slot_data slot, + int blendMode, + ) { + return _spine_slot_data_set_blend_mode( + slot, + blendMode, + ); + } + + late final _spine_slot_data_set_blend_modePtr = _lookup< + ffi.NativeFunction>( + 'spine_slot_data_set_blend_mode'); + late final _spine_slot_data_set_blend_mode = + _spine_slot_data_set_blend_modePtr + .asFunction(); + void spine_slot_set_to_setup_pose( spine_slot slot, ) { @@ -3097,6 +3266,22 @@ class SpineFlutterBindings { late final _spine_bone_data_get_length = _spine_bone_data_get_lengthPtr .asFunction(); + void spine_bone_data_set_length( + spine_bone_data data, + double length, + ) { + return _spine_bone_data_set_length( + data, + length, + ); + } + + late final _spine_bone_data_set_lengthPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_length'); + late final _spine_bone_data_set_length = _spine_bone_data_set_lengthPtr + .asFunction(); + double spine_bone_data_get_x( spine_bone_data data, ) { @@ -3111,6 +3296,22 @@ class SpineFlutterBindings { late final _spine_bone_data_get_x = _spine_bone_data_get_xPtr.asFunction(); + void spine_bone_data_set_x( + spine_bone_data data, + double x, + ) { + return _spine_bone_data_set_x( + data, + x, + ); + } + + late final _spine_bone_data_set_xPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_x'); + late final _spine_bone_data_set_x = _spine_bone_data_set_xPtr + .asFunction(); + double spine_bone_data_get_y( spine_bone_data data, ) { @@ -3125,6 +3326,22 @@ class SpineFlutterBindings { late final _spine_bone_data_get_y = _spine_bone_data_get_yPtr.asFunction(); + void spine_bone_data_set_y( + spine_bone_data data, + double y, + ) { + return _spine_bone_data_set_y( + data, + y, + ); + } + + late final _spine_bone_data_set_yPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_y'); + late final _spine_bone_data_set_y = _spine_bone_data_set_yPtr + .asFunction(); + double spine_bone_data_get_rotation( spine_bone_data data, ) { @@ -3139,6 +3356,22 @@ class SpineFlutterBindings { late final _spine_bone_data_get_rotation = _spine_bone_data_get_rotationPtr .asFunction(); + void spine_bone_data_set_rotation( + spine_bone_data data, + double rotation, + ) { + return _spine_bone_data_set_rotation( + data, + rotation, + ); + } + + late final _spine_bone_data_set_rotationPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_rotation'); + late final _spine_bone_data_set_rotation = _spine_bone_data_set_rotationPtr + .asFunction(); + double spine_bone_data_get_scale_x( spine_bone_data data, ) { @@ -3153,6 +3386,22 @@ class SpineFlutterBindings { late final _spine_bone_data_get_scale_x = _spine_bone_data_get_scale_xPtr .asFunction(); + void spine_bone_data_set_scale_x( + spine_bone_data data, + double scaleX, + ) { + return _spine_bone_data_set_scale_x( + data, + scaleX, + ); + } + + late final _spine_bone_data_set_scale_xPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_scale_x'); + late final _spine_bone_data_set_scale_x = _spine_bone_data_set_scale_xPtr + .asFunction(); + double spine_bone_data_get_scale_y( spine_bone_data data, ) { @@ -3167,6 +3416,22 @@ class SpineFlutterBindings { late final _spine_bone_data_get_scale_y = _spine_bone_data_get_scale_yPtr .asFunction(); + void spine_bone_data_set_scale_y( + spine_bone_data data, + double scaleY, + ) { + return _spine_bone_data_set_scale_y( + data, + scaleY, + ); + } + + late final _spine_bone_data_set_scale_yPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_scale_y'); + late final _spine_bone_data_set_scale_y = _spine_bone_data_set_scale_yPtr + .asFunction(); + double spine_bone_data_get_shear_x( spine_bone_data data, ) { @@ -3181,6 +3446,22 @@ class SpineFlutterBindings { late final _spine_bone_data_get_shear_x = _spine_bone_data_get_shear_xPtr .asFunction(); + void spine_bone_data_set_shear_x( + spine_bone_data data, + double shearx, + ) { + return _spine_bone_data_set_shear_x( + data, + shearx, + ); + } + + late final _spine_bone_data_set_shear_xPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_shear_x'); + late final _spine_bone_data_set_shear_x = _spine_bone_data_set_shear_xPtr + .asFunction(); + double spine_bone_data_get_shear_y( spine_bone_data data, ) { @@ -3195,6 +3476,22 @@ class SpineFlutterBindings { late final _spine_bone_data_get_shear_y = _spine_bone_data_get_shear_yPtr .asFunction(); + void spine_bone_data_set_shear_y( + spine_bone_data data, + double shearY, + ) { + return _spine_bone_data_set_shear_y( + data, + shearY, + ); + } + + late final _spine_bone_data_set_shear_yPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_shear_y'); + late final _spine_bone_data_set_shear_y = _spine_bone_data_set_shear_yPtr + .asFunction(); + int spine_bone_data_get_transform_mode( spine_bone_data data, ) { @@ -3210,6 +3507,23 @@ class SpineFlutterBindings { _spine_bone_data_get_transform_modePtr .asFunction(); + void spine_bone_data_set_transform_mode( + spine_bone_data data, + int mode, + ) { + return _spine_bone_data_set_transform_mode( + data, + mode, + ); + } + + late final _spine_bone_data_set_transform_modePtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_transform_mode'); + late final _spine_bone_data_set_transform_mode = + _spine_bone_data_set_transform_modePtr + .asFunction(); + int spine_bone_data_is_skin_required( spine_bone_data data, ) { @@ -3225,6 +3539,23 @@ class SpineFlutterBindings { _spine_bone_data_is_skin_requiredPtr .asFunction(); + void spine_bone_data_set_is_skin_required( + spine_bone_data data, + int isSkinRequired, + ) { + return _spine_bone_data_set_is_skin_required( + data, + isSkinRequired, + ); + } + + late final _spine_bone_data_set_is_skin_requiredPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_data_set_is_skin_required'); + late final _spine_bone_data_set_is_skin_required = + _spine_bone_data_set_is_skin_requiredPtr + .asFunction(); + spine_color spine_bone_data_get_color( spine_bone_data data, ) { @@ -3239,6 +3570,30 @@ class SpineFlutterBindings { late final _spine_bone_data_get_color = _spine_bone_data_get_colorPtr .asFunction(); + void spine_bone_data_set_color( + spine_bone_data data, + double r, + double g, + double b, + double a, + ) { + return _spine_bone_data_set_color( + data, + r, + g, + b, + a, + ); + } + + late final _spine_bone_data_set_colorPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_bone_data, ffi.Float, ffi.Float, ffi.Float, + ffi.Float)>>('spine_bone_data_set_color'); + late final _spine_bone_data_set_color = + _spine_bone_data_set_colorPtr.asFunction< + void Function(spine_bone_data, double, double, double, double)>(); + void spine_bone_update( spine_bone bone, ) { diff --git a/spine-flutter/src/spine_flutter.cpp b/spine-flutter/src/spine_flutter.cpp index d030aad09..9e75e88c6 100644 --- a/spine-flutter/src/spine_flutter.cpp +++ b/spine-flutter/src/spine_flutter.cpp @@ -264,24 +264,48 @@ FFI_PLUGIN_EXPORT float spine_skeleton_data_get_x(spine_skeleton_data data) { return _data->getX(); } +FFI_PLUGIN_EXPORT void spine_skeleton_data_set_x(spine_skeleton_data data, float x) { + if (data == nullptr) return; + SkeletonData *_data = (SkeletonData*)data; + _data->setX(x); +} + FFI_PLUGIN_EXPORT float spine_skeleton_data_get_y(spine_skeleton_data data) { if (data == nullptr) return 0; SkeletonData *_data = (SkeletonData*)data; return _data->getY(); } +FFI_PLUGIN_EXPORT void spine_skeleton_data_set_y(spine_skeleton_data data, float y) { + if (data == nullptr) return; + SkeletonData *_data = (SkeletonData*)data; + _data->setY(y); +} + FFI_PLUGIN_EXPORT float spine_skeleton_data_get_width(spine_skeleton_data data) { if (data == nullptr) return 0; SkeletonData *_data = (SkeletonData*)data; return _data->getWidth(); } +FFI_PLUGIN_EXPORT void spine_skeleton_data_set_width(spine_skeleton_data data, float width) { + if (data == nullptr) return; + SkeletonData *_data = (SkeletonData*)data; + _data->setWidth(width); +} + FFI_PLUGIN_EXPORT float spine_skeleton_data_get_height(spine_skeleton_data data) { if (data == nullptr) return 0; SkeletonData *_data = (SkeletonData*)data; return _data->getHeight(); } +FFI_PLUGIN_EXPORT void spine_skeleton_data_set_height(spine_skeleton_data data, float height) { + if (data == nullptr) return; + SkeletonData *_data = (SkeletonData*)data; + _data->setHeight(height); +} + FFI_PLUGIN_EXPORT const char* spine_skeleton_data_get_version(spine_skeleton_data data) { if (data == nullptr) return nullptr; SkeletonData *_data = (SkeletonData*)data; @@ -1285,6 +1309,12 @@ FFI_PLUGIN_EXPORT spine_color spine_slot_data_get_color(spine_slot_data slot) { return color; } +FFI_PLUGIN_EXPORT void spine_slot_data_set_color(spine_slot_data slot, float r, float g, float b, float a) { + if (slot == nullptr) return; + SlotData *_slot = (SlotData*)slot; + _slot->getColor().set(r, g, b, a); +} + FFI_PLUGIN_EXPORT spine_color spine_slot_data_get_dark_color(spine_slot_data slot) { spine_color color = { 0, 0, 0, 0 }; if (slot == nullptr) return color; @@ -1293,18 +1323,36 @@ FFI_PLUGIN_EXPORT spine_color spine_slot_data_get_dark_color(spine_slot_data slo return color; } +FFI_PLUGIN_EXPORT void spine_slot_data_set_dark_color(spine_slot_data slot, float r, float g, float b, float a) { + if (slot == nullptr) return; + SlotData *_slot = (SlotData*)slot; + _slot->getDarkColor().set(r, g, b, a); +} + FFI_PLUGIN_EXPORT int spine_slot_data_has_dark_color(spine_slot_data slot) { if (slot == nullptr) return 0; SlotData *_slot = (SlotData*)slot; return _slot->hasDarkColor() ? -1 : 0; } +FFI_PLUGIN_EXPORT void spine_slot_data_set_has_dark_color(spine_slot_data slot, int hasDarkColor) { + if (slot == nullptr) return; + SlotData *_slot = (SlotData*)slot; + _slot->setHasDarkColor(hasDarkColor); +} + FFI_PLUGIN_EXPORT const char* spine_slot_data_get_attachment_name(spine_slot_data slot) { if (slot == nullptr) return nullptr; SlotData *_slot = (SlotData*)slot; return _slot->getAttachmentName().buffer(); } +FFI_PLUGIN_EXPORT void spine_slot_data_set_attachment_name(spine_slot_data slot, const char* attachmentName) { + if (slot == nullptr) return; + SlotData *_slot = (SlotData*)slot; + _slot->setAttachmentName(attachmentName); +} + FFI_PLUGIN_EXPORT spine_blend_mode spine_slot_data_get_blend_mode(spine_slot_data slot) { if (slot == nullptr) return SPINE_BLEND_MODE_NORMAL; SlotData *_slot = (SlotData*)slot; @@ -1407,61 +1455,120 @@ FFI_PLUGIN_EXPORT float spine_bone_data_get_length(spine_bone_data data) { return _data->getLength(); } +FFI_PLUGIN_EXPORT void spine_bone_data_set_length(spine_bone_data data, float length) { + if (data == nullptr) return; + BoneData *_data = (BoneData*)data; + _data->setLength(length); +} + FFI_PLUGIN_EXPORT float spine_bone_data_get_x(spine_bone_data data) { if (data == nullptr) return 0; BoneData *_data = (BoneData*)data; return _data->getX(); } +FFI_PLUGIN_EXPORT void spine_bone_data_set_x(spine_bone_data data, float x) { + if (data == nullptr) return; + BoneData *_data = (BoneData*)data; + _data->setX(x); +} + FFI_PLUGIN_EXPORT float spine_bone_data_get_y(spine_bone_data data) { if (data == nullptr) return 0; BoneData *_data = (BoneData*)data; return _data->getY(); } +FFI_PLUGIN_EXPORT void spine_bone_data_set_y(spine_bone_data data, float y) { + if (data == nullptr) return; + BoneData *_data = (BoneData*)data; + _data->setY(y); +} + FFI_PLUGIN_EXPORT float spine_bone_data_get_rotation(spine_bone_data data) { if (data == nullptr) return 0; BoneData *_data = (BoneData*)data; return _data->getRotation(); } -FFI_PLUGIN_EXPORT float spine_bone_data_get_scale_x(spine_bone_data data) -{ +FFI_PLUGIN_EXPORT void spine_bone_data_set_rotation(spine_bone_data data, float rotation) { + if (data == nullptr) return; + BoneData *_data = (BoneData*)data; + _data->setRotation(rotation); +} + +FFI_PLUGIN_EXPORT float spine_bone_data_get_scale_x(spine_bone_data data) { if (data == nullptr) return 0; BoneData *_data = (BoneData*)data; return _data->getScaleX(); } +FFI_PLUGIN_EXPORT void spine_bone_data_set_scale_x(spine_bone_data data, float scaleX) { + if (data == nullptr) return; + BoneData *_data = (BoneData*)data; + _data->setScaleX(scaleX); +} + FFI_PLUGIN_EXPORT float spine_bone_data_get_scale_y(spine_bone_data data) { if (data == nullptr) return 0; BoneData *_data = (BoneData*)data; return _data->getScaleY(); } +FFI_PLUGIN_EXPORT void spine_bone_data_set_scale_y(spine_bone_data data, float scaleY) { + if (data == nullptr) return; + BoneData *_data = (BoneData*)data; + _data->setScaleY(scaleY); +} + FFI_PLUGIN_EXPORT float spine_bone_data_get_shear_x(spine_bone_data data) { if (data == nullptr) return 0; BoneData *_data = (BoneData*)data; return _data->getShearX(); } +FFI_PLUGIN_EXPORT void spine_bone_data_set_shear_x(spine_bone_data data, float shearX) { + if (data == nullptr) return; + BoneData *_data = (BoneData*)data; + _data->setShearX(shearX); +} + FFI_PLUGIN_EXPORT float spine_bone_data_get_shear_y(spine_bone_data data) { if (data == nullptr) return 0; BoneData *_data = (BoneData*)data; return _data->getShearY(); } +FFI_PLUGIN_EXPORT void spine_bone_data_set_shear_y(spine_bone_data data, float y) { + if (data == nullptr) return; + BoneData *_data = (BoneData*)data; + _data->setShearY(y); +} + FFI_PLUGIN_EXPORT spine_transform_mode spine_bone_data_get_transform_mode(spine_bone_data data) { if (data == nullptr) return SPINE_TRANSFORM_MODE_NORMAL; BoneData *_data = (BoneData*)data; return (spine_transform_mode)_data->getTransformMode(); } +FFI_PLUGIN_EXPORT void spine_bone_data_set_transform_mode(spine_bone_data data, spine_transform_mode mode) { + if (data == nullptr) return; + BoneData *_data = (BoneData*)data; + _data->setTransformMode((TransformMode)mode); +} + FFI_PLUGIN_EXPORT int spine_bone_data_is_skin_required(spine_bone_data data) { if (data == nullptr) return 0; BoneData *_data = (BoneData*)data; return _data->isSkinRequired() ? -1 : 0; } +FFI_PLUGIN_EXPORT void spine_bone_data_set_is_skin_required(spine_bone_data data, int isSkinRequired) { + if (data == nullptr) return; + BoneData *_data = (BoneData*)data; + _data->setSkinRequired(isSkinRequired); +} + FFI_PLUGIN_EXPORT spine_color spine_bone_data_get_color(spine_bone_data data) { spine_color color = { 0, 0, 0 , 0}; if (data == nullptr) return color; @@ -1470,6 +1577,12 @@ FFI_PLUGIN_EXPORT spine_color spine_bone_data_get_color(spine_bone_data data) { return color; } +FFI_PLUGIN_EXPORT void spine_bone_data_set_color(spine_bone_data data, float r, float g, float b, float a) { + if (data == nullptr) return; + BoneData *_data = (BoneData*)data; + _data->getColor().set(r, g, b, a); +} + // Bone FFI_PLUGIN_EXPORT void spine_bone_update(spine_bone bone) { if (bone == nullptr) return; diff --git a/spine-flutter/src/spine_flutter.h b/spine-flutter/src/spine_flutter.h index 8d9091650..895b58d43 100644 --- a/spine-flutter/src/spine_flutter.h +++ b/spine-flutter/src/spine_flutter.h @@ -156,9 +156,13 @@ FFI_PLUGIN_EXPORT spine_transform_constraint_data* spine_skeleton_data_get_trans FFI_PLUGIN_EXPORT int spine_skeleton_data_get_num_path_constraints(spine_skeleton_data data); FFI_PLUGIN_EXPORT spine_path_constraint_data* spine_skeleton_data_get_path_constraints(spine_skeleton_data data); FFI_PLUGIN_EXPORT float spine_skeleton_data_get_x(spine_skeleton_data data); +FFI_PLUGIN_EXPORT void spine_skeleton_data_set_x(spine_skeleton_data data, float x); FFI_PLUGIN_EXPORT float spine_skeleton_data_get_y(spine_skeleton_data data); +FFI_PLUGIN_EXPORT void spine_skeleton_data_set_y(spine_skeleton_data data, float y); FFI_PLUGIN_EXPORT float spine_skeleton_data_get_width(spine_skeleton_data data); +FFI_PLUGIN_EXPORT void spine_skeleton_data_set_width(spine_skeleton_data data, float width); FFI_PLUGIN_EXPORT float spine_skeleton_data_get_height(spine_skeleton_data data); +FFI_PLUGIN_EXPORT void spine_skeleton_data_set_height(spine_skeleton_data data, float height); FFI_PLUGIN_EXPORT const char* spine_skeleton_data_get_version(spine_skeleton_data data); FFI_PLUGIN_EXPORT const char* spine_skeleton_data_get_hash(spine_skeleton_data data); FFI_PLUGIN_EXPORT const char* spine_skeleton_data_get_images_path(spine_skeleton_data data); @@ -304,10 +308,15 @@ FFI_PLUGIN_EXPORT int spine_slot_data_get_index(spine_slot_data slot); FFI_PLUGIN_EXPORT const char* spine_slot_data_get_name(spine_slot_data slot); FFI_PLUGIN_EXPORT spine_bone_data spine_slot_data_get_bone_data(spine_slot_data slot); FFI_PLUGIN_EXPORT spine_color spine_slot_data_get_color(spine_slot_data slot); +FFI_PLUGIN_EXPORT void spine_slot_data_set_color(spine_slot_data slot, float r, float g, float b, float a); FFI_PLUGIN_EXPORT spine_color spine_slot_data_get_dark_color(spine_slot_data slot); +FFI_PLUGIN_EXPORT void spine_slot_data_set_dark_color(spine_slot_data slot, float r, float g, float b, float a); FFI_PLUGIN_EXPORT int spine_slot_data_has_dark_color(spine_slot_data slot); +FFI_PLUGIN_EXPORT void spine_slot_data_set_has_dark_color(spine_slot_data slot, int hasDarkColor); FFI_PLUGIN_EXPORT const char* spine_slot_data_get_attachment_name(spine_slot_data slot); +FFI_PLUGIN_EXPORT void spine_slot_data_set_attachment_name(spine_slot_data slot, const char *attachmentName); FFI_PLUGIN_EXPORT spine_blend_mode spine_slot_data_get_blend_mode(spine_slot_data slot); +FFI_PLUGIN_EXPORT void spine_slot_data_set_blend_mode(spine_slot_data slot, spine_blend_mode blendMode); FFI_PLUGIN_EXPORT void spine_slot_set_to_setup_pose(spine_slot slot); FFI_PLUGIN_EXPORT spine_slot_data spine_slot_get_data(spine_slot slot); @@ -325,16 +334,27 @@ FFI_PLUGIN_EXPORT int spine_bone_data_get_index(spine_bone_data data); FFI_PLUGIN_EXPORT const char* spine_bone_data_get_name(spine_bone_data data); FFI_PLUGIN_EXPORT spine_bone_data spine_bone_data_get_parent(spine_bone_data data); FFI_PLUGIN_EXPORT float spine_bone_data_get_length(spine_bone_data data); +FFI_PLUGIN_EXPORT void spine_bone_data_set_length(spine_bone_data data, float length); FFI_PLUGIN_EXPORT float spine_bone_data_get_x(spine_bone_data data); +FFI_PLUGIN_EXPORT void spine_bone_data_set_x(spine_bone_data data, float x); FFI_PLUGIN_EXPORT float spine_bone_data_get_y(spine_bone_data data); +FFI_PLUGIN_EXPORT void spine_bone_data_set_y(spine_bone_data data, float y); FFI_PLUGIN_EXPORT float spine_bone_data_get_rotation(spine_bone_data data); +FFI_PLUGIN_EXPORT void spine_bone_data_set_rotation(spine_bone_data data, float rotation); FFI_PLUGIN_EXPORT float spine_bone_data_get_scale_x(spine_bone_data data); +FFI_PLUGIN_EXPORT void spine_bone_data_set_scale_x(spine_bone_data data, float scaleX); FFI_PLUGIN_EXPORT float spine_bone_data_get_scale_y(spine_bone_data data); +FFI_PLUGIN_EXPORT void spine_bone_data_set_scale_y(spine_bone_data data, float scaleY); FFI_PLUGIN_EXPORT float spine_bone_data_get_shear_x(spine_bone_data data); +FFI_PLUGIN_EXPORT void spine_bone_data_set_shear_x(spine_bone_data data, float shearx); FFI_PLUGIN_EXPORT float spine_bone_data_get_shear_y(spine_bone_data data); +FFI_PLUGIN_EXPORT void spine_bone_data_set_shear_y(spine_bone_data data, float shearY); FFI_PLUGIN_EXPORT spine_transform_mode spine_bone_data_get_transform_mode(spine_bone_data data); +FFI_PLUGIN_EXPORT void spine_bone_data_set_transform_mode(spine_bone_data data, spine_transform_mode mode); FFI_PLUGIN_EXPORT int spine_bone_data_is_skin_required(spine_bone_data data); +FFI_PLUGIN_EXPORT void spine_bone_data_set_is_skin_required(spine_bone_data data, int isSkinRequired); FFI_PLUGIN_EXPORT spine_color spine_bone_data_get_color(spine_bone_data data); +FFI_PLUGIN_EXPORT void spine_bone_data_set_color(spine_bone_data data, float r, float g, float b, float a); FFI_PLUGIN_EXPORT void spine_bone_update(spine_bone bone); FFI_PLUGIN_EXPORT void spine_bone_update_world_transform(spine_bone bone);