fromBinary static method

SkeletonData fromBinary(
  1. Atlas atlas,
  2. Uint8List binary
)

Loads a SkeletonData from the binary skeleton data, using the provided atlas to resolve attachment images.

Throws an Exception in case the skeleton data could not be loaded.

Implementation

static SkeletonData fromBinary(Atlas atlas, Uint8List binary) {
  final Pointer<Uint8> binaryNative = _allocator.allocate(binary.lengthInBytes);
  binaryNative.asTypedList(binary.lengthInBytes).setAll(0, binary);
  final result = _bindings.spine_skeleton_data_load_binary(atlas._atlas, binaryNative.cast(), binary.lengthInBytes);
  _allocator.free(binaryNative);
  if (_bindings.spine_skeleton_data_result_get_error(result).address != nullptr.address) {
    final Pointer<Utf8> error = _bindings.spine_skeleton_data_result_get_error(result).cast();
    final message = error.toDartString();
    _bindings.spine_skeleton_data_result_dispose(result);
    throw Exception("Couldn't load skeleton data: $message");
  }
  var data = SkeletonData._(_bindings.spine_skeleton_data_result_get_data(result));
  _bindings.spine_skeleton_data_result_dispose(result);
  return data;
}