mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-25 22:23:42 +08:00
[flutter] Wrap RegionAttachment.
This commit is contained in:
parent
2d70bc7349
commit
44c589e591
@ -957,6 +957,20 @@ class Slot {
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME
|
||||
class TextureRegion {
|
||||
final spine_texture_region _region;
|
||||
|
||||
TextureRegion._(this._region);
|
||||
}
|
||||
|
||||
// FIXME
|
||||
class Sequence {
|
||||
final spine_sequence _sequence;
|
||||
|
||||
Sequence._(this._sequence);
|
||||
}
|
||||
|
||||
enum AttachmentType {
|
||||
Region(0),
|
||||
Mesh(1),
|
||||
@ -1011,9 +1025,110 @@ abstract class Attachment {
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME
|
||||
class RegionAttachment extends Attachment {
|
||||
RegionAttachment._(spine_attachment attachment): super._(attachment);
|
||||
|
||||
List<double> computeWorldVertices(Slot slot) {
|
||||
Pointer<Float> vertices = malloc.allocate(4 * 9).cast();
|
||||
_bindings.spine_region_attachment_compute_world_vertices(_attachment, slot._slot, vertices);
|
||||
final result = vertices.asTypedList(8).toList();
|
||||
malloc.free(vertices);
|
||||
return result;
|
||||
}
|
||||
|
||||
double getX() {
|
||||
return _bindings.spine_region_attachment_get_x(_attachment);
|
||||
}
|
||||
|
||||
void setX(double x) {
|
||||
_bindings.spine_region_attachment_set_x(_attachment, x);
|
||||
}
|
||||
|
||||
double getY() {
|
||||
return _bindings.spine_region_attachment_get_y(_attachment);
|
||||
}
|
||||
|
||||
void setY(double y) {
|
||||
_bindings.spine_region_attachment_set_y(_attachment, y);
|
||||
}
|
||||
|
||||
double getRotation() {
|
||||
return _bindings.spine_region_attachment_get_rotation(_attachment);
|
||||
}
|
||||
|
||||
void setRotation(double rotation) {
|
||||
_bindings.spine_region_attachment_set_rotation(_attachment, rotation);
|
||||
}
|
||||
|
||||
double getScaleX() {
|
||||
return _bindings.spine_region_attachment_get_scale_x(_attachment);
|
||||
}
|
||||
|
||||
void setScaleX(double scaleX) {
|
||||
_bindings.spine_region_attachment_set_scale_x(_attachment, scaleX);
|
||||
}
|
||||
|
||||
double getScaleY() {
|
||||
return _bindings.spine_region_attachment_get_scale_y(_attachment);
|
||||
}
|
||||
|
||||
void setScaleY(double scaleY) {
|
||||
_bindings.spine_region_attachment_set_scale_x(_attachment, scaleY);
|
||||
}
|
||||
|
||||
double getWidth() {
|
||||
return _bindings.spine_region_attachment_get_width(_attachment);
|
||||
}
|
||||
|
||||
void setWidth(double width) {
|
||||
_bindings.spine_region_attachment_set_width(_attachment, width);
|
||||
}
|
||||
|
||||
double getHeight() {
|
||||
return _bindings.spine_region_attachment_get_height(_attachment);
|
||||
}
|
||||
|
||||
void setHeight(double height) {
|
||||
_bindings.spine_region_attachment_set_height(_attachment, height);
|
||||
}
|
||||
|
||||
Color getColor() {
|
||||
final color = _bindings.spine_region_attachment_get_color(_attachment);
|
||||
return Color(color.r, color.g, color.b, color.a);
|
||||
}
|
||||
|
||||
void setColor(double r, double g, double b, double a) {
|
||||
_bindings.spine_region_attachment_set_color(_attachment, r, g, b, a);
|
||||
}
|
||||
|
||||
String getPath() {
|
||||
Pointer<Utf8> path = _bindings.spine_region_attachment_get_path(_attachment).cast();
|
||||
return path.toDartString();
|
||||
}
|
||||
|
||||
TextureRegion? getRegion() {
|
||||
final region = _bindings.spine_region_attachment_get_region(_attachment);
|
||||
if (region.address == nullptr.address) return null;
|
||||
return TextureRegion._(region);
|
||||
}
|
||||
|
||||
Sequence? getSequence() {
|
||||
final sequence = _bindings.spine_region_attachment_get_sequence(_attachment);
|
||||
if (sequence.address == nullptr.address) return null;
|
||||
return Sequence._(sequence);
|
||||
}
|
||||
|
||||
Float32List getOffset() {
|
||||
final num = _bindings.spine_region_attachment_get_num_offset(_attachment);
|
||||
final offset = _bindings.spine_region_attachment_get_offset(_attachment);
|
||||
return offset.asTypedList(num);
|
||||
}
|
||||
|
||||
Float32List getUVs() {
|
||||
final num = _bindings.spine_region_attachment_get_num_uvs(_attachment);
|
||||
final offset = _bindings.spine_region_attachment_get_uvs(_attachment);
|
||||
return offset.asTypedList(num);
|
||||
}
|
||||
}
|
||||
|
||||
class VertexAttachment extends Attachment {
|
||||
|
||||
@ -4780,6 +4780,419 @@ class SpineFlutterBindings {
|
||||
void Function(
|
||||
spine_point_attachment, double, double, double, double)>();
|
||||
|
||||
void spine_region_attachment_update_region(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_update_region(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_update_regionPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Void Function(spine_region_attachment)>>(
|
||||
'spine_region_attachment_update_region');
|
||||
late final _spine_region_attachment_update_region =
|
||||
_spine_region_attachment_update_regionPtr
|
||||
.asFunction<void Function(spine_region_attachment)>();
|
||||
|
||||
void spine_region_attachment_compute_world_vertices(
|
||||
spine_region_attachment attachment,
|
||||
spine_slot slot,
|
||||
ffi.Pointer<ffi.Float> worldVertices,
|
||||
) {
|
||||
return _spine_region_attachment_compute_world_vertices(
|
||||
attachment,
|
||||
slot,
|
||||
worldVertices,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_compute_world_verticesPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Void Function(spine_region_attachment, spine_slot,
|
||||
ffi.Pointer<ffi.Float>)>>(
|
||||
'spine_region_attachment_compute_world_vertices');
|
||||
late final _spine_region_attachment_compute_world_vertices =
|
||||
_spine_region_attachment_compute_world_verticesPtr.asFunction<
|
||||
void Function(
|
||||
spine_region_attachment, spine_slot, ffi.Pointer<ffi.Float>)>();
|
||||
|
||||
double spine_region_attachment_get_x(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_x(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_xPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Float Function(spine_region_attachment)>>(
|
||||
'spine_region_attachment_get_x');
|
||||
late final _spine_region_attachment_get_x = _spine_region_attachment_get_xPtr
|
||||
.asFunction<double Function(spine_region_attachment)>();
|
||||
|
||||
void spine_region_attachment_set_x(
|
||||
spine_region_attachment attachment,
|
||||
double x,
|
||||
) {
|
||||
return _spine_region_attachment_set_x(
|
||||
attachment,
|
||||
x,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_set_xPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Void Function(spine_region_attachment,
|
||||
ffi.Float)>>('spine_region_attachment_set_x');
|
||||
late final _spine_region_attachment_set_x = _spine_region_attachment_set_xPtr
|
||||
.asFunction<void Function(spine_region_attachment, double)>();
|
||||
|
||||
double spine_region_attachment_get_y(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_y(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_yPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Float Function(spine_region_attachment)>>(
|
||||
'spine_region_attachment_get_y');
|
||||
late final _spine_region_attachment_get_y = _spine_region_attachment_get_yPtr
|
||||
.asFunction<double Function(spine_region_attachment)>();
|
||||
|
||||
void spine_region_attachment_set_y(
|
||||
spine_region_attachment attachment,
|
||||
double y,
|
||||
) {
|
||||
return _spine_region_attachment_set_y(
|
||||
attachment,
|
||||
y,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_set_yPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Void Function(spine_region_attachment,
|
||||
ffi.Float)>>('spine_region_attachment_set_y');
|
||||
late final _spine_region_attachment_set_y = _spine_region_attachment_set_yPtr
|
||||
.asFunction<void Function(spine_region_attachment, double)>();
|
||||
|
||||
double spine_region_attachment_get_rotation(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_rotation(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_rotationPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Float Function(spine_region_attachment)>>(
|
||||
'spine_region_attachment_get_rotation');
|
||||
late final _spine_region_attachment_get_rotation =
|
||||
_spine_region_attachment_get_rotationPtr
|
||||
.asFunction<double Function(spine_region_attachment)>();
|
||||
|
||||
void spine_region_attachment_set_rotation(
|
||||
spine_region_attachment attachment,
|
||||
double rotation,
|
||||
) {
|
||||
return _spine_region_attachment_set_rotation(
|
||||
attachment,
|
||||
rotation,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_set_rotationPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Void Function(spine_region_attachment,
|
||||
ffi.Float)>>('spine_region_attachment_set_rotation');
|
||||
late final _spine_region_attachment_set_rotation =
|
||||
_spine_region_attachment_set_rotationPtr
|
||||
.asFunction<void Function(spine_region_attachment, double)>();
|
||||
|
||||
double spine_region_attachment_get_scale_x(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_scale_x(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_scale_xPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Float Function(spine_region_attachment)>>(
|
||||
'spine_region_attachment_get_scale_x');
|
||||
late final _spine_region_attachment_get_scale_x =
|
||||
_spine_region_attachment_get_scale_xPtr
|
||||
.asFunction<double Function(spine_region_attachment)>();
|
||||
|
||||
void spine_region_attachment_set_scale_x(
|
||||
spine_region_attachment attachment,
|
||||
double scaleX,
|
||||
) {
|
||||
return _spine_region_attachment_set_scale_x(
|
||||
attachment,
|
||||
scaleX,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_set_scale_xPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Void Function(spine_region_attachment,
|
||||
ffi.Float)>>('spine_region_attachment_set_scale_x');
|
||||
late final _spine_region_attachment_set_scale_x =
|
||||
_spine_region_attachment_set_scale_xPtr
|
||||
.asFunction<void Function(spine_region_attachment, double)>();
|
||||
|
||||
double spine_region_attachment_get_scale_y(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_scale_y(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_scale_yPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Float Function(spine_region_attachment)>>(
|
||||
'spine_region_attachment_get_scale_y');
|
||||
late final _spine_region_attachment_get_scale_y =
|
||||
_spine_region_attachment_get_scale_yPtr
|
||||
.asFunction<double Function(spine_region_attachment)>();
|
||||
|
||||
void spine_region_attachment_set_scale_y(
|
||||
spine_region_attachment attachment,
|
||||
double scaleY,
|
||||
) {
|
||||
return _spine_region_attachment_set_scale_y(
|
||||
attachment,
|
||||
scaleY,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_set_scale_yPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Void Function(spine_region_attachment,
|
||||
ffi.Float)>>('spine_region_attachment_set_scale_y');
|
||||
late final _spine_region_attachment_set_scale_y =
|
||||
_spine_region_attachment_set_scale_yPtr
|
||||
.asFunction<void Function(spine_region_attachment, double)>();
|
||||
|
||||
double spine_region_attachment_get_width(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_width(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_widthPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Float Function(spine_region_attachment)>>(
|
||||
'spine_region_attachment_get_width');
|
||||
late final _spine_region_attachment_get_width =
|
||||
_spine_region_attachment_get_widthPtr
|
||||
.asFunction<double Function(spine_region_attachment)>();
|
||||
|
||||
void spine_region_attachment_set_width(
|
||||
spine_region_attachment attachment,
|
||||
double width,
|
||||
) {
|
||||
return _spine_region_attachment_set_width(
|
||||
attachment,
|
||||
width,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_set_widthPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Void Function(spine_region_attachment,
|
||||
ffi.Float)>>('spine_region_attachment_set_width');
|
||||
late final _spine_region_attachment_set_width =
|
||||
_spine_region_attachment_set_widthPtr
|
||||
.asFunction<void Function(spine_region_attachment, double)>();
|
||||
|
||||
double spine_region_attachment_get_height(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_height(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_heightPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Float Function(spine_region_attachment)>>(
|
||||
'spine_region_attachment_get_height');
|
||||
late final _spine_region_attachment_get_height =
|
||||
_spine_region_attachment_get_heightPtr
|
||||
.asFunction<double Function(spine_region_attachment)>();
|
||||
|
||||
void spine_region_attachment_set_height(
|
||||
spine_region_attachment attachment,
|
||||
double height,
|
||||
) {
|
||||
return _spine_region_attachment_set_height(
|
||||
attachment,
|
||||
height,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_set_heightPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Void Function(spine_region_attachment,
|
||||
ffi.Float)>>('spine_region_attachment_set_height');
|
||||
late final _spine_region_attachment_set_height =
|
||||
_spine_region_attachment_set_heightPtr
|
||||
.asFunction<void Function(spine_region_attachment, double)>();
|
||||
|
||||
spine_color spine_region_attachment_get_color(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_color(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_colorPtr = _lookup<
|
||||
ffi.NativeFunction<spine_color Function(spine_region_attachment)>>(
|
||||
'spine_region_attachment_get_color');
|
||||
late final _spine_region_attachment_get_color =
|
||||
_spine_region_attachment_get_colorPtr
|
||||
.asFunction<spine_color Function(spine_region_attachment)>();
|
||||
|
||||
void spine_region_attachment_set_color(
|
||||
spine_region_attachment attachment,
|
||||
double r,
|
||||
double g,
|
||||
double b,
|
||||
double a,
|
||||
) {
|
||||
return _spine_region_attachment_set_color(
|
||||
attachment,
|
||||
r,
|
||||
g,
|
||||
b,
|
||||
a,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_set_colorPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Void Function(spine_region_attachment, ffi.Float, ffi.Float,
|
||||
ffi.Float, ffi.Float)>>('spine_region_attachment_set_color');
|
||||
late final _spine_region_attachment_set_color =
|
||||
_spine_region_attachment_set_colorPtr.asFunction<
|
||||
void Function(
|
||||
spine_region_attachment, double, double, double, double)>();
|
||||
|
||||
ffi.Pointer<ffi.Int8> spine_region_attachment_get_path(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_path(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_pathPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Pointer<ffi.Int8> Function(
|
||||
spine_region_attachment)>>('spine_region_attachment_get_path');
|
||||
late final _spine_region_attachment_get_path =
|
||||
_spine_region_attachment_get_pathPtr.asFunction<
|
||||
ffi.Pointer<ffi.Int8> Function(spine_region_attachment)>();
|
||||
|
||||
spine_texture_region spine_region_attachment_get_region(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_region(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_regionPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
spine_texture_region Function(
|
||||
spine_region_attachment)>>('spine_region_attachment_get_region');
|
||||
late final _spine_region_attachment_get_region =
|
||||
_spine_region_attachment_get_regionPtr
|
||||
.asFunction<spine_texture_region Function(spine_region_attachment)>();
|
||||
|
||||
spine_sequence spine_region_attachment_get_sequence(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_sequence(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_sequencePtr = _lookup<
|
||||
ffi.NativeFunction<spine_sequence Function(spine_region_attachment)>>(
|
||||
'spine_region_attachment_get_sequence');
|
||||
late final _spine_region_attachment_get_sequence =
|
||||
_spine_region_attachment_get_sequencePtr
|
||||
.asFunction<spine_sequence Function(spine_region_attachment)>();
|
||||
|
||||
int spine_region_attachment_get_num_offset(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_num_offset(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_num_offsetPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Int32 Function(spine_region_attachment)>>(
|
||||
'spine_region_attachment_get_num_offset');
|
||||
late final _spine_region_attachment_get_num_offset =
|
||||
_spine_region_attachment_get_num_offsetPtr
|
||||
.asFunction<int Function(spine_region_attachment)>();
|
||||
|
||||
ffi.Pointer<ffi.Float> spine_region_attachment_get_offset(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_offset(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_offsetPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Pointer<ffi.Float> Function(
|
||||
spine_region_attachment)>>('spine_region_attachment_get_offset');
|
||||
late final _spine_region_attachment_get_offset =
|
||||
_spine_region_attachment_get_offsetPtr.asFunction<
|
||||
ffi.Pointer<ffi.Float> Function(spine_region_attachment)>();
|
||||
|
||||
int spine_region_attachment_get_num_uvs(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_num_uvs(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_num_uvsPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Int32 Function(spine_region_attachment)>>(
|
||||
'spine_region_attachment_get_num_uvs');
|
||||
late final _spine_region_attachment_get_num_uvs =
|
||||
_spine_region_attachment_get_num_uvsPtr
|
||||
.asFunction<int Function(spine_region_attachment)>();
|
||||
|
||||
ffi.Pointer<ffi.Float> spine_region_attachment_get_uvs(
|
||||
spine_region_attachment attachment,
|
||||
) {
|
||||
return _spine_region_attachment_get_uvs(
|
||||
attachment,
|
||||
);
|
||||
}
|
||||
|
||||
late final _spine_region_attachment_get_uvsPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Pointer<ffi.Float> Function(
|
||||
spine_region_attachment)>>('spine_region_attachment_get_uvs');
|
||||
late final _spine_region_attachment_get_uvs =
|
||||
_spine_region_attachment_get_uvsPtr.asFunction<
|
||||
ffi.Pointer<ffi.Float> Function(spine_region_attachment)>();
|
||||
|
||||
void spine_skin_set_attachment(
|
||||
spine_skin skin,
|
||||
int slotIndex,
|
||||
@ -7319,4 +7732,7 @@ typedef spine_ik_constraint = ffi.Pointer<ffi.Void>;
|
||||
typedef spine_transform_constraint = ffi.Pointer<ffi.Void>;
|
||||
typedef spine_path_constraint = ffi.Pointer<ffi.Void>;
|
||||
typedef spine_point_attachment = ffi.Pointer<ffi.Void>;
|
||||
typedef spine_region_attachment = ffi.Pointer<ffi.Void>;
|
||||
typedef spine_texture_region = ffi.Pointer<ffi.Void>;
|
||||
typedef spine_sequence = ffi.Pointer<ffi.Void>;
|
||||
typedef spine_constraint_data = ffi.Pointer<ffi.Void>;
|
||||
|
||||
@ -1999,6 +1999,7 @@ FFI_PLUGIN_EXPORT void spine_attachment_dispose(spine_attachment attachment) {
|
||||
delete _attachment;
|
||||
}
|
||||
|
||||
// PointAttachment
|
||||
FFI_PLUGIN_EXPORT spine_vector spine_point_attachment_compute_world_position(spine_point_attachment attachment, spine_bone bone) {
|
||||
spine_vector result = { 0, 0 };
|
||||
if (attachment == nullptr) return result;
|
||||
@ -2064,6 +2065,160 @@ FFI_PLUGIN_EXPORT void spine_point_attachment_set_color(spine_point_attachment a
|
||||
_attachment->getColor().set(r, g, b, a);
|
||||
}
|
||||
|
||||
// RegionAttachment
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_update_region(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
_attachment->updateRegion();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_compute_world_vertices(spine_region_attachment attachment, spine_slot slot, float *worldVertices) {
|
||||
if (attachment == nullptr) return;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
_attachment->computeWorldVertices(*(Slot*)slot, worldVertices, 0);
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_x(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return 0;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return _attachment->getX();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_x(spine_region_attachment attachment, float x) {
|
||||
if (attachment == nullptr) return;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
_attachment->setX(x);
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_y(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return 0;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return _attachment->getY();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_y(spine_region_attachment attachment, float y) {
|
||||
if (attachment == nullptr) return;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
_attachment->setY(y);
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_rotation(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return 0;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return _attachment->getRotation();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_rotation(spine_region_attachment attachment, float rotation) {
|
||||
if (attachment == nullptr) return;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
_attachment->setRotation(rotation);
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_scale_x(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return 0;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return _attachment->getScaleX();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_scale_x(spine_region_attachment attachment, float scaleX) {
|
||||
if (attachment == nullptr) return;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
_attachment->setScaleX(scaleX);
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_scale_y(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return 0;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return _attachment->getScaleY();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_scale_y(spine_region_attachment attachment, float scaleY) {
|
||||
if (attachment == nullptr) return;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
_attachment->setScaleY(scaleY);
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_width(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return 0;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return _attachment->getWidth();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_width(spine_region_attachment attachment, float width) {
|
||||
if (attachment == nullptr) return;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
_attachment->setWidth(width);
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_height(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return 0;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return _attachment->getHeight();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_height(spine_region_attachment attachment, float height) {
|
||||
if (attachment == nullptr) return;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
_attachment->setHeight(height);
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT spine_color spine_region_attachment_get_color(spine_region_attachment attachment) {
|
||||
spine_color result = { 0, 0, 0, 0 };
|
||||
if (attachment == nullptr) return result;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
Color &color = _attachment->getColor();
|
||||
result = { color.r, color.g, color.b, color.a };
|
||||
return result;
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_color(spine_region_attachment attachment, float r, float g, float b, float a) {
|
||||
if (attachment == nullptr) return;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
_attachment->getColor().set(r, g, b, a);
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT const char *spine_region_attachment_get_path(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return nullptr;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return _attachment->getPath().buffer();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT spine_texture_region spine_region_attachment_get_region(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return nullptr;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return (spine_texture_region)_attachment->getRegion();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT spine_sequence spine_region_attachment_get_sequence(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return nullptr;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return (spine_sequence)_attachment->getSequence();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT int spine_region_attachment_get_num_offset(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return 0;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return (int)_attachment->getOffset().size();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT float *spine_region_attachment_get_offset(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return nullptr;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return _attachment->getOffset().buffer();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT int spine_region_attachment_get_num_uvs(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return 0;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return (int)_attachment->getUVs().size();
|
||||
}
|
||||
|
||||
FFI_PLUGIN_EXPORT float *spine_region_attachment_get_uvs(spine_region_attachment attachment) {
|
||||
if (attachment == nullptr) return nullptr;
|
||||
RegionAttachment *_attachment = (RegionAttachment*)attachment;
|
||||
return _attachment->getUVs().buffer();
|
||||
}
|
||||
|
||||
// Skin
|
||||
FFI_PLUGIN_EXPORT void spine_skin_set_attachment(spine_skin skin, int slotIndex, const char* name, spine_attachment attachment) {
|
||||
if (skin == nullptr) return;
|
||||
|
||||
@ -33,6 +33,8 @@ typedef void* spine_skin;
|
||||
typedef void* spine_attachment;
|
||||
typedef void* spine_point_attachment;
|
||||
typedef void* spine_region_attachment;
|
||||
typedef void* spine_texture_region;
|
||||
typedef void* spine_sequence;
|
||||
typedef void* spine_mesh_attachment;
|
||||
typedef void* spine_clipping_attachment;
|
||||
typedef void* spine_bounding_box_attachment;
|
||||
@ -487,6 +489,32 @@ FFI_PLUGIN_EXPORT void spine_point_attachment_set_rotation(spine_point_attachmen
|
||||
FFI_PLUGIN_EXPORT spine_color spine_point_attachment_get_color(spine_point_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT void spine_point_attachment_set_color(spine_point_attachment attachment, float r, float g, float b, float a);
|
||||
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_update_region(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_compute_world_vertices(spine_region_attachment attachment, spine_slot slot, float *worldVertices);
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_x(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_x(spine_region_attachment attachment, float x);
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_y(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_y(spine_region_attachment attachment, float y);
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_rotation(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_rotation(spine_region_attachment attachment, float rotation);
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_scale_x(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_scale_x(spine_region_attachment attachment, float scaleX);
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_scale_y(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_scale_y(spine_region_attachment attachment, float scaleY);
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_width(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_width(spine_region_attachment attachment, float width);
|
||||
FFI_PLUGIN_EXPORT float spine_region_attachment_get_height(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_height(spine_region_attachment attachment, float height);
|
||||
FFI_PLUGIN_EXPORT spine_color spine_region_attachment_get_color(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT void spine_region_attachment_set_color(spine_region_attachment attachment, float r, float g, float b, float a);
|
||||
FFI_PLUGIN_EXPORT const char *spine_region_attachment_get_path(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT spine_texture_region spine_region_attachment_get_region(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT spine_sequence spine_region_attachment_get_sequence(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT int spine_region_attachment_get_num_offset(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT float *spine_region_attachment_get_offset(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT int spine_region_attachment_get_num_uvs(spine_region_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT float *spine_region_attachment_get_uvs(spine_region_attachment attachment);
|
||||
|
||||
FFI_PLUGIN_EXPORT void spine_skin_set_attachment(spine_skin skin, int slotIndex, const char* name, spine_attachment attachment);
|
||||
FFI_PLUGIN_EXPORT spine_attachment spine_skin_get_attachment(spine_skin skin, int slotIndex, const char* name);
|
||||
FFI_PLUGIN_EXPORT void spine_skin_remove_attachment(spine_skin skin, int slotIndex, const char* name);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user