loadSkeletonDataJson function
Load skeleton data from JSON string
Implementation
SkeletonData loadSkeletonDataJson(Atlas atlas, String jsonData, {String? path}) {
final jsonDataNative = jsonData.toNativeUtf8();
final pathNative = (path ?? '').toNativeUtf8();
final resultPtr = SpineBindings.bindings
.spine_skeleton_data_load_json(atlas.nativePtr.cast(), jsonDataNative.cast<Char>(), pathNative.cast<Char>());
malloc.free(jsonDataNative);
malloc.free(pathNative);
// Check for error
final errorPtr = SpineBindings.bindings.spine_skeleton_data_result_get_error(resultPtr.cast());
if (errorPtr != nullptr) {
final error = errorPtr.cast<Utf8>().toDartString();
SpineBindings.bindings.spine_skeleton_data_result_dispose(resultPtr.cast());
throw Exception("Couldn't load skeleton data: $error");
}
// Get skeleton data
final skeletonDataPtr = SpineBindings.bindings.spine_skeleton_data_result_get_data(resultPtr.cast());
final skeletonData = SkeletonData.fromPointer(skeletonDataPtr);
SpineBindings.bindings.spine_skeleton_data_result_dispose(resultPtr.cast());
return skeletonData;
}