diff --git a/.gitignore b/.gitignore index df3cf6cd9..11cc06a6d 100644 --- a/.gitignore +++ b/.gitignore @@ -257,3 +257,4 @@ formatters/eclipse-formatter/format-diff.txt spine-cpp/build-debug spine-cpp/build-linux spine-cpp/build-release-debug +spine-flutter/test/spine_flutter.dylib diff --git a/spine-c/src/extensions.h b/spine-c/src/extensions.h index fb504fb96..f257c2a22 100644 --- a/spine-c/src/extensions.h +++ b/spine-c/src/extensions.h @@ -35,6 +35,8 @@ extern "C" { #endif #include "base.h" +#include "generated/atlas.h" +#include "generated/skeleton_data.h" // Custom types for spine-c-new (not generated) SPINE_OPAQUE_TYPE(spine_skeleton_data_result) diff --git a/spine-flutter/README.md b/spine-flutter/README.md index f30632529..bc9aeef8f 100644 --- a/spine-flutter/README.md +++ b/spine-flutter/README.md @@ -63,7 +63,7 @@ Otherwise you can run the example like this: 2. Clone this repository `git clone https://github.com/esotericsoftware/spine-runtimes` 3. Run `setup.sh` in the `spine-flutter/` folder. On Windows, you can use [Git Bash](https://gitforwindows.org/) included in Git for Window to run the `setup.sh` Bash script. -You can then open `spine-flutter` in an IDE or editor of your choice that supports Flutter, like [IntelliJ IDEA/Android Studio](https://docs.flutter.dev/get-started/editor?tab=androidstudio) or [Visual Studio Code](https://docs.flutter.dev/get-started/editor?tab=vscode) to inspect and run the example. +You can then open `spine-flutter` in an IDE or editor of your choice that supports Flutter, like [IntelliJ IDEA/Android Studio](https://docs.flutter.dev/get-started/editor?tab=androidstudio) or [Visual Studio Code](https://docs.flutter.dev/get-started/editor?tab=vscode) to inspect and run the example. Alternatively, you can run the example from the [command line](https://docs.flutter.dev/get-started/test-drive?tab=terminal). @@ -72,6 +72,6 @@ If all you modify are the Dart sources of the plugin, then the development setup If you need to work on the `dart:ffi` bindings for `spine-cpp`, you will also need to install [Emscripten](https://emscripten.org/docs/getting_started/downloads.html). -To generate the bindings based on the `src/spine_flutter.h` header, run `dart run ffigen --config ffigen.yaml`. After the bindings have been generated, you must replace the line `import 'dart:ffi' as ffi;` with `import 'ffi_proxy.dart' as ffi;` in the file `src/spine_flutter_bindings_generated.dart`. Otherwise the bindings will not compile for the web. +To generate the bindings based on the `src/spine_flutter.h` header, run `dart run ffigen --config ffigen.yaml`. After the bindings have been generated, you must replace the line `import 'dart:ffi' as ffi;` with `import 'ffi_proxy.dart' as ffi;` in the file `src/generated/spine_dart_bindings_generated.dart`. Otherwise the bindings will not compile for the web. -If you made changes to `spine-cpp` or the source files in `src/`, you must run `compile-wasm.sh`. This will compile `spine-cpp` and the bindings for the Web and place updated versions of `libspine_flutter.js` and `libspine_flutter.wasm` in the `lib/assets/` folder. For web builds, the `initSpineFlutterFFI()` function in `lib/init_web.dart` will load these files from the package's asset bundle. +If you made changes to `spine-cpp` or the source files in `src/`, you must run `compile-wasm.sh`. This will compile `spine-cpp` and the bindings for the Web and place updated versions of `libspine_flutter.js` and `libspine_flutter.wasm` in the `lib/assets/` folder. For web builds, the `initSpineDartFFI()` function in `lib/spine_dart_init_web.dart` will load these files from the package's asset bundle. diff --git a/spine-flutter/codegen/package.json b/spine-flutter/codegen/package.json index cd26ac5a6..549279d8c 100644 --- a/spine-flutter/codegen/package.json +++ b/spine-flutter/codegen/package.json @@ -1,6 +1,10 @@ { "name": "spine-flutter-codegen", "type": "module", + "scripts": { + "format": "npx -y typescript-formatter -r **/*.ts", + "build": "npx tsx src/index.ts" + }, "dependencies": { "spine-c-codegen": "file:../../spine-c/codegen" }, diff --git a/spine-flutter/codegen/src/dart-writer.ts b/spine-flutter/codegen/src/dart-writer.ts index 87b895896..11809f26d 100644 --- a/spine-flutter/codegen/src/dart-writer.ts +++ b/spine-flutter/codegen/src/dart-writer.ts @@ -6,1272 +6,1447 @@ import { toSnakeCase } from '../../../spine-c/codegen/src/types.js'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const LICENSE_HEADER = fs.readFileSync(path.join(__dirname, '../../../spine-cpp/src/spine/Skeleton.cpp'), 'utf8') - .split('\n') - .slice(0, 28) - .map((line, index, array) => { - // Convert C++ block comment format to Dart line comment format - if (index === 0 && line.startsWith('/****')) { - // First line: remove asterisks - return '//' + line.substring(4).replace(/\*+/g, ''); - } else if (index === array.length - 1 && (line.startsWith(' ****') || line.trim() === '*/')) { - // Last line: remove asterisks, use // not /// - return '//' + line.substring(line.indexOf('*') + 1).replace(/\*+/g, '').replace(/\//g, ''); - } else if (line.startsWith(' ****') || line.trim() === '*/') { - return '// ' + line.substring(4); - } else if (line.startsWith(' * ')) { - return '// ' + line.substring(3); - } else if (line.startsWith(' *')) { - return '//' + line.substring(2); - } else { - return line; - } - }) - .join('\n'); + .split('\n') + .slice(0, 28) + .map((line, index, array) => { + // Convert C++ block comment format to Dart line comment format + if (index === 0 && line.startsWith('/****')) { + return `//${line.substring(4).replace(/\*+/g, '')}`; + } else if (index === array.length - 1 && (line.startsWith(' ****') || line.trim() === '*/')) { + return `//${line.substring(line.indexOf('*') + 1).replace(/\*+/g, '').replace(/\//g, '')}`; + } else if (line.startsWith(' ****') || line.trim() === '*/') { + return `// ${line.substring(4)}`; + } else if (line.startsWith(' * ')) { + return `// ${line.substring(3)}`; + } else if (line.startsWith(' *')) { + return `//${line.substring(2)}`; + } else { + return line; + } + }) + .join('\n'); -/** Generates Dart wrapper files from C intermediate representation */ +// Internal data model interfaces (from spec) +interface DartClass { + name: string; // Dart class name (e.g., "Animation") + type: 'concrete' | 'abstract' | 'interface'; + inheritance: { + extends?: string; // Single parent class + implements: string[]; // Multiple interfaces (replaces mixins) + }; + imports: string[]; // All required imports + members: DartMember[]; // All class members + hasRtti: boolean; // Whether this class needs RTTI switching + needsPackageFfi: boolean; // Whether to import package:ffi +} + +interface DartMember { + type: 'constructor' | 'method' | 'getter' | 'setter' | 'static_method'; + name: string; // Dart member name + dartReturnType: string; // Dart return type + parameters: DartParameter[]; // Parameters (excluding 'self') + isOverride: boolean; // Whether to add @override + implementation: string; // The actual Dart code body + cMethodName?: string; // Original C method name (for reference) +} + +interface DartParameter { + name: string; + dartType: string; + cType: string; // Original C type for conversion +} + +interface DartEnum { + name: string; + values: DartEnumValue[]; +} + +interface DartEnumValue { + name: string; + value: number; +} + +/** New Dart writer with clean architecture - following the specification exactly */ export class DartWriter { - private enumNames = new Set(); - private inheritanceMap = new Map(); // child -> parent - private classMap = new Map(); // name -> class - - constructor(private outputDir: string) { - this.cleanOutputDirectory(); - } - - private cleanOutputDirectory(): void { - if (fs.existsSync(this.outputDir)) { - console.log(`Cleaning ${this.outputDir}...`); - fs.rmSync(this.outputDir, { recursive: true, force: true }); - } - fs.mkdirSync(this.outputDir, { recursive: true }); - } - - /** Build inheritance relationships and class mapping */ - private buildInheritanceInfo(cTypes: CClassOrStruct[]): void { - // Build class map - for (const cType of cTypes) { - this.classMap.set(cType.name, cType); - } - - // Build inheritance map (child -> immediate parent) - for (const cType of cTypes) { - if (cType.cppType.superTypes && cType.cppType.superTypes.length > 0) { - // Find the immediate parent (most specific supertype) - let immediateParent: string | null = null; - - for (const superType of cType.cppType.superTypes) { - const parentCName = `spine_${toSnakeCase(superType)}`; - // Check if this parent exists in our class list - if (this.classMap.has(parentCName)) { - // Use the first valid supertype as immediate parent - // (In most cases there's only one direct parent) - if (!immediateParent) { - immediateParent = parentCName; - } - } - } - - if (immediateParent) { - this.inheritanceMap.set(cType.name, immediateParent); - } - } - } - } - - /** Sort classes by inheritance dependency (base classes first) */ - private sortByInheritance(cTypes: CClassOrStruct[]): CClassOrStruct[] { - const sorted: CClassOrStruct[] = []; - const processed = new Set(); - - const processClass = (cType: CClassOrStruct) => { - if (processed.has(cType.name)) { - return; - } - - // Process parent first - const parentName = this.inheritanceMap.get(cType.name); - if (parentName) { - const parent = this.classMap.get(parentName); - if (parent) { - processClass(parent); - } - } - - // Then process this class - sorted.push(cType); - processed.add(cType.name); - }; - - // Process all classes - for (const cType of cTypes) { - processClass(cType); - } - - return sorted; - } - - /** Check if a class is abstract */ - private isAbstract(cType: CClassOrStruct): boolean { - return cType.cppType.isAbstract === true; - } - - /** Get parent class name for inheritance */ - private getParentClass(cType: CClassOrStruct): string | null { - return this.inheritanceMap.get(cType.name) || null; - } - - /** Get root parent class name (for accessing static bindings) */ - private getRootParent(cType: CClassOrStruct): string { - let current = cType.name; - while (this.inheritanceMap.has(current)) { - current = this.inheritanceMap.get(current)!; - } - return current; - } - - /** Check if a method is inherited from a parent class */ - private isMethodInherited(method: CMethod, cType: CClassOrStruct): boolean { - // Find if this method exists in any parent class - const parentName = this.getParentClass(cType); - if (!parentName) { - return false; - } - - const parent = this.classMap.get(parentName); - if (!parent) { - return false; - } - - // Check if parent has this method (by looking at the method name pattern) - const methodSuffix = this.getMethodSuffix(method.name, cType.name); - const parentMethodName = `${parentName}_${methodSuffix}`; - - const hasInParent = parent.methods.some(m => m.name === parentMethodName); - if (hasInParent) { - return true; - } - - // Recursively check parent's parents - return this.isMethodInherited(method, parent); - } - - /** Extract method suffix from full method name */ - private getMethodSuffix(methodName: string, typeName: string): string { - const prefix = `${typeName}_`; - if (methodName.startsWith(prefix)) { - return methodName.slice(prefix.length); - } - return methodName; - } - - async writeAll(cTypes: CClassOrStruct[], cEnums: CEnum[], cArrayTypes: CClassOrStruct[]): Promise { - // Collect enum names first - for (const cEnum of cEnums) { - this.enumNames.add(cEnum.name); - } - - // Build inheritance information - this.buildInheritanceInfo(cTypes); - - // Sort classes by inheritance dependency (base classes first) - const sortedTypes = this.sortByInheritance(cTypes); - - // Write enums - for (const cEnum of cEnums) { - await this.writeEnum(cEnum); - } - - // Write wrapper classes in dependency order - for (const cType of sortedTypes) { - await this.writeClass(cType); - } - - // Write all array specializations in a single file - await this.writeArrays(cArrayTypes); - - // Write main export file - await this.writeExportFile(cTypes, cEnums, cArrayTypes); - - // Run dart fix to clean up generated code - await this.runDartFix(); - } - - - private async writeEnum(cEnum: CEnum): Promise { - const lines: string[] = []; - const dartName = this.toDartTypeName(cEnum.name); - - lines.push(LICENSE_HEADER); - lines.push(''); - lines.push('// AUTO GENERATED FILE, DO NOT EDIT.'); - lines.push(''); - lines.push(`/// ${dartName} enum`); - lines.push(`enum ${dartName} {`); - - // Write enum values - for (let i = 0; i < cEnum.values.length; i++) { - const value = cEnum.values[i]; - const dartValueName = this.toDartEnumValueName(value.name, cEnum.name); - const comma = i < cEnum.values.length - 1 ? ',' : ';'; - - if (value.value !== undefined) { - lines.push(` ${dartValueName}(${value.value})${comma}`); - } else { - lines.push(` ${dartValueName}(${i})${comma}`); - } - } - - lines.push(''); - lines.push(` const ${dartName}(this.value);`); - lines.push(' final int value;'); - lines.push(''); - lines.push(` static ${dartName} fromValue(int value) {`); - lines.push(' return values.firstWhere('); - lines.push(' (e) => e.value == value,'); - lines.push(` orElse: () => throw ArgumentError('Invalid ${dartName} value: \$value'),`); - lines.push(' );'); - lines.push(' }'); - lines.push('}'); - - const fileName = `${toSnakeCase(dartName)}.dart`; - const filePath = path.join(this.outputDir, fileName); - fs.writeFileSync(filePath, lines.join('\n')); - } - - private async writeClass(cType: CClassOrStruct): Promise { - const lines: string[] = []; - const dartClassName = this.toDartTypeName(cType.name); - - lines.push(LICENSE_HEADER); - lines.push(''); - lines.push('// AUTO GENERATED FILE, DO NOT EDIT.'); - lines.push(''); - lines.push("import 'dart:ffi';"); - - // Check if we need package:ffi for string conversions - const needsPackageFfi = this.needsStringConversions(cType); - if (needsPackageFfi) { - lines.push("import 'package:ffi/ffi.dart';"); - } - - lines.push("import 'spine_flutter_bindings_generated.dart';"); - lines.push("import '../spine_bindings.dart';"); - - // Check if this class has an rtti method - const hasRttiMethod = cType.methods.some(m => m.name === `${cType.name}_rtti` && m.parameters.length === 0); - if (hasRttiMethod) { - lines.push("import 'rtti.dart';"); - } - - // Add parent class import if needed - const parentName = this.getParentClass(cType); - if (parentName) { - const parentDartName = this.toDartTypeName(parentName); - lines.push(`import '${toSnakeCase(parentDartName)}.dart';`); - } - - // Collect all imports needed (arrays, enums, and other types) - const allImports = this.collectAllImports(cType); - for (const importFile of allImports) { - // Skip rtti.dart if we already added it above - if (importFile === 'rtti.dart' && hasRttiMethod) { - continue; - } - // Skip parent class import if we already added it above - if (parentName) { - const parentDartName = this.toDartTypeName(parentName); - if (importFile === `${toSnakeCase(parentDartName)}.dart`) { - continue; - } - } - lines.push(`import '${importFile}';`); - } - - lines.push(''); - lines.push(`/// ${dartClassName} wrapper`); - - // Build class declaration with inheritance - let classDeclaration = `class ${dartClassName}`; - if (this.isAbstract(cType)) { - classDeclaration = `abstract ${classDeclaration}`; - } - - if (parentName) { - const parentDartName = this.toDartTypeName(parentName); - classDeclaration += ` extends ${parentDartName}`; - } else { - classDeclaration += ` implements Finalizable`; - } - - lines.push(`${classDeclaration} {`); - - // Every class has its own typed pointer field - lines.push(` final Pointer<${cType.name}_wrapper> _ptr;`); - lines.push(''); - - // Constructor from pointer - if (parentName) { - // Derived class - initialize own pointer and call super constructor with cast - lines.push(` ${dartClassName}.fromPointer(this._ptr) : super.fromPointer(_ptr.cast());`); - } else { - // Base class - set the pointer directly - lines.push(` ${dartClassName}.fromPointer(this._ptr);`); - } - - lines.push(''); - lines.push(' /// Get the native pointer for FFI calls'); - lines.push(` Pointer get nativePtr => _ptr;`); - lines.push(''); - - // Write constructors (only for concrete classes) - if (!this.isAbstract(cType)) { - for (const constr of cType.constructors) { - lines.push(this.writeConstructor(dartClassName, constr, cType)); - lines.push(''); - } - } - - // Filter out methods with raw pointer parameters and inherited methods - const validMethods = cType.methods.filter(method => { - if (this.hasRawPointerParameters(method)) { - console.log(` Skipping method ${cType.name}::${method.name}: has raw pointer parameters`); - return false; - } - if (this.isMethodInherited(method, cType)) { - console.log(` Skipping method ${cType.name}::${method.name}: inherited from parent`); - return false; - } - return true; - }); - - // Renumber methods that need it - const renumberedMethods = this.renumberMethods(validMethods, cType.name); - - // Write methods - for (const methodInfo of renumberedMethods) { - const { method, renamedMethod } = methodInfo; - - // Special case: SlotPose hasDarkColor should be a getter - if (cType.name === 'spine_slot_pose' && method.name === 'spine_slot_pose_has_dark_color') { - lines.push(this.writeGetter(cType, method, 'hasDarkColor')); - } else if (this.isGetter(method)) { - lines.push(this.writeGetter(cType, method, renamedMethod)); - } else if (this.isSetter(method)) { - lines.push(this.writeSetter(cType, method, renamedMethod)); - } else { - lines.push(this.writeMethod(cType, method, renamedMethod)); - } - lines.push(''); - } - - // Write dispose method if destructor exists - if (cType.destructor) { - lines.push(' void dispose() {'); - lines.push(` SpineBindings.bindings.${cType.destructor.name}(_ptr);`); - lines.push(' }'); - } - - lines.push('}'); - - const fileName = `${toSnakeCase(dartClassName)}.dart`; - const filePath = path.join(this.outputDir, fileName); - fs.writeFileSync(filePath, lines.join('\n')); - } - - private async writeArrays(cArrayTypes: CClassOrStruct[]): Promise { - const lines: string[] = []; - - lines.push(LICENSE_HEADER); - lines.push(''); - lines.push('// AUTO GENERATED FILE, DO NOT EDIT.'); - lines.push(''); - lines.push("import 'dart:ffi';"); - lines.push("import 'package:ffi/ffi.dart';"); - lines.push("import 'spine_flutter_bindings_generated.dart';"); - lines.push("import '../spine_bindings.dart';"); - lines.push("import '../native_array.dart';"); - - // Collect all imports needed for all array types - const imports = new Set(); - for (const arrayType of cArrayTypes) { - const elementType = this.extractArrayElementType(arrayType.name); - if (!this.isPrimitive(elementType) && !['int', 'float', 'bool', 'unsigned_short', 'property_id'].includes(elementType.toLowerCase())) { - imports.add(`import '${toSnakeCase(elementType)}.dart';`); - - // If this element type is abstract, we need to import all its concrete subclasses too - const cElementType = `spine_${toSnakeCase(elementType)}`; - const cClass = this.classMap.get(cElementType); - if (cClass && this.isAbstract(cClass)) { - const concreteSubclasses = this.getConcreteSubclasses(cElementType); - for (const subclass of concreteSubclasses) { - const dartSubclass = this.toDartTypeName(subclass); - imports.add(`import '${toSnakeCase(dartSubclass)}.dart';`); - } - } - } - } - - // Add sorted imports - for (const imp of Array.from(imports).sort()) { - lines.push(imp); - } - - // Generate each array class - for (const arrayType of cArrayTypes) { - lines.push(''); - lines.push(...this.generateArrayClass(arrayType)); - } - - const filePath = path.join(this.outputDir, 'arrays.dart'); - fs.writeFileSync(filePath, lines.join('\n')); - } - - private generateArrayClass(arrayType: CClassOrStruct): string[] { - const lines: string[] = []; - const dartClassName = this.toDartTypeName(arrayType.name); - const elementType = this.extractArrayElementType(arrayType.name); - - - lines.push(`/// Array of ${elementType} elements`); - lines.push(`class ${dartClassName} extends NativeArray<${this.toDartElementType(elementType)}> {`); - // Generate typed constructor - arrays use the array wrapper type - const arrayWrapperType = `${arrayType.name}_wrapper`; - lines.push(` ${dartClassName}.fromPointer(Pointer<${arrayWrapperType}> super.ptr);`); - lines.push(''); - - // Find size and buffer methods - const sizeMethod = arrayType.methods.find(m => m.name.endsWith('_size') && !m.name.endsWith('_set_size')); - const bufferMethod = arrayType.methods.find(m => m.name.endsWith('_buffer')); - const setMethod = arrayType.methods.find(m => m.name.endsWith('_set') && m.parameters.length === 3); // self, index, value - - if (sizeMethod) { - lines.push(' @override'); - lines.push(' int get length {'); - lines.push(` return SpineBindings.bindings.${sizeMethod.name}(nativePtr.cast());`); - lines.push(' }'); - lines.push(''); - } - - if (bufferMethod) { - lines.push(' @override'); - lines.push(` ${this.toDartElementType(elementType)} operator [](int index) {`); - lines.push(' if (index < 0 || index >= length) {'); - lines.push(' throw RangeError.index(index, this, \'index\');'); - lines.push(' }'); - - lines.push(` final buffer = SpineBindings.bindings.${bufferMethod.name}(nativePtr.cast());`); - - // Handle different element types - if (elementType === 'int') { - lines.push(' return buffer.cast()[index];'); - } else if (elementType === 'float') { - lines.push(' return buffer.cast()[index];'); - } else if (elementType === 'bool') { - lines.push(' return buffer.cast()[index] != 0;'); - } else if (elementType === 'unsigned_short') { - lines.push(' return buffer.cast()[index];'); - } else if (elementType === 'property_id') { - // PropertyId buffer returns int instead of Pointer due to C codegen bug - // This will cause a compile error, but it's a known issue with the C API - lines.push(' // NOTE: This will not compile due to C API bug - buffer() returns int instead of Pointer'); - lines.push(' return buffer.cast()[index];'); - } else { - // For object types, the buffer contains pointers - const dartElementType = this.toDartTypeName(`spine_${toSnakeCase(elementType)}`); - const cElementType = `spine_${toSnakeCase(elementType)}`; - const cClass = this.classMap.get(cElementType); - - if (cClass && this.isAbstract(cClass)) { - // Use RTTI to determine concrete type for abstract classes - const rttiCode = this.generateRttiBasedInstantiation(dartElementType, 'buffer[index]', cClass); - lines.push(` ${rttiCode}`); - } else { - lines.push(` return ${dartElementType}.fromPointer(buffer[index]);`); - } - } - - lines.push(' }'); - lines.push(''); - } - - // Override []= if there's a set method - if (setMethod) { - lines.push(' @override'); - lines.push(` void operator []=(int index, ${this.toDartElementType(elementType)} value) {`); - lines.push(' if (index < 0 || index >= length) {'); - lines.push(' throw RangeError.index(index, this, \'index\');'); - lines.push(' }'); - - // Convert value to C type - const param = setMethod.parameters[2]; // The value parameter - const convertedValue = this.convertDartToC('value', param); - lines.push(` SpineBindings.bindings.${setMethod.name}(nativePtr.cast(), index, ${convertedValue});`); - lines.push(' }'); - } - - lines.push('}'); - - return lines; - } - - private async writeExportFile(cTypes: CClassOrStruct[], cEnums: CEnum[], cArrayTypes: CClassOrStruct[]): Promise { - const lines: string[] = []; - - lines.push(LICENSE_HEADER); - lines.push(''); - lines.push('// AUTO GENERATED FILE, DO NOT EDIT.'); - lines.push(''); - lines.push('// Export all generated types'); - lines.push(''); - - lines.push(`export 'native_array.dart';`); - lines.push(''); - - // Export enums - if (cEnums.length > 0) { - lines.push('// Enums'); - for (const cEnum of cEnums) { - const dartName = this.toDartTypeName(cEnum.name); - lines.push(`export 'generated/${toSnakeCase(dartName)}.dart';`); - } - lines.push(''); - } - - // Export classes - if (cTypes.length > 0) { - lines.push('// Classes'); - for (const cType of cTypes) { - const dartName = this.toDartTypeName(cType.name); - lines.push(`export 'generated/${toSnakeCase(dartName)}.dart';`); - } - lines.push(''); - } - - // Export arrays - if (cArrayTypes.length > 0) { - lines.push('// Arrays'); - lines.push(`export 'generated/arrays.dart';`); - } - - const filePath = path.join(path.dirname(path.dirname(this.outputDir)), 'spine_flutter.dart'); - fs.writeFileSync(filePath, lines.join('\n')); - } - - // Helper methods - - private writeConstructor(dartClassName: string, constr: CMethod, cType: CClassOrStruct): string { - const lines: string[] = []; - - const params = constr.parameters.map(p => { - const dartType = this.toDartParameterType(p); - return `${dartType} ${p.name}`; - }).join(', '); - - const args = constr.parameters.map(p => { - return this.convertDartToC(p.name, p); - }).join(', '); - - // Determine constructor name suffix - const cTypeName = `spine_${toSnakeCase(dartClassName)}`; - let constructorName = constr.name.replace(`${cTypeName}_create`, ''); - - // Handle numeric suffixes and special cases - if (constructorName) { - // If it's just a number, handle it generically - if (/^\d+$/.test(constructorName)) { - // Special case for Color::create2 specifically - if (cType.name === 'spine_color' && constr.name === 'spine_color_create2') { - constructorName = 'fromRGBA'; - } - // For other numbered constructors, look at parameters to generate a name - else if (constr.parameters.length > 0) { - // If first param is the same type as what we're constructing, it's likely a copy/from constructor - const firstParamType = constr.parameters[0].cType.replace('*', '').trim(); - if (firstParamType === cType.name) { - constructorName = 'from'; - } else { - // Otherwise use a generic variant name - constructorName = `variant${constructorName}`; - } - } else { - constructorName = `variant${constructorName}`; - } - } else if (constructorName.startsWith('_')) { - // Handle underscored names (e.g., create_with_data -> withData) - constructorName = this.toCamelCase(constructorName.slice(1)); - } - } - - const factoryName = constructorName ? `.${constructorName}` : ''; - - lines.push(` factory ${dartClassName}${factoryName}(${params}) {`); - lines.push(` final ptr = SpineBindings.bindings.${constr.name}(${args});`); - lines.push(` return ${dartClassName}.fromPointer(ptr);`); - lines.push(' }'); - - return lines.join('\n'); - } - - private writeMethod(cType: CClassOrStruct, method: CMethod, renamedMethod?: string): string { - const lines: string[] = []; - const dartReturnType = this.toDartReturnType(method.returnType); - let methodName = renamedMethod || this.toDartMethodName(method.name, cType.name); - - // Skip if this is handled as getter/setter - if (this.isGetter(method) || this.isSetter(method)) { - return ''; - } - - // Check if this is a static method (no self parameter) - const isStatic = method.parameters.length === 0 || - (method.parameters[0].name !== 'self' && - !method.parameters[0].cType.startsWith(cType.name)); - - // Rename static rtti method to avoid conflict with getter - if (isStatic && methodName === 'rtti') { - methodName = 'rttiStatic'; - } - - // Parameters (skip 'self' parameter for instance methods) - const paramStartIndex = isStatic ? 0 : 1; - const params = method.parameters.slice(paramStartIndex).map(p => { - const dartType = this.toDartParameterType(p); - return `${dartType} ${p.name}`; - }).join(', '); - - // Arguments - const args = method.parameters.map((p, i) => { - if (!isStatic && i === 0) return '_ptr'; // self parameter - return this.convertDartToC(p.name, p); - }).join(', '); - - // Generate method signature with appropriate modifier - const methodSignature = isStatic ? ` static ${dartReturnType} ${methodName}` : ` ${dartReturnType} ${methodName}`; - - lines.push(`${methodSignature}(${params}) {`); - - // Always use the global bindings - const bindingsRef = 'SpineBindings.bindings'; - - if (method.returnType === 'void') { - lines.push(` ${bindingsRef}.${method.name}(${args});`); - } else { - lines.push(` final result = ${bindingsRef}.${method.name}(${args});`); - lines.push(` ${this.generateReturnConversion(method.returnType, 'result')}`); - } - - lines.push(' }'); - - return lines.join('\n'); - } - - private writeGetter(cType: CClassOrStruct, method: CMethod, renamedMethod?: string): string { - const lines: string[] = []; - const propertyName = renamedMethod || this.extractPropertyName(method.name, cType.name); - const dartReturnType = this.toDartReturnType(method.returnType); - lines.push(` ${dartReturnType} get ${propertyName} {`); - lines.push(` final result = SpineBindings.bindings.${method.name}(_ptr);`); - lines.push(` ${this.generateReturnConversion(method.returnType, 'result')}`); - lines.push(' }'); - - return lines.join('\n'); - } - - private writeSetter(cType: CClassOrStruct, method: CMethod, renamedMethod?: string): string { - const lines: string[] = []; - let propertyName = renamedMethod || this.extractPropertyName(method.name, cType.name); - const param = method.parameters[1]; // First param is self - const dartType = this.toDartParameterType(param); - - // Handle numeric suffixes in setter names - const match = propertyName.match(/^(\w+)_(\d+)$/); - if (match) { - // Convert property_2 to property2 - propertyName = `${match[1]}${match[2]}`; - } else if (/^\d+$/.test(propertyName)) { - // If property name is just a number, prefix with 'set' - propertyName = `set${propertyName}`; - } - - lines.push(` set ${propertyName}(${dartType} value) {`); - lines.push(` SpineBindings.bindings.${method.name}(_ptr, ${this.convertDartToC('value', param)});`); - lines.push(' }'); - - return lines.join('\n'); - } - - private isGetter(method: CMethod): boolean { - // Traditional getter with _get_ in name - if (method.name.includes('_get_') && method.parameters.length === 1) { - return true; - } - - // Boolean methods that start with 'has_' or 'is_' and take only self parameter - if (method.returnType === 'bool' && method.parameters.length === 1) { - if (method.name.includes('_has_') || method.name.includes('_is_')) { - return true; - } - } - - return false; - } - - private isSetter(method: CMethod): boolean { - // Must return void and have 2 parameters (self + value) - if (method.returnType !== 'void' || method.parameters.length !== 2) { - return false; - } - - // Traditional setter with _set_ in name - if (method.name.includes('_set_')) { - return true; - } - - return false; - } - - private extractPropertyName(methodName: string, typeName: string): string { - // Remove type prefix and get/set - const prefix = `${typeName}_`; - let name = methodName.startsWith(prefix) ? methodName.slice(prefix.length) : methodName; - - if (name.startsWith('get_')) { - name = name.slice(4); - } else if (name.startsWith('set_')) { - name = name.slice(4); - } - - // Special case: if the property name is "update_cache", rename to "updateCacheList" - // to avoid collision with the updateCache() method - if (name === 'update_cache') { - return 'updateCacheList'; - } - - // Special case: if property name is a type name, suffix with 'Value' - const typeNames = ['int', 'float', 'double', 'bool', 'string']; - if (typeNames.includes(name.toLowerCase())) { - return `${this.toCamelCase(name)}Value`; - } - - return this.toCamelCase(name); - } - - private toDartTypeName(cTypeName: string): string { - // spine_animation -> Animation - if (cTypeName.startsWith('spine_')) { - const name = cTypeName.slice(6); - return this.toPascalCase(name); - } - return this.toPascalCase(cTypeName); - } - - private toDartMethodName(cMethodName: string, cTypeName: string): string { - // spine_animation_apply -> apply - const prefix = `${cTypeName}_`; - if (cMethodName.startsWith(prefix)) { - return this.toCamelCase(cMethodName.slice(prefix.length)); - } - return this.toCamelCase(cMethodName); - } - - private toDartEnumValueName(cValueName: string, cEnumName: string): string { - // SPINE_BLEND_MODE_NORMAL -> normal - const enumNameUpper = cEnumName.toUpperCase(); - - // Try different prefix patterns - const prefixes = [ - `SPINE_${enumNameUpper}_`, - `${enumNameUpper}_`, - 'SPINE_' - ]; - - let name = cValueName; - for (const prefix of prefixes) { - if (name.startsWith(prefix)) { - name = name.slice(prefix.length); - break; - } - } - - const enumValue = this.toCamelCase(name.toLowerCase()); - - // Special case for MixDirection enum - prefix with 'direction' - if (cEnumName === 'spine_mix_direction' && ['in', 'out'].includes(enumValue)) { - return `direction${this.toPascalCase(enumValue)}`; - } - - return enumValue; - } - - private toDartReturnType(cType: string): string { - if (cType === 'void') return 'void'; - // Handle char* with or without spaces - if (cType === 'char*' || cType === 'char *' || cType === 'const char*' || cType === 'const char *') return 'String'; - if (cType === 'float' || cType === 'double') return 'double'; - if (cType === 'int' || cType === 'size_t' || cType === 'int32_t' || cType === 'uint32_t') return 'int'; - if (cType === 'bool') return 'bool'; - - // Handle enum types - if (this.enumNames.has(cType)) { - return this.toDartTypeName(cType); - } - - // Handle array types - if (cType.startsWith('spine_array_')) { - return this.toDartTypeName(cType); - } - - // Handle other spine types - if (cType.startsWith('spine_')) { - return this.toDartTypeName(cType); - } - - return 'dynamic'; - } - - private toDartParameterType(param: CParameter): string { - // Handle output parameters (non-const references that become pointers) - if (param.isOutput) { - const baseType = param.cType.replace('*', '').trim(); - return `Pointer<${this.getPrimitiveFFIType(baseType + '*')}>`; - } - - // String parameters should stay as String, not dynamic (handle with or without spaces) - if (param.cType === 'char*' || param.cType === 'char *' || param.cType === 'const char*' || param.cType === 'const char *') { - return 'String'; - } - - return this.toDartReturnType(param.cType); - } - - private toDartElementType(elementType: string): string { - // Handle pointer types - if (elementType.endsWith('*')) { - const baseType = elementType.slice(0, -1).trim(); - return this.toDartTypeName(`spine_${toSnakeCase(baseType)}`); - } - - // For primitive types, return the Dart type directly - if (elementType === 'int' || elementType === 'int32_t' || elementType === 'uint32_t' || elementType === 'size_t') { - return 'int'; - } - if (elementType === 'unsigned_short') { - return 'int'; // Dart doesn't have unsigned short, use int - } - if (elementType === 'property_id' || elementType === 'int64_t') { - return 'int'; // PropertyId is int64_t which maps to int in Dart - } - if (elementType === 'float' || elementType === 'double') { - return 'double'; - } - if (elementType === 'bool') { - return 'bool'; - } - - // For object types that are already in PascalCase (from extractArrayElementType) - // just return them as-is - return elementType; - } - - private getPrimitiveFFIType(cType: string): string { - switch (cType) { - case 'float*': return 'Float'; - case 'double*': return 'Double'; - case 'int*': return 'Int'; - case 'bool*': return 'Bool'; - default: return 'Void'; - } - } - - private convertDartToC(dartValue: string, param: CParameter): string { - // Handle char* with or without spaces - if (param.cType === 'char*' || param.cType === 'char *' || param.cType === 'const char*' || param.cType === 'const char *') { - return `${dartValue}.toNativeUtf8().cast()`; - } - - // Check if it's an enum type - if (this.enumNames.has(param.cType)) { - return `${dartValue}.value`; - } - - // Check if it's an array type - arrays use _nativeArray - if (param.cType.startsWith('spine_array_')) { - return `${dartValue}.nativePtr.cast()`; - } - - // Regular spine types have nativePtr - if (param.cType.startsWith('spine_')) { - return `${dartValue}.nativePtr.cast()`; - } - - return dartValue; - } - - private generateReturnConversion(cReturnType: string, resultVar: string): string { - // Handle char* with or without spaces - if (cReturnType === 'char*' || cReturnType === 'char *' || cReturnType === 'const char*' || cReturnType === 'const char *') { - return `return ${resultVar}.cast().toDartString();`; - } - - // Handle enum types - if (this.enumNames.has(cReturnType)) { - const dartType = this.toDartTypeName(cReturnType); - return `return ${dartType}.fromValue(${resultVar});`; - } - - if (cReturnType.startsWith('spine_array_')) { - const dartType = this.toDartTypeName(cReturnType); - return `return ${dartType}.fromPointer(${resultVar});`; - } - - if (cReturnType.startsWith('spine_')) { - const dartType = this.toDartTypeName(cReturnType); - const cClass = this.classMap.get(cReturnType); - if (cClass && this.isAbstract(cClass)) { - // Use RTTI to determine concrete type and instantiate correctly - return this.generateRttiBasedInstantiation(dartType, resultVar, cClass); - } - return `return ${dartType}.fromPointer(${resultVar});`; - } - - return `return ${resultVar};`; - } - - private generateRttiBasedInstantiation(abstractType: string, resultVar: string, abstractClass: CClassOrStruct): string { - const lines: string[] = []; - - // Get concrete subclasses for this abstract class - const concreteSubclasses = this.getConcreteSubclasses(abstractClass.name); - - if (concreteSubclasses.length === 0) { - return `throw UnsupportedError('Cannot instantiate abstract class ${abstractType} from pointer - no concrete subclasses found');`; - } - - lines.push(`final rtti = SpineBindings.bindings.${abstractClass.name}_get_rtti(${resultVar});`); - lines.push(`final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString();`); - lines.push(`switch (className) {`); - - for (const subclass of concreteSubclasses) { - const dartSubclass = this.toDartTypeName(subclass); - lines.push(` case '${subclass}':`); - lines.push(` return ${dartSubclass}.fromPointer(${resultVar}.cast());`); - } - - lines.push(` default:`); - lines.push(` throw UnsupportedError('Unknown concrete type: \$className for abstract class ${abstractType}');`); - lines.push(`}`); - - return lines.join('\n '); - } - - private getConcreteSubclasses(abstractClassName: string): string[] { - const concreteSubclasses: string[] = []; - - // Find all classes that inherit from this abstract class - for (const [childName, parentName] of this.inheritanceMap.entries()) { - if (parentName === abstractClassName) { - const childClass = this.classMap.get(childName); - if (childClass && !this.isAbstract(childClass)) { - concreteSubclasses.push(childName); - } else { - // Recursively check for concrete subclasses - concreteSubclasses.push(...this.getConcreteSubclasses(childName)); - } - } - } - - return concreteSubclasses; - } - - private collectAllImports(cType: CClassOrStruct): Set { - const imports = new Set(); - const currentTypeName = this.toDartTypeName(cType.name); - const currentFileName = `${toSnakeCase(currentTypeName)}.dart`; - - // Collect from methods (return types and parameters) - // Only consider methods that will actually be generated (skip raw pointer methods) - let hasArrays = false; - for (const method of cType.methods) { - // Skip methods with raw pointer parameters - they won't be generated - if (this.hasRawPointerParameters(method)) { - continue; - } - // Return type - if (method.returnType.startsWith('spine_array_')) { - hasArrays = true; - } - // Check for spine types in return types (including pointer types) - else if (method.returnType.startsWith('spine_')) { - const cleanType = method.returnType.replace('*', '').trim(); - if (!this.isPrimitive(cleanType)) { - const typeName = this.toDartTypeName(cleanType); - const fileName = `${toSnakeCase(typeName)}.dart`; - // Skip self-imports - if (fileName !== currentFileName) { - imports.add(fileName); - } - - // If this return type is abstract, we need to import all its concrete subclasses too - const returnClass = this.classMap.get(cleanType); - if (returnClass && this.isAbstract(returnClass)) { - const concreteSubclasses = this.getConcreteSubclasses(cleanType); - for (const subclass of concreteSubclasses) { - const dartSubclass = this.toDartTypeName(subclass); - const subclassFileName = `${toSnakeCase(dartSubclass)}.dart`; - if (subclassFileName !== currentFileName) { - imports.add(subclassFileName); - } - } - } - } - } - - // Parameters - for (const param of method.parameters) { - // Skip self parameter - if (param.name === 'self') continue; - - // Arrays - if (param.cType.startsWith('spine_array_')) { - hasArrays = true; - } - // Enums - else if (this.enumNames.has(param.cType)) { - const enumType = this.toDartTypeName(param.cType); - imports.add(`${toSnakeCase(enumType)}.dart`); - } - // Other spine types (handle both pointer and non-pointer types) - else if (param.cType.startsWith('spine_')) { - const cleanType = param.cType.replace('*', '').trim(); - if (!this.isPrimitive(cleanType)) { - const typeName = this.toDartTypeName(cleanType); - const fileName = `${toSnakeCase(typeName)}.dart`; - // Skip self-imports - if (fileName !== currentFileName) { - imports.add(fileName); - } - } - } - } - } - - // Collect from constructors - for (const constr of cType.constructors) { - for (const param of constr.parameters) { - // Arrays - if (param.cType.startsWith('spine_array_')) { - hasArrays = true; - } - // Enums - else if (this.enumNames.has(param.cType)) { - const enumType = this.toDartTypeName(param.cType); - imports.add(`${toSnakeCase(enumType)}.dart`); - } - // Other spine types (but not primitives) - else if (param.cType.startsWith('spine_') && !param.cType.includes('*')) { - const typeName = this.toDartTypeName(param.cType); - const fileName = `${toSnakeCase(typeName)}.dart`; - // Skip self-imports - if (fileName !== currentFileName) { - imports.add(fileName); - } - } - } - } - - // Add arrays.dart import if any arrays are used - if (hasArrays) { - imports.add('arrays.dart'); - } - - return imports; - } - - private extractArrayElementType(arrayTypeName: string): string { - // spine_array_animation -> Animation - // spine_array_int -> int - const match = arrayTypeName.match(/spine_array_(.+)/); - if (match) { - const rawType = match[1]; - // For primitive types, return the raw type - if (['int', 'float', 'bool', 'unsigned_short', 'property_id'].includes(rawType)) { - return rawType; - } - // For object types, convert to PascalCase - return this.toPascalCase(rawType); - } - return 'dynamic'; - } - - private isPrimitive(type: string): boolean { - return ['float', 'double', 'int', 'bool', 'size_t', 'int32_t', 'uint32_t'].includes(type); - } - - private hasRawPointerParameters(method: CMethod): boolean { - // Check return type - if (this.isRawPointer(method.returnType)) { - return true; - } - - // Check parameters - for (const param of method.parameters) { - if (this.isRawPointer(param.cType)) { - return true; - } - } - - return false; - } - - private isRawPointer(cType: string): boolean { - // String types are allowed - if (cType === 'char*' || cType === 'char *' || cType === 'const char*' || cType === 'const char *') { - return false; - } - - // Check if it's a pointer type (ends with * or contains *) - if (cType.includes('*')) { - // If it's not a spine type pointer, it's a raw pointer - const cleanType = cType.replace('*', '').trim(); - if (!cleanType.startsWith('spine_')) { - return true; - } - } - - return false; - } - - private renumberMethods(methods: CMethod[], typeName: string): Array<{method: CMethod, renamedMethod?: string}> { - const result: Array<{method: CMethod, renamedMethod?: string}> = []; - - // Group methods by their base name (without numeric suffix) - const methodGroups = new Map(); - - for (const method of methods) { - // Extract base name without numeric suffix - const match = method.name.match(/^(.+?)_(\d+)$/); - if (match) { - const baseName = match[1]; - if (!methodGroups.has(baseName)) { - methodGroups.set(baseName, []); - } - methodGroups.get(baseName)!.push(method); - } else { - // Method without numeric suffix - result.push({ method }); - } - } - - // Process grouped methods - for (const [baseName, groupedMethods] of methodGroups) { - if (groupedMethods.length === 1) { - // Only one method left in the group - remove the numeric suffix - const method = groupedMethods[0]; - const dartMethodName = this.toDartMethodName(baseName, typeName); - result.push({ method, renamedMethod: dartMethodName }); - } else { - // Multiple methods - renumber them starting from 1 (or keep special names) - groupedMethods.sort((a, b) => { - const aNum = parseInt(a.name.match(/_(\d+)$/)![1]); - const bNum = parseInt(b.name.match(/_(\d+)$/)![1]); - return aNum - bNum; - }); - - for (let i = 0; i < groupedMethods.length; i++) { - const method = groupedMethods[i]; - const newNumber = i + 1; - const currentNumber = parseInt(method.name.match(/_(\d+)$/)![1]); - - if (newNumber !== currentNumber) { - // Need to renumber - const baseDartName = this.toDartMethodName(baseName, typeName); - result.push({ method, renamedMethod: `${baseDartName}${newNumber}` }); - } else { - // Number is correct - result.push({ method }); - } - } - } - } - - return result; - } - - private toPascalCase(str: string): string { - return str.split('_') - .map(word => word.charAt(0).toUpperCase() + word.slice(1)) - .join(''); - } - - private toCamelCase(str: string): string { - const pascal = this.toPascalCase(str); - return pascal.charAt(0).toLowerCase() + pascal.slice(1); - } - - private needsStringConversions(cType: CClassOrStruct): boolean { - // Check if any method has string parameters or return types - for (const method of cType.methods) { - // Check return type - if (method.returnType === 'char*' || method.returnType === 'char *' || - method.returnType === 'const char*' || method.returnType === 'const char *') { - return true; - } - - // Check parameters - for (const param of method.parameters) { - if (param.cType === 'char*' || param.cType === 'char *' || - param.cType === 'const char*' || param.cType === 'const char *') { - return true; - } - } - - // Check if method returns abstract types (which use RTTI and need Utf8) - if (method.returnType.startsWith('spine_')) { - const cleanType = method.returnType.replace('*', '').trim(); - const returnClass = this.classMap.get(cleanType); - if (returnClass && this.isAbstract(returnClass)) { - return true; // RTTI switch uses Utf8 conversion - } - } - } - - // Check constructors - for (const constr of cType.constructors) { - for (const param of constr.parameters) { - if (param.cType === 'char*' || param.cType === 'char *' || - param.cType === 'const char*' || param.cType === 'const char *') { - return true; - } - } - } - - return false; - } - - private async runDartFix(): Promise { - const { spawn } = await import('node:child_process'); - - return new Promise((resolve, reject) => { - console.log('Running dart fix --apply on generated code...'); - - const dartFix = spawn('dart', ['fix', '--apply', this.outputDir], { - stdio: 'inherit' - }); - - dartFix.on('close', (code) => { - if (code === 0) { - console.log('✓ Dart fix completed successfully'); - resolve(); - } else { - console.warn(`⚠ Dart fix exited with code ${code}`); - resolve(); // Don't fail the build if dart fix fails - } - }); - - dartFix.on('error', (error) => { - console.warn(`⚠ Failed to run dart fix: ${error.message}`); - resolve(); // Don't fail the build if dart fix fails - }); - }); - } + private enumNames = new Set(); + private classMap = new Map(); // name -> class + private inheritance: Record = {}; + private isInterface: Record = {}; + private supertypes: Record = {}; // for RTTI switching + + constructor (private outputDir: string) { + this.cleanOutputDirectory(); + } + + private cleanOutputDirectory (): void { + if (fs.existsSync(this.outputDir)) { + console.log(`[NEW] Cleaning ${this.outputDir}...`); + fs.rmSync(this.outputDir, { recursive: true, force: true }); + } + fs.mkdirSync(this.outputDir, { recursive: true }); + } + + // Step 1: Transform C types to clean Dart model (from spec) + private transformToDartModel ( + cTypes: CClassOrStruct[], + cEnums: CEnum[], + inheritance: Record, + isInterface: Record, + supertypes: Record + ): { classes: DartClass[], enums: DartEnum[] } { + + // Store data for reference + this.inheritance = inheritance; + this.isInterface = isInterface; + this.supertypes = supertypes; + + for (const cType of cTypes) { + this.classMap.set(cType.name, cType); + } + + for (const cEnum of cEnums) { + this.enumNames.add(cEnum.name); + } + + console.log('[NEW] Transforming to Dart model...'); + + const dartClasses: DartClass[] = []; + const dartEnums: DartEnum[] = []; + + // Transform enums + for (const cEnum of cEnums) { + dartEnums.push(this.transformEnum(cEnum)); + } + + // Transform classes in dependency order + const sortedTypes = this.sortByInheritance(cTypes); + for (const cType of sortedTypes) { + dartClasses.push(this.transformClass(cType)); + } + + return { classes: dartClasses, enums: dartEnums }; + } + + // Step 2: Generate Dart code from clean model (from spec) + private generateDartCode (dartClass: DartClass): string { + const lines: string[] = []; + + // Header (same for all) + lines.push(this.generateHeader()); + + // Imports (unified logic) + lines.push(...this.generateImports(dartClass.imports, dartClass.needsPackageFfi, dartClass.hasRtti)); + + // Class declaration (unified) + lines.push(this.generateClassDeclaration(dartClass)); + + // Class body (same template for all types) + if (dartClass.type === 'interface') { + lines.push(...this.generateInterfaceBody(dartClass)); + } else { + lines.push(...this.generateClassBody(dartClass)); + } + + lines.push('}'); + + return lines.join('\n'); + } + + // Step 3: Write files + async writeAll ( + cTypes: CClassOrStruct[], + cEnums: CEnum[], + cArrayTypes: CClassOrStruct[], + inheritance: Record = {}, + isInterface: Record = {}, + supertypes: Record = {} + ): Promise { + console.log('[NEW] Starting new Dart writer...'); + + // Step 1: Transform to clean model + const { classes, enums } = this.transformToDartModel(cTypes, cEnums, inheritance, isInterface, supertypes); + + // Step 2 & 3: Generate and write files + console.log('[NEW] Writing enum files...'); + for (const dartEnum of enums) { + const content = this.generateEnumCode(dartEnum); + const fileName = `${toSnakeCase(dartEnum.name)}.dart`; + const filePath = path.join(this.outputDir, fileName); + fs.writeFileSync(filePath, content); + } + + console.log('[NEW] Writing class files...'); + for (const dartClass of classes) { + const content = this.generateDartCode(dartClass); + const fileName = `${toSnakeCase(dartClass.name)}.dart`; + const filePath = path.join(this.outputDir, fileName); + fs.writeFileSync(filePath, content); + } + + // Generate arrays.dart (crucial - this was missing!) + console.log('[NEW] Writing arrays.dart...'); + await this.writeArraysFile(cArrayTypes); + + // Write main export file + await this.writeExportFile(classes, enums); + + console.log('[NEW] New dart writer completed!'); + } + + // Class type resolution (from spec) + private determineClassType (cType: CClassOrStruct): 'concrete' | 'abstract' | 'interface' { + if (this.isInterface[cType.name]) return 'interface'; + if (cType.cppType.isAbstract) return 'abstract'; + return 'concrete'; + } + + // Inheritance resolution - Use implements instead of mixins (from spec) + private resolveInheritance (cType: CClassOrStruct): { extends?: string, implements: string[] } { + const inheritanceInfo = this.inheritance[cType.name]; + return { + extends: inheritanceInfo?.extends ? this.toDartTypeName(inheritanceInfo.extends) : undefined, + implements: (inheritanceInfo?.mixins || []).map(mixin => this.toDartTypeName(mixin)) // Convert mixins to implements + }; + } + + private transformEnum (cEnum: CEnum): DartEnum { + return { + name: this.toDartTypeName(cEnum.name), + values: cEnum.values.map((value) => ({ + name: this.toDartEnumValueName(value.name, cEnum.name), + value: Number.parseInt(value.value ?? "0") + })) + }; + } + + private transformClass (cType: CClassOrStruct): DartClass { + const dartName = this.toDartTypeName(cType.name); + const classType = this.determineClassType(cType); + const inheritance = this.resolveInheritance(cType); + + return { + name: dartName, + type: classType, + inheritance, + imports: this.collectImports(cType), + members: this.processMembers(cType, classType), + hasRtti: this.hasRttiMethod(cType), + needsPackageFfi: this.needsStringConversions(cType) + }; + } + + // Unified Method Processing (from spec) + private processMembers (cType: CClassOrStruct, classType: 'concrete' | 'abstract' | 'interface'): DartMember[] { + const members: DartMember[] = []; + + // Add constructors for concrete classes only + if (classType === 'concrete') { + for (const constr of cType.constructors) { + members.push(this.createConstructor(constr, cType)); + } + } + + // Process methods with unified logic - Apply SAME logic for ALL class types + const validMethods = cType.methods.filter(method => { + if (this.hasRawPointerParameters(method)) { + return false; + } + if (this.isMethodInherited(method, cType)) { + return false; + } + return true; + }); + + const renumberedMethods = this.renumberMethods(validMethods, cType.name); + + // Create a map of overloaded setter methods for isSetter to check + const overloadedSetters = this.findOverloadedSetters(renumberedMethods); + + for (const methodInfo of renumberedMethods) { + const { method, renamedMethod } = methodInfo; + members.push(this.processMethod(method, cType, classType, renamedMethod, overloadedSetters)); + } + + return members; + } + + private processMethod (method: CMethod, cType: CClassOrStruct, classType: 'concrete' | 'abstract' | 'interface', renamedMethod?: string, overloadedSetters?: Set): DartMember { + // Apply SAME logic for ALL class types (concrete, abstract, interface) - from spec + if (this.isGetter(method)) { + return this.createGetter(method, cType, classType, renamedMethod); + } else if (this.isSetter(method, overloadedSetters)) { + return this.createSetter(method, cType, classType, renamedMethod); + } else { + return this.createMethod(method, cType, classType, renamedMethod); + } + } + + // Unified getter detection for ALL classes (from spec) + private isGetter (method: CMethod): boolean { + return (method.name.includes('_get_') && method.parameters.length === 1) || + (method.returnType === 'bool' && method.parameters.length === 1 && + (method.name.includes('_has_') || method.name.includes('_is_') || method.name.includes('_was_'))); + } + + private isSetter (method: CMethod, overloadedSetters?: Set): boolean { + const isBasicSetter = method.returnType === 'void' && + method.parameters.length === 2 && + method.name.includes('_set_'); + + if (!isBasicSetter) return false; + + // If this setter has overloads (multiple methods with same base name), + // don't generate it as a setter - generate as regular method instead + if (overloadedSetters?.has(method.name)) { + return false; + } + + return true; + } + + private findOverloadedSetters (renumberedMethods: Array<{ method: CMethod, renamedMethod?: string }>): Set { + const setterBasenames = new Map(); + + // Group setter methods by their base name + for (const methodInfo of renumberedMethods) { + const method = methodInfo.method; + if (method.returnType === 'void' && + method.parameters.length === 2 && + method.name.includes('_set_')) { + + // Extract base name by removing numbered suffix + const match = method.name.match(/^(.+?)_(\d+)$/); + const baseName = match ? match[1] : method.name; + + if (!setterBasenames.has(baseName)) { + setterBasenames.set(baseName, []); + } + setterBasenames.get(baseName)?.push(method.name); + } + } + + // Find setters that have multiple methods with the same base name + const overloadedSetters = new Set(); + for (const [_baseName, methodNames] of setterBasenames) { + if (methodNames.length > 1) { + // Multiple setters with same base name - mark all as overloaded + for (const methodName of methodNames) { + overloadedSetters.add(methodName); + } + } + } + + return overloadedSetters; + } + + private createConstructor (constr: CMethod, cType: CClassOrStruct): DartMember { + const dartClassName = this.toDartTypeName(cType.name); + const params = constr.parameters.map(p => ({ + name: p.name, + dartType: this.toDartParameterType(p), + cType: p.cType + })); + + const args = constr.parameters.map(p => this.convertDartToC(p.name, p)).join(', '); + const implementation = `final ptr = SpineBindings.bindings.${constr.name}(${args}); + return ${dartClassName}.fromPointer(ptr);`; + + return { + type: 'constructor', + name: this.getConstructorName(constr, cType), + dartReturnType: dartClassName, + parameters: params, + isOverride: false, + implementation, + cMethodName: constr.name + }; + } + + private createGetter (method: CMethod, cType: CClassOrStruct, classType: 'concrete' | 'abstract' | 'interface', renamedMethod?: string): DartMember { + const propertyName = renamedMethod || this.extractPropertyName(method.name, cType.name); + const dartReturnType = this.toDartReturnType(method.returnType); + + // Interface methods have no implementation (from spec) + let implementation = ''; + if (classType !== 'interface') { + implementation = `final result = SpineBindings.bindings.${method.name}(_ptr); + ${this.generateReturnConversion(method.returnType, 'result')}`; + } + + // Check if this is an override + const isOverride = this.isMethodOverride(method, cType); + + return { + type: 'getter', + name: propertyName, + dartReturnType, + parameters: [], + isOverride, + implementation, + cMethodName: method.name + }; + } + + private createSetter (method: CMethod, cType: CClassOrStruct, classType: 'concrete' | 'abstract' | 'interface', renamedMethod?: string): DartMember { + let propertyName = renamedMethod || this.extractPropertyName(method.name, cType.name); + const param = method.parameters[1]; // First param is self + const dartParam = { + name: 'value', + dartType: this.toDartParameterType(param), + cType: param.cType + }; + + // Handle numeric suffixes in setter names (only when no renamed method provided) + if (!renamedMethod) { + const match = propertyName.match(/^(\w+)_(\d+)$/); + if (match) { + propertyName = `${match[1]}${match[2]}`; + } else if (/^\d+$/.test(propertyName)) { + propertyName = `set${propertyName}`; + } + } + + // Interface methods have no implementation (from spec) + let implementation = ''; + if (classType !== 'interface') { + implementation = `SpineBindings.bindings.${method.name}(_ptr, ${this.convertDartToC('value', param)});`; + } + + const isOverride = this.isMethodOverride(method, cType); + + return { + type: 'setter', + name: propertyName, + dartReturnType: 'void', + parameters: [dartParam], + isOverride, + implementation, + cMethodName: method.name + }; + } + + private createMethod (method: CMethod, cType: CClassOrStruct, classType: 'concrete' | 'abstract' | 'interface', renamedMethod?: string): DartMember { + let methodName = renamedMethod || this.toDartMethodName(method.name, cType.name); + const dartReturnType = this.toDartReturnType(method.returnType); + + // Check if this is a static method + const isStatic = method.parameters.length === 0 || + (method.parameters[0].name !== 'self' && + !method.parameters[0].cType.startsWith(cType.name)); + + // Rename static rtti method to avoid conflict with getter + if (isStatic && methodName === 'rtti') { + methodName = 'rttiStatic'; + } + + // Parameters (skip 'self' parameter for instance methods) + const paramStartIndex = isStatic ? 0 : 1; + const params = method.parameters.slice(paramStartIndex).map(p => ({ + name: p.name, + dartType: this.toDartParameterType(p), + cType: p.cType + })); + + // Interface methods have no implementation (from spec) + // Exception: rttiStatic() needs implementation even in interfaces + let implementation = ''; + if (classType !== 'interface' || methodName === 'rttiStatic') { + const args = method.parameters.map((p, i) => { + if (!isStatic && i === 0) return '_ptr'; // self parameter + return this.convertDartToC(p.name, p); + }).join(', '); + + if (method.returnType === 'void') { + implementation = `SpineBindings.bindings.${method.name}(${args});`; + } else { + implementation = `final result = SpineBindings.bindings.${method.name}(${args}); + ${this.generateReturnConversion(method.returnType, 'result')}`; + } + } + + const isOverride = this.isMethodOverride(method, cType); + + return { + type: isStatic ? 'static_method' : 'method', + name: methodName, + dartReturnType, + parameters: params, + isOverride, + implementation, + cMethodName: method.name + }; + } + + // Code generation methods (from spec) + + private generateHeader (): string { + return `${LICENSE_HEADER} + +// AUTO GENERATED FILE, DO NOT EDIT.`; + } + + private generateImports (imports: string[], needsPackageFfi: boolean, hasRtti: boolean): string[] { + const lines: string[] = []; + + lines.push(''); + lines.push("import 'dart:ffi';"); + + if (needsPackageFfi) { + lines.push("import 'package:ffi/ffi.dart';"); + } + + lines.push("import 'spine_dart_bindings_generated.dart';"); + lines.push("import '../spine_bindings.dart';"); + + if (hasRtti) { + lines.push("import 'rtti.dart';"); + } + + // Add other imports + for (const importFile of imports.sort()) { + if (!['rtti.dart'].includes(importFile)) { // Skip duplicates + lines.push(`import '${importFile}';`); + } + } + + return lines; + } + + // Class declaration generation (from spec) + private generateClassDeclaration (dartClass: DartClass): string { + let declaration = ''; + + if (dartClass.type === 'interface') { + declaration = `abstract class ${dartClass.name}`; + } else { + declaration = `class ${dartClass.name}`; + if (dartClass.type === 'abstract') { + declaration = `abstract ${declaration}`; + } + } + + // Inheritance + if (dartClass.inheritance.extends) { + declaration += ` extends ${dartClass.inheritance.extends}`; + } + + // Implements clause - combine Finalizable with other interfaces + const implementsClasses: string[] = []; + + // Add Finalizable for non-interface classes that don't extend another class + if (dartClass.type !== 'interface' && !dartClass.inheritance.extends) { + implementsClasses.push('Finalizable'); + } + + // Add other interfaces + implementsClasses.push(...dartClass.inheritance.implements); + + if (implementsClasses.length > 0) { + declaration += ` implements ${implementsClasses.join(', ')}`; + } + + return ` +/// ${dartClass.name} wrapper +${declaration} {`; + } + + private generateInterfaceBody (dartClass: DartClass): string[] { + const lines: string[] = []; + + // Add nativePtr getter for interfaces that can be used as method parameters + // This allows the generated code to call .nativePtr.cast() on interface instances + lines.push(' Pointer get nativePtr;'); + + // Generate abstract method signatures for interfaces + for (const member of dartClass.members) { + lines.push(this.generateInterfaceMember(member)); + } + + return lines; + } + + // Class body generation (from spec) + private generateClassBody (dartClass: DartClass): string[] { + const lines: string[] = []; + + // Pointer field (only for concrete/abstract classes) + const cTypeName = this.toCTypeName(dartClass.name); + lines.push(` final Pointer<${cTypeName}_wrapper> _ptr;`); + lines.push(''); + + // Constructor + lines.push(this.generatePointerConstructor(dartClass)); + lines.push(''); + + // Native pointer getter + lines.push(' /// Get the native pointer for FFI calls'); + lines.push(' Pointer get nativePtr => _ptr;'); + lines.push(''); + + // Members + for (const member of dartClass.members) { + lines.push(this.generateMember(member)); + lines.push(''); + } + + return lines; + } + + private generatePointerConstructor (dartClass: DartClass): string { + if (dartClass.inheritance.extends) { + return ` ${dartClass.name}.fromPointer(this._ptr) : super.fromPointer(_ptr.cast());`; + } else { + return ` ${dartClass.name}.fromPointer(this._ptr);`; + } + } + + private generateInterfaceMember (member: DartMember): string { + const params = member.parameters.map(p => `${p.dartType} ${p.name}`).join(', '); + + switch (member.type) { + case 'getter': + return ` ${member.dartReturnType} get ${member.name};`; + case 'setter': + return ` set ${member.name}(${params});`; + case 'method': + return ` ${member.dartReturnType} ${member.name}(${params});`; + case 'static_method': + // Special case: rttiStatic() needs implementation even in abstract classes + if (member.name === 'rttiStatic') { + return ` static ${member.dartReturnType} ${member.name}(${params}) { + ${member.implementation} + }`; + } else { + return ` static ${member.dartReturnType} ${member.name}(${params});`; + } + default: + return ''; + } + } + + // Member generation (from spec) + private generateMember (member: DartMember): string { + const override = member.isOverride ? '@override\n ' : ' '; + + switch (member.type) { + case 'constructor': + return this.generateConstructorMember(member); + case 'getter': + return `${override}${member.dartReturnType} get ${member.name} { + ${member.implementation} + }`; + case 'setter': { + const param = member.parameters[0]; + return `${override}set ${member.name}(${param.dartType} ${param.name}) { + ${member.implementation} + }`; + } + case 'method': + case 'static_method': { + const params = member.parameters.map(p => `${p.dartType} ${p.name}`).join(', '); + const static_ = member.type === 'static_method' ? 'static ' : ''; + return `${override}${static_}${member.dartReturnType} ${member.name}(${params}) { + ${member.implementation} + }`; + } + default: + return ''; + } + } + + private generateConstructorMember (member: DartMember): string { + const params = member.parameters.map(p => `${p.dartType} ${p.name}`).join(', '); + const factoryName = member.name === member.dartReturnType ? '' : `.${member.name}`; + + return ` factory ${member.dartReturnType}${factoryName}(${params}) { + ${member.implementation} + }`; + } + + private generateEnumCode (dartEnum: DartEnum): string { + const lines: string[] = []; + + lines.push(this.generateHeader()); + lines.push(''); + lines.push(`/// ${dartEnum.name} enum`); + lines.push(`enum ${dartEnum.name} {`); + + // Write enum values + for (let i = 0; i < dartEnum.values.length; i++) { + const value = dartEnum.values[i]; + const comma = i < dartEnum.values.length - 1 ? ',' : ';'; + lines.push(` ${value.name}(${value.value})${comma}`); + } + + lines.push(''); + lines.push(` const ${dartEnum.name}(this.value);`); + lines.push(' final int value;'); + lines.push(''); + lines.push(` static ${dartEnum.name} fromValue(int value) {`); + lines.push(' return values.firstWhere('); + lines.push(' (e) => e.value == value,'); + lines.push(` orElse: () => throw ArgumentError('Invalid ${dartEnum.name} value: \$value'),`); + lines.push(' );'); + lines.push(' }'); + lines.push('}'); + + return lines.join('\n'); + } + + // Generate arrays.dart file (this was missing!) + private async writeArraysFile (cArrayTypes: CClassOrStruct[]): Promise { + const lines: string[] = []; + + lines.push(this.generateHeader()); + lines.push(''); + lines.push("import 'dart:ffi';"); + lines.push("import 'package:ffi/ffi.dart';"); + lines.push("import 'spine_dart_bindings_generated.dart';"); + lines.push("import '../spine_bindings.dart';"); + lines.push("import '../native_array.dart';"); + + // Collect all imports needed for all array types + const imports = new Set(); + for (const arrayType of cArrayTypes) { + const elementType = this.extractArrayElementType(arrayType.name); + if (!this.isPrimitiveArrayType(elementType)) { + imports.add(`import '${toSnakeCase(elementType)}.dart';`); + + // If this element type is abstract, we need to import all its concrete subclasses too + const cElementType = `spine_${toSnakeCase(elementType)}`; + const cClass = this.classMap.get(cElementType); + if (cClass && this.isAbstract(cClass)) { + const concreteSubclasses = this.getConcreteSubclasses(cElementType); + for (const subclass of concreteSubclasses) { + const dartSubclass = this.toDartTypeName(subclass); + imports.add(`import '${toSnakeCase(dartSubclass)}.dart';`); + } + } + } + } + + // Add RTTI import if needed + if (Array.from(imports).some(imp => { + const arrayType = cArrayTypes.find(at => imp.includes(toSnakeCase(this.extractArrayElementType(at.name)))); + if (arrayType) { + const elementType = this.extractArrayElementType(arrayType.name); + const cElementType = `spine_${toSnakeCase(elementType)}`; + const cClass = this.classMap.get(cElementType); + return cClass && this.isAbstract(cClass); + } + return false; + })) { + lines.push("import 'rtti.dart';"); + } + + // Add sorted imports + for (const imp of Array.from(imports).sort()) { + lines.push(imp); + } + + // Generate all array classes in one file (from spec) + for (const arrayType of cArrayTypes) { + lines.push(''); + lines.push(...this.generateArrayClassLines(arrayType)); + } + + const filePath = path.join(this.outputDir, 'arrays.dart'); + fs.writeFileSync(filePath, lines.join('\n')); + } + + // Array generation (proper implementation from old writer) + private generateArrayClassLines (arrayType: CClassOrStruct): string[] { + const lines: string[] = []; + const dartClassName = this.toDartTypeName(arrayType.name); + const elementType = this.extractArrayElementType(arrayType.name); + + lines.push(`/// ${dartClassName} wrapper`); + lines.push(`class ${dartClassName} extends NativeArray<${this.toDartElementType(elementType)}> {`); + + // Generate typed constructor - arrays use the array wrapper type + const arrayWrapperType = `${arrayType.name}_wrapper`; + lines.push(` ${dartClassName}.fromPointer(Pointer<${arrayWrapperType}> ptr) : super(ptr);`); + lines.push(''); + + // Find size and buffer methods + const sizeMethod = arrayType.methods.find(m => m.name.endsWith('_size') && !m.name.endsWith('_set_size')); + const bufferMethod = arrayType.methods.find(m => m.name.endsWith('_buffer')); + const setMethod = arrayType.methods.find(m => m.name.endsWith('_set') && m.parameters.length === 3); // self, index, value + + if (sizeMethod) { + lines.push(' @override'); + lines.push(' int get length {'); + lines.push(` return SpineBindings.bindings.${sizeMethod.name}(nativePtr.cast());`); + lines.push(' }'); + lines.push(''); + } + + if (bufferMethod) { + lines.push(' @override'); + lines.push(` ${this.toDartElementType(elementType)} operator [](int index) {`); + lines.push(' if (index < 0 || index >= length) {'); + lines.push(' throw RangeError.index(index, this, \'index\');'); + lines.push(' }'); + + lines.push(` final buffer = SpineBindings.bindings.${bufferMethod.name}(nativePtr.cast());`); + + // Handle different element types + if (elementType === 'int') { + lines.push(' return buffer.cast()[index];'); + } else if (elementType === 'float') { + lines.push(' return buffer.cast()[index];'); + } else if (elementType === 'bool') { + lines.push(' return buffer.cast()[index] != 0;'); + } else if (elementType === 'unsigned_short') { + lines.push(' return buffer.cast()[index];'); + } else if (elementType === 'property_id') { + // PropertyId buffer returns int instead of Pointer due to C codegen bug + lines.push(' // NOTE: This will not compile due to C API bug - buffer() returns int instead of Pointer'); + lines.push(' return buffer.cast()[index];'); + } else { + // For object types, the buffer contains pointers + const dartElementType = this.toDartTypeName(`spine_${toSnakeCase(elementType)}`); + const cElementType = `spine_${toSnakeCase(elementType)}`; + const cClass = this.classMap.get(cElementType); + + if (cClass && this.isAbstract(cClass)) { + // Use RTTI to determine concrete type for abstract classes + const rttiCode = this.generateRttiBasedInstantiation(dartElementType, 'buffer[index]', cClass); + lines.push(` ${rttiCode}`); + } else { + lines.push(` return ${dartElementType}.fromPointer(buffer[index]);`); + } + } + + lines.push(' }'); + lines.push(''); + } + + // Override []= if there's a set method + if (setMethod) { + lines.push(' @override'); + lines.push(` void operator []=(int index, ${this.toDartElementType(elementType)} value) {`); + lines.push(' if (index < 0 || index >= length) {'); + lines.push(' throw RangeError.index(index, this, \'index\');'); + lines.push(' }'); + + // Convert value to C type + const param = setMethod.parameters[2]; // The value parameter + const convertedValue = this.convertDartToC('value', param); + lines.push(` SpineBindings.bindings.${setMethod.name}(nativePtr.cast(), index, ${convertedValue});`); + lines.push(' }'); + } + + lines.push('}'); + + return lines; + } + + private extractArrayElementType (arrayTypeName: string): string { + // spine_array_animation -> animation + // spine_array_int -> int + const match = arrayTypeName.match(/spine_array_(.+)/); + if (match) { + const rawType = match[1]; + // For primitive types, return the raw type + if (['int', 'float', 'bool', 'unsigned_short', 'property_id'].includes(rawType)) { + return rawType; + } + // For object types, return the raw type (will be converted later) + return rawType; + } + return 'dynamic'; + } + + private toDartElementType (elementType: string): string { + // Handle pointer types + if (elementType.endsWith('*')) { + const baseType = elementType.slice(0, -1).trim(); + return this.toDartTypeName(`spine_${toSnakeCase(baseType)}`); + } + + // For primitive types, return the Dart type directly + if (elementType === 'int' || elementType === 'int32_t' || elementType === 'uint32_t' || elementType === 'size_t') { + return 'int'; + } + if (elementType === 'unsigned_short') { + return 'int'; // Dart doesn't have unsigned short, use int + } + if (elementType === 'property_id' || elementType === 'int64_t') { + return 'int'; // PropertyId is int64_t which maps to int in Dart + } + if (elementType === 'float' || elementType === 'double') { + return 'double'; + } + if (elementType === 'bool') { + return 'bool'; + } + + // For object types, convert to PascalCase + return this.toPascalCase(elementType); + } + + private isPrimitiveArrayType (elementType: string): boolean { + return ['int', 'float', 'bool', 'unsigned_short', 'property_id'].includes(elementType.toLowerCase()); + } + + // Helper methods + + private sortByInheritance (cTypes: CClassOrStruct[]): CClassOrStruct[] { + const sorted: CClassOrStruct[] = []; + const processed = new Set(); + + const processClass = (cType: CClassOrStruct) => { + if (processed.has(cType.name)) { + return; + } + + // Process concrete parent first (skip interfaces) + const inheritanceInfo = this.inheritance[cType.name]; + if (inheritanceInfo?.extends) { + const parent = this.classMap.get(inheritanceInfo.extends); + if (parent) { + processClass(parent); + } + } + + // Process interface dependencies + for (const interfaceName of inheritanceInfo?.mixins || []) { + const interfaceClass = this.classMap.get(interfaceName); + if (interfaceClass) { + processClass(interfaceClass); + } + } + + sorted.push(cType); + processed.add(cType.name); + }; + + for (const cType of cTypes) { + processClass(cType); + } + + return sorted; + } + + private hasRttiMethod (cType: CClassOrStruct): boolean { + return cType.methods.some(m => m.name === `${cType.name}_rtti` && m.parameters.length === 0); + } + + private collectImports (cType: CClassOrStruct): string[] { + const imports = new Set(); + const currentTypeName = this.toDartTypeName(cType.name); + const currentFileName = `${toSnakeCase(currentTypeName)}.dart`; + + // Add parent class import if needed + const parentName = this.inheritance[cType.name]?.extends; + if (parentName) { + const parentDartName = this.toDartTypeName(parentName); + imports.add(`${toSnakeCase(parentDartName)}.dart`); + } + + // Add interface imports + for (const interfaceName of this.inheritance[cType.name]?.mixins || []) { + const interfaceDartName = this.toDartTypeName(interfaceName); + const interfaceFileName = `${toSnakeCase(interfaceDartName)}.dart`; + if (interfaceFileName !== currentFileName) { + imports.add(interfaceFileName); + } + } + + // Collect from methods and constructors + let hasArrays = false; + for (const method of [...cType.methods, ...cType.constructors]) { + if (this.hasRawPointerParameters(method)) continue; + + // Return type + if (method.returnType.startsWith('spine_array_')) { + hasArrays = true; + } else if (method.returnType.startsWith('spine_')) { + const cleanType = method.returnType.replace('*', '').trim(); + if (!this.isPrimitive(cleanType)) { + const typeName = this.toDartTypeName(cleanType); + const fileName = `${toSnakeCase(typeName)}.dart`; + if (fileName !== currentFileName) { + imports.add(fileName); + } + + // If return type is abstract, add imports for all concrete subclasses + // that could be referenced in the RTTI-based switch statement + const cClass = this.classMap.get(cleanType); + if (cClass && this.isAbstract(cClass)) { + const concreteSubclasses = this.getConcreteSubclasses(cleanType); + for (const subclass of concreteSubclasses) { + const dartSubclass = this.toDartTypeName(subclass); + const subclassFileName = `${toSnakeCase(dartSubclass)}.dart`; + if (subclassFileName !== currentFileName) { + imports.add(subclassFileName); + } + } + } + } + } + + // Parameters + for (const param of method.parameters) { + if (param.name === 'self') continue; + + if (param.cType.startsWith('spine_array_')) { + hasArrays = true; + } else if (this.enumNames.has(param.cType)) { + const enumType = this.toDartTypeName(param.cType); + imports.add(`${toSnakeCase(enumType)}.dart`); + } else if (param.cType.startsWith('spine_')) { + const cleanType = param.cType.replace('*', '').trim(); + if (!this.isPrimitive(cleanType)) { + const typeName = this.toDartTypeName(cleanType); + const fileName = `${toSnakeCase(typeName)}.dart`; + if (fileName !== currentFileName) { + imports.add(fileName); + } + } + } + } + } + + if (hasArrays) { + imports.add('arrays.dart'); + } + + return Array.from(imports).sort(); + } + + private isPrimitive (type: string): boolean { + return ['float', 'double', 'int', 'bool', 'size_t', 'int32_t', 'uint32_t'].includes(type); + } + + private isMethodOverride (method: CMethod, cType: CClassOrStruct): boolean { + // Static methods cannot be overridden in Dart + const isStatic = method.parameters.length === 0 || + (method.parameters[0].name !== 'self' && + !method.parameters[0].cType.startsWith(cType.name)); + + if (isStatic) { + return false; + } + + // Check if this method exists in parent classes or interfaces + const parentName = this.inheritance[cType.name]?.extends; + if (parentName) { + const parent = this.classMap.get(parentName); + if (parent) { + const methodSuffix = this.getMethodSuffix(method.name, cType.name); + const parentMethodName = `${parentName}_${methodSuffix}`; + if (parent.methods.some(m => m.name === parentMethodName)) { + return true; + } + } + } + + // Check interfaces + for (const interfaceName of this.inheritance[cType.name]?.mixins || []) { + const interfaceClass = this.classMap.get(interfaceName); + if (interfaceClass) { + const methodSuffix = this.getMethodSuffix(method.name, cType.name); + const interfaceMethodName = `${interfaceName}_${methodSuffix}`; + if (interfaceClass.methods.some(m => m.name === interfaceMethodName)) { + return true; + } + } + } + + return false; + } + + // Utility methods - keeping from previous implementation + + private toDartTypeName (cTypeName: string): string { + if (cTypeName.startsWith('spine_')) { + const name = cTypeName.slice(6); + return this.toPascalCase(name); + } + return this.toPascalCase(cTypeName); + } + + private toCTypeName (dartTypeName: string): string { + return `spine_${toSnakeCase(dartTypeName)}`; + } + + private toDartMethodName (cMethodName: string, cTypeName: string): string { + const prefix = `${cTypeName}_`; + if (cMethodName.startsWith(prefix)) { + return this.toCamelCase(cMethodName.slice(prefix.length)); + } + return this.toCamelCase(cMethodName); + } + + private toDartEnumValueName (cValueName: string, cEnumName: string): string { + const enumNameUpper = cEnumName.toUpperCase(); + + const prefixes = [ + `SPINE_${enumNameUpper}_`, + `${enumNameUpper}_`, + 'SPINE_' + ]; + + let name = cValueName; + for (const prefix of prefixes) { + if (name.startsWith(prefix)) { + name = name.slice(prefix.length); + break; + } + } + + const enumValue = this.toCamelCase(name.toLowerCase()); + + if (cEnumName === 'spine_mix_direction' && ['in', 'out'].includes(enumValue)) { + return `direction${this.toPascalCase(enumValue)}`; + } + + return enumValue; + } + + private toDartReturnType (cType: string): string { + if (cType === 'void') return 'void'; + if (cType === 'char*' || cType === 'char *' || cType === 'const char*' || cType === 'const char *') return 'String'; + if (cType === 'float' || cType === 'double') return 'double'; + if (cType === 'int' || cType === 'size_t' || cType === 'int32_t' || cType === 'uint32_t') return 'int'; + if (cType === 'bool') return 'bool'; + // Handle primitive pointer types + if (cType === 'void*' || cType === 'void *') return 'Pointer'; + if (cType === 'float*' || cType === 'float *') return 'Pointer'; + if (cType === 'uint32_t*' || cType === 'uint32_t *') return 'Pointer'; + if (cType === 'uint16_t*' || cType === 'uint16_t *') return 'Pointer'; + if (cType === 'int*' || cType === 'int *') return 'Pointer'; + return this.toDartTypeName(cType); + } + + private toDartParameterType (param: CParameter): string { + if (param.cType === 'char*' || param.cType === 'char *' || param.cType === 'const char*' || param.cType === 'const char *') { + return 'String'; + } + // Handle void* parameters as Pointer + if (param.cType === 'void*' || param.cType === 'void *') { + return 'Pointer'; + } + return this.toDartReturnType(param.cType); + } + + private convertDartToC (dartValue: string, param: CParameter): string { + if (param.cType === 'char*' || param.cType === 'char *' || param.cType === 'const char*' || param.cType === 'const char *') { + return `${dartValue}.toNativeUtf8().cast()`; + } + + if (this.enumNames.has(param.cType)) { + return `${dartValue}.value`; + } + + if (param.cType.startsWith('spine_')) { + return `${dartValue}.nativePtr.cast()`; + } + + return dartValue; + } + + private generateReturnConversion (cReturnType: string, resultVar: string): string { + if (cReturnType === 'char*' || cReturnType === 'char *' || cReturnType === 'const char*' || cReturnType === 'const char *') { + return `return ${resultVar}.cast().toDartString();`; + } + + if (this.enumNames.has(cReturnType)) { + const dartType = this.toDartTypeName(cReturnType); + return `return ${dartType}.fromValue(${resultVar});`; + } + + if (cReturnType.startsWith('spine_array_')) { + const dartType = this.toDartTypeName(cReturnType); + return `return ${dartType}.fromPointer(${resultVar});`; + } + + if (cReturnType.startsWith('spine_')) { + const dartType = this.toDartTypeName(cReturnType); + const cClass = this.classMap.get(cReturnType); + if (cClass && this.isAbstract(cClass)) { + return this.generateRttiBasedInstantiation(dartType, resultVar, cClass); + } + return `return ${dartType}.fromPointer(${resultVar});`; + } + + return `return ${resultVar};`; + } + + private generateRttiBasedInstantiation (abstractType: string, resultVar: string, abstractClass: CClassOrStruct): string { + const lines: string[] = []; + + const concreteSubclasses = this.getConcreteSubclasses(abstractClass.name); + + if (concreteSubclasses.length === 0) { + return `throw UnsupportedError('Cannot instantiate abstract class ${abstractType} from pointer - no concrete subclasses found');`; + } + + lines.push(`final rtti = SpineBindings.bindings.${abstractClass.name}_get_rtti(${resultVar});`); + lines.push(`final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString();`); + lines.push(`switch (className) {`); + + for (const subclass of concreteSubclasses) { + const dartSubclass = this.toDartTypeName(subclass); + lines.push(` case '${subclass}':`); + lines.push(` return ${dartSubclass}.fromPointer(${resultVar}.cast());`); + } + + lines.push(` default:`); + lines.push(` throw UnsupportedError('Unknown concrete type: \$className for abstract class ${abstractType}');`); + lines.push(`}`); + + return lines.join('\n '); + } + + private getConcreteSubclasses (abstractClassName: string): string[] { + const concreteSubclasses: string[] = []; + + for (const [childName, supertypeList] of Object.entries(this.supertypes || {})) { + if (supertypeList.includes(abstractClassName)) { + const childClass = this.classMap.get(childName); + if (childClass && !this.isAbstract(childClass)) { + concreteSubclasses.push(childName); + } + } + } + + return concreteSubclasses; + } + + private isAbstract (cType: CClassOrStruct): boolean { + return cType.cppType.isAbstract === true; + } + + private getConstructorName (constr: CMethod, cType: CClassOrStruct): string { + const dartClassName = this.toDartTypeName(cType.name); + const cTypeName = this.toCTypeName(dartClassName); + let constructorName = constr.name.replace(`${cTypeName}_create`, ''); + + if (constructorName) { + if (/^\d+$/.test(constructorName)) { + if (cType.name === 'spine_color' && constr.name === 'spine_color_create2') { + constructorName = 'fromRGBA'; + } else if (constr.parameters.length > 0) { + const firstParamType = constr.parameters[0].cType.replace('*', '').trim(); + if (firstParamType === cType.name) { + constructorName = 'from'; + } else { + constructorName = `variant${constructorName}`; + } + } else { + constructorName = `variant${constructorName}`; + } + } else if (constructorName.startsWith('_')) { + constructorName = this.toCamelCase(constructorName.slice(1)); + } + } + + return constructorName || dartClassName; + } + + private extractPropertyName (methodName: string, typeName: string): string { + const prefix = `${typeName}_`; + let name = methodName.startsWith(prefix) ? methodName.slice(prefix.length) : methodName; + + if (name.startsWith('get_')) { + name = name.slice(4); + } else if (name.startsWith('set_')) { + name = name.slice(4); + } + + if (name === 'update_cache') { + return 'updateCacheList'; + } + + const typeNames = ['int', 'float', 'double', 'bool', 'string']; + if (typeNames.includes(name.toLowerCase())) { + return `${this.toCamelCase(name)}Value`; + } + + return this.toCamelCase(name); + } + + private hasRawPointerParameters (method: CMethod): boolean { + for (const param of method.parameters) { + if (this.isRawPointer(param.cType)) { + return true; + } + } + return false; + } + + private isRawPointer (cType: string): boolean { + if (cType === 'char*' || cType === 'char *' || cType === 'const char*' || cType === 'const char *') { + return false; + } + + if (cType.includes('*')) { + const cleanType = cType.replace('*', '').trim(); + if (!cleanType.startsWith('spine_')) { + return true; + } + } + + return false; + } + + private isMethodInherited (method: CMethod, cType: CClassOrStruct): boolean { + const parentName = this.inheritance[cType.name]?.extends; + if (!parentName) { + return false; + } + + const parent = this.classMap.get(parentName); + if (!parent) { + return false; + } + + const methodSuffix = this.getMethodSuffix(method.name, cType.name); + const parentMethodName = `${parentName}_${methodSuffix}`; + + const hasInParent = parent.methods.some(m => m.name === parentMethodName); + if (hasInParent) { + return true; + } + + return this.isMethodInherited(method, parent); + } + + private getMethodSuffix (methodName: string, typeName: string): string { + const prefix = `${typeName}_`; + if (methodName.startsWith(prefix)) { + return methodName.slice(prefix.length); + } + return methodName; + } + + private renumberMethods (methods: CMethod[], typeName: string): Array<{ method: CMethod, renamedMethod?: string }> { + const result: Array<{ method: CMethod, renamedMethod?: string }> = []; + + const methodGroups = new Map(); + + for (const method of methods) { + const match = method.name.match(/^(.+?)_(\d+)$/); + if (match) { + const baseName = match[1]; + if (!methodGroups.has(baseName)) { + methodGroups.set(baseName, []); + } + methodGroups.get(baseName)!.push(method); + } else { + result.push({ method }); + } + } + + for (const [baseName, groupedMethods] of methodGroups) { + if (groupedMethods.length === 1) { + const method = groupedMethods[0]; + const dartMethodName = this.toDartMethodName(baseName, typeName); + result.push({ method, renamedMethod: dartMethodName }); + } else { + groupedMethods.sort((a, b) => { + const aNum = parseInt(a.name.match(/_(\d+)$/)![1]); + const bNum = parseInt(b.name.match(/_(\d+)$/)![1]); + return aNum - bNum; + }); + + for (let i = 0; i < groupedMethods.length; i++) { + const method = groupedMethods[i]; + const newNumber = i + 1; + const currentNumber = parseInt(method.name.match(/_(\d+)$/)![1]); + const baseDartName = this.toDartMethodName(baseName, typeName); + + if (i === 0) { + // First method in the group - remove the number + result.push({ method, renamedMethod: baseDartName }); + } else if (newNumber !== currentNumber) { + // Need to renumber + result.push({ method, renamedMethod: `${baseDartName}${newNumber}` }); + } else { + // Number is correct, no renamed method needed + result.push({ method }); + } + } + } + } + + return result; + } + + private needsStringConversions (cType: CClassOrStruct): boolean { + for (const method of [...cType.methods, ...cType.constructors]) { + if (method.returnType === 'char*' || method.returnType === 'char *' || + method.returnType === 'const char*' || method.returnType === 'const char *') { + return true; + } + + for (const param of method.parameters) { + if (param.cType === 'char*' || param.cType === 'char *' || + param.cType === 'const char*' || param.cType === 'const char *') { + return true; + } + } + + // Check if method returns abstract types (which use RTTI and need Utf8) + if (method.returnType.startsWith('spine_')) { + const cleanType = method.returnType.replace('*', '').trim(); + const returnClass = this.classMap.get(cleanType); + if (returnClass && this.isAbstract(returnClass)) { + return true; + } + } + } + + return false; + } + + private async writeExportFile (classes: DartClass[], enums: DartEnum[]): Promise { + const lines: string[] = []; + + lines.push(LICENSE_HEADER); + lines.push(''); + lines.push('// AUTO GENERATED FILE, DO NOT EDIT.'); + lines.push(''); + lines.push('// Export all generated types'); + lines.push(''); + + // Export enums + if (enums.length > 0) { + lines.push('// Enums'); + for (const dartEnum of enums) { + lines.push(`export '${toSnakeCase(dartEnum.name)}.dart';`); + } + lines.push(''); + } + + // Export classes + if (classes.length > 0) { + lines.push('// Classes'); + for (const dartClass of classes) { + lines.push(`export '${toSnakeCase(dartClass.name)}.dart';`); + } + lines.push(''); + } + + // Export arrays + lines.push('// Arrays'); + lines.push(`export 'arrays.dart';`); + + const filePath = path.join(path.dirname(path.dirname(this.outputDir)), 'lib/generated/spine_dart.dart'); + fs.writeFileSync(filePath, lines.join('\n')); + } + + private toPascalCase (str: string): string { + return str.split('_') + .map(word => word.charAt(0).toUpperCase() + word.slice(1)) + .join(''); + } + + private toCamelCase (str: string): string { + const pascal = this.toPascalCase(str); + return pascal.charAt(0).toLowerCase() + pascal.slice(1); + } } \ No newline at end of file diff --git a/spine-flutter/codegen/src/index.ts b/spine-flutter/codegen/src/index.ts index 40b64b911..e6a9e9732 100644 --- a/spine-flutter/codegen/src/index.ts +++ b/spine-flutter/codegen/src/index.ts @@ -21,25 +21,17 @@ async function generateFFIBindings(spineCDir: string): Promise { // Generate ffigen.yaml configuration console.log('Generating ffigen.yaml configuration...'); const ffigenConfig = `# Run with \`dart run ffigen --config ffigen.yaml\`. -name: SpineFlutterBindings +name: SpineDartBindings description: | Bindings for Spine C headers. Regenerate bindings with \`dart run ffigen --config ffigen.yaml\`. -output: 'lib/generated/spine_flutter_bindings_generated.dart' +output: 'lib/generated/spine_dart_bindings_generated.dart' llvm-path: - '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/' headers: entry-points: - 'src/spine-c/include/spine-c.h' - - 'src/spine-c/src/base.h' - - 'src/spine-c/src/extensions.h' -${headerFiles.map(h => ` - '${h}'`).join('\n')} - include-directives: - - 'src/spine-c/include/spine-c.h' - - 'src/spine-c/src/base.h' - - 'src/spine-c/src/extensions.h' -${headerFiles.map(h => ` - '${h}'`).join('\n')} compiler-opts: - '-Isrc/spine-c/include' - '-Isrc/spine-c/src' @@ -83,7 +75,7 @@ comments: } // Check if bindings were generated successfully - const bindingsPath = path.join(__dirname, '../../lib/generated/spine_flutter_bindings_generated.dart'); + const bindingsPath = path.join(__dirname, '../../lib/generated/spine_dart_bindings_generated.dart'); if (!fs.existsSync(bindingsPath)) { throw new Error('Failed to generate bindings'); } @@ -101,20 +93,91 @@ comments: console.log('✅ FFI bindings generated successfully!'); } +async function generateFFigenYamlOnly(spineCDir: string): Promise { + console.log('Finding all header files...'); + const generatedDir = path.join(spineCDir, 'src/generated'); + const headerFiles = fs.readdirSync(generatedDir) + .filter(f => f.endsWith('.h')) + .map(f => path.join('src/spine-c/src/generated', f)) + .sort(); + + console.log(`Found ${headerFiles.length} header files`); + + // Generate ffigen.yaml configuration + console.log('Generating ffigen.yaml configuration...'); + const ffigenConfig = `# Run with \`dart run ffigen --config ffigen.yaml\`. +name: SpineDartBindings +description: | + Bindings for Spine C headers. + + Regenerate bindings with \`dart run ffigen --config ffigen.yaml\`. +output: 'lib/generated/spine_dart_bindings_generated.dart' +llvm-path: + - '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/' +headers: + entry-points: + - 'src/spine-c/include/spine-c.h' +compiler-opts: + - '-Isrc/spine-c/include' + - '-Isrc/spine-c/src' + - '-Isrc/spine-c/src/generated' + - '-xc' + - '-std=c99' +functions: + include: + - 'spine_.*' +structs: + include: + - 'spine_.*' +enums: + include: + - 'spine_.*' +typedefs: + include: + - 'spine_.*' +preamble: | + // ignore_for_file: always_specify_types, constant_identifier_names + // ignore_for_file: camel_case_types + // ignore_for_file: non_constant_identifier_names +comments: + style: any + length: full +`; + + const ffigenPath = path.join(__dirname, '../../ffigen.yaml'); + fs.writeFileSync(ffigenPath, ffigenConfig); + console.log(`FFigen config written to: ${ffigenPath}`); +} + async function main() { + const args = process.argv.slice(2); + const justGenerateYaml = args.includes('--yaml-only'); + + if (justGenerateYaml) { + console.log('Generating ffigen.yaml only...\n'); + + // Generate FFI bindings YAML config only + const spineCDir = path.join(__dirname, '../../src/spine-c'); + await generateFFigenYamlOnly(spineCDir); + console.log('✅ ffigen.yaml generated successfully!'); + return; + } + console.log('Generating Spine Flutter bindings and wrappers...\n'); + console.log('🔧 Using Dart writer implementation\n'); + try { // Step 1: Generate C intermediate representation using spine-c codegen console.log('Step 1: Generating C intermediate representation...'); - const { cTypes, cEnums, cArrayTypes } = await generate(); + const { cTypes, cEnums, cArrayTypes, inheritance, supertypes, subtypes, isInterface } = await generate(); console.log(`Generated ${cTypes.length} C types, ${cEnums.length} enums, and ${cArrayTypes.length} array types\n`); // Step 2: Write Dart wrapper classes console.log('Step 2: Writing Dart wrapper classes...'); const outputDir = path.join(__dirname, '../../lib/generated'); const dartWriter = new DartWriter(outputDir); - await dartWriter.writeAll(cTypes, cEnums, cArrayTypes); + await dartWriter.writeAll(cTypes, cEnums, cArrayTypes, inheritance, isInterface, supertypes); console.log(); // Step 3: Generate FFI bindings using ffigen @@ -122,6 +185,31 @@ async function main() { const spineCDir = path.join(__dirname, '../../src/spine-c'); await generateFFIBindings(spineCDir); + // Step 4: Format and fix generated Dart code + console.log('Step 4: Formatting and fixing generated Dart code...'); + try { + const projectRoot = path.join(__dirname, '../..'); + + // Run dart fix to remove unused imports and apply other fixes + console.log('Running dart fix --apply...'); + execSync('dart fix --apply lib/generated/', { + cwd: projectRoot, + stdio: 'inherit' + }); + + // Run dart format to format the code + console.log('Running dart format...'); + execSync('dart format lib/generated/', { + cwd: projectRoot, + stdio: 'inherit' + }); + + console.log('✅ Dart code formatting and fixes applied successfully!'); + } catch (error) { + console.warn('⚠️ Warning: Could not format/fix Dart code:', error); + console.warn('You may want to run "dart fix --apply lib/generated/" and "dart format lib/generated/" manually'); + } + console.log('\n✅ All code generation completed successfully!'); } catch (error) { console.error('\n❌ Error:', error); diff --git a/spine-flutter/generate-bindings.sh b/spine-flutter/generate-bindings.sh index 35e979ea9..1ba6b84c1 100755 --- a/spine-flutter/generate-bindings.sh +++ b/spine-flutter/generate-bindings.sh @@ -14,6 +14,9 @@ if [ ! -d "codegen/node_modules" ]; then popd > /dev/null fi +# Copy spine-c and spine-cpp sources +./setup.sh + # Run the codegen npx tsx codegen/src/index.ts diff --git a/spine-flutter/lib/extensions.dart b/spine-flutter/lib/extensions.dart index b5c3a7fd1..4f7b7aa89 100644 --- a/spine-flutter/lib/extensions.dart +++ b/spine-flutter/lib/extensions.dart @@ -40,8 +40,8 @@ import 'package:http/http.dart' as http; import 'package:path/path.dart' as path; import 'ffi_proxy.dart'; -import 'init.dart' if (dart.library.html) 'init_web.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_init.dart' if (dart.library.html) 'spine_flutter_init_web.dart'; +import 'spine_flutter.dart'; import 'raw_image_provider.dart'; export 'spine_widget.dart'; @@ -54,6 +54,10 @@ Future initSpineFlutter({bool useStaticLinkage = false, bool enableMemoryD _bindings = SpineFlutterBindings(ffi.dylib); _allocator = ffi.allocator; if (enableMemoryDebugging) _bindings.spine_enable_debug_extension(true); + + // Initialize the global bindings for generated code + initializeSpineFlutter(_bindings); + return; } diff --git a/spine-flutter/lib/generated/alpha_timeline.dart b/spine-flutter/lib/generated/alpha_timeline.dart index 4ec12ad7c..976857b9c 100644 --- a/spine-flutter/lib/generated/alpha_timeline.dart +++ b/spine-flutter/lib/generated/alpha_timeline.dart @@ -30,12 +30,13 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'curve_timeline1.dart'; +import 'slot_timeline.dart'; /// AlphaTimeline wrapper -class AlphaTimeline extends CurveTimeline1 { +class AlphaTimeline extends CurveTimeline1 implements SlotTimeline { final Pointer _ptr; AlphaTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); @@ -45,21 +46,20 @@ class AlphaTimeline extends CurveTimeline1 { Pointer get nativePtr => _ptr; factory AlphaTimeline(int frameCount, int bezierCount, int slotIndex) { - final ptr = SpineBindings.bindings.spine_alpha_timeline_create(frameCount, bezierCount, slotIndex); + final ptr = SpineBindings.bindings + .spine_alpha_timeline_create(frameCount, bezierCount, slotIndex); return AlphaTimeline.fromPointer(ptr); } + @override int get slotIndex { - final result = SpineBindings.bindings.spine_alpha_timeline_get_slot_index(_ptr); + final result = + SpineBindings.bindings.spine_alpha_timeline_get_slot_index(_ptr); return result; } + @override set slotIndex(int value) { SpineBindings.bindings.spine_alpha_timeline_set_slot_index(_ptr, value); } - - @override - void dispose() { - SpineBindings.bindings.spine_alpha_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/animation.dart b/spine-flutter/lib/generated/animation.dart index bdd1c9338..0f74bbef8 100644 --- a/spine-flutter/lib/generated/animation.dart +++ b/spine-flutter/lib/generated/animation.dart @@ -31,12 +31,12 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'skeleton.dart'; +import 'arrays.dart'; import 'mix_blend.dart'; import 'mix_direction.dart'; -import 'arrays.dart'; +import 'skeleton.dart'; /// Animation wrapper class Animation implements Finalizable { @@ -48,7 +48,8 @@ class Animation implements Finalizable { Pointer get nativePtr => _ptr; factory Animation(String name, ArrayTimeline timelines, double duration) { - final ptr = SpineBindings.bindings.spine_animation_create(name.toNativeUtf8().cast(), timelines.nativePtr.cast(), duration); + final ptr = SpineBindings.bindings.spine_animation_create( + name.toNativeUtf8().cast(), timelines.nativePtr.cast(), duration); return Animation.fromPointer(ptr); } @@ -58,11 +59,13 @@ class Animation implements Finalizable { } set timelines(ArrayTimeline value) { - SpineBindings.bindings.spine_animation_set_timelines(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_animation_set_timelines(_ptr, value.nativePtr.cast()); } bool hasTimeline(ArrayPropertyId ids) { - final result = SpineBindings.bindings.spine_animation_has_timeline(_ptr, ids.nativePtr.cast()); + final result = SpineBindings.bindings + .spine_animation_has_timeline(_ptr, ids.nativePtr.cast()); return result; } @@ -75,8 +78,27 @@ class Animation implements Finalizable { SpineBindings.bindings.spine_animation_set_duration(_ptr, value); } - void apply(Skeleton skeleton, double lastTime, double time, bool loop, ArrayEvent pEvents, double alpha, MixBlend blend, MixDirection direction, bool appliedPose) { - SpineBindings.bindings.spine_animation_apply(_ptr, skeleton.nativePtr.cast(), lastTime, time, loop, pEvents.nativePtr.cast(), alpha, blend.value, direction.value, appliedPose); + void apply( + Skeleton skeleton, + double lastTime, + double time, + bool loop, + ArrayEvent pEvents, + double alpha, + MixBlend blend, + MixDirection direction, + bool appliedPose) { + SpineBindings.bindings.spine_animation_apply( + _ptr, + skeleton.nativePtr.cast(), + lastTime, + time, + loop, + pEvents.nativePtr.cast(), + alpha, + blend.value, + direction.value, + appliedPose); } String get name { @@ -89,17 +111,15 @@ class Animation implements Finalizable { return ArrayInt.fromPointer(result); } - static int search1(ArrayFloat values, double target) { - final result = SpineBindings.bindings.spine_animation_search_1(values.nativePtr.cast(), target); + static int search(ArrayFloat values, double target) { + final result = SpineBindings.bindings + .spine_animation_search_1(values.nativePtr.cast(), target); return result; } static int search2(ArrayFloat values, double target, int step) { - final result = SpineBindings.bindings.spine_animation_search_2(values.nativePtr.cast(), target, step); + final result = SpineBindings.bindings + .spine_animation_search_2(values.nativePtr.cast(), target, step); return result; } - - void dispose() { - SpineBindings.bindings.spine_animation_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/animation_state.dart b/spine-flutter/lib/generated/animation_state.dart index 9403125f3..cc8b9fea0 100644 --- a/spine-flutter/lib/generated/animation_state.dart +++ b/spine-flutter/lib/generated/animation_state.dart @@ -31,13 +31,13 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'skeleton.dart'; -import 'track_entry.dart'; import 'animation.dart'; import 'animation_state_data.dart'; import 'arrays.dart'; +import 'skeleton.dart'; +import 'track_entry.dart'; /// AnimationState wrapper class AnimationState implements Finalizable { @@ -49,7 +49,8 @@ class AnimationState implements Finalizable { Pointer get nativePtr => _ptr; factory AnimationState(AnimationStateData data) { - final ptr = SpineBindings.bindings.spine_animation_state_create(data.nativePtr.cast()); + final ptr = SpineBindings.bindings + .spine_animation_state_create(data.nativePtr.cast()); return AnimationState.fromPointer(ptr); } @@ -58,7 +59,8 @@ class AnimationState implements Finalizable { } bool apply(Skeleton skeleton) { - final result = SpineBindings.bindings.spine_animation_state_apply(_ptr, skeleton.nativePtr.cast()); + final result = SpineBindings.bindings + .spine_animation_state_apply(_ptr, skeleton.nativePtr.cast()); return result; } @@ -71,21 +73,28 @@ class AnimationState implements Finalizable { } TrackEntry setEmptyAnimation(int trackIndex, double mixDuration) { - final result = SpineBindings.bindings.spine_animation_state_set_empty_animation(_ptr, trackIndex, mixDuration); + final result = SpineBindings.bindings + .spine_animation_state_set_empty_animation( + _ptr, trackIndex, mixDuration); return TrackEntry.fromPointer(result); } - TrackEntry addEmptyAnimation(int trackIndex, double mixDuration, double delay) { - final result = SpineBindings.bindings.spine_animation_state_add_empty_animation(_ptr, trackIndex, mixDuration, delay); + TrackEntry addEmptyAnimation( + int trackIndex, double mixDuration, double delay) { + final result = SpineBindings.bindings + .spine_animation_state_add_empty_animation( + _ptr, trackIndex, mixDuration, delay); return TrackEntry.fromPointer(result); } set emptyAnimations(double value) { - SpineBindings.bindings.spine_animation_state_set_empty_animations(_ptr, value); + SpineBindings.bindings + .spine_animation_state_set_empty_animations(_ptr, value); } TrackEntry getCurrent(int trackIndex) { - final result = SpineBindings.bindings.spine_animation_state_get_current(_ptr, trackIndex); + final result = SpineBindings.bindings + .spine_animation_state_get_current(_ptr, trackIndex); return TrackEntry.fromPointer(result); } @@ -95,12 +104,14 @@ class AnimationState implements Finalizable { } ArrayTrackEntry get tracks { - final result = SpineBindings.bindings.spine_animation_state_get_tracks(_ptr); + final result = + SpineBindings.bindings.spine_animation_state_get_tracks(_ptr); return ArrayTrackEntry.fromPointer(result); } double get timeScale { - final result = SpineBindings.bindings.spine_animation_state_get_time_scale(_ptr); + final result = + SpineBindings.bindings.spine_animation_state_get_time_scale(_ptr); return result; } @@ -117,39 +128,54 @@ class AnimationState implements Finalizable { } set manualTrackEntryDisposal(bool value) { - SpineBindings.bindings.spine_animation_state_set_manual_track_entry_disposal(_ptr, value); + SpineBindings.bindings + .spine_animation_state_set_manual_track_entry_disposal(_ptr, value); } bool get manualTrackEntryDisposal { - final result = SpineBindings.bindings.spine_animation_state_get_manual_track_entry_disposal(_ptr); + final result = SpineBindings.bindings + .spine_animation_state_get_manual_track_entry_disposal(_ptr); return result; } void disposeTrackEntry(TrackEntry entry) { - SpineBindings.bindings.spine_animation_state_dispose_track_entry(_ptr, entry.nativePtr.cast()); + SpineBindings.bindings.spine_animation_state_dispose_track_entry( + _ptr, entry.nativePtr.cast()); } - TrackEntry setAnimation1(int trackIndex, String animationName, bool loop) { - final result = SpineBindings.bindings.spine_animation_state_set_animation_1(_ptr, trackIndex, animationName.toNativeUtf8().cast(), loop); + Pointer get rendererObject { + final result = + SpineBindings.bindings.spine_animation_state_get_renderer_object(_ptr); + return result; + } + + TrackEntry setAnimation(int trackIndex, String animationName, bool loop) { + final result = SpineBindings.bindings.spine_animation_state_set_animation_1( + _ptr, trackIndex, animationName.toNativeUtf8().cast(), loop); return TrackEntry.fromPointer(result); } TrackEntry setAnimation2(int trackIndex, Animation animation, bool loop) { - final result = SpineBindings.bindings.spine_animation_state_set_animation_2(_ptr, trackIndex, animation.nativePtr.cast(), loop); + final result = SpineBindings.bindings.spine_animation_state_set_animation_2( + _ptr, trackIndex, animation.nativePtr.cast(), loop); return TrackEntry.fromPointer(result); } - TrackEntry addAnimation1(int trackIndex, String animationName, bool loop, double delay) { - final result = SpineBindings.bindings.spine_animation_state_add_animation_1(_ptr, trackIndex, animationName.toNativeUtf8().cast(), loop, delay); + TrackEntry addAnimation( + int trackIndex, String animationName, bool loop, double delay) { + final result = SpineBindings.bindings.spine_animation_state_add_animation_1( + _ptr, + trackIndex, + animationName.toNativeUtf8().cast(), + loop, + delay); return TrackEntry.fromPointer(result); } - TrackEntry addAnimation2(int trackIndex, Animation animation, bool loop, double delay) { - final result = SpineBindings.bindings.spine_animation_state_add_animation_2(_ptr, trackIndex, animation.nativePtr.cast(), loop, delay); + TrackEntry addAnimation2( + int trackIndex, Animation animation, bool loop, double delay) { + final result = SpineBindings.bindings.spine_animation_state_add_animation_2( + _ptr, trackIndex, animation.nativePtr.cast(), loop, delay); return TrackEntry.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_animation_state_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/animation_state_data.dart b/spine-flutter/lib/generated/animation_state_data.dart index c5af11003..0d6d413dd 100644 --- a/spine-flutter/lib/generated/animation_state_data.dart +++ b/spine-flutter/lib/generated/animation_state_data.dart @@ -31,10 +31,10 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'skeleton_data.dart'; import 'animation.dart'; +import 'skeleton_data.dart'; /// AnimationStateData wrapper class AnimationStateData implements Finalizable { @@ -46,26 +46,31 @@ class AnimationStateData implements Finalizable { Pointer get nativePtr => _ptr; factory AnimationStateData(SkeletonData skeletonData) { - final ptr = SpineBindings.bindings.spine_animation_state_data_create(skeletonData.nativePtr.cast()); + final ptr = SpineBindings.bindings + .spine_animation_state_data_create(skeletonData.nativePtr.cast()); return AnimationStateData.fromPointer(ptr); } SkeletonData get skeletonData { - final result = SpineBindings.bindings.spine_animation_state_data_get_skeleton_data(_ptr); + final result = SpineBindings.bindings + .spine_animation_state_data_get_skeleton_data(_ptr); return SkeletonData.fromPointer(result); } double get defaultMix { - final result = SpineBindings.bindings.spine_animation_state_data_get_default_mix(_ptr); + final result = + SpineBindings.bindings.spine_animation_state_data_get_default_mix(_ptr); return result; } set defaultMix(double value) { - SpineBindings.bindings.spine_animation_state_data_set_default_mix(_ptr, value); + SpineBindings.bindings + .spine_animation_state_data_set_default_mix(_ptr, value); } double getMix(Animation from, Animation to) { - final result = SpineBindings.bindings.spine_animation_state_data_get_mix(_ptr, from.nativePtr.cast(), to.nativePtr.cast()); + final result = SpineBindings.bindings.spine_animation_state_data_get_mix( + _ptr, from.nativePtr.cast(), to.nativePtr.cast()); return result; } @@ -73,15 +78,16 @@ class AnimationStateData implements Finalizable { SpineBindings.bindings.spine_animation_state_data_clear(_ptr); } - void setMix1(String fromName, String toName, double duration) { - SpineBindings.bindings.spine_animation_state_data_set_mix_1(_ptr, fromName.toNativeUtf8().cast(), toName.toNativeUtf8().cast(), duration); + void setMix(String fromName, String toName, double duration) { + SpineBindings.bindings.spine_animation_state_data_set_mix_1( + _ptr, + fromName.toNativeUtf8().cast(), + toName.toNativeUtf8().cast(), + duration); } void setMix2(Animation from, Animation to, double duration) { - SpineBindings.bindings.spine_animation_state_data_set_mix_2(_ptr, from.nativePtr.cast(), to.nativePtr.cast(), duration); + SpineBindings.bindings.spine_animation_state_data_set_mix_2( + _ptr, from.nativePtr.cast(), to.nativePtr.cast(), duration); } - - void dispose() { - SpineBindings.bindings.spine_animation_state_data_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/arrays.dart b/spine-flutter/lib/generated/arrays.dart index 1a897972d..9d4be9b11 100644 --- a/spine-flutter/lib/generated/arrays.dart +++ b/spine-flutter/lib/generated/arrays.dart @@ -31,7 +31,7 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import '../native_array.dart'; import 'alpha_timeline.dart'; @@ -59,15 +59,20 @@ import 'from_scale_y.dart'; import 'from_shear_y.dart'; import 'from_x.dart'; import 'from_y.dart'; +import 'ik_constraint.dart'; +import 'ik_constraint_data.dart'; import 'ik_constraint_timeline.dart'; import 'inherit_timeline.dart'; import 'mesh_attachment.dart'; import 'path_attachment.dart'; +import 'path_constraint.dart'; +import 'path_constraint_data.dart'; import 'path_constraint_mix_timeline.dart'; import 'path_constraint_position_timeline.dart'; import 'path_constraint_spacing_timeline.dart'; import 'physics_constraint.dart'; import 'physics_constraint_damping_timeline.dart'; +import 'physics_constraint_data.dart'; import 'physics_constraint_gravity_timeline.dart'; import 'physics_constraint_inertia_timeline.dart'; import 'physics_constraint_mass_timeline.dart'; @@ -91,6 +96,8 @@ import 'shear_timeline.dart'; import 'shear_x_timeline.dart'; import 'shear_y_timeline.dart'; import 'skin.dart'; +import 'slider.dart'; +import 'slider_data.dart'; import 'slider_mix_timeline.dart'; import 'slider_timeline.dart'; import 'slot.dart'; @@ -105,13 +112,15 @@ import 'to_shear_y.dart'; import 'to_x.dart'; import 'to_y.dart'; import 'track_entry.dart'; +import 'transform_constraint.dart'; +import 'transform_constraint_data.dart'; import 'transform_constraint_timeline.dart'; import 'translate_timeline.dart'; import 'translate_x_timeline.dart'; import 'translate_y_timeline.dart'; import 'update.dart'; -/// Array of float elements +/// ArrayFloat wrapper class ArrayFloat extends NativeArray { ArrayFloat.fromPointer(Pointer super.ptr); @@ -125,13 +134,13 @@ class ArrayFloat extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_float_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_float_buffer(nativePtr.cast()); return buffer.cast()[index]; } - } -/// Array of int elements +/// ArrayInt wrapper class ArrayInt extends NativeArray { ArrayInt.fromPointer(Pointer super.ptr); @@ -145,19 +154,21 @@ class ArrayInt extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_int_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_int_buffer(nativePtr.cast()); return buffer.cast()[index]; } - } -/// Array of unsigned_short elements +/// ArrayUnsignedShort wrapper class ArrayUnsignedShort extends NativeArray { - ArrayUnsignedShort.fromPointer(Pointer super.ptr); + ArrayUnsignedShort.fromPointer( + Pointer super.ptr); @override int get length { - return SpineBindings.bindings.spine_array_unsigned_short_size(nativePtr.cast()); + return SpineBindings.bindings + .spine_array_unsigned_short_size(nativePtr.cast()); } @override @@ -165,19 +176,21 @@ class ArrayUnsignedShort extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_unsigned_short_buffer(nativePtr.cast()); + final buffer = SpineBindings.bindings + .spine_array_unsigned_short_buffer(nativePtr.cast()); return buffer.cast()[index]; } - } -/// Array of property_id elements +/// ArrayPropertyId wrapper class ArrayPropertyId extends NativeArray { - ArrayPropertyId.fromPointer(Pointer super.ptr); + ArrayPropertyId.fromPointer( + Pointer super.ptr); @override int get length { - return SpineBindings.bindings.spine_array_property_id_size(nativePtr.cast()); + return SpineBindings.bindings + .spine_array_property_id_size(nativePtr.cast()); } @override @@ -185,14 +198,14 @@ class ArrayPropertyId extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_property_id_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_property_id_buffer(nativePtr.cast()); // NOTE: This will not compile due to C API bug - buffer() returns int instead of Pointer return buffer.cast()[index]; } - } -/// Array of Animation elements +/// ArrayAnimation wrapper class ArrayAnimation extends NativeArray { ArrayAnimation.fromPointer(Pointer super.ptr); @@ -206,13 +219,13 @@ class ArrayAnimation extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_animation_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_animation_buffer(nativePtr.cast()); return Animation.fromPointer(buffer[index]); } - } -/// Array of AtlasPage elements +/// ArrayAtlasPage wrapper class ArrayAtlasPage extends NativeArray { ArrayAtlasPage.fromPointer(Pointer super.ptr); @@ -226,19 +239,21 @@ class ArrayAtlasPage extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_atlas_page_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_atlas_page_buffer(nativePtr.cast()); return AtlasPage.fromPointer(buffer[index]); } - } -/// Array of AtlasRegion elements +/// ArrayAtlasRegion wrapper class ArrayAtlasRegion extends NativeArray { - ArrayAtlasRegion.fromPointer(Pointer super.ptr); + ArrayAtlasRegion.fromPointer( + Pointer super.ptr); @override int get length { - return SpineBindings.bindings.spine_array_atlas_region_size(nativePtr.cast()); + return SpineBindings.bindings + .spine_array_atlas_region_size(nativePtr.cast()); } @override @@ -246,15 +261,16 @@ class ArrayAtlasRegion extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_atlas_region_buffer(nativePtr.cast()); + final buffer = SpineBindings.bindings + .spine_array_atlas_region_buffer(nativePtr.cast()); return AtlasRegion.fromPointer(buffer[index]); } - } -/// Array of Attachment elements +/// ArrayAttachment wrapper class ArrayAttachment extends NativeArray { - ArrayAttachment.fromPointer(Pointer super.ptr); + ArrayAttachment.fromPointer( + Pointer super.ptr); @override int get length { @@ -266,14 +282,15 @@ class ArrayAttachment extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_attachment_buffer(nativePtr.cast()); - final rtti = SpineBindings.bindings.spine_attachment_get_rtti(buffer[index]); - final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString(); + final buffer = + SpineBindings.bindings.spine_array_attachment_buffer(nativePtr.cast()); + final rtti = + SpineBindings.bindings.spine_attachment_get_rtti(buffer[index]); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); switch (className) { - case 'spine_point_attachment': - return PointAttachment.fromPointer(buffer[index].cast()); - case 'spine_region_attachment': - return RegionAttachment.fromPointer(buffer[index].cast()); case 'spine_bounding_box_attachment': return BoundingBoxAttachment.fromPointer(buffer[index].cast()); case 'spine_clipping_attachment': @@ -282,14 +299,18 @@ class ArrayAttachment extends NativeArray { return MeshAttachment.fromPointer(buffer[index].cast()); case 'spine_path_attachment': return PathAttachment.fromPointer(buffer[index].cast()); + case 'spine_point_attachment': + return PointAttachment.fromPointer(buffer[index].cast()); + case 'spine_region_attachment': + return RegionAttachment.fromPointer(buffer[index].cast()); default: - throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Attachment'); } } - } -/// Array of Bone elements +/// ArrayBone wrapper class ArrayBone extends NativeArray { ArrayBone.fromPointer(Pointer super.ptr); @@ -303,13 +324,13 @@ class ArrayBone extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_bone_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_bone_buffer(nativePtr.cast()); return Bone.fromPointer(buffer[index]); } - } -/// Array of BoneData elements +/// ArrayBoneData wrapper class ArrayBoneData extends NativeArray { ArrayBoneData.fromPointer(Pointer super.ptr); @@ -323,13 +344,13 @@ class ArrayBoneData extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_bone_data_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_bone_data_buffer(nativePtr.cast()); return BoneData.fromPointer(buffer[index]); } - } -/// Array of BonePose elements +/// ArrayBonePose wrapper class ArrayBonePose extends NativeArray { ArrayBonePose.fromPointer(Pointer super.ptr); @@ -343,19 +364,21 @@ class ArrayBonePose extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_bone_pose_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_bone_pose_buffer(nativePtr.cast()); return BonePose.fromPointer(buffer[index]); } - } -/// Array of BoundingBoxAttachment elements +/// ArrayBoundingBoxAttachment wrapper class ArrayBoundingBoxAttachment extends NativeArray { - ArrayBoundingBoxAttachment.fromPointer(Pointer super.ptr); + ArrayBoundingBoxAttachment.fromPointer( + Pointer super.ptr); @override int get length { - return SpineBindings.bindings.spine_array_bounding_box_attachment_size(nativePtr.cast()); + return SpineBindings.bindings + .spine_array_bounding_box_attachment_size(nativePtr.cast()); } @override @@ -363,15 +386,16 @@ class ArrayBoundingBoxAttachment extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_bounding_box_attachment_buffer(nativePtr.cast()); + final buffer = SpineBindings.bindings + .spine_array_bounding_box_attachment_buffer(nativePtr.cast()); return BoundingBoxAttachment.fromPointer(buffer[index]); } - } -/// Array of Constraint elements +/// ArrayConstraint wrapper class ArrayConstraint extends NativeArray { - ArrayConstraint.fromPointer(Pointer super.ptr); + ArrayConstraint.fromPointer( + Pointer super.ptr); @override int get length { @@ -383,19 +407,41 @@ class ArrayConstraint extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_constraint_buffer(nativePtr.cast()); - throw UnsupportedError('Cannot instantiate abstract class Constraint from pointer - no concrete subclasses found'); + final buffer = + SpineBindings.bindings.spine_array_constraint_buffer(nativePtr.cast()); + final rtti = + SpineBindings.bindings.spine_constraint_get_rtti(buffer[index]); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); + switch (className) { + case 'spine_ik_constraint': + return IkConstraint.fromPointer(buffer[index].cast()); + case 'spine_path_constraint': + return PathConstraint.fromPointer(buffer[index].cast()); + case 'spine_physics_constraint': + return PhysicsConstraint.fromPointer(buffer[index].cast()); + case 'spine_slider': + return Slider.fromPointer(buffer[index].cast()); + case 'spine_transform_constraint': + return TransformConstraint.fromPointer(buffer[index].cast()); + default: + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Constraint'); + } } - } -/// Array of ConstraintData elements +/// ArrayConstraintData wrapper class ArrayConstraintData extends NativeArray { - ArrayConstraintData.fromPointer(Pointer super.ptr); + ArrayConstraintData.fromPointer( + Pointer super.ptr); @override int get length { - return SpineBindings.bindings.spine_array_constraint_data_size(nativePtr.cast()); + return SpineBindings.bindings + .spine_array_constraint_data_size(nativePtr.cast()); } @override @@ -403,13 +449,33 @@ class ArrayConstraintData extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_constraint_data_buffer(nativePtr.cast()); - throw UnsupportedError('Cannot instantiate abstract class ConstraintData from pointer - no concrete subclasses found'); + final buffer = SpineBindings.bindings + .spine_array_constraint_data_buffer(nativePtr.cast()); + final rtti = + SpineBindings.bindings.spine_constraint_data_get_rtti(buffer[index]); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); + switch (className) { + case 'spine_ik_constraint_data': + return IkConstraintData.fromPointer(buffer[index].cast()); + case 'spine_path_constraint_data': + return PathConstraintData.fromPointer(buffer[index].cast()); + case 'spine_physics_constraint_data': + return PhysicsConstraintData.fromPointer(buffer[index].cast()); + case 'spine_slider_data': + return SliderData.fromPointer(buffer[index].cast()); + case 'spine_transform_constraint_data': + return TransformConstraintData.fromPointer(buffer[index].cast()); + default: + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class ConstraintData'); + } } - } -/// Array of Event elements +/// ArrayEvent wrapper class ArrayEvent extends NativeArray { ArrayEvent.fromPointer(Pointer super.ptr); @@ -423,13 +489,13 @@ class ArrayEvent extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_event_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_event_buffer(nativePtr.cast()); return Event.fromPointer(buffer[index]); } - } -/// Array of EventData elements +/// ArrayEventData wrapper class ArrayEventData extends NativeArray { ArrayEventData.fromPointer(Pointer super.ptr); @@ -443,19 +509,21 @@ class ArrayEventData extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_event_data_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_event_data_buffer(nativePtr.cast()); return EventData.fromPointer(buffer[index]); } - } -/// Array of FromProperty elements +/// ArrayFromProperty wrapper class ArrayFromProperty extends NativeArray { - ArrayFromProperty.fromPointer(Pointer super.ptr); + ArrayFromProperty.fromPointer( + Pointer super.ptr); @override int get length { - return SpineBindings.bindings.spine_array_from_property_size(nativePtr.cast()); + return SpineBindings.bindings + .spine_array_from_property_size(nativePtr.cast()); } @override @@ -463,9 +531,14 @@ class ArrayFromProperty extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_from_property_buffer(nativePtr.cast()); - final rtti = SpineBindings.bindings.spine_from_property_get_rtti(buffer[index]); - final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString(); + final buffer = SpineBindings.bindings + .spine_array_from_property_buffer(nativePtr.cast()); + final rtti = + SpineBindings.bindings.spine_from_property_get_rtti(buffer[index]); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); switch (className) { case 'spine_from_rotate': return FromRotate.fromPointer(buffer[index].cast()); @@ -480,19 +553,21 @@ class ArrayFromProperty extends NativeArray { case 'spine_from_y': return FromY.fromPointer(buffer[index].cast()); default: - throw UnsupportedError('Unknown concrete type: $className for abstract class FromProperty'); + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class FromProperty'); } } - } -/// Array of PhysicsConstraint elements +/// ArrayPhysicsConstraint wrapper class ArrayPhysicsConstraint extends NativeArray { - ArrayPhysicsConstraint.fromPointer(Pointer super.ptr); + ArrayPhysicsConstraint.fromPointer( + Pointer super.ptr); @override int get length { - return SpineBindings.bindings.spine_array_physics_constraint_size(nativePtr.cast()); + return SpineBindings.bindings + .spine_array_physics_constraint_size(nativePtr.cast()); } @override @@ -500,13 +575,13 @@ class ArrayPhysicsConstraint extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_physics_constraint_buffer(nativePtr.cast()); + final buffer = SpineBindings.bindings + .spine_array_physics_constraint_buffer(nativePtr.cast()); return PhysicsConstraint.fromPointer(buffer[index]); } - } -/// Array of Polygon elements +/// ArrayPolygon wrapper class ArrayPolygon extends NativeArray { ArrayPolygon.fromPointer(Pointer super.ptr); @@ -520,13 +595,13 @@ class ArrayPolygon extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_polygon_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_polygon_buffer(nativePtr.cast()); return Polygon.fromPointer(buffer[index]); } - } -/// Array of Skin elements +/// ArraySkin wrapper class ArraySkin extends NativeArray { ArraySkin.fromPointer(Pointer super.ptr); @@ -540,13 +615,13 @@ class ArraySkin extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_skin_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_skin_buffer(nativePtr.cast()); return Skin.fromPointer(buffer[index]); } - } -/// Array of Slot elements +/// ArraySlot wrapper class ArraySlot extends NativeArray { ArraySlot.fromPointer(Pointer super.ptr); @@ -560,13 +635,13 @@ class ArraySlot extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_slot_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_slot_buffer(nativePtr.cast()); return Slot.fromPointer(buffer[index]); } - } -/// Array of SlotData elements +/// ArraySlotData wrapper class ArraySlotData extends NativeArray { ArraySlotData.fromPointer(Pointer super.ptr); @@ -580,19 +655,21 @@ class ArraySlotData extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_slot_data_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_slot_data_buffer(nativePtr.cast()); return SlotData.fromPointer(buffer[index]); } - } -/// Array of TextureRegion elements +/// ArrayTextureRegion wrapper class ArrayTextureRegion extends NativeArray { - ArrayTextureRegion.fromPointer(Pointer super.ptr); + ArrayTextureRegion.fromPointer( + Pointer super.ptr); @override int get length { - return SpineBindings.bindings.spine_array_texture_region_size(nativePtr.cast()); + return SpineBindings.bindings + .spine_array_texture_region_size(nativePtr.cast()); } @override @@ -600,13 +677,13 @@ class ArrayTextureRegion extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_texture_region_buffer(nativePtr.cast()); + final buffer = SpineBindings.bindings + .spine_array_texture_region_buffer(nativePtr.cast()); return TextureRegion.fromPointer(buffer[index]); } - } -/// Array of Timeline elements +/// ArrayTimeline wrapper class ArrayTimeline extends NativeArray { ArrayTimeline.fromPointer(Pointer super.ptr); @@ -620,62 +697,54 @@ class ArrayTimeline extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_timeline_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_timeline_buffer(nativePtr.cast()); final rtti = SpineBindings.bindings.spine_timeline_get_rtti(buffer[index]); - final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString(); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); switch (className) { - case 'spine_attachment_timeline': - return AttachmentTimeline.fromPointer(buffer[index].cast()); case 'spine_alpha_timeline': return AlphaTimeline.fromPointer(buffer[index].cast()); - case 'spine_rotate_timeline': - return RotateTimeline.fromPointer(buffer[index].cast()); - case 'spine_scale_x_timeline': - return ScaleXTimeline.fromPointer(buffer[index].cast()); - case 'spine_scale_y_timeline': - return ScaleYTimeline.fromPointer(buffer[index].cast()); - case 'spine_shear_x_timeline': - return ShearXTimeline.fromPointer(buffer[index].cast()); - case 'spine_shear_y_timeline': - return ShearYTimeline.fromPointer(buffer[index].cast()); - case 'spine_translate_x_timeline': - return TranslateXTimeline.fromPointer(buffer[index].cast()); - case 'spine_translate_y_timeline': - return TranslateYTimeline.fromPointer(buffer[index].cast()); + case 'spine_attachment_timeline': + return AttachmentTimeline.fromPointer(buffer[index].cast()); + case 'spine_deform_timeline': + return DeformTimeline.fromPointer(buffer[index].cast()); + case 'spine_draw_order_timeline': + return DrawOrderTimeline.fromPointer(buffer[index].cast()); + case 'spine_event_timeline': + return EventTimeline.fromPointer(buffer[index].cast()); + case 'spine_ik_constraint_timeline': + return IkConstraintTimeline.fromPointer(buffer[index].cast()); + case 'spine_inherit_timeline': + return InheritTimeline.fromPointer(buffer[index].cast()); + case 'spine_path_constraint_mix_timeline': + return PathConstraintMixTimeline.fromPointer(buffer[index].cast()); case 'spine_path_constraint_position_timeline': return PathConstraintPositionTimeline.fromPointer(buffer[index].cast()); case 'spine_path_constraint_spacing_timeline': return PathConstraintSpacingTimeline.fromPointer(buffer[index].cast()); - case 'spine_slider_mix_timeline': - return SliderMixTimeline.fromPointer(buffer[index].cast()); - case 'spine_slider_timeline': - return SliderTimeline.fromPointer(buffer[index].cast()); case 'spine_physics_constraint_damping_timeline': - return PhysicsConstraintDampingTimeline.fromPointer(buffer[index].cast()); + return PhysicsConstraintDampingTimeline.fromPointer( + buffer[index].cast()); case 'spine_physics_constraint_gravity_timeline': - return PhysicsConstraintGravityTimeline.fromPointer(buffer[index].cast()); + return PhysicsConstraintGravityTimeline.fromPointer( + buffer[index].cast()); case 'spine_physics_constraint_inertia_timeline': - return PhysicsConstraintInertiaTimeline.fromPointer(buffer[index].cast()); + return PhysicsConstraintInertiaTimeline.fromPointer( + buffer[index].cast()); case 'spine_physics_constraint_mass_timeline': return PhysicsConstraintMassTimeline.fromPointer(buffer[index].cast()); case 'spine_physics_constraint_mix_timeline': return PhysicsConstraintMixTimeline.fromPointer(buffer[index].cast()); + case 'spine_physics_constraint_reset_timeline': + return PhysicsConstraintResetTimeline.fromPointer(buffer[index].cast()); case 'spine_physics_constraint_strength_timeline': - return PhysicsConstraintStrengthTimeline.fromPointer(buffer[index].cast()); + return PhysicsConstraintStrengthTimeline.fromPointer( + buffer[index].cast()); case 'spine_physics_constraint_wind_timeline': return PhysicsConstraintWindTimeline.fromPointer(buffer[index].cast()); - case 'spine_scale_timeline': - return ScaleTimeline.fromPointer(buffer[index].cast()); - case 'spine_shear_timeline': - return ShearTimeline.fromPointer(buffer[index].cast()); - case 'spine_translate_timeline': - return TranslateTimeline.fromPointer(buffer[index].cast()); - case 'spine_ik_constraint_timeline': - return IkConstraintTimeline.fromPointer(buffer[index].cast()); - case 'spine_path_constraint_mix_timeline': - return PathConstraintMixTimeline.fromPointer(buffer[index].cast()); - case 'spine_deform_timeline': - return DeformTimeline.fromPointer(buffer[index].cast()); case 'spine_rgb2_timeline': return Rgb2Timeline.fromPointer(buffer[index].cast()); case 'spine_rgba2_timeline': @@ -684,32 +753,50 @@ class ArrayTimeline extends NativeArray { return RgbaTimeline.fromPointer(buffer[index].cast()); case 'spine_rgb_timeline': return RgbTimeline.fromPointer(buffer[index].cast()); - case 'spine_transform_constraint_timeline': - return TransformConstraintTimeline.fromPointer(buffer[index].cast()); - case 'spine_draw_order_timeline': - return DrawOrderTimeline.fromPointer(buffer[index].cast()); - case 'spine_event_timeline': - return EventTimeline.fromPointer(buffer[index].cast()); - case 'spine_inherit_timeline': - return InheritTimeline.fromPointer(buffer[index].cast()); - case 'spine_physics_constraint_reset_timeline': - return PhysicsConstraintResetTimeline.fromPointer(buffer[index].cast()); + case 'spine_rotate_timeline': + return RotateTimeline.fromPointer(buffer[index].cast()); + case 'spine_scale_timeline': + return ScaleTimeline.fromPointer(buffer[index].cast()); + case 'spine_scale_x_timeline': + return ScaleXTimeline.fromPointer(buffer[index].cast()); + case 'spine_scale_y_timeline': + return ScaleYTimeline.fromPointer(buffer[index].cast()); case 'spine_sequence_timeline': return SequenceTimeline.fromPointer(buffer[index].cast()); + case 'spine_shear_timeline': + return ShearTimeline.fromPointer(buffer[index].cast()); + case 'spine_shear_x_timeline': + return ShearXTimeline.fromPointer(buffer[index].cast()); + case 'spine_shear_y_timeline': + return ShearYTimeline.fromPointer(buffer[index].cast()); + case 'spine_slider_mix_timeline': + return SliderMixTimeline.fromPointer(buffer[index].cast()); + case 'spine_slider_timeline': + return SliderTimeline.fromPointer(buffer[index].cast()); + case 'spine_transform_constraint_timeline': + return TransformConstraintTimeline.fromPointer(buffer[index].cast()); + case 'spine_translate_timeline': + return TranslateTimeline.fromPointer(buffer[index].cast()); + case 'spine_translate_x_timeline': + return TranslateXTimeline.fromPointer(buffer[index].cast()); + case 'spine_translate_y_timeline': + return TranslateYTimeline.fromPointer(buffer[index].cast()); default: - throw UnsupportedError('Unknown concrete type: $className for abstract class Timeline'); + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Timeline'); } } - } -/// Array of ToProperty elements +/// ArrayToProperty wrapper class ArrayToProperty extends NativeArray { - ArrayToProperty.fromPointer(Pointer super.ptr); + ArrayToProperty.fromPointer( + Pointer super.ptr); @override int get length { - return SpineBindings.bindings.spine_array_to_property_size(nativePtr.cast()); + return SpineBindings.bindings + .spine_array_to_property_size(nativePtr.cast()); } @override @@ -717,9 +804,14 @@ class ArrayToProperty extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_to_property_buffer(nativePtr.cast()); - final rtti = SpineBindings.bindings.spine_to_property_get_rtti(buffer[index]); - final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString(); + final buffer = + SpineBindings.bindings.spine_array_to_property_buffer(nativePtr.cast()); + final rtti = + SpineBindings.bindings.spine_to_property_get_rtti(buffer[index]); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); switch (className) { case 'spine_to_rotate': return ToRotate.fromPointer(buffer[index].cast()); @@ -734,19 +826,21 @@ class ArrayToProperty extends NativeArray { case 'spine_to_y': return ToY.fromPointer(buffer[index].cast()); default: - throw UnsupportedError('Unknown concrete type: $className for abstract class ToProperty'); + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class ToProperty'); } } - } -/// Array of TrackEntry elements +/// ArrayTrackEntry wrapper class ArrayTrackEntry extends NativeArray { - ArrayTrackEntry.fromPointer(Pointer super.ptr); + ArrayTrackEntry.fromPointer( + Pointer super.ptr); @override int get length { - return SpineBindings.bindings.spine_array_track_entry_size(nativePtr.cast()); + return SpineBindings.bindings + .spine_array_track_entry_size(nativePtr.cast()); } @override @@ -754,13 +848,13 @@ class ArrayTrackEntry extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_track_entry_buffer(nativePtr.cast()); + final buffer = + SpineBindings.bindings.spine_array_track_entry_buffer(nativePtr.cast()); return TrackEntry.fromPointer(buffer[index]); } - } -/// Array of Update elements +/// ArrayUpdate wrapper class ArrayUpdate extends NativeArray { ArrayUpdate.fromPointer(Pointer super.ptr); @@ -774,8 +868,31 @@ class ArrayUpdate extends NativeArray { if (index < 0 || index >= length) { throw RangeError.index(index, this, 'index'); } - final buffer = SpineBindings.bindings.spine_array_update_buffer(nativePtr.cast()); - throw UnsupportedError('Cannot instantiate abstract class Update from pointer - no concrete subclasses found'); + final buffer = + SpineBindings.bindings.spine_array_update_buffer(nativePtr.cast()); + final rtti = SpineBindings.bindings.spine_update_get_rtti(buffer[index]); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); + switch (className) { + case 'spine_bone': + return Bone.fromPointer(buffer[index].cast()); + case 'spine_bone_pose': + return BonePose.fromPointer(buffer[index].cast()); + case 'spine_ik_constraint': + return IkConstraint.fromPointer(buffer[index].cast()); + case 'spine_path_constraint': + return PathConstraint.fromPointer(buffer[index].cast()); + case 'spine_physics_constraint': + return PhysicsConstraint.fromPointer(buffer[index].cast()); + case 'spine_slider': + return Slider.fromPointer(buffer[index].cast()); + case 'spine_transform_constraint': + return TransformConstraint.fromPointer(buffer[index].cast()); + default: + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Update'); + } } - -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/atlas.dart b/spine-flutter/lib/generated/atlas.dart index b282c9365..1ac01cb22 100644 --- a/spine-flutter/lib/generated/atlas.dart +++ b/spine-flutter/lib/generated/atlas.dart @@ -31,10 +31,10 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'atlas_region.dart'; import 'arrays.dart'; +import 'atlas_region.dart'; /// Atlas wrapper class Atlas implements Finalizable { @@ -50,7 +50,8 @@ class Atlas implements Finalizable { } AtlasRegion findRegion(String name) { - final result = SpineBindings.bindings.spine_atlas_find_region(_ptr, name.toNativeUtf8().cast()); + final result = SpineBindings.bindings + .spine_atlas_find_region(_ptr, name.toNativeUtf8().cast()); return AtlasRegion.fromPointer(result); } @@ -63,5 +64,4 @@ class Atlas implements Finalizable { final result = SpineBindings.bindings.spine_atlas_get_regions(_ptr); return ArrayAtlasRegion.fromPointer(result); } - -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/atlas_attachment_loader.dart b/spine-flutter/lib/generated/atlas_attachment_loader.dart index 9cfb95912..18e31fb8e 100644 --- a/spine-flutter/lib/generated/atlas_attachment_loader.dart +++ b/spine-flutter/lib/generated/atlas_attachment_loader.dart @@ -31,34 +31,98 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'attachment_loader.dart'; -import 'atlas_region.dart'; import 'atlas.dart'; +import 'atlas_region.dart'; +import 'attachment_loader.dart'; +import 'bounding_box_attachment.dart'; +import 'clipping_attachment.dart'; +import 'mesh_attachment.dart'; +import 'path_attachment.dart'; +import 'point_attachment.dart'; +import 'region_attachment.dart'; +import 'sequence.dart'; +import 'skin.dart'; /// AtlasAttachmentLoader wrapper -class AtlasAttachmentLoader extends AttachmentLoader { +class AtlasAttachmentLoader implements Finalizable, AttachmentLoader { final Pointer _ptr; - AtlasAttachmentLoader.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + AtlasAttachmentLoader.fromPointer(this._ptr); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; factory AtlasAttachmentLoader(Atlas atlas) { - final ptr = SpineBindings.bindings.spine_atlas_attachment_loader_create(atlas.nativePtr.cast()); + final ptr = SpineBindings.bindings + .spine_atlas_attachment_loader_create(atlas.nativePtr.cast()); return AtlasAttachmentLoader.fromPointer(ptr); } - AtlasRegion findRegion(String name) { - final result = SpineBindings.bindings.spine_atlas_attachment_loader_find_region(_ptr, name.toNativeUtf8().cast()); - return AtlasRegion.fromPointer(result); + @override + RegionAttachment newRegionAttachment( + Skin skin, String name, String path, Sequence sequence) { + final result = SpineBindings.bindings + .spine_atlas_attachment_loader_new_region_attachment( + _ptr, + skin.nativePtr.cast(), + name.toNativeUtf8().cast(), + path.toNativeUtf8().cast(), + sequence.nativePtr.cast()); + return RegionAttachment.fromPointer(result); } @override - void dispose() { - SpineBindings.bindings.spine_atlas_attachment_loader_dispose(_ptr); + MeshAttachment newMeshAttachment( + Skin skin, String name, String path, Sequence sequence) { + final result = SpineBindings.bindings + .spine_atlas_attachment_loader_new_mesh_attachment( + _ptr, + skin.nativePtr.cast(), + name.toNativeUtf8().cast(), + path.toNativeUtf8().cast(), + sequence.nativePtr.cast()); + return MeshAttachment.fromPointer(result); } -} \ No newline at end of file + + @override + BoundingBoxAttachment newBoundingBoxAttachment(Skin skin, String name) { + final result = SpineBindings.bindings + .spine_atlas_attachment_loader_new_bounding_box_attachment( + _ptr, skin.nativePtr.cast(), name.toNativeUtf8().cast()); + return BoundingBoxAttachment.fromPointer(result); + } + + @override + PathAttachment newPathAttachment(Skin skin, String name) { + final result = SpineBindings.bindings + .spine_atlas_attachment_loader_new_path_attachment( + _ptr, skin.nativePtr.cast(), name.toNativeUtf8().cast()); + return PathAttachment.fromPointer(result); + } + + @override + PointAttachment newPointAttachment(Skin skin, String name) { + final result = SpineBindings.bindings + .spine_atlas_attachment_loader_new_point_attachment( + _ptr, skin.nativePtr.cast(), name.toNativeUtf8().cast()); + return PointAttachment.fromPointer(result); + } + + @override + ClippingAttachment newClippingAttachment(Skin skin, String name) { + final result = SpineBindings.bindings + .spine_atlas_attachment_loader_new_clipping_attachment( + _ptr, skin.nativePtr.cast(), name.toNativeUtf8().cast()); + return ClippingAttachment.fromPointer(result); + } + + AtlasRegion findRegion(String name) { + final result = SpineBindings.bindings + .spine_atlas_attachment_loader_find_region( + _ptr, name.toNativeUtf8().cast()); + return AtlasRegion.fromPointer(result); + } +} diff --git a/spine-flutter/lib/generated/atlas_page.dart b/spine-flutter/lib/generated/atlas_page.dart index 9b0762105..947ab12dd 100644 --- a/spine-flutter/lib/generated/atlas_page.dart +++ b/spine-flutter/lib/generated/atlas_page.dart @@ -31,7 +31,7 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'format.dart'; import 'texture_filter.dart'; @@ -47,7 +47,8 @@ class AtlasPage implements Finalizable { Pointer get nativePtr => _ptr; factory AtlasPage(String inName) { - final ptr = SpineBindings.bindings.spine_atlas_page_create(inName.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_atlas_page_create(inName.toNativeUtf8().cast()); return AtlasPage.fromPointer(ptr); } @@ -57,16 +58,19 @@ class AtlasPage implements Finalizable { } set name(String value) { - SpineBindings.bindings.spine_atlas_page_set_name(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings + .spine_atlas_page_set_name(_ptr, value.toNativeUtf8().cast()); } String get texturePath { - final result = SpineBindings.bindings.spine_atlas_page_get_texture_path(_ptr); + final result = + SpineBindings.bindings.spine_atlas_page_get_texture_path(_ptr); return result.cast().toDartString(); } set texturePath(String value) { - SpineBindings.bindings.spine_atlas_page_set_texture_path(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings.spine_atlas_page_set_texture_path( + _ptr, value.toNativeUtf8().cast()); } Format get format { @@ -150,7 +154,8 @@ class AtlasPage implements Finalizable { SpineBindings.bindings.spine_atlas_page_set_index(_ptr, value); } - void dispose() { - SpineBindings.bindings.spine_atlas_page_dispose(_ptr); + Pointer get texture { + final result = SpineBindings.bindings.spine_atlas_page_get_texture(_ptr); + return result; } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/atlas_region.dart b/spine-flutter/lib/generated/atlas_region.dart index c9708e873..efddc5eea 100644 --- a/spine-flutter/lib/generated/atlas_region.dart +++ b/spine-flutter/lib/generated/atlas_region.dart @@ -31,11 +31,11 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'texture_region.dart'; -import 'atlas_page.dart'; import 'arrays.dart'; +import 'atlas_page.dart'; +import 'texture_region.dart'; /// AtlasRegion wrapper class AtlasRegion extends TextureRegion { @@ -57,6 +57,11 @@ class AtlasRegion extends TextureRegion { return AtlasPage.fromPointer(result); } + String get name { + final result = SpineBindings.bindings.spine_atlas_region_get_name(_ptr); + return result.cast().toDartString(); + } + int get index { final result = SpineBindings.bindings.spine_atlas_region_get_index(_ptr); return result; @@ -83,22 +88,26 @@ class AtlasRegion extends TextureRegion { } int get packedWidth { - final result = SpineBindings.bindings.spine_atlas_region_get_packed_width(_ptr); + final result = + SpineBindings.bindings.spine_atlas_region_get_packed_width(_ptr); return result; } int get packedHeight { - final result = SpineBindings.bindings.spine_atlas_region_get_packed_height(_ptr); + final result = + SpineBindings.bindings.spine_atlas_region_get_packed_height(_ptr); return result; } int get originalWidth { - final result = SpineBindings.bindings.spine_atlas_region_get_original_width(_ptr); + final result = + SpineBindings.bindings.spine_atlas_region_get_original_width(_ptr); return result; } int get originalHeight { - final result = SpineBindings.bindings.spine_atlas_region_get_original_height(_ptr); + final result = + SpineBindings.bindings.spine_atlas_region_get_original_height(_ptr); return result; } @@ -128,11 +137,13 @@ class AtlasRegion extends TextureRegion { } set page(AtlasPage value) { - SpineBindings.bindings.spine_atlas_region_set_page(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_atlas_region_set_page(_ptr, value.nativePtr.cast()); } set name(String value) { - SpineBindings.bindings.spine_atlas_region_set_name(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings + .spine_atlas_region_set_name(_ptr, value.toNativeUtf8().cast()); } set index(int value) { @@ -180,19 +191,17 @@ class AtlasRegion extends TextureRegion { } set splits(ArrayInt value) { - SpineBindings.bindings.spine_atlas_region_set_splits(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_atlas_region_set_splits(_ptr, value.nativePtr.cast()); } set pads(ArrayInt value) { - SpineBindings.bindings.spine_atlas_region_set_pads(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_atlas_region_set_pads(_ptr, value.nativePtr.cast()); } set values(ArrayFloat value) { - SpineBindings.bindings.spine_atlas_region_set_values(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_atlas_region_set_values(_ptr, value.nativePtr.cast()); } - - @override - void dispose() { - SpineBindings.bindings.spine_atlas_region_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/attachment.dart b/spine-flutter/lib/generated/attachment.dart index ee715e747..7d0b79cdd 100644 --- a/spine-flutter/lib/generated/attachment.dart +++ b/spine-flutter/lib/generated/attachment.dart @@ -31,15 +31,15 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'point_attachment.dart'; -import 'region_attachment.dart'; import 'bounding_box_attachment.dart'; import 'clipping_attachment.dart'; import 'mesh_attachment.dart'; import 'path_attachment.dart'; +import 'point_attachment.dart'; +import 'region_attachment.dart'; /// Attachment wrapper abstract class Attachment implements Finalizable { @@ -63,12 +63,11 @@ abstract class Attachment implements Finalizable { Attachment copy() { final result = SpineBindings.bindings.spine_attachment_copy(_ptr); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); - final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString(); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); switch (className) { - case 'spine_point_attachment': - return PointAttachment.fromPointer(result.cast()); - case 'spine_region_attachment': - return RegionAttachment.fromPointer(result.cast()); case 'spine_bounding_box_attachment': return BoundingBoxAttachment.fromPointer(result.cast()); case 'spine_clipping_attachment': @@ -77,8 +76,13 @@ abstract class Attachment implements Finalizable { return MeshAttachment.fromPointer(result.cast()); case 'spine_path_attachment': return PathAttachment.fromPointer(result.cast()); + case 'spine_point_attachment': + return PointAttachment.fromPointer(result.cast()); + case 'spine_region_attachment': + return RegionAttachment.fromPointer(result.cast()); default: - throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Attachment'); } } @@ -99,8 +103,4 @@ abstract class Attachment implements Finalizable { final result = SpineBindings.bindings.spine_attachment_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_attachment_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/attachment_loader.dart b/spine-flutter/lib/generated/attachment_loader.dart index 4609789cb..9c8815387 100644 --- a/spine-flutter/lib/generated/attachment_loader.dart +++ b/spine-flutter/lib/generated/attachment_loader.dart @@ -30,58 +30,24 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; -import '../spine_bindings.dart'; -import 'region_attachment.dart'; -import 'skin.dart'; -import 'sequence.dart'; -import 'mesh_attachment.dart'; import 'bounding_box_attachment.dart'; +import 'clipping_attachment.dart'; +import 'mesh_attachment.dart'; import 'path_attachment.dart'; import 'point_attachment.dart'; -import 'clipping_attachment.dart'; +import 'region_attachment.dart'; +import 'sequence.dart'; +import 'skin.dart'; /// AttachmentLoader wrapper -abstract class AttachmentLoader implements Finalizable { - final Pointer _ptr; - - AttachmentLoader.fromPointer(this._ptr); - - /// Get the native pointer for FFI calls - Pointer get nativePtr => _ptr; - - RegionAttachment newRegionAttachment(Skin skin, String name, String path, Sequence sequence) { - final result = SpineBindings.bindings.spine_attachment_loader_new_region_attachment(_ptr, skin.nativePtr.cast(), name.toNativeUtf8().cast(), path.toNativeUtf8().cast(), sequence.nativePtr.cast()); - return RegionAttachment.fromPointer(result); - } - - MeshAttachment newMeshAttachment(Skin skin, String name, String path, Sequence sequence) { - final result = SpineBindings.bindings.spine_attachment_loader_new_mesh_attachment(_ptr, skin.nativePtr.cast(), name.toNativeUtf8().cast(), path.toNativeUtf8().cast(), sequence.nativePtr.cast()); - return MeshAttachment.fromPointer(result); - } - - BoundingBoxAttachment newBoundingBoxAttachment(Skin skin, String name) { - final result = SpineBindings.bindings.spine_attachment_loader_new_bounding_box_attachment(_ptr, skin.nativePtr.cast(), name.toNativeUtf8().cast()); - return BoundingBoxAttachment.fromPointer(result); - } - - PathAttachment newPathAttachment(Skin skin, String name) { - final result = SpineBindings.bindings.spine_attachment_loader_new_path_attachment(_ptr, skin.nativePtr.cast(), name.toNativeUtf8().cast()); - return PathAttachment.fromPointer(result); - } - - PointAttachment newPointAttachment(Skin skin, String name) { - final result = SpineBindings.bindings.spine_attachment_loader_new_point_attachment(_ptr, skin.nativePtr.cast(), name.toNativeUtf8().cast()); - return PointAttachment.fromPointer(result); - } - - ClippingAttachment newClippingAttachment(Skin skin, String name) { - final result = SpineBindings.bindings.spine_attachment_loader_new_clipping_attachment(_ptr, skin.nativePtr.cast(), name.toNativeUtf8().cast()); - return ClippingAttachment.fromPointer(result); - } - - void dispose() { - SpineBindings.bindings.spine_attachment_loader_dispose(_ptr); - } -} \ No newline at end of file +abstract class AttachmentLoader { + Pointer get nativePtr; + RegionAttachment newRegionAttachment( + Skin skin, String name, String path, Sequence sequence); + MeshAttachment newMeshAttachment( + Skin skin, String name, String path, Sequence sequence); + BoundingBoxAttachment newBoundingBoxAttachment(Skin skin, String name); + PathAttachment newPathAttachment(Skin skin, String name); + PointAttachment newPointAttachment(Skin skin, String name); + ClippingAttachment newClippingAttachment(Skin skin, String name); +} diff --git a/spine-flutter/lib/generated/attachment_timeline.dart b/spine-flutter/lib/generated/attachment_timeline.dart index 7dcb63175..6e04855a5 100644 --- a/spine-flutter/lib/generated/attachment_timeline.dart +++ b/spine-flutter/lib/generated/attachment_timeline.dart @@ -31,12 +31,13 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; +import 'slot_timeline.dart'; import 'timeline.dart'; /// AttachmentTimeline wrapper -class AttachmentTimeline extends Timeline { +class AttachmentTimeline extends Timeline implements SlotTimeline { final Pointer _ptr; AttachmentTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); @@ -46,25 +47,26 @@ class AttachmentTimeline extends Timeline { Pointer get nativePtr => _ptr; factory AttachmentTimeline(int frameCount, int slotIndex) { - final ptr = SpineBindings.bindings.spine_attachment_timeline_create(frameCount, slotIndex); + final ptr = SpineBindings.bindings + .spine_attachment_timeline_create(frameCount, slotIndex); return AttachmentTimeline.fromPointer(ptr); } void setFrame(int frame, double time, String attachmentName) { - SpineBindings.bindings.spine_attachment_timeline_set_frame(_ptr, frame, time, attachmentName.toNativeUtf8().cast()); - } - - int get slotIndex { - final result = SpineBindings.bindings.spine_attachment_timeline_get_slot_index(_ptr); - return result; - } - - set slotIndex(int value) { - SpineBindings.bindings.spine_attachment_timeline_set_slot_index(_ptr, value); + SpineBindings.bindings.spine_attachment_timeline_set_frame( + _ptr, frame, time, attachmentName.toNativeUtf8().cast()); } @override - void dispose() { - SpineBindings.bindings.spine_attachment_timeline_dispose(_ptr); + int get slotIndex { + final result = + SpineBindings.bindings.spine_attachment_timeline_get_slot_index(_ptr); + return result; } -} \ No newline at end of file + + @override + set slotIndex(int value) { + SpineBindings.bindings + .spine_attachment_timeline_set_slot_index(_ptr, value); + } +} diff --git a/spine-flutter/lib/generated/attachment_type.dart b/spine-flutter/lib/generated/attachment_type.dart index aae0169ac..3aef91f6f 100644 --- a/spine-flutter/lib/generated/attachment_type.dart +++ b/spine-flutter/lib/generated/attachment_type.dart @@ -32,12 +32,12 @@ /// AttachmentType enum enum AttachmentType { region(0), - boundingbox(1), - mesh(2), - linkedmesh(3), - path(4), - point(5), - clipping(6); + boundingbox(0), + mesh(0), + linkedmesh(0), + path(0), + point(0), + clipping(0); const AttachmentType(this.value); final int value; @@ -48,4 +48,4 @@ enum AttachmentType { orElse: () => throw ArgumentError('Invalid AttachmentType value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/blend_mode.dart b/spine-flutter/lib/generated/blend_mode.dart index 853f48594..cfc2e8aea 100644 --- a/spine-flutter/lib/generated/blend_mode.dart +++ b/spine-flutter/lib/generated/blend_mode.dart @@ -32,9 +32,9 @@ /// BlendMode enum enum BlendMode { normal(0), - additive(1), - multiply(2), - screen(3); + additive(0), + multiply(0), + screen(0); const BlendMode(this.value); final int value; @@ -45,4 +45,4 @@ enum BlendMode { orElse: () => throw ArgumentError('Invalid BlendMode value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/bone.dart b/spine-flutter/lib/generated/bone.dart index 07f2065db..fb41db758 100644 --- a/spine-flutter/lib/generated/bone.dart +++ b/spine-flutter/lib/generated/bone.dart @@ -30,19 +30,21 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'posed_active.dart'; -import 'skeleton.dart'; -import 'physics.dart'; +import 'arrays.dart'; import 'bone_data.dart'; import 'bone_local.dart'; import 'bone_pose.dart'; -import 'arrays.dart'; +import 'physics.dart'; +import 'posed.dart'; +import 'posed_active.dart'; +import 'skeleton.dart'; +import 'update.dart'; /// Bone wrapper -class Bone extends PosedActive { +class Bone extends PosedActive implements Posed, Update { final Pointer _ptr; Bone.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); @@ -52,15 +54,18 @@ class Bone extends PosedActive { Pointer get nativePtr => _ptr; factory Bone(BoneData data, Bone parent) { - final ptr = SpineBindings.bindings.spine_bone_create(data.nativePtr.cast(), parent.nativePtr.cast()); + final ptr = SpineBindings.bindings + .spine_bone_create(data.nativePtr.cast(), parent.nativePtr.cast()); return Bone.fromPointer(ptr); } factory Bone.from(Bone bone, Bone parent) { - final ptr = SpineBindings.bindings.spine_bone_create2(bone.nativePtr.cast(), parent.nativePtr.cast()); + final ptr = SpineBindings.bindings + .spine_bone_create2(bone.nativePtr.cast(), parent.nativePtr.cast()); return Bone.fromPointer(ptr); } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_bone_get_rtti(_ptr); return Rtti.fromPointer(result); @@ -85,8 +90,10 @@ class Bone extends PosedActive { SpineBindings.bindings.spine_bone_set_y_down(value); } + @override void update(Skeleton skeleton, Physics physics) { - SpineBindings.bindings.spine_bone_update(_ptr, skeleton.nativePtr.cast(), physics.value); + SpineBindings.bindings + .spine_bone_update(_ptr, skeleton.nativePtr.cast(), physics.value); } BoneData get data { @@ -104,16 +111,20 @@ class Bone extends PosedActive { return BonePose.fromPointer(result); } + @override void resetConstrained() { SpineBindings.bindings.spine_bone_reset_constrained(_ptr); } + @override void constrained() { SpineBindings.bindings.spine_bone_constrained(_ptr); } + @override bool get isPoseEqualToApplied { - final result = SpineBindings.bindings.spine_bone_is_pose_equal_to_applied(_ptr); + final result = + SpineBindings.bindings.spine_bone_is_pose_equal_to_applied(_ptr); return result; } @@ -121,9 +132,4 @@ class Bone extends PosedActive { final result = SpineBindings.bindings.spine_bone_rtti(); return Rtti.fromPointer(result); } - - @override - void dispose() { - SpineBindings.bindings.spine_bone_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/bone_data.dart b/spine-flutter/lib/generated/bone_data.dart index 70dfd2a48..b13916bcc 100644 --- a/spine-flutter/lib/generated/bone_data.dart +++ b/spine-flutter/lib/generated/bone_data.dart @@ -31,22 +31,25 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'color.dart'; import 'bone_local.dart'; +import 'color.dart'; +import 'posed_data.dart'; /// BoneData wrapper -class BoneData implements Finalizable { +class BoneData extends PosedData { final Pointer _ptr; - BoneData.fromPointer(this._ptr); + BoneData.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls + @override Pointer get nativePtr => _ptr; factory BoneData(int index, String name, BoneData parent) { - final ptr = SpineBindings.bindings.spine_bone_data_create(index, name.toNativeUtf8().cast(), parent.nativePtr.cast()); + final ptr = SpineBindings.bindings.spine_bone_data_create( + index, name.toNativeUtf8().cast(), parent.nativePtr.cast()); return BoneData.fromPointer(ptr); } @@ -80,7 +83,8 @@ class BoneData implements Finalizable { } set icon(String value) { - SpineBindings.bindings.spine_bone_data_set_icon(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings + .spine_bone_data_set_icon(_ptr, value.toNativeUtf8().cast()); } bool get visible { @@ -96,22 +100,4 @@ class BoneData implements Finalizable { final result = SpineBindings.bindings.spine_bone_data_get_setup_pose(_ptr); return BoneLocal.fromPointer(result); } - - String get name { - final result = SpineBindings.bindings.spine_bone_data_get_name(_ptr); - return result.cast().toDartString(); - } - - bool get skinRequired { - final result = SpineBindings.bindings.spine_bone_data_get_skin_required(_ptr); - return result; - } - - set skinRequired(bool value) { - SpineBindings.bindings.spine_bone_data_set_skin_required(_ptr, value); - } - - void dispose() { - SpineBindings.bindings.spine_bone_data_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/bone_local.dart b/spine-flutter/lib/generated/bone_local.dart index 66c151ecd..2ecf1b8e1 100644 --- a/spine-flutter/lib/generated/bone_local.dart +++ b/spine-flutter/lib/generated/bone_local.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'inherit.dart'; @@ -128,15 +128,11 @@ class BoneLocal implements Finalizable { SpineBindings.bindings.spine_bone_local_set_inherit(_ptr, value.value); } - void setScale1(double scaleX, double scaleY) { + void setScale(double scaleX, double scaleY) { SpineBindings.bindings.spine_bone_local_set_scale_1(_ptr, scaleX, scaleY); } set scale2(double value) { SpineBindings.bindings.spine_bone_local_set_scale_2(_ptr, value); } - - void dispose() { - SpineBindings.bindings.spine_bone_local_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/bone_pose.dart b/spine-flutter/lib/generated/bone_pose.dart index 055035989..2307aa1dc 100644 --- a/spine-flutter/lib/generated/bone_pose.dart +++ b/spine-flutter/lib/generated/bone_pose.dart @@ -30,15 +30,16 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; import 'bone_local.dart'; -import 'skeleton.dart'; import 'physics.dart'; +import 'skeleton.dart'; +import 'update.dart'; /// BonePose wrapper -class BonePose extends BoneLocal { +class BonePose extends BoneLocal implements Update { final Pointer _ptr; BonePose.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); @@ -52,29 +53,36 @@ class BonePose extends BoneLocal { return BonePose.fromPointer(ptr); } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_bone_pose_get_rtti(_ptr); return Rtti.fromPointer(result); } + @override void update(Skeleton skeleton, Physics physics) { - SpineBindings.bindings.spine_bone_pose_update(_ptr, skeleton.nativePtr.cast(), physics.value); + SpineBindings.bindings + .spine_bone_pose_update(_ptr, skeleton.nativePtr.cast(), physics.value); } void updateWorldTransform(Skeleton skeleton) { - SpineBindings.bindings.spine_bone_pose_update_world_transform(_ptr, skeleton.nativePtr.cast()); + SpineBindings.bindings.spine_bone_pose_update_world_transform( + _ptr, skeleton.nativePtr.cast()); } void updateLocalTransform(Skeleton skeleton) { - SpineBindings.bindings.spine_bone_pose_update_local_transform(_ptr, skeleton.nativePtr.cast()); + SpineBindings.bindings.spine_bone_pose_update_local_transform( + _ptr, skeleton.nativePtr.cast()); } void validateLocalTransform(Skeleton skeleton) { - SpineBindings.bindings.spine_bone_pose_validate_local_transform(_ptr, skeleton.nativePtr.cast()); + SpineBindings.bindings.spine_bone_pose_validate_local_transform( + _ptr, skeleton.nativePtr.cast()); } void modifyLocal(Skeleton skeleton) { - SpineBindings.bindings.spine_bone_pose_modify_local(_ptr, skeleton.nativePtr.cast()); + SpineBindings.bindings + .spine_bone_pose_modify_local(_ptr, skeleton.nativePtr.cast()); } void modifyWorld(int update) { @@ -140,32 +148,38 @@ class BonePose extends BoneLocal { } double get worldRotationX { - final result = SpineBindings.bindings.spine_bone_pose_get_world_rotation_x(_ptr); + final result = + SpineBindings.bindings.spine_bone_pose_get_world_rotation_x(_ptr); return result; } double get worldRotationY { - final result = SpineBindings.bindings.spine_bone_pose_get_world_rotation_y(_ptr); + final result = + SpineBindings.bindings.spine_bone_pose_get_world_rotation_y(_ptr); return result; } double get worldScaleX { - final result = SpineBindings.bindings.spine_bone_pose_get_world_scale_x(_ptr); + final result = + SpineBindings.bindings.spine_bone_pose_get_world_scale_x(_ptr); return result; } double get worldScaleY { - final result = SpineBindings.bindings.spine_bone_pose_get_world_scale_y(_ptr); + final result = + SpineBindings.bindings.spine_bone_pose_get_world_scale_y(_ptr); return result; } double worldToLocalRotation(double worldRotation) { - final result = SpineBindings.bindings.spine_bone_pose_world_to_local_rotation(_ptr, worldRotation); + final result = SpineBindings.bindings + .spine_bone_pose_world_to_local_rotation(_ptr, worldRotation); return result; } double localToWorldRotation(double localRotation) { - final result = SpineBindings.bindings.spine_bone_pose_local_to_world_rotation(_ptr, localRotation); + final result = SpineBindings.bindings + .spine_bone_pose_local_to_world_rotation(_ptr, localRotation); return result; } @@ -177,9 +191,4 @@ class BonePose extends BoneLocal { final result = SpineBindings.bindings.spine_bone_pose_rtti(); return Rtti.fromPointer(result); } - - @override - void dispose() { - SpineBindings.bindings.spine_bone_pose_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/bone_timeline.dart b/spine-flutter/lib/generated/bone_timeline.dart index 432148190..406c7e4d4 100644 --- a/spine-flutter/lib/generated/bone_timeline.dart +++ b/spine-flutter/lib/generated/bone_timeline.dart @@ -30,39 +30,17 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; /// BoneTimeline wrapper -class BoneTimeline implements Finalizable { - final Pointer _ptr; - - BoneTimeline.fromPointer(this._ptr); - - /// Get the native pointer for FFI calls - Pointer get nativePtr => _ptr; - - Rtti get rtti { - final result = SpineBindings.bindings.spine_bone_timeline_get_rtti(_ptr); - return Rtti.fromPointer(result); - } - - int get boneIndex { - final result = SpineBindings.bindings.spine_bone_timeline_get_bone_index(_ptr); - return result; - } - - set boneIndex(int value) { - SpineBindings.bindings.spine_bone_timeline_set_bone_index(_ptr, value); - } - +abstract class BoneTimeline { + Pointer get nativePtr; + Rtti get rtti; + int get boneIndex; + set boneIndex(int value); static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_bone_timeline_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_bone_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/bone_timeline1.dart b/spine-flutter/lib/generated/bone_timeline1.dart index f3c683f4e..acdd8033a 100644 --- a/spine-flutter/lib/generated/bone_timeline1.dart +++ b/spine-flutter/lib/generated/bone_timeline1.dart @@ -30,12 +30,13 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; +import 'bone_timeline.dart'; import 'curve_timeline1.dart'; /// BoneTimeline1 wrapper -abstract class BoneTimeline1 extends CurveTimeline1 { +abstract class BoneTimeline1 extends CurveTimeline1 implements BoneTimeline { final Pointer _ptr; BoneTimeline1.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); @@ -44,17 +45,15 @@ abstract class BoneTimeline1 extends CurveTimeline1 { @override Pointer get nativePtr => _ptr; + @override int get boneIndex { - final result = SpineBindings.bindings.spine_bone_timeline1_get_bone_index(_ptr); + final result = + SpineBindings.bindings.spine_bone_timeline1_get_bone_index(_ptr); return result; } + @override set boneIndex(int value) { SpineBindings.bindings.spine_bone_timeline1_set_bone_index(_ptr, value); } - - @override - void dispose() { - SpineBindings.bindings.spine_bone_timeline1_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/bone_timeline2.dart b/spine-flutter/lib/generated/bone_timeline2.dart index 2eb1930e9..f9dbf6a6d 100644 --- a/spine-flutter/lib/generated/bone_timeline2.dart +++ b/spine-flutter/lib/generated/bone_timeline2.dart @@ -30,12 +30,13 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'curve_timeline2.dart'; +import 'bone_timeline.dart'; +import 'curve_timeline.dart'; /// BoneTimeline2 wrapper -abstract class BoneTimeline2 extends CurveTimeline2 { +abstract class BoneTimeline2 extends CurveTimeline implements BoneTimeline { final Pointer _ptr; BoneTimeline2.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); @@ -44,17 +45,20 @@ abstract class BoneTimeline2 extends CurveTimeline2 { @override Pointer get nativePtr => _ptr; + @override int get boneIndex { - final result = SpineBindings.bindings.spine_bone_timeline2_get_bone_index(_ptr); + final result = + SpineBindings.bindings.spine_bone_timeline2_get_bone_index(_ptr); return result; } + @override set boneIndex(int value) { SpineBindings.bindings.spine_bone_timeline2_set_bone_index(_ptr, value); } - @override - void dispose() { - SpineBindings.bindings.spine_bone_timeline2_dispose(_ptr); + void setFrame(int frame, double time, double value1, double value2) { + SpineBindings.bindings + .spine_bone_timeline2_set_frame(_ptr, frame, time, value1, value2); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/bounding_box_attachment.dart b/spine-flutter/lib/generated/bounding_box_attachment.dart index 8ec0a5821..32b98a529 100644 --- a/spine-flutter/lib/generated/bounding_box_attachment.dart +++ b/spine-flutter/lib/generated/bounding_box_attachment.dart @@ -31,10 +31,10 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'vertex_attachment.dart'; import 'color.dart'; +import 'vertex_attachment.dart'; /// BoundingBoxAttachment wrapper class BoundingBoxAttachment extends VertexAttachment { @@ -47,17 +47,14 @@ class BoundingBoxAttachment extends VertexAttachment { Pointer get nativePtr => _ptr; factory BoundingBoxAttachment(String name) { - final ptr = SpineBindings.bindings.spine_bounding_box_attachment_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_bounding_box_attachment_create(name.toNativeUtf8().cast()); return BoundingBoxAttachment.fromPointer(ptr); } Color get color { - final result = SpineBindings.bindings.spine_bounding_box_attachment_get_color(_ptr); + final result = + SpineBindings.bindings.spine_bounding_box_attachment_get_color(_ptr); return Color.fromPointer(result); } - - @override - void dispose() { - SpineBindings.bindings.spine_bounding_box_attachment_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/clipping_attachment.dart b/spine-flutter/lib/generated/clipping_attachment.dart index 53b5902f7..7d1c2e449 100644 --- a/spine-flutter/lib/generated/clipping_attachment.dart +++ b/spine-flutter/lib/generated/clipping_attachment.dart @@ -31,11 +31,11 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'vertex_attachment.dart'; -import 'slot_data.dart'; import 'color.dart'; +import 'slot_data.dart'; +import 'vertex_attachment.dart'; /// ClippingAttachment wrapper class ClippingAttachment extends VertexAttachment { @@ -48,26 +48,25 @@ class ClippingAttachment extends VertexAttachment { Pointer get nativePtr => _ptr; factory ClippingAttachment(String name) { - final ptr = SpineBindings.bindings.spine_clipping_attachment_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_clipping_attachment_create(name.toNativeUtf8().cast()); return ClippingAttachment.fromPointer(ptr); } SlotData get endSlot { - final result = SpineBindings.bindings.spine_clipping_attachment_get_end_slot(_ptr); + final result = + SpineBindings.bindings.spine_clipping_attachment_get_end_slot(_ptr); return SlotData.fromPointer(result); } set endSlot(SlotData value) { - SpineBindings.bindings.spine_clipping_attachment_set_end_slot(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_clipping_attachment_set_end_slot(_ptr, value.nativePtr.cast()); } Color get color { - final result = SpineBindings.bindings.spine_clipping_attachment_get_color(_ptr); + final result = + SpineBindings.bindings.spine_clipping_attachment_get_color(_ptr); return Color.fromPointer(result); } - - @override - void dispose() { - SpineBindings.bindings.spine_clipping_attachment_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/color.dart b/spine-flutter/lib/generated/color.dart index 3ba523d1b..bf216850c 100644 --- a/spine-flutter/lib/generated/color.dart +++ b/spine-flutter/lib/generated/color.dart @@ -31,7 +31,7 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// Color wrapper @@ -59,7 +59,8 @@ class Color implements Finalizable { } static double parseHex(String value, int index) { - final result = SpineBindings.bindings.spine_color_parse_hex(value.toNativeUtf8().cast(), index); + final result = SpineBindings.bindings + .spine_color_parse_hex(value.toNativeUtf8().cast(), index); return result; } @@ -107,7 +108,7 @@ class Color implements Finalizable { SpineBindings.bindings.spine_color_set_a(_ptr, value); } - Color set1(double r, double g, double b, double a) { + Color set(double r, double g, double b, double a) { final result = SpineBindings.bindings.spine_color_set_1(_ptr, r, g, b, a); return Color.fromPointer(result); } @@ -118,11 +119,12 @@ class Color implements Finalizable { } Color set3(Color other) { - final result = SpineBindings.bindings.spine_color_set_3(_ptr, other.nativePtr.cast()); + final result = + SpineBindings.bindings.spine_color_set_3(_ptr, other.nativePtr.cast()); return Color.fromPointer(result); } - Color add1(double r, double g, double b, double a) { + Color add(double r, double g, double b, double a) { final result = SpineBindings.bindings.spine_color_add_1(_ptr, r, g, b, a); return Color.fromPointer(result); } @@ -133,11 +135,8 @@ class Color implements Finalizable { } Color add3(Color other) { - final result = SpineBindings.bindings.spine_color_add_3(_ptr, other.nativePtr.cast()); + final result = + SpineBindings.bindings.spine_color_add_3(_ptr, other.nativePtr.cast()); return Color.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_color_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/constraint.dart b/spine-flutter/lib/generated/constraint.dart index 637d1d805..7c6f9da69 100644 --- a/spine-flutter/lib/generated/constraint.dart +++ b/spine-flutter/lib/generated/constraint.dart @@ -30,38 +30,26 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'update.dart'; +import 'rtti.dart'; import 'constraint_data.dart'; +import 'physics.dart'; import 'skeleton.dart'; +import 'update.dart'; /// Constraint wrapper -abstract class Constraint extends Update { - final Pointer _ptr; - - Constraint.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); - - /// Get the native pointer for FFI calls +abstract class Constraint implements Update { @override - Pointer get nativePtr => _ptr; - - ConstraintData get data { - final result = SpineBindings.bindings.spine_constraint_get_data(_ptr); - throw UnsupportedError('Cannot instantiate abstract class ConstraintData from pointer - no concrete subclasses found'); - } - - void sort(Skeleton skeleton) { - SpineBindings.bindings.spine_constraint_sort(_ptr, skeleton.nativePtr.cast()); - } - - bool get isSourceActive { - final result = SpineBindings.bindings.spine_constraint_is_source_active(_ptr); - return result; - } - + Pointer get nativePtr; @override - void dispose() { - SpineBindings.bindings.spine_constraint_dispose(_ptr); + Rtti get rtti; + ConstraintData get data; + void sort(Skeleton skeleton); + bool get isSourceActive; + @override + void update(Skeleton skeleton, Physics physics); + static Rtti rttiStatic() { + final result = SpineBindings.bindings.spine_constraint_rtti(); + return Rtti.fromPointer(result); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/constraint_data.dart b/spine-flutter/lib/generated/constraint_data.dart index a9389de56..aeb1992a8 100644 --- a/spine-flutter/lib/generated/constraint_data.dart +++ b/spine-flutter/lib/generated/constraint_data.dart @@ -30,48 +30,20 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; import 'constraint.dart'; import 'skeleton.dart'; /// ConstraintData wrapper -abstract class ConstraintData implements Finalizable { - final Pointer _ptr; - - ConstraintData.fromPointer(this._ptr); - - /// Get the native pointer for FFI calls - Pointer get nativePtr => _ptr; - - Rtti get rtti { - final result = SpineBindings.bindings.spine_constraint_data_get_rtti(_ptr); - return Rtti.fromPointer(result); - } - - Constraint createMethod(Skeleton skeleton) { - final result = SpineBindings.bindings.spine_constraint_data_create_method(_ptr, skeleton.nativePtr.cast()); - throw UnsupportedError('Cannot instantiate abstract class Constraint from pointer - no concrete subclasses found'); - } - - String get name { - final result = SpineBindings.bindings.spine_constraint_data_get_name(_ptr); - return result.cast().toDartString(); - } - - bool get skinRequired { - final result = SpineBindings.bindings.spine_constraint_data_get_skin_required(_ptr); - return result; - } - +abstract class ConstraintData { + Pointer get nativePtr; + Rtti get rtti; + Constraint createMethod(Skeleton skeleton); + String get name; + bool get skinRequired; static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_constraint_data_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_constraint_data_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/constraint_timeline.dart b/spine-flutter/lib/generated/constraint_timeline.dart index ea06ac68b..fe477b3a6 100644 --- a/spine-flutter/lib/generated/constraint_timeline.dart +++ b/spine-flutter/lib/generated/constraint_timeline.dart @@ -30,39 +30,17 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; /// ConstraintTimeline wrapper -class ConstraintTimeline implements Finalizable { - final Pointer _ptr; - - ConstraintTimeline.fromPointer(this._ptr); - - /// Get the native pointer for FFI calls - Pointer get nativePtr => _ptr; - - Rtti get rtti { - final result = SpineBindings.bindings.spine_constraint_timeline_get_rtti(_ptr); - return Rtti.fromPointer(result); - } - - int get constraintIndex { - final result = SpineBindings.bindings.spine_constraint_timeline_get_constraint_index(_ptr); - return result; - } - - set constraintIndex(int value) { - SpineBindings.bindings.spine_constraint_timeline_set_constraint_index(_ptr, value); - } - +abstract class ConstraintTimeline { + Pointer get nativePtr; + Rtti get rtti; + int get constraintIndex; + set constraintIndex(int value); static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_constraint_timeline_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_constraint_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/constraint_timeline1.dart b/spine-flutter/lib/generated/constraint_timeline1.dart index f00f2f680..099c08af8 100644 --- a/spine-flutter/lib/generated/constraint_timeline1.dart +++ b/spine-flutter/lib/generated/constraint_timeline1.dart @@ -30,12 +30,14 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; +import 'constraint_timeline.dart'; import 'curve_timeline1.dart'; /// ConstraintTimeline1 wrapper -abstract class ConstraintTimeline1 extends CurveTimeline1 { +abstract class ConstraintTimeline1 extends CurveTimeline1 + implements ConstraintTimeline { final Pointer _ptr; ConstraintTimeline1.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); @@ -44,17 +46,16 @@ abstract class ConstraintTimeline1 extends CurveTimeline1 { @override Pointer get nativePtr => _ptr; + @override int get constraintIndex { - final result = SpineBindings.bindings.spine_constraint_timeline1_get_constraint_index(_ptr); + final result = SpineBindings.bindings + .spine_constraint_timeline1_get_constraint_index(_ptr); return result; } - set constraintIndex(int value) { - SpineBindings.bindings.spine_constraint_timeline1_set_constraint_index(_ptr, value); - } - @override - void dispose() { - SpineBindings.bindings.spine_constraint_timeline1_dispose(_ptr); + set constraintIndex(int value) { + SpineBindings.bindings + .spine_constraint_timeline1_set_constraint_index(_ptr, value); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/curve_timeline.dart b/spine-flutter/lib/generated/curve_timeline.dart index 201168b31..cd096b794 100644 --- a/spine-flutter/lib/generated/curve_timeline.dart +++ b/spine-flutter/lib/generated/curve_timeline.dart @@ -30,10 +30,10 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'timeline.dart'; import 'arrays.dart'; +import 'timeline.dart'; /// CurveTimeline wrapper abstract class CurveTimeline extends Timeline { @@ -53,12 +53,25 @@ abstract class CurveTimeline extends Timeline { SpineBindings.bindings.spine_curve_timeline_set_stepped(_ptr, value); } - void setBezier(int bezier, int frame, double value, double time1, double value1, double cx1, double cy1, double cx2, double cy2, double time2, double value2) { - SpineBindings.bindings.spine_curve_timeline_set_bezier(_ptr, bezier, frame, value, time1, value1, cx1, cy1, cx2, cy2, time2, value2); + void setBezier( + int bezier, + int frame, + double value, + double time1, + double value1, + double cx1, + double cy1, + double cx2, + double cy2, + double time2, + double value2) { + SpineBindings.bindings.spine_curve_timeline_set_bezier(_ptr, bezier, frame, + value, time1, value1, cx1, cy1, cx2, cy2, time2, value2); } double getBezierValue(double time, int frame, int valueOffset, int i) { - final result = SpineBindings.bindings.spine_curve_timeline_get_bezier_value(_ptr, time, frame, valueOffset, i); + final result = SpineBindings.bindings.spine_curve_timeline_get_bezier_value( + _ptr, time, frame, valueOffset, i); return result; } @@ -66,9 +79,4 @@ abstract class CurveTimeline extends Timeline { final result = SpineBindings.bindings.spine_curve_timeline_get_curves(_ptr); return ArrayFloat.fromPointer(result); } - - @override - void dispose() { - SpineBindings.bindings.spine_curve_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/curve_timeline1.dart b/spine-flutter/lib/generated/curve_timeline1.dart index 229f800f8..c1e90c8e8 100644 --- a/spine-flutter/lib/generated/curve_timeline1.dart +++ b/spine-flutter/lib/generated/curve_timeline1.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'curve_timeline.dart'; import 'mix_blend.dart'; @@ -47,36 +47,44 @@ abstract class CurveTimeline1 extends CurveTimeline { Pointer get nativePtr => _ptr; void setFrame(int frame, double time, double value) { - SpineBindings.bindings.spine_curve_timeline1_set_frame(_ptr, frame, time, value); + SpineBindings.bindings + .spine_curve_timeline1_set_frame(_ptr, frame, time, value); } double getCurveValue(double time) { - final result = SpineBindings.bindings.spine_curve_timeline1_get_curve_value(_ptr, time); + final result = SpineBindings.bindings + .spine_curve_timeline1_get_curve_value(_ptr, time); return result; } - double getRelativeValue(double time, double alpha, MixBlend blend, double current, double setup) { - final result = SpineBindings.bindings.spine_curve_timeline1_get_relative_value(_ptr, time, alpha, blend.value, current, setup); + double getRelativeValue( + double time, double alpha, MixBlend blend, double current, double setup) { + final result = SpineBindings.bindings + .spine_curve_timeline1_get_relative_value( + _ptr, time, alpha, blend.value, current, setup); return result; } - double getScaleValue(double time, double alpha, MixBlend blend, MixDirection direction, double current, double setup) { - final result = SpineBindings.bindings.spine_curve_timeline1_get_scale_value(_ptr, time, alpha, blend.value, direction.value, current, setup); + double getScaleValue(double time, double alpha, MixBlend blend, + MixDirection direction, double current, double setup) { + final result = SpineBindings.bindings.spine_curve_timeline1_get_scale_value( + _ptr, time, alpha, blend.value, direction.value, current, setup); return result; } - double getAbsoluteValue1(double time, double alpha, MixBlend blend, double current, double setup) { - final result = SpineBindings.bindings.spine_curve_timeline1_get_absolute_value_1(_ptr, time, alpha, blend.value, current, setup); + double getAbsoluteValue( + double time, double alpha, MixBlend blend, double current, double setup) { + final result = SpineBindings.bindings + .spine_curve_timeline1_get_absolute_value_1( + _ptr, time, alpha, blend.value, current, setup); return result; } - double getAbsoluteValue2(double time, double alpha, MixBlend blend, double current, double setup, double value) { - final result = SpineBindings.bindings.spine_curve_timeline1_get_absolute_value_2(_ptr, time, alpha, blend.value, current, setup, value); + double getAbsoluteValue2(double time, double alpha, MixBlend blend, + double current, double setup, double value) { + final result = SpineBindings.bindings + .spine_curve_timeline1_get_absolute_value_2( + _ptr, time, alpha, blend.value, current, setup, value); return result; } - - @override - void dispose() { - SpineBindings.bindings.spine_curve_timeline1_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/curve_timeline2.dart b/spine-flutter/lib/generated/curve_timeline2.dart deleted file mode 100644 index 53966e068..000000000 --- a/spine-flutter/lib/generated/curve_timeline2.dart +++ /dev/null @@ -1,60 +0,0 @@ -// -// 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 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; -import '../spine_bindings.dart'; -import 'curve_timeline.dart'; - -/// CurveTimeline2 wrapper -abstract class CurveTimeline2 extends CurveTimeline { - final Pointer _ptr; - - CurveTimeline2.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); - - /// Get the native pointer for FFI calls - @override - Pointer get nativePtr => _ptr; - - void setFrame(int frame, double time, double value1, double value2) { - SpineBindings.bindings.spine_curve_timeline2_set_frame(_ptr, frame, time, value1, value2); - } - - double getCurveValue(double time) { - final result = SpineBindings.bindings.spine_curve_timeline2_get_curve_value(_ptr, time); - return result; - } - - @override - void dispose() { - SpineBindings.bindings.spine_curve_timeline2_dispose(_ptr); - } -} \ No newline at end of file diff --git a/spine-flutter/lib/generated/deform_timeline.dart b/spine-flutter/lib/generated/deform_timeline.dart index 2f0a7138b..63b6c8583 100644 --- a/spine-flutter/lib/generated/deform_timeline.dart +++ b/spine-flutter/lib/generated/deform_timeline.dart @@ -31,15 +31,15 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'slot_curve_timeline.dart'; -import 'vertex_attachment.dart'; +import 'arrays.dart'; import 'bounding_box_attachment.dart'; import 'clipping_attachment.dart'; import 'mesh_attachment.dart'; import 'path_attachment.dart'; -import 'arrays.dart'; +import 'slot_curve_timeline.dart'; +import 'vertex_attachment.dart'; /// DeformTimeline wrapper class DeformTimeline extends SlotCurveTimeline { @@ -51,19 +51,27 @@ class DeformTimeline extends SlotCurveTimeline { @override Pointer get nativePtr => _ptr; - factory DeformTimeline(int frameCount, int bezierCount, int slotIndex, VertexAttachment attachment) { - final ptr = SpineBindings.bindings.spine_deform_timeline_create(frameCount, bezierCount, slotIndex, attachment.nativePtr.cast()); + factory DeformTimeline(int frameCount, int bezierCount, int slotIndex, + VertexAttachment attachment) { + final ptr = SpineBindings.bindings.spine_deform_timeline_create( + frameCount, bezierCount, slotIndex, attachment.nativePtr.cast()); return DeformTimeline.fromPointer(ptr); } void setFrame(int frameIndex, double time, ArrayFloat vertices) { - SpineBindings.bindings.spine_deform_timeline_set_frame(_ptr, frameIndex, time, vertices.nativePtr.cast()); + SpineBindings.bindings.spine_deform_timeline_set_frame( + _ptr, frameIndex, time, vertices.nativePtr.cast()); } VertexAttachment get attachment { - final result = SpineBindings.bindings.spine_deform_timeline_get_attachment(_ptr); - final rtti = SpineBindings.bindings.spine_vertex_attachment_get_rtti(result); - final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString(); + final result = + SpineBindings.bindings.spine_deform_timeline_get_attachment(_ptr); + final rtti = + SpineBindings.bindings.spine_vertex_attachment_get_rtti(result); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); switch (className) { case 'spine_bounding_box_attachment': return BoundingBoxAttachment.fromPointer(result.cast()); @@ -74,21 +82,19 @@ class DeformTimeline extends SlotCurveTimeline { case 'spine_path_attachment': return PathAttachment.fromPointer(result.cast()); default: - throw UnsupportedError('Unknown concrete type: $className for abstract class VertexAttachment'); + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class VertexAttachment'); } } set attachment(VertexAttachment value) { - SpineBindings.bindings.spine_deform_timeline_set_attachment(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_deform_timeline_set_attachment(_ptr, value.nativePtr.cast()); } double getCurvePercent(double time, int frame) { - final result = SpineBindings.bindings.spine_deform_timeline_get_curve_percent(_ptr, time, frame); + final result = SpineBindings.bindings + .spine_deform_timeline_get_curve_percent(_ptr, time, frame); return result; } - - @override - void dispose() { - SpineBindings.bindings.spine_deform_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/draw_order_timeline.dart b/spine-flutter/lib/generated/draw_order_timeline.dart index 80c959367..cff025a2b 100644 --- a/spine-flutter/lib/generated/draw_order_timeline.dart +++ b/spine-flutter/lib/generated/draw_order_timeline.dart @@ -30,10 +30,10 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'timeline.dart'; import 'arrays.dart'; +import 'timeline.dart'; /// DrawOrderTimeline wrapper class DrawOrderTimeline extends Timeline { @@ -46,16 +46,13 @@ class DrawOrderTimeline extends Timeline { Pointer get nativePtr => _ptr; factory DrawOrderTimeline(int frameCount) { - final ptr = SpineBindings.bindings.spine_draw_order_timeline_create(frameCount); + final ptr = + SpineBindings.bindings.spine_draw_order_timeline_create(frameCount); return DrawOrderTimeline.fromPointer(ptr); } void setFrame(int frame, double time, ArrayInt drawOrder) { - SpineBindings.bindings.spine_draw_order_timeline_set_frame(_ptr, frame, time, drawOrder.nativePtr.cast()); + SpineBindings.bindings.spine_draw_order_timeline_set_frame( + _ptr, frame, time, drawOrder.nativePtr.cast()); } - - @override - void dispose() { - SpineBindings.bindings.spine_draw_order_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/event.dart b/spine-flutter/lib/generated/event.dart index 46a0feac7..b5ab9bbe0 100644 --- a/spine-flutter/lib/generated/event.dart +++ b/spine-flutter/lib/generated/event.dart @@ -31,7 +31,7 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'event_data.dart'; @@ -45,7 +45,8 @@ class Event implements Finalizable { Pointer get nativePtr => _ptr; factory Event(double time, EventData data) { - final ptr = SpineBindings.bindings.spine_event_create(time, data.nativePtr.cast()); + final ptr = + SpineBindings.bindings.spine_event_create(time, data.nativePtr.cast()); return Event.fromPointer(ptr); } @@ -83,7 +84,8 @@ class Event implements Finalizable { } set stringValue(String value) { - SpineBindings.bindings.spine_event_set_string(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings + .spine_event_set_string(_ptr, value.toNativeUtf8().cast()); } double get volume { @@ -103,8 +105,4 @@ class Event implements Finalizable { set balance(double value) { SpineBindings.bindings.spine_event_set_balance(_ptr, value); } - - void dispose() { - SpineBindings.bindings.spine_event_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/event_data.dart b/spine-flutter/lib/generated/event_data.dart index 52e1c492b..dac8cd99f 100644 --- a/spine-flutter/lib/generated/event_data.dart +++ b/spine-flutter/lib/generated/event_data.dart @@ -31,7 +31,7 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// EventData wrapper @@ -44,7 +44,8 @@ class EventData implements Finalizable { Pointer get nativePtr => _ptr; factory EventData(String name) { - final ptr = SpineBindings.bindings.spine_event_data_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_event_data_create(name.toNativeUtf8().cast()); return EventData.fromPointer(ptr); } @@ -77,7 +78,8 @@ class EventData implements Finalizable { } set stringValue(String value) { - SpineBindings.bindings.spine_event_data_set_string(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings + .spine_event_data_set_string(_ptr, value.toNativeUtf8().cast()); } String get audioPath { @@ -86,7 +88,8 @@ class EventData implements Finalizable { } set audioPath(String value) { - SpineBindings.bindings.spine_event_data_set_audio_path(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings.spine_event_data_set_audio_path( + _ptr, value.toNativeUtf8().cast()); } double get volume { @@ -106,8 +109,4 @@ class EventData implements Finalizable { set balance(double value) { SpineBindings.bindings.spine_event_data_set_balance(_ptr, value); } - - void dispose() { - SpineBindings.bindings.spine_event_data_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/event_queue_entry.dart b/spine-flutter/lib/generated/event_queue_entry.dart index 4fd77ef8f..dd99b3497 100644 --- a/spine-flutter/lib/generated/event_queue_entry.dart +++ b/spine-flutter/lib/generated/event_queue_entry.dart @@ -30,11 +30,11 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; +import 'event.dart'; import 'event_type.dart'; import 'track_entry.dart'; -import 'event.dart'; /// EventQueueEntry wrapper class EventQueueEntry implements Finalizable { @@ -45,13 +45,16 @@ class EventQueueEntry implements Finalizable { /// Get the native pointer for FFI calls Pointer get nativePtr => _ptr; - factory EventQueueEntry(EventType eventType, TrackEntry trackEntry, Event event) { - final ptr = SpineBindings.bindings.spine_event_queue_entry_create(eventType.value, trackEntry.nativePtr.cast(), event.nativePtr.cast()); + factory EventQueueEntry( + EventType eventType, TrackEntry trackEntry, Event event) { + final ptr = SpineBindings.bindings.spine_event_queue_entry_create( + eventType.value, trackEntry.nativePtr.cast(), event.nativePtr.cast()); return EventQueueEntry.fromPointer(ptr); } EventType get type { - final result = SpineBindings.bindings.spine_event_queue_entry_get__type(_ptr); + final result = + SpineBindings.bindings.spine_event_queue_entry_get__type(_ptr); return EventType.fromValue(result); } @@ -60,24 +63,24 @@ class EventQueueEntry implements Finalizable { } TrackEntry get entry { - final result = SpineBindings.bindings.spine_event_queue_entry_get__entry(_ptr); + final result = + SpineBindings.bindings.spine_event_queue_entry_get__entry(_ptr); return TrackEntry.fromPointer(result); } set entry(TrackEntry value) { - SpineBindings.bindings.spine_event_queue_entry_set__entry(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_event_queue_entry_set__entry(_ptr, value.nativePtr.cast()); } Event get event { - final result = SpineBindings.bindings.spine_event_queue_entry_get__event(_ptr); + final result = + SpineBindings.bindings.spine_event_queue_entry_get__event(_ptr); return Event.fromPointer(result); } set event(Event value) { - SpineBindings.bindings.spine_event_queue_entry_set__event(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_event_queue_entry_set__event(_ptr, value.nativePtr.cast()); } - - void dispose() { - SpineBindings.bindings.spine_event_queue_entry_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/event_timeline.dart b/spine-flutter/lib/generated/event_timeline.dart index b6d3fb69f..ab5a2e34e 100644 --- a/spine-flutter/lib/generated/event_timeline.dart +++ b/spine-flutter/lib/generated/event_timeline.dart @@ -30,11 +30,11 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'timeline.dart'; -import 'event.dart'; import 'arrays.dart'; +import 'event.dart'; +import 'timeline.dart'; /// EventTimeline wrapper class EventTimeline extends Timeline { @@ -57,11 +57,7 @@ class EventTimeline extends Timeline { } void setFrame(int frame, Event event) { - SpineBindings.bindings.spine_event_timeline_set_frame(_ptr, frame, event.nativePtr.cast()); + SpineBindings.bindings + .spine_event_timeline_set_frame(_ptr, frame, event.nativePtr.cast()); } - - @override - void dispose() { - SpineBindings.bindings.spine_event_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/event_type.dart b/spine-flutter/lib/generated/event_type.dart index fd5d4ea56..f8cb465f0 100644 --- a/spine-flutter/lib/generated/event_type.dart +++ b/spine-flutter/lib/generated/event_type.dart @@ -32,11 +32,11 @@ /// EventType enum enum EventType { start(0), - interrupt(1), - end(2), - dispose(3), - complete(4), - event(5); + interrupt(0), + end(0), + dispose(0), + complete(0), + event(0); const EventType(this.value); final int value; @@ -47,4 +47,4 @@ enum EventType { orElse: () => throw ArgumentError('Invalid EventType value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/format.dart b/spine-flutter/lib/generated/format.dart index 885057bf9..948c2420e 100644 --- a/spine-flutter/lib/generated/format.dart +++ b/spine-flutter/lib/generated/format.dart @@ -32,12 +32,12 @@ /// Format enum enum Format { alpha(0), - intensity(1), - luminanceAlpha(2), - rgb565(3), - rgba4444(4), - rgb888(5), - rgba8888(6); + intensity(0), + luminanceAlpha(0), + rgb565(0), + rgba4444(0), + rgb888(0), + rgba8888(0); const Format(this.value); final int value; @@ -48,4 +48,4 @@ enum Format { orElse: () => throw ArgumentError('Invalid Format value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/from_property.dart b/spine-flutter/lib/generated/from_property.dart index 3a1dc0558..284dd8d42 100644 --- a/spine-flutter/lib/generated/from_property.dart +++ b/spine-flutter/lib/generated/from_property.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; import 'arrays.dart'; @@ -69,10 +69,7 @@ abstract class FromProperty implements Finalizable { } set to(ArrayToProperty value) { - SpineBindings.bindings.spine_from_property_set__to(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_from_property_set__to(_ptr, value.nativePtr.cast()); } - - void dispose() { - SpineBindings.bindings.spine_from_property_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/from_rotate.dart b/spine-flutter/lib/generated/from_rotate.dart index 2c482bf71..4626c2644 100644 --- a/spine-flutter/lib/generated/from_rotate.dart +++ b/spine-flutter/lib/generated/from_rotate.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'from_property.dart'; @@ -48,9 +48,4 @@ class FromRotate extends FromProperty { final ptr = SpineBindings.bindings.spine_from_rotate_create(); return FromRotate.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_from_rotate_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/from_scale_x.dart b/spine-flutter/lib/generated/from_scale_x.dart index 3f17abed7..08c3e5c7e 100644 --- a/spine-flutter/lib/generated/from_scale_x.dart +++ b/spine-flutter/lib/generated/from_scale_x.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'from_property.dart'; @@ -48,9 +48,4 @@ class FromScaleX extends FromProperty { final ptr = SpineBindings.bindings.spine_from_scale_x_create(); return FromScaleX.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_from_scale_x_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/from_scale_y.dart b/spine-flutter/lib/generated/from_scale_y.dart index 6816450fa..3580048ce 100644 --- a/spine-flutter/lib/generated/from_scale_y.dart +++ b/spine-flutter/lib/generated/from_scale_y.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'from_property.dart'; @@ -48,9 +48,4 @@ class FromScaleY extends FromProperty { final ptr = SpineBindings.bindings.spine_from_scale_y_create(); return FromScaleY.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_from_scale_y_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/from_shear_y.dart b/spine-flutter/lib/generated/from_shear_y.dart index cdd3eb51c..b403b85ce 100644 --- a/spine-flutter/lib/generated/from_shear_y.dart +++ b/spine-flutter/lib/generated/from_shear_y.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'from_property.dart'; @@ -48,9 +48,4 @@ class FromShearY extends FromProperty { final ptr = SpineBindings.bindings.spine_from_shear_y_create(); return FromShearY.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_from_shear_y_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/from_x.dart b/spine-flutter/lib/generated/from_x.dart index 4d1f3c70a..a346ec66e 100644 --- a/spine-flutter/lib/generated/from_x.dart +++ b/spine-flutter/lib/generated/from_x.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'from_property.dart'; @@ -48,9 +48,4 @@ class FromX extends FromProperty { final ptr = SpineBindings.bindings.spine_from_x_create(); return FromX.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_from_x_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/from_y.dart b/spine-flutter/lib/generated/from_y.dart index cd6552284..1d44c3f3d 100644 --- a/spine-flutter/lib/generated/from_y.dart +++ b/spine-flutter/lib/generated/from_y.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'from_property.dart'; @@ -48,9 +48,4 @@ class FromY extends FromProperty { final ptr = SpineBindings.bindings.spine_from_y_create(); return FromY.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_from_y_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/ik_constraint.dart b/spine-flutter/lib/generated/ik_constraint.dart index 7d298a01e..9f9c5452e 100644 --- a/spine-flutter/lib/generated/ik_constraint.dart +++ b/spine-flutter/lib/generated/ik_constraint.dart @@ -30,54 +30,68 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'skeleton.dart'; -import 'physics.dart'; -import 'ik_constraint_data.dart'; +import 'arrays.dart'; import 'bone.dart'; import 'bone_pose.dart'; +import 'constraint.dart'; +import 'ik_constraint_data.dart'; import 'ik_constraint_pose.dart'; -import 'arrays.dart'; +import 'physics.dart'; +import 'posed.dart'; +import 'posed_active.dart'; +import 'skeleton.dart'; /// IkConstraint wrapper -class IkConstraint implements Finalizable { +class IkConstraint extends PosedActive implements Posed, Constraint { final Pointer _ptr; - IkConstraint.fromPointer(this._ptr); + IkConstraint.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls + @override Pointer get nativePtr => _ptr; factory IkConstraint(IkConstraintData data, Skeleton skeleton) { - final ptr = SpineBindings.bindings.spine_ik_constraint_create(data.nativePtr.cast(), skeleton.nativePtr.cast()); + final ptr = SpineBindings.bindings.spine_ik_constraint_create( + data.nativePtr.cast(), skeleton.nativePtr.cast()); return IkConstraint.fromPointer(ptr); } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_ik_constraint_get_rtti(_ptr); return Rtti.fromPointer(result); } 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); } + @override void update(Skeleton skeleton, Physics physics) { - SpineBindings.bindings.spine_ik_constraint_update(_ptr, skeleton.nativePtr.cast(), physics.value); + 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()); + 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); + 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); @@ -94,7 +108,8 @@ class IkConstraint implements Finalizable { } set target(Bone value) { - 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 { @@ -103,46 +118,67 @@ class IkConstraint implements Finalizable { } IkConstraintPose get appliedPose { - final result = SpineBindings.bindings.spine_ik_constraint_get_applied_pose(_ptr); + 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); + final result = SpineBindings.bindings + .spine_ik_constraint_is_pose_equal_to_applied(_ptr); return result; } - bool get isActive { - final result = SpineBindings.bindings.spine_ik_constraint_is_active(_ptr); - return result; - } - - set active(bool value) { - SpineBindings.bindings.spine_ik_constraint_set_active(_ptr, value); - } - static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_ik_constraint_rtti(); return Rtti.fromPointer(result); } - static void apply1(Skeleton skeleton, BonePose bone, double targetX, double targetY, bool compress, bool stretch, bool uniform, double mix) { - SpineBindings.bindings.spine_ik_constraint_apply_1(skeleton.nativePtr.cast(), bone.nativePtr.cast(), targetX, targetY, compress, stretch, uniform, mix); + static void apply(Skeleton skeleton, BonePose bone, double targetX, + double targetY, bool compress, bool stretch, bool uniform, double mix) { + SpineBindings.bindings.spine_ik_constraint_apply_1( + skeleton.nativePtr.cast(), + bone.nativePtr.cast(), + targetX, + targetY, + compress, + stretch, + uniform, + mix); } - static void apply2(Skeleton skeleton, BonePose parent, BonePose child, double targetX, double targetY, int bendDirection, bool stretch, bool uniform, double softness, double mix) { - SpineBindings.bindings.spine_ik_constraint_apply_2(skeleton.nativePtr.cast(), parent.nativePtr.cast(), child.nativePtr.cast(), targetX, targetY, bendDirection, stretch, uniform, softness, mix); + static void apply2( + Skeleton skeleton, + BonePose parent, + BonePose child, + double targetX, + double targetY, + int bendDirection, + bool stretch, + bool uniform, + double softness, + double mix) { + SpineBindings.bindings.spine_ik_constraint_apply_2( + skeleton.nativePtr.cast(), + parent.nativePtr.cast(), + child.nativePtr.cast(), + targetX, + targetY, + bendDirection, + stretch, + uniform, + softness, + mix); } - - void dispose() { - SpineBindings.bindings.spine_ik_constraint_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/ik_constraint_data.dart b/spine-flutter/lib/generated/ik_constraint_data.dart index 2ab94670f..b49752ba0 100644 --- a/spine-flutter/lib/generated/ik_constraint_data.dart +++ b/spine-flutter/lib/generated/ik_constraint_data.dart @@ -31,55 +31,92 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'constraint.dart'; -import 'skeleton.dart'; -import 'bone_data.dart'; -import 'ik_constraint_pose.dart'; import 'arrays.dart'; +import 'bone_data.dart'; +import 'constraint.dart'; +import 'constraint_data.dart'; +import 'ik_constraint.dart'; +import 'ik_constraint_pose.dart'; +import 'path_constraint.dart'; +import 'physics_constraint.dart'; +import 'posed_data.dart'; +import 'skeleton.dart'; +import 'slider.dart'; +import 'transform_constraint.dart'; /// IkConstraintData wrapper -class IkConstraintData implements Finalizable { +class IkConstraintData extends PosedData implements ConstraintData { final Pointer _ptr; - IkConstraintData.fromPointer(this._ptr); + IkConstraintData.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls + @override Pointer get nativePtr => _ptr; factory IkConstraintData(String name) { - final ptr = SpineBindings.bindings.spine_ik_constraint_data_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_ik_constraint_data_create(name.toNativeUtf8().cast()); return IkConstraintData.fromPointer(ptr); } + @override Rtti get rtti { - final result = SpineBindings.bindings.spine_ik_constraint_data_get_rtti(_ptr); + final result = + SpineBindings.bindings.spine_ik_constraint_data_get_rtti(_ptr); return Rtti.fromPointer(result); } + @override Constraint createMethod(Skeleton skeleton) { - final result = SpineBindings.bindings.spine_ik_constraint_data_create_method(_ptr, skeleton.nativePtr.cast()); - throw UnsupportedError('Cannot instantiate abstract class Constraint from pointer - no concrete subclasses found'); + final result = SpineBindings.bindings + .spine_ik_constraint_data_create_method( + _ptr, skeleton.nativePtr.cast()); + final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); + switch (className) { + case 'spine_ik_constraint': + return IkConstraint.fromPointer(result.cast()); + case 'spine_path_constraint': + return PathConstraint.fromPointer(result.cast()); + case 'spine_physics_constraint': + return PhysicsConstraint.fromPointer(result.cast()); + case 'spine_slider': + return Slider.fromPointer(result.cast()); + case 'spine_transform_constraint': + return TransformConstraint.fromPointer(result.cast()); + default: + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Constraint'); + } } ArrayBoneData get bones { - final result = SpineBindings.bindings.spine_ik_constraint_data_get_bones(_ptr); + final result = + SpineBindings.bindings.spine_ik_constraint_data_get_bones(_ptr); return ArrayBoneData.fromPointer(result); } BoneData get target { - final result = SpineBindings.bindings.spine_ik_constraint_data_get_target(_ptr); + final result = + SpineBindings.bindings.spine_ik_constraint_data_get_target(_ptr); return BoneData.fromPointer(result); } set target(BoneData value) { - SpineBindings.bindings.spine_ik_constraint_data_set_target(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_ik_constraint_data_set_target(_ptr, value.nativePtr.cast()); } bool get uniform { - final result = SpineBindings.bindings.spine_ik_constraint_data_get_uniform(_ptr); + final result = + SpineBindings.bindings.spine_ik_constraint_data_get_uniform(_ptr); return result; } @@ -87,31 +124,14 @@ class IkConstraintData implements Finalizable { SpineBindings.bindings.spine_ik_constraint_data_set_uniform(_ptr, value); } - String get name { - final result = SpineBindings.bindings.spine_ik_constraint_data_get_name(_ptr); - return result.cast().toDartString(); - } - - bool get skinRequired { - final result = SpineBindings.bindings.spine_ik_constraint_data_get_skin_required(_ptr); - return result; - } - IkConstraintPose get setupPose { - final result = SpineBindings.bindings.spine_ik_constraint_data_get_setup_pose(_ptr); + final result = + SpineBindings.bindings.spine_ik_constraint_data_get_setup_pose(_ptr); return IkConstraintPose.fromPointer(result); } - set skinRequired(bool value) { - SpineBindings.bindings.spine_ik_constraint_data_set_skin_required(_ptr, value); - } - static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_ik_constraint_data_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_ik_constraint_data_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/ik_constraint_pose.dart b/spine-flutter/lib/generated/ik_constraint_pose.dart index c81f62dea..336df5195 100644 --- a/spine-flutter/lib/generated/ik_constraint_pose.dart +++ b/spine-flutter/lib/generated/ik_constraint_pose.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// IkConstraintPose wrapper @@ -48,11 +48,13 @@ class IkConstraintPose implements Finalizable { } void set(IkConstraintPose pose) { - SpineBindings.bindings.spine_ik_constraint_pose_set(_ptr, pose.nativePtr.cast()); + SpineBindings.bindings + .spine_ik_constraint_pose_set(_ptr, pose.nativePtr.cast()); } double get mix { - final result = SpineBindings.bindings.spine_ik_constraint_pose_get_mix(_ptr); + final result = + SpineBindings.bindings.spine_ik_constraint_pose_get_mix(_ptr); return result; } @@ -61,7 +63,8 @@ class IkConstraintPose implements Finalizable { } double get softness { - final result = SpineBindings.bindings.spine_ik_constraint_pose_get_softness(_ptr); + final result = + SpineBindings.bindings.spine_ik_constraint_pose_get_softness(_ptr); return result; } @@ -70,16 +73,19 @@ class IkConstraintPose implements Finalizable { } int get bendDirection { - final result = SpineBindings.bindings.spine_ik_constraint_pose_get_bend_direction(_ptr); + final result = SpineBindings.bindings + .spine_ik_constraint_pose_get_bend_direction(_ptr); return result; } set bendDirection(int value) { - SpineBindings.bindings.spine_ik_constraint_pose_set_bend_direction(_ptr, value); + SpineBindings.bindings + .spine_ik_constraint_pose_set_bend_direction(_ptr, value); } bool get compress { - final result = SpineBindings.bindings.spine_ik_constraint_pose_get_compress(_ptr); + final result = + SpineBindings.bindings.spine_ik_constraint_pose_get_compress(_ptr); return result; } @@ -88,15 +94,12 @@ class IkConstraintPose implements Finalizable { } bool get stretch { - final result = SpineBindings.bindings.spine_ik_constraint_pose_get_stretch(_ptr); + final result = + SpineBindings.bindings.spine_ik_constraint_pose_get_stretch(_ptr); return result; } set stretch(bool value) { SpineBindings.bindings.spine_ik_constraint_pose_set_stretch(_ptr, value); } - - void dispose() { - SpineBindings.bindings.spine_ik_constraint_pose_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/ik_constraint_timeline.dart b/spine-flutter/lib/generated/ik_constraint_timeline.dart index 38a80bd0d..c1b10ccff 100644 --- a/spine-flutter/lib/generated/ik_constraint_timeline.dart +++ b/spine-flutter/lib/generated/ik_constraint_timeline.dart @@ -30,12 +30,13 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; +import 'constraint_timeline.dart'; import 'curve_timeline.dart'; /// IkConstraintTimeline wrapper -class IkConstraintTimeline extends CurveTimeline { +class IkConstraintTimeline extends CurveTimeline implements ConstraintTimeline { final Pointer _ptr; IkConstraintTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); @@ -44,26 +45,29 @@ class IkConstraintTimeline extends CurveTimeline { @override Pointer get nativePtr => _ptr; - factory IkConstraintTimeline(int frameCount, int bezierCount, int constraintIndex) { - final ptr = SpineBindings.bindings.spine_ik_constraint_timeline_create(frameCount, bezierCount, constraintIndex); + factory IkConstraintTimeline( + int frameCount, int bezierCount, int constraintIndex) { + final ptr = SpineBindings.bindings.spine_ik_constraint_timeline_create( + frameCount, bezierCount, constraintIndex); return IkConstraintTimeline.fromPointer(ptr); } - void setFrame(int frame, double time, double mix, double softness, int bendDirection, bool compress, bool stretch) { - SpineBindings.bindings.spine_ik_constraint_timeline_set_frame(_ptr, frame, time, mix, softness, bendDirection, compress, stretch); - } - - int get constraintIndex { - final result = SpineBindings.bindings.spine_ik_constraint_timeline_get_constraint_index(_ptr); - return result; - } - - set constraintIndex(int value) { - SpineBindings.bindings.spine_ik_constraint_timeline_set_constraint_index(_ptr, value); + void setFrame(int frame, double time, double mix, double softness, + int bendDirection, bool compress, bool stretch) { + SpineBindings.bindings.spine_ik_constraint_timeline_set_frame( + _ptr, frame, time, mix, softness, bendDirection, compress, stretch); } @override - void dispose() { - SpineBindings.bindings.spine_ik_constraint_timeline_dispose(_ptr); + int get constraintIndex { + final result = SpineBindings.bindings + .spine_ik_constraint_timeline_get_constraint_index(_ptr); + return result; } -} \ No newline at end of file + + @override + set constraintIndex(int value) { + SpineBindings.bindings + .spine_ik_constraint_timeline_set_constraint_index(_ptr, value); + } +} diff --git a/spine-flutter/lib/generated/inherit.dart b/spine-flutter/lib/generated/inherit.dart index 6581235fe..c85483014 100644 --- a/spine-flutter/lib/generated/inherit.dart +++ b/spine-flutter/lib/generated/inherit.dart @@ -32,10 +32,10 @@ /// Inherit enum enum Inherit { normal(0), - onlyTranslation(1), - noRotationOrReflection(2), - noScale(3), - noScaleOrReflection(4); + onlyTranslation(0), + noRotationOrReflection(0), + noScale(0), + noScaleOrReflection(0); const Inherit(this.value); final int value; @@ -46,4 +46,4 @@ enum Inherit { orElse: () => throw ArgumentError('Invalid Inherit value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/inherit_timeline.dart b/spine-flutter/lib/generated/inherit_timeline.dart index c08d6474d..00fd1eb0c 100644 --- a/spine-flutter/lib/generated/inherit_timeline.dart +++ b/spine-flutter/lib/generated/inherit_timeline.dart @@ -30,13 +30,14 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'timeline.dart'; +import 'bone_timeline.dart'; import 'inherit.dart'; +import 'timeline.dart'; /// InheritTimeline wrapper -class InheritTimeline extends Timeline { +class InheritTimeline extends Timeline implements BoneTimeline { final Pointer _ptr; InheritTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); @@ -46,25 +47,25 @@ class InheritTimeline extends Timeline { Pointer get nativePtr => _ptr; factory InheritTimeline(int frameCount, int boneIndex) { - final ptr = SpineBindings.bindings.spine_inherit_timeline_create(frameCount, boneIndex); + final ptr = SpineBindings.bindings + .spine_inherit_timeline_create(frameCount, boneIndex); return InheritTimeline.fromPointer(ptr); } void setFrame(int frame, double time, Inherit inherit) { - SpineBindings.bindings.spine_inherit_timeline_set_frame(_ptr, frame, time, inherit.value); - } - - int get boneIndex { - final result = SpineBindings.bindings.spine_inherit_timeline_get_bone_index(_ptr); - return result; - } - - set boneIndex(int value) { - SpineBindings.bindings.spine_inherit_timeline_set_bone_index(_ptr, value); + SpineBindings.bindings + .spine_inherit_timeline_set_frame(_ptr, frame, time, inherit.value); } @override - void dispose() { - SpineBindings.bindings.spine_inherit_timeline_dispose(_ptr); + int get boneIndex { + final result = + SpineBindings.bindings.spine_inherit_timeline_get_bone_index(_ptr); + return result; } -} \ No newline at end of file + + @override + set boneIndex(int value) { + SpineBindings.bindings.spine_inherit_timeline_set_bone_index(_ptr, value); + } +} diff --git a/spine-flutter/lib/generated/linked_mesh.dart b/spine-flutter/lib/generated/linked_mesh.dart index 7a62904db..7d8be896c 100644 --- a/spine-flutter/lib/generated/linked_mesh.dart +++ b/spine-flutter/lib/generated/linked_mesh.dart @@ -30,31 +30,8 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; -import '../spine_bindings.dart'; -import 'mesh_attachment.dart'; /// LinkedMesh wrapper -class LinkedMesh implements Finalizable { - final Pointer _ptr; - - LinkedMesh.fromPointer(this._ptr); - - /// Get the native pointer for FFI calls - Pointer get nativePtr => _ptr; - - factory LinkedMesh(MeshAttachment mesh, dynamic skinIndex, int slotIndex, String parent, bool inheritTimelines) { - final ptr = SpineBindings.bindings.spine_linked_mesh_create(mesh.nativePtr.cast(), skinIndex, slotIndex, parent.toNativeUtf8().cast(), inheritTimelines); - return LinkedMesh.fromPointer(ptr); - } - - factory LinkedMesh.variant2(MeshAttachment mesh, String skin, int slotIndex, String parent, bool inheritTimelines) { - final ptr = SpineBindings.bindings.spine_linked_mesh_create2(mesh.nativePtr.cast(), skin.toNativeUtf8().cast(), slotIndex, parent.toNativeUtf8().cast(), inheritTimelines); - return LinkedMesh.fromPointer(ptr); - } - - void dispose() { - SpineBindings.bindings.spine_linked_mesh_dispose(_ptr); - } -} \ No newline at end of file +abstract class LinkedMesh { + Pointer get nativePtr; +} diff --git a/spine-flutter/lib/generated/mesh_attachment.dart b/spine-flutter/lib/generated/mesh_attachment.dart index a701005cf..84cc292e3 100644 --- a/spine-flutter/lib/generated/mesh_attachment.dart +++ b/spine-flutter/lib/generated/mesh_attachment.dart @@ -31,13 +31,13 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'vertex_attachment.dart'; -import 'color.dart'; -import 'texture_region.dart'; -import 'sequence.dart'; import 'arrays.dart'; +import 'color.dart'; +import 'sequence.dart'; +import 'texture_region.dart'; +import 'vertex_attachment.dart'; /// MeshAttachment wrapper class MeshAttachment extends VertexAttachment { @@ -50,7 +50,8 @@ class MeshAttachment extends VertexAttachment { Pointer get nativePtr => _ptr; factory MeshAttachment(String name) { - final ptr = SpineBindings.bindings.spine_mesh_attachment_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_mesh_attachment_create(name.toNativeUtf8().cast()); return MeshAttachment.fromPointer(ptr); } @@ -59,7 +60,8 @@ class MeshAttachment extends VertexAttachment { } int get hullLength { - final result = SpineBindings.bindings.spine_mesh_attachment_get_hull_length(_ptr); + final result = + SpineBindings.bindings.spine_mesh_attachment_get_hull_length(_ptr); return result; } @@ -68,12 +70,14 @@ class MeshAttachment extends VertexAttachment { } ArrayFloat get regionUVs { - final result = SpineBindings.bindings.spine_mesh_attachment_get_region_u_vs(_ptr); + final result = + SpineBindings.bindings.spine_mesh_attachment_get_region_u_vs(_ptr); return ArrayFloat.fromPointer(result); } set regionUVs(ArrayFloat value) { - SpineBindings.bindings.spine_mesh_attachment_set_region_u_vs(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_mesh_attachment_set_region_u_vs(_ptr, value.nativePtr.cast()); } ArrayFloat get uVs { @@ -82,12 +86,14 @@ class MeshAttachment extends VertexAttachment { } ArrayUnsignedShort get triangles { - final result = SpineBindings.bindings.spine_mesh_attachment_get_triangles(_ptr); + final result = + SpineBindings.bindings.spine_mesh_attachment_get_triangles(_ptr); return ArrayUnsignedShort.fromPointer(result); } set triangles(ArrayUnsignedShort value) { - SpineBindings.bindings.spine_mesh_attachment_set_triangles(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_mesh_attachment_set_triangles(_ptr, value.nativePtr.cast()); } Color get color { @@ -101,34 +107,41 @@ class MeshAttachment extends VertexAttachment { } set path(String value) { - SpineBindings.bindings.spine_mesh_attachment_set_path(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings.spine_mesh_attachment_set_path( + _ptr, value.toNativeUtf8().cast()); } TextureRegion get region { - final result = SpineBindings.bindings.spine_mesh_attachment_get_region(_ptr); + final result = + SpineBindings.bindings.spine_mesh_attachment_get_region(_ptr); return TextureRegion.fromPointer(result); } set region(TextureRegion value) { - SpineBindings.bindings.spine_mesh_attachment_set_region(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_mesh_attachment_set_region(_ptr, value.nativePtr.cast()); } Sequence get sequence { - final result = SpineBindings.bindings.spine_mesh_attachment_get_sequence(_ptr); + final result = + SpineBindings.bindings.spine_mesh_attachment_get_sequence(_ptr); return Sequence.fromPointer(result); } set sequence(Sequence value) { - SpineBindings.bindings.spine_mesh_attachment_set_sequence(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_mesh_attachment_set_sequence(_ptr, value.nativePtr.cast()); } MeshAttachment get parentMesh { - final result = SpineBindings.bindings.spine_mesh_attachment_get_parent_mesh(_ptr); + final result = + SpineBindings.bindings.spine_mesh_attachment_get_parent_mesh(_ptr); return MeshAttachment.fromPointer(result); } set parentMesh(MeshAttachment value) { - SpineBindings.bindings.spine_mesh_attachment_set_parent_mesh(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_mesh_attachment_set_parent_mesh(_ptr, value.nativePtr.cast()); } ArrayUnsignedShort get edges { @@ -137,7 +150,8 @@ class MeshAttachment extends VertexAttachment { } set edges(ArrayUnsignedShort value) { - SpineBindings.bindings.spine_mesh_attachment_set_edges(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_mesh_attachment_set_edges(_ptr, value.nativePtr.cast()); } double get width { @@ -150,7 +164,8 @@ class MeshAttachment extends VertexAttachment { } double get height { - final result = SpineBindings.bindings.spine_mesh_attachment_get_height(_ptr); + final result = + SpineBindings.bindings.spine_mesh_attachment_get_height(_ptr); return result; } @@ -159,12 +174,8 @@ class MeshAttachment extends VertexAttachment { } MeshAttachment newLinkedMesh() { - final result = SpineBindings.bindings.spine_mesh_attachment_new_linked_mesh(_ptr); + final result = + SpineBindings.bindings.spine_mesh_attachment_new_linked_mesh(_ptr); return MeshAttachment.fromPointer(result); } - - @override - void dispose() { - SpineBindings.bindings.spine_mesh_attachment_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/mix_blend.dart b/spine-flutter/lib/generated/mix_blend.dart index 6cb06fbc0..63bb15e95 100644 --- a/spine-flutter/lib/generated/mix_blend.dart +++ b/spine-flutter/lib/generated/mix_blend.dart @@ -32,9 +32,9 @@ /// MixBlend enum enum MixBlend { setup(0), - first(1), - replace(2), - add(3); + first(0), + replace(0), + add(0); const MixBlend(this.value); final int value; @@ -45,4 +45,4 @@ enum MixBlend { orElse: () => throw ArgumentError('Invalid MixBlend value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/mix_direction.dart b/spine-flutter/lib/generated/mix_direction.dart index 5ab486b41..72c8c3862 100644 --- a/spine-flutter/lib/generated/mix_direction.dart +++ b/spine-flutter/lib/generated/mix_direction.dart @@ -32,7 +32,7 @@ /// MixDirection enum enum MixDirection { directionIn(0), - directionOut(1); + directionOut(0); const MixDirection(this.value); final int value; @@ -43,4 +43,4 @@ enum MixDirection { orElse: () => throw ArgumentError('Invalid MixDirection value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/path_attachment.dart b/spine-flutter/lib/generated/path_attachment.dart index f9a27c32e..107e7c2ca 100644 --- a/spine-flutter/lib/generated/path_attachment.dart +++ b/spine-flutter/lib/generated/path_attachment.dart @@ -31,11 +31,11 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'vertex_attachment.dart'; -import 'color.dart'; import 'arrays.dart'; +import 'color.dart'; +import 'vertex_attachment.dart'; /// PathAttachment wrapper class PathAttachment extends VertexAttachment { @@ -48,21 +48,25 @@ class PathAttachment extends VertexAttachment { Pointer get nativePtr => _ptr; factory PathAttachment(String name) { - final ptr = SpineBindings.bindings.spine_path_attachment_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_path_attachment_create(name.toNativeUtf8().cast()); return PathAttachment.fromPointer(ptr); } ArrayFloat get lengths { - final result = SpineBindings.bindings.spine_path_attachment_get_lengths(_ptr); + final result = + SpineBindings.bindings.spine_path_attachment_get_lengths(_ptr); return ArrayFloat.fromPointer(result); } set lengths(ArrayFloat value) { - SpineBindings.bindings.spine_path_attachment_set_lengths(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_path_attachment_set_lengths(_ptr, value.nativePtr.cast()); } bool get closed { - final result = SpineBindings.bindings.spine_path_attachment_get_closed(_ptr); + final result = + SpineBindings.bindings.spine_path_attachment_get_closed(_ptr); return result; } @@ -71,21 +75,18 @@ class PathAttachment extends VertexAttachment { } bool get constantSpeed { - final result = SpineBindings.bindings.spine_path_attachment_get_constant_speed(_ptr); + final result = + SpineBindings.bindings.spine_path_attachment_get_constant_speed(_ptr); return result; } set constantSpeed(bool value) { - SpineBindings.bindings.spine_path_attachment_set_constant_speed(_ptr, value); + SpineBindings.bindings + .spine_path_attachment_set_constant_speed(_ptr, value); } Color get color { final result = SpineBindings.bindings.spine_path_attachment_get_color(_ptr); return Color.fromPointer(result); } - - @override - void dispose() { - SpineBindings.bindings.spine_path_attachment_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/path_constraint.dart b/spine-flutter/lib/generated/path_constraint.dart index ff5832908..19cc594ed 100644 --- a/spine-flutter/lib/generated/path_constraint.dart +++ b/spine-flutter/lib/generated/path_constraint.dart @@ -30,50 +30,63 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'skeleton.dart'; -import 'physics.dart'; -import 'slot.dart'; +import 'arrays.dart'; +import 'constraint.dart'; import 'path_constraint_data.dart'; import 'path_constraint_pose.dart'; -import 'arrays.dart'; +import 'physics.dart'; +import 'posed.dart'; +import 'posed_active.dart'; +import 'skeleton.dart'; +import 'slot.dart'; /// PathConstraint wrapper -class PathConstraint implements Finalizable { +class PathConstraint extends PosedActive implements Posed, Constraint { final Pointer _ptr; - PathConstraint.fromPointer(this._ptr); + PathConstraint.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls + @override Pointer get nativePtr => _ptr; factory PathConstraint(PathConstraintData data, Skeleton skeleton) { - final ptr = SpineBindings.bindings.spine_path_constraint_create(data.nativePtr.cast(), skeleton.nativePtr.cast()); + final ptr = SpineBindings.bindings.spine_path_constraint_create( + data.nativePtr.cast(), skeleton.nativePtr.cast()); return PathConstraint.fromPointer(ptr); } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_path_constraint_get_rtti(_ptr); return Rtti.fromPointer(result); } 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); } + @override void update(Skeleton skeleton, Physics physics) { - SpineBindings.bindings.spine_path_constraint_update(_ptr, skeleton.nativePtr.cast(), physics.value); + 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()); + 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); + final result = + SpineBindings.bindings.spine_path_constraint_is_source_active(_ptr); return result; } @@ -88,9 +101,11 @@ class PathConstraint implements Finalizable { } 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); @@ -102,38 +117,30 @@ class PathConstraint implements Finalizable { } PathConstraintPose get appliedPose { - final result = SpineBindings.bindings.spine_path_constraint_get_applied_pose(_ptr); + 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); + final result = SpineBindings.bindings + .spine_path_constraint_is_pose_equal_to_applied(_ptr); return result; } - bool get isActive { - final result = SpineBindings.bindings.spine_path_constraint_is_active(_ptr); - return result; - } - - set active(bool value) { - SpineBindings.bindings.spine_path_constraint_set_active(_ptr, value); - } - static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_path_constraint_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_path_constraint_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/path_constraint_data.dart b/spine-flutter/lib/generated/path_constraint_data.dart index 0e9f2d0f5..d19b729be 100644 --- a/spine-flutter/lib/generated/path_constraint_data.dart +++ b/spine-flutter/lib/generated/path_constraint_data.dart @@ -31,117 +31,144 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'constraint.dart'; -import 'skeleton.dart'; -import 'slot_data.dart'; -import 'position_mode.dart'; -import 'spacing_mode.dart'; -import 'rotate_mode.dart'; -import 'path_constraint_pose.dart'; import 'arrays.dart'; +import 'constraint.dart'; +import 'constraint_data.dart'; +import 'ik_constraint.dart'; +import 'path_constraint.dart'; +import 'path_constraint_pose.dart'; +import 'physics_constraint.dart'; +import 'posed_data.dart'; +import 'position_mode.dart'; +import 'rotate_mode.dart'; +import 'skeleton.dart'; +import 'slider.dart'; +import 'slot_data.dart'; +import 'spacing_mode.dart'; +import 'transform_constraint.dart'; /// PathConstraintData wrapper -class PathConstraintData implements Finalizable { +class PathConstraintData extends PosedData implements ConstraintData { final Pointer _ptr; - PathConstraintData.fromPointer(this._ptr); + PathConstraintData.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls + @override Pointer get nativePtr => _ptr; factory PathConstraintData(String name) { - final ptr = SpineBindings.bindings.spine_path_constraint_data_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_path_constraint_data_create(name.toNativeUtf8().cast()); return PathConstraintData.fromPointer(ptr); } + @override Rtti get rtti { - final result = SpineBindings.bindings.spine_path_constraint_data_get_rtti(_ptr); + final result = + SpineBindings.bindings.spine_path_constraint_data_get_rtti(_ptr); return Rtti.fromPointer(result); } + @override Constraint createMethod(Skeleton skeleton) { - final result = SpineBindings.bindings.spine_path_constraint_data_create_method(_ptr, skeleton.nativePtr.cast()); - throw UnsupportedError('Cannot instantiate abstract class Constraint from pointer - no concrete subclasses found'); + final result = SpineBindings.bindings + .spine_path_constraint_data_create_method( + _ptr, skeleton.nativePtr.cast()); + final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); + switch (className) { + case 'spine_ik_constraint': + return IkConstraint.fromPointer(result.cast()); + case 'spine_path_constraint': + return PathConstraint.fromPointer(result.cast()); + case 'spine_physics_constraint': + return PhysicsConstraint.fromPointer(result.cast()); + case 'spine_slider': + return Slider.fromPointer(result.cast()); + case 'spine_transform_constraint': + return TransformConstraint.fromPointer(result.cast()); + default: + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Constraint'); + } } ArrayBoneData get bones { - final result = SpineBindings.bindings.spine_path_constraint_data_get_bones(_ptr); + final result = + SpineBindings.bindings.spine_path_constraint_data_get_bones(_ptr); return ArrayBoneData.fromPointer(result); } SlotData get slot { - final result = SpineBindings.bindings.spine_path_constraint_data_get_slot(_ptr); + final result = + SpineBindings.bindings.spine_path_constraint_data_get_slot(_ptr); return SlotData.fromPointer(result); } set slot(SlotData value) { - SpineBindings.bindings.spine_path_constraint_data_set_slot(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_path_constraint_data_set_slot(_ptr, value.nativePtr.cast()); } PositionMode get positionMode { - final result = SpineBindings.bindings.spine_path_constraint_data_get_position_mode(_ptr); + final result = SpineBindings.bindings + .spine_path_constraint_data_get_position_mode(_ptr); return PositionMode.fromValue(result); } set positionMode(PositionMode value) { - SpineBindings.bindings.spine_path_constraint_data_set_position_mode(_ptr, value.value); + SpineBindings.bindings + .spine_path_constraint_data_set_position_mode(_ptr, value.value); } SpacingMode get spacingMode { - final result = SpineBindings.bindings.spine_path_constraint_data_get_spacing_mode(_ptr); + final result = SpineBindings.bindings + .spine_path_constraint_data_get_spacing_mode(_ptr); return SpacingMode.fromValue(result); } set spacingMode(SpacingMode value) { - SpineBindings.bindings.spine_path_constraint_data_set_spacing_mode(_ptr, value.value); + SpineBindings.bindings + .spine_path_constraint_data_set_spacing_mode(_ptr, value.value); } RotateMode get rotateMode { - final result = SpineBindings.bindings.spine_path_constraint_data_get_rotate_mode(_ptr); + final result = + SpineBindings.bindings.spine_path_constraint_data_get_rotate_mode(_ptr); return RotateMode.fromValue(result); } set rotateMode(RotateMode value) { - SpineBindings.bindings.spine_path_constraint_data_set_rotate_mode(_ptr, value.value); + SpineBindings.bindings + .spine_path_constraint_data_set_rotate_mode(_ptr, value.value); } double get offsetRotation { - final result = SpineBindings.bindings.spine_path_constraint_data_get_offset_rotation(_ptr); + final result = SpineBindings.bindings + .spine_path_constraint_data_get_offset_rotation(_ptr); return result; } set offsetRotation(double value) { - SpineBindings.bindings.spine_path_constraint_data_set_offset_rotation(_ptr, value); - } - - String get name { - final result = SpineBindings.bindings.spine_path_constraint_data_get_name(_ptr); - return result.cast().toDartString(); - } - - bool get skinRequired { - final result = SpineBindings.bindings.spine_path_constraint_data_get_skin_required(_ptr); - return result; + SpineBindings.bindings + .spine_path_constraint_data_set_offset_rotation(_ptr, value); } PathConstraintPose get setupPose { - final result = SpineBindings.bindings.spine_path_constraint_data_get_setup_pose(_ptr); + final result = + SpineBindings.bindings.spine_path_constraint_data_get_setup_pose(_ptr); return PathConstraintPose.fromPointer(result); } - set skinRequired(bool value) { - SpineBindings.bindings.spine_path_constraint_data_set_skin_required(_ptr, value); - } - static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_path_constraint_data_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_path_constraint_data_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/path_constraint_mix_timeline.dart b/spine-flutter/lib/generated/path_constraint_mix_timeline.dart index 7b0e5c2b0..656948f42 100644 --- a/spine-flutter/lib/generated/path_constraint_mix_timeline.dart +++ b/spine-flutter/lib/generated/path_constraint_mix_timeline.dart @@ -30,40 +30,47 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; +import 'constraint_timeline.dart'; import 'curve_timeline.dart'; /// PathConstraintMixTimeline wrapper -class PathConstraintMixTimeline extends CurveTimeline { +class PathConstraintMixTimeline extends CurveTimeline + implements ConstraintTimeline { final Pointer _ptr; - PathConstraintMixTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + PathConstraintMixTimeline.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; - factory PathConstraintMixTimeline(int frameCount, int bezierCount, int constraintIndex) { - final ptr = SpineBindings.bindings.spine_path_constraint_mix_timeline_create(frameCount, bezierCount, constraintIndex); + factory PathConstraintMixTimeline( + int frameCount, int bezierCount, int constraintIndex) { + final ptr = SpineBindings.bindings + .spine_path_constraint_mix_timeline_create( + frameCount, bezierCount, constraintIndex); return PathConstraintMixTimeline.fromPointer(ptr); } - void setFrame(int frame, double time, double mixRotate, double mixX, double mixY) { - SpineBindings.bindings.spine_path_constraint_mix_timeline_set_frame(_ptr, frame, time, mixRotate, mixX, mixY); - } - - int get constraintIndex { - final result = SpineBindings.bindings.spine_path_constraint_mix_timeline_get_constraint_index(_ptr); - return result; - } - - set constraintIndex(int value) { - SpineBindings.bindings.spine_path_constraint_mix_timeline_set_constraint_index(_ptr, value); + void setFrame( + int frame, double time, double mixRotate, double mixX, double mixY) { + SpineBindings.bindings.spine_path_constraint_mix_timeline_set_frame( + _ptr, frame, time, mixRotate, mixX, mixY); } @override - void dispose() { - SpineBindings.bindings.spine_path_constraint_mix_timeline_dispose(_ptr); + int get constraintIndex { + final result = SpineBindings.bindings + .spine_path_constraint_mix_timeline_get_constraint_index(_ptr); + return result; } -} \ No newline at end of file + + @override + set constraintIndex(int value) { + SpineBindings.bindings + .spine_path_constraint_mix_timeline_set_constraint_index(_ptr, value); + } +} diff --git a/spine-flutter/lib/generated/path_constraint_pose.dart b/spine-flutter/lib/generated/path_constraint_pose.dart index 2167403f8..7dfd7bb79 100644 --- a/spine-flutter/lib/generated/path_constraint_pose.dart +++ b/spine-flutter/lib/generated/path_constraint_pose.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// PathConstraintPose wrapper @@ -48,11 +48,13 @@ class PathConstraintPose implements Finalizable { } void set(PathConstraintPose pose) { - SpineBindings.bindings.spine_path_constraint_pose_set(_ptr, pose.nativePtr.cast()); + SpineBindings.bindings + .spine_path_constraint_pose_set(_ptr, pose.nativePtr.cast()); } double get position { - final result = SpineBindings.bindings.spine_path_constraint_pose_get_position(_ptr); + final result = + SpineBindings.bindings.spine_path_constraint_pose_get_position(_ptr); return result; } @@ -61,7 +63,8 @@ class PathConstraintPose implements Finalizable { } double get spacing { - final result = SpineBindings.bindings.spine_path_constraint_pose_get_spacing(_ptr); + final result = + SpineBindings.bindings.spine_path_constraint_pose_get_spacing(_ptr); return result; } @@ -70,16 +73,19 @@ class PathConstraintPose implements Finalizable { } double get mixRotate { - final result = SpineBindings.bindings.spine_path_constraint_pose_get_mix_rotate(_ptr); + final result = + SpineBindings.bindings.spine_path_constraint_pose_get_mix_rotate(_ptr); return result; } set mixRotate(double value) { - SpineBindings.bindings.spine_path_constraint_pose_set_mix_rotate(_ptr, value); + SpineBindings.bindings + .spine_path_constraint_pose_set_mix_rotate(_ptr, value); } double get mixX { - final result = SpineBindings.bindings.spine_path_constraint_pose_get_mix_x(_ptr); + final result = + SpineBindings.bindings.spine_path_constraint_pose_get_mix_x(_ptr); return result; } @@ -88,15 +94,12 @@ class PathConstraintPose implements Finalizable { } double get mixY { - final result = SpineBindings.bindings.spine_path_constraint_pose_get_mix_y(_ptr); + final result = + SpineBindings.bindings.spine_path_constraint_pose_get_mix_y(_ptr); return result; } set mixY(double value) { SpineBindings.bindings.spine_path_constraint_pose_set_mix_y(_ptr, value); } - - void dispose() { - SpineBindings.bindings.spine_path_constraint_pose_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/path_constraint_position_timeline.dart b/spine-flutter/lib/generated/path_constraint_position_timeline.dart index 29896a6a4..bd734dfc0 100644 --- a/spine-flutter/lib/generated/path_constraint_position_timeline.dart +++ b/spine-flutter/lib/generated/path_constraint_position_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'constraint_timeline1.dart'; @@ -38,19 +38,18 @@ import 'constraint_timeline1.dart'; class PathConstraintPositionTimeline extends ConstraintTimeline1 { final Pointer _ptr; - PathConstraintPositionTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + PathConstraintPositionTimeline.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; - factory PathConstraintPositionTimeline(int frameCount, int bezierCount, int constraintIndex) { - final ptr = SpineBindings.bindings.spine_path_constraint_position_timeline_create(frameCount, bezierCount, constraintIndex); + factory PathConstraintPositionTimeline( + int frameCount, int bezierCount, int constraintIndex) { + final ptr = SpineBindings.bindings + .spine_path_constraint_position_timeline_create( + frameCount, bezierCount, constraintIndex); return PathConstraintPositionTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_path_constraint_position_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/path_constraint_spacing_timeline.dart b/spine-flutter/lib/generated/path_constraint_spacing_timeline.dart index 4cf7ca0bd..b9e0d35a6 100644 --- a/spine-flutter/lib/generated/path_constraint_spacing_timeline.dart +++ b/spine-flutter/lib/generated/path_constraint_spacing_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'constraint_timeline1.dart'; @@ -38,19 +38,18 @@ import 'constraint_timeline1.dart'; class PathConstraintSpacingTimeline extends ConstraintTimeline1 { final Pointer _ptr; - PathConstraintSpacingTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + PathConstraintSpacingTimeline.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; - factory PathConstraintSpacingTimeline(int frameCount, int bezierCount, int constraintIndex) { - final ptr = SpineBindings.bindings.spine_path_constraint_spacing_timeline_create(frameCount, bezierCount, constraintIndex); + factory PathConstraintSpacingTimeline( + int frameCount, int bezierCount, int constraintIndex) { + final ptr = SpineBindings.bindings + .spine_path_constraint_spacing_timeline_create( + frameCount, bezierCount, constraintIndex); return PathConstraintSpacingTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_path_constraint_spacing_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/physics.dart b/spine-flutter/lib/generated/physics.dart index 71afd6b31..fa2b5b6cb 100644 --- a/spine-flutter/lib/generated/physics.dart +++ b/spine-flutter/lib/generated/physics.dart @@ -32,9 +32,9 @@ /// Physics enum enum Physics { none(0), - reset(1), - update(2), - pose(3); + reset(0), + update(0), + pose(0); const Physics(this.value); final int value; @@ -45,4 +45,4 @@ enum Physics { orElse: () => throw ArgumentError('Invalid Physics value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/physics_constraint.dart b/spine-flutter/lib/generated/physics_constraint.dart index b1420c345..7290d27fd 100644 --- a/spine-flutter/lib/generated/physics_constraint.dart +++ b/spine-flutter/lib/generated/physics_constraint.dart @@ -30,54 +30,69 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'skeleton.dart'; -import 'physics.dart'; import 'bone_pose.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'; /// PhysicsConstraint wrapper -class PhysicsConstraint implements Finalizable { +class PhysicsConstraint extends PosedActive implements Posed, Constraint { final Pointer _ptr; - PhysicsConstraint.fromPointer(this._ptr); + PhysicsConstraint.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls + @override Pointer get nativePtr => _ptr; factory PhysicsConstraint(PhysicsConstraintData data, Skeleton skeleton) { - final ptr = SpineBindings.bindings.spine_physics_constraint_create(data.nativePtr.cast(), skeleton.nativePtr.cast()); + final ptr = SpineBindings.bindings.spine_physics_constraint_create( + data.nativePtr.cast(), skeleton.nativePtr.cast()); return PhysicsConstraint.fromPointer(ptr); } + @override Rtti get rtti { - final result = SpineBindings.bindings.spine_physics_constraint_get_rtti(_ptr); + 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); + 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()); + 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); + final result = + SpineBindings.bindings.spine_physics_constraint_is_source_active(_ptr); return result; } 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); } void reset(Skeleton skeleton) { - SpineBindings.bindings.spine_physics_constraint_reset(_ptr, skeleton.nativePtr.cast()); + SpineBindings.bindings + .spine_physics_constraint_reset(_ptr, skeleton.nativePtr.cast()); } void translate(double x, double y) { @@ -89,57 +104,54 @@ class PhysicsConstraint implements Finalizable { } BonePose get bone { - final result = SpineBindings.bindings.spine_physics_constraint_get_bone(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_get_bone(_ptr); return BonePose.fromPointer(result); } 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); + 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); + 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); + 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); + final result = SpineBindings.bindings + .spine_physics_constraint_is_pose_equal_to_applied(_ptr); return result; } - bool get isActive { - final result = SpineBindings.bindings.spine_physics_constraint_is_active(_ptr); - return result; - } - - set active(bool value) { - SpineBindings.bindings.spine_physics_constraint_set_active(_ptr, value); - } - static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_physics_constraint_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_physics_constraint_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/physics_constraint_damping_timeline.dart b/spine-flutter/lib/generated/physics_constraint_damping_timeline.dart index e317d9d7f..a93757cf0 100644 --- a/spine-flutter/lib/generated/physics_constraint_damping_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_damping_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'physics_constraint_timeline.dart'; @@ -38,19 +38,18 @@ import 'physics_constraint_timeline.dart'; class PhysicsConstraintDampingTimeline extends PhysicsConstraintTimeline { final Pointer _ptr; - PhysicsConstraintDampingTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + PhysicsConstraintDampingTimeline.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; - factory PhysicsConstraintDampingTimeline(int frameCount, int bezierCount, int physicsConstraintIndex) { - final ptr = SpineBindings.bindings.spine_physics_constraint_damping_timeline_create(frameCount, bezierCount, physicsConstraintIndex); + factory PhysicsConstraintDampingTimeline( + int frameCount, int bezierCount, int physicsConstraintIndex) { + final ptr = SpineBindings.bindings + .spine_physics_constraint_damping_timeline_create( + frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintDampingTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_physics_constraint_damping_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/physics_constraint_data.dart b/spine-flutter/lib/generated/physics_constraint_data.dart index b506d2857..dd7148d3f 100644 --- a/spine-flutter/lib/generated/physics_constraint_data.dart +++ b/spine-flutter/lib/generated/physics_constraint_data.dart @@ -31,49 +31,85 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'constraint.dart'; -import 'skeleton.dart'; import 'bone_data.dart'; +import 'constraint.dart'; +import 'constraint_data.dart'; +import 'ik_constraint.dart'; +import 'path_constraint.dart'; +import 'physics_constraint.dart'; import 'physics_constraint_pose.dart'; +import 'posed_data.dart'; +import 'skeleton.dart'; +import 'slider.dart'; +import 'transform_constraint.dart'; /// PhysicsConstraintData wrapper -class PhysicsConstraintData implements Finalizable { +class PhysicsConstraintData extends PosedData implements ConstraintData { final Pointer _ptr; - PhysicsConstraintData.fromPointer(this._ptr); + PhysicsConstraintData.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls + @override Pointer get nativePtr => _ptr; factory PhysicsConstraintData(String name) { - final ptr = SpineBindings.bindings.spine_physics_constraint_data_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_physics_constraint_data_create(name.toNativeUtf8().cast()); return PhysicsConstraintData.fromPointer(ptr); } + @override Rtti get rtti { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_rtti(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_data_get_rtti(_ptr); return Rtti.fromPointer(result); } + @override Constraint createMethod(Skeleton skeleton) { - final result = SpineBindings.bindings.spine_physics_constraint_data_create_method(_ptr, skeleton.nativePtr.cast()); - throw UnsupportedError('Cannot instantiate abstract class Constraint from pointer - no concrete subclasses found'); + final result = SpineBindings.bindings + .spine_physics_constraint_data_create_method( + _ptr, skeleton.nativePtr.cast()); + final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); + switch (className) { + case 'spine_ik_constraint': + return IkConstraint.fromPointer(result.cast()); + case 'spine_path_constraint': + return PathConstraint.fromPointer(result.cast()); + case 'spine_physics_constraint': + return PhysicsConstraint.fromPointer(result.cast()); + case 'spine_slider': + return Slider.fromPointer(result.cast()); + case 'spine_transform_constraint': + return TransformConstraint.fromPointer(result.cast()); + default: + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Constraint'); + } } BoneData get bone { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_bone(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_data_get_bone(_ptr); return BoneData.fromPointer(result); } set bone(BoneData value) { - SpineBindings.bindings.spine_physics_constraint_data_set_bone(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_physics_constraint_data_set_bone(_ptr, value.nativePtr.cast()); } double get step { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_step(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_data_get_step(_ptr); return result; } @@ -82,7 +118,8 @@ class PhysicsConstraintData implements Finalizable { } double get x { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_x(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_data_get_x(_ptr); return result; } @@ -91,7 +128,8 @@ class PhysicsConstraintData implements Finalizable { } double get y { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_y(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_data_get_y(_ptr); return result; } @@ -100,34 +138,41 @@ class PhysicsConstraintData implements Finalizable { } double get rotate { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_rotate(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_data_get_rotate(_ptr); return result; } set rotate(double value) { - SpineBindings.bindings.spine_physics_constraint_data_set_rotate(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_data_set_rotate(_ptr, value); } double get scaleX { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_scale_x(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_data_get_scale_x(_ptr); return result; } set scaleX(double value) { - SpineBindings.bindings.spine_physics_constraint_data_set_scale_x(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_data_set_scale_x(_ptr, value); } double get shearX { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_shear_x(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_data_get_shear_x(_ptr); return result; } set shearX(double value) { - SpineBindings.bindings.spine_physics_constraint_data_set_shear_x(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_data_set_shear_x(_ptr, value); } double get limit { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_limit(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_data_get_limit(_ptr); return result; } @@ -136,93 +181,90 @@ class PhysicsConstraintData implements Finalizable { } bool get inertiaGlobal { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_inertia_global(_ptr); + final result = SpineBindings.bindings + .spine_physics_constraint_data_get_inertia_global(_ptr); return result; } set inertiaGlobal(bool value) { - SpineBindings.bindings.spine_physics_constraint_data_set_inertia_global(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_data_set_inertia_global(_ptr, value); } bool get strengthGlobal { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_strength_global(_ptr); + final result = SpineBindings.bindings + .spine_physics_constraint_data_get_strength_global(_ptr); return result; } set strengthGlobal(bool value) { - SpineBindings.bindings.spine_physics_constraint_data_set_strength_global(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_data_set_strength_global(_ptr, value); } bool get dampingGlobal { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_damping_global(_ptr); + final result = SpineBindings.bindings + .spine_physics_constraint_data_get_damping_global(_ptr); return result; } set dampingGlobal(bool value) { - SpineBindings.bindings.spine_physics_constraint_data_set_damping_global(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_data_set_damping_global(_ptr, value); } bool get massGlobal { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_mass_global(_ptr); + final result = SpineBindings.bindings + .spine_physics_constraint_data_get_mass_global(_ptr); return result; } set massGlobal(bool value) { - SpineBindings.bindings.spine_physics_constraint_data_set_mass_global(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_data_set_mass_global(_ptr, value); } bool get windGlobal { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_wind_global(_ptr); + final result = SpineBindings.bindings + .spine_physics_constraint_data_get_wind_global(_ptr); return result; } set windGlobal(bool value) { - SpineBindings.bindings.spine_physics_constraint_data_set_wind_global(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_data_set_wind_global(_ptr, value); } bool get gravityGlobal { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_gravity_global(_ptr); + final result = SpineBindings.bindings + .spine_physics_constraint_data_get_gravity_global(_ptr); return result; } set gravityGlobal(bool value) { - SpineBindings.bindings.spine_physics_constraint_data_set_gravity_global(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_data_set_gravity_global(_ptr, value); } bool get mixGlobal { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_mix_global(_ptr); + final result = SpineBindings.bindings + .spine_physics_constraint_data_get_mix_global(_ptr); return result; } set mixGlobal(bool value) { - SpineBindings.bindings.spine_physics_constraint_data_set_mix_global(_ptr, value); - } - - String get name { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_name(_ptr); - return result.cast().toDartString(); - } - - bool get skinRequired { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_skin_required(_ptr); - return result; + SpineBindings.bindings + .spine_physics_constraint_data_set_mix_global(_ptr, value); } PhysicsConstraintPose get setupPose { - final result = SpineBindings.bindings.spine_physics_constraint_data_get_setup_pose(_ptr); + final result = SpineBindings.bindings + .spine_physics_constraint_data_get_setup_pose(_ptr); return PhysicsConstraintPose.fromPointer(result); } - set skinRequired(bool value) { - SpineBindings.bindings.spine_physics_constraint_data_set_skin_required(_ptr, value); - } - static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_physics_constraint_data_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_physics_constraint_data_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/physics_constraint_gravity_timeline.dart b/spine-flutter/lib/generated/physics_constraint_gravity_timeline.dart index 8f9ed3e72..b055c6271 100644 --- a/spine-flutter/lib/generated/physics_constraint_gravity_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_gravity_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'physics_constraint_timeline.dart'; @@ -38,19 +38,18 @@ import 'physics_constraint_timeline.dart'; class PhysicsConstraintGravityTimeline extends PhysicsConstraintTimeline { final Pointer _ptr; - PhysicsConstraintGravityTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + PhysicsConstraintGravityTimeline.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; - factory PhysicsConstraintGravityTimeline(int frameCount, int bezierCount, int physicsConstraintIndex) { - final ptr = SpineBindings.bindings.spine_physics_constraint_gravity_timeline_create(frameCount, bezierCount, physicsConstraintIndex); + factory PhysicsConstraintGravityTimeline( + int frameCount, int bezierCount, int physicsConstraintIndex) { + final ptr = SpineBindings.bindings + .spine_physics_constraint_gravity_timeline_create( + frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintGravityTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_physics_constraint_gravity_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/physics_constraint_inertia_timeline.dart b/spine-flutter/lib/generated/physics_constraint_inertia_timeline.dart index 55c9f2a69..5fe57a144 100644 --- a/spine-flutter/lib/generated/physics_constraint_inertia_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_inertia_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'physics_constraint_timeline.dart'; @@ -38,19 +38,18 @@ import 'physics_constraint_timeline.dart'; class PhysicsConstraintInertiaTimeline extends PhysicsConstraintTimeline { final Pointer _ptr; - PhysicsConstraintInertiaTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + PhysicsConstraintInertiaTimeline.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; - factory PhysicsConstraintInertiaTimeline(int frameCount, int bezierCount, int physicsConstraintIndex) { - final ptr = SpineBindings.bindings.spine_physics_constraint_inertia_timeline_create(frameCount, bezierCount, physicsConstraintIndex); + factory PhysicsConstraintInertiaTimeline( + int frameCount, int bezierCount, int physicsConstraintIndex) { + final ptr = SpineBindings.bindings + .spine_physics_constraint_inertia_timeline_create( + frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintInertiaTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_physics_constraint_inertia_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/physics_constraint_mass_timeline.dart b/spine-flutter/lib/generated/physics_constraint_mass_timeline.dart index 1ea8e3051..e57f443d0 100644 --- a/spine-flutter/lib/generated/physics_constraint_mass_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_mass_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'physics_constraint_timeline.dart'; @@ -38,19 +38,18 @@ import 'physics_constraint_timeline.dart'; class PhysicsConstraintMassTimeline extends PhysicsConstraintTimeline { final Pointer _ptr; - PhysicsConstraintMassTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + PhysicsConstraintMassTimeline.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; - factory PhysicsConstraintMassTimeline(int frameCount, int bezierCount, int physicsConstraintIndex) { - final ptr = SpineBindings.bindings.spine_physics_constraint_mass_timeline_create(frameCount, bezierCount, physicsConstraintIndex); + factory PhysicsConstraintMassTimeline( + int frameCount, int bezierCount, int physicsConstraintIndex) { + final ptr = SpineBindings.bindings + .spine_physics_constraint_mass_timeline_create( + frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintMassTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_physics_constraint_mass_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/physics_constraint_mix_timeline.dart b/spine-flutter/lib/generated/physics_constraint_mix_timeline.dart index b1678e66c..e968c506c 100644 --- a/spine-flutter/lib/generated/physics_constraint_mix_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_mix_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'physics_constraint_timeline.dart'; @@ -38,19 +38,18 @@ import 'physics_constraint_timeline.dart'; class PhysicsConstraintMixTimeline extends PhysicsConstraintTimeline { final Pointer _ptr; - PhysicsConstraintMixTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + PhysicsConstraintMixTimeline.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; - factory PhysicsConstraintMixTimeline(int frameCount, int bezierCount, int physicsConstraintIndex) { - final ptr = SpineBindings.bindings.spine_physics_constraint_mix_timeline_create(frameCount, bezierCount, physicsConstraintIndex); + factory PhysicsConstraintMixTimeline( + int frameCount, int bezierCount, int physicsConstraintIndex) { + final ptr = SpineBindings.bindings + .spine_physics_constraint_mix_timeline_create( + frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintMixTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_physics_constraint_mix_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/physics_constraint_pose.dart b/spine-flutter/lib/generated/physics_constraint_pose.dart index 4ae66ebe7..0f0acd656 100644 --- a/spine-flutter/lib/generated/physics_constraint_pose.dart +++ b/spine-flutter/lib/generated/physics_constraint_pose.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// PhysicsConstraintPose wrapper @@ -48,47 +48,57 @@ class PhysicsConstraintPose implements Finalizable { } void set(PhysicsConstraintPose pose) { - SpineBindings.bindings.spine_physics_constraint_pose_set(_ptr, pose.nativePtr.cast()); + SpineBindings.bindings + .spine_physics_constraint_pose_set(_ptr, pose.nativePtr.cast()); } double get inertia { - final result = SpineBindings.bindings.spine_physics_constraint_pose_get_inertia(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_pose_get_inertia(_ptr); return result; } set inertia(double value) { - SpineBindings.bindings.spine_physics_constraint_pose_set_inertia(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_pose_set_inertia(_ptr, value); } double get strength { - final result = SpineBindings.bindings.spine_physics_constraint_pose_get_strength(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_pose_get_strength(_ptr); return result; } set strength(double value) { - SpineBindings.bindings.spine_physics_constraint_pose_set_strength(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_pose_set_strength(_ptr, value); } double get damping { - final result = SpineBindings.bindings.spine_physics_constraint_pose_get_damping(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_pose_get_damping(_ptr); return result; } set damping(double value) { - SpineBindings.bindings.spine_physics_constraint_pose_set_damping(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_pose_set_damping(_ptr, value); } double get massInverse { - final result = SpineBindings.bindings.spine_physics_constraint_pose_get_mass_inverse(_ptr); + final result = SpineBindings.bindings + .spine_physics_constraint_pose_get_mass_inverse(_ptr); return result; } set massInverse(double value) { - SpineBindings.bindings.spine_physics_constraint_pose_set_mass_inverse(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_pose_set_mass_inverse(_ptr, value); } double get wind { - final result = SpineBindings.bindings.spine_physics_constraint_pose_get_wind(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_pose_get_wind(_ptr); return result; } @@ -97,24 +107,23 @@ class PhysicsConstraintPose implements Finalizable { } double get gravity { - final result = SpineBindings.bindings.spine_physics_constraint_pose_get_gravity(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_pose_get_gravity(_ptr); return result; } set gravity(double value) { - SpineBindings.bindings.spine_physics_constraint_pose_set_gravity(_ptr, value); + SpineBindings.bindings + .spine_physics_constraint_pose_set_gravity(_ptr, value); } double get mix { - final result = SpineBindings.bindings.spine_physics_constraint_pose_get_mix(_ptr); + final result = + SpineBindings.bindings.spine_physics_constraint_pose_get_mix(_ptr); return result; } set mix(double value) { SpineBindings.bindings.spine_physics_constraint_pose_set_mix(_ptr, value); } - - void dispose() { - SpineBindings.bindings.spine_physics_constraint_pose_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/physics_constraint_reset_timeline.dart b/spine-flutter/lib/generated/physics_constraint_reset_timeline.dart index a6a66f476..166e38980 100644 --- a/spine-flutter/lib/generated/physics_constraint_reset_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_reset_timeline.dart @@ -30,40 +30,46 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; +import 'constraint_timeline.dart'; import 'timeline.dart'; /// PhysicsConstraintResetTimeline wrapper -class PhysicsConstraintResetTimeline extends Timeline { +class PhysicsConstraintResetTimeline extends Timeline + implements ConstraintTimeline { final Pointer _ptr; - PhysicsConstraintResetTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + PhysicsConstraintResetTimeline.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; factory PhysicsConstraintResetTimeline(int frameCount, int constraintIndex) { - final ptr = SpineBindings.bindings.spine_physics_constraint_reset_timeline_create(frameCount, constraintIndex); + final ptr = SpineBindings.bindings + .spine_physics_constraint_reset_timeline_create( + frameCount, constraintIndex); return PhysicsConstraintResetTimeline.fromPointer(ptr); } + @override int get constraintIndex { - final result = SpineBindings.bindings.spine_physics_constraint_reset_timeline_get_constraint_index(_ptr); + final result = SpineBindings.bindings + .spine_physics_constraint_reset_timeline_get_constraint_index(_ptr); return result; } - void setFrame(int frame, double time) { - SpineBindings.bindings.spine_physics_constraint_reset_timeline_set_frame(_ptr, frame, time); - } - - set constraintIndex(int value) { - SpineBindings.bindings.spine_physics_constraint_reset_timeline_set_constraint_index(_ptr, value); - } - @override - void dispose() { - SpineBindings.bindings.spine_physics_constraint_reset_timeline_dispose(_ptr); + set constraintIndex(int value) { + SpineBindings.bindings + .spine_physics_constraint_reset_timeline_set_constraint_index( + _ptr, value); } -} \ No newline at end of file + + void setFrame(int frame, double time) { + SpineBindings.bindings + .spine_physics_constraint_reset_timeline_set_frame(_ptr, frame, time); + } +} diff --git a/spine-flutter/lib/generated/physics_constraint_strength_timeline.dart b/spine-flutter/lib/generated/physics_constraint_strength_timeline.dart index b35320608..f20e92ec3 100644 --- a/spine-flutter/lib/generated/physics_constraint_strength_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_strength_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'physics_constraint_timeline.dart'; @@ -38,19 +38,18 @@ import 'physics_constraint_timeline.dart'; class PhysicsConstraintStrengthTimeline extends PhysicsConstraintTimeline { final Pointer _ptr; - PhysicsConstraintStrengthTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + PhysicsConstraintStrengthTimeline.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; - factory PhysicsConstraintStrengthTimeline(int frameCount, int bezierCount, int physicsConstraintIndex) { - final ptr = SpineBindings.bindings.spine_physics_constraint_strength_timeline_create(frameCount, bezierCount, physicsConstraintIndex); + factory PhysicsConstraintStrengthTimeline( + int frameCount, int bezierCount, int physicsConstraintIndex) { + final ptr = SpineBindings.bindings + .spine_physics_constraint_strength_timeline_create( + frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintStrengthTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_physics_constraint_strength_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/physics_constraint_timeline.dart b/spine-flutter/lib/generated/physics_constraint_timeline.dart index 3f877c854..271d29466 100644 --- a/spine-flutter/lib/generated/physics_constraint_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_timeline.dart @@ -30,31 +30,33 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; +import 'constraint_timeline.dart'; import 'curve_timeline1.dart'; /// PhysicsConstraintTimeline wrapper -abstract class PhysicsConstraintTimeline extends CurveTimeline1 { +abstract class PhysicsConstraintTimeline extends CurveTimeline1 + implements ConstraintTimeline { final Pointer _ptr; - PhysicsConstraintTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + PhysicsConstraintTimeline.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; + @override int get constraintIndex { - final result = SpineBindings.bindings.spine_physics_constraint_timeline_get_constraint_index(_ptr); + final result = SpineBindings.bindings + .spine_physics_constraint_timeline_get_constraint_index(_ptr); return result; } - set constraintIndex(int value) { - SpineBindings.bindings.spine_physics_constraint_timeline_set_constraint_index(_ptr, value); - } - @override - void dispose() { - SpineBindings.bindings.spine_physics_constraint_timeline_dispose(_ptr); + set constraintIndex(int value) { + SpineBindings.bindings + .spine_physics_constraint_timeline_set_constraint_index(_ptr, value); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/physics_constraint_wind_timeline.dart b/spine-flutter/lib/generated/physics_constraint_wind_timeline.dart index 826d22f7b..2ccdc2e6a 100644 --- a/spine-flutter/lib/generated/physics_constraint_wind_timeline.dart +++ b/spine-flutter/lib/generated/physics_constraint_wind_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'physics_constraint_timeline.dart'; @@ -38,19 +38,18 @@ import 'physics_constraint_timeline.dart'; class PhysicsConstraintWindTimeline extends PhysicsConstraintTimeline { final Pointer _ptr; - PhysicsConstraintWindTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + PhysicsConstraintWindTimeline.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; - factory PhysicsConstraintWindTimeline(int frameCount, int bezierCount, int physicsConstraintIndex) { - final ptr = SpineBindings.bindings.spine_physics_constraint_wind_timeline_create(frameCount, bezierCount, physicsConstraintIndex); + factory PhysicsConstraintWindTimeline( + int frameCount, int bezierCount, int physicsConstraintIndex) { + final ptr = SpineBindings.bindings + .spine_physics_constraint_wind_timeline_create( + frameCount, bezierCount, physicsConstraintIndex); return PhysicsConstraintWindTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_physics_constraint_wind_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/point_attachment.dart b/spine-flutter/lib/generated/point_attachment.dart index aea1c4761..2a9214307 100644 --- a/spine-flutter/lib/generated/point_attachment.dart +++ b/spine-flutter/lib/generated/point_attachment.dart @@ -31,11 +31,11 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'attachment.dart'; -import 'color.dart'; import 'bone_pose.dart'; +import 'color.dart'; /// PointAttachment wrapper class PointAttachment extends Attachment { @@ -48,7 +48,8 @@ class PointAttachment extends Attachment { Pointer get nativePtr => _ptr; factory PointAttachment(String name) { - final ptr = SpineBindings.bindings.spine_point_attachment_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_point_attachment_create(name.toNativeUtf8().cast()); return PointAttachment.fromPointer(ptr); } @@ -71,7 +72,8 @@ class PointAttachment extends Attachment { } double get rotation { - final result = SpineBindings.bindings.spine_point_attachment_get_rotation(_ptr); + final result = + SpineBindings.bindings.spine_point_attachment_get_rotation(_ptr); return result; } @@ -80,17 +82,15 @@ class PointAttachment extends Attachment { } Color get color { - final result = SpineBindings.bindings.spine_point_attachment_get_color(_ptr); + final result = + SpineBindings.bindings.spine_point_attachment_get_color(_ptr); return Color.fromPointer(result); } double computeWorldRotation(BonePose bone) { - final result = SpineBindings.bindings.spine_point_attachment_compute_world_rotation(_ptr, bone.nativePtr.cast()); + final result = SpineBindings.bindings + .spine_point_attachment_compute_world_rotation( + _ptr, bone.nativePtr.cast()); return result; } - - @override - void dispose() { - SpineBindings.bindings.spine_point_attachment_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/polygon.dart b/spine-flutter/lib/generated/polygon.dart index e325f81f1..2035ee8a0 100644 --- a/spine-flutter/lib/generated/polygon.dart +++ b/spine-flutter/lib/generated/polygon.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'arrays.dart'; @@ -54,7 +54,8 @@ class Polygon implements Finalizable { } set vertices(ArrayFloat value) { - SpineBindings.bindings.spine_polygon_set__vertices(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_polygon_set__vertices(_ptr, value.nativePtr.cast()); } int get count { @@ -65,8 +66,4 @@ class Polygon implements Finalizable { set count(int value) { SpineBindings.bindings.spine_polygon_set__count(_ptr, value); } - - void dispose() { - SpineBindings.bindings.spine_polygon_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/posed.dart b/spine-flutter/lib/generated/posed.dart index 769563870..26db970be 100644 --- a/spine-flutter/lib/generated/posed.dart +++ b/spine-flutter/lib/generated/posed.dart @@ -30,32 +30,11 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; -import '../spine_bindings.dart'; /// Posed wrapper -abstract class Posed implements Finalizable { - final Pointer _ptr; - - Posed.fromPointer(this._ptr); - - /// Get the native pointer for FFI calls - Pointer get nativePtr => _ptr; - - void constrained() { - SpineBindings.bindings.spine_posed_constrained(_ptr); - } - - void resetConstrained() { - SpineBindings.bindings.spine_posed_reset_constrained(_ptr); - } - - bool get isPoseEqualToApplied { - final result = SpineBindings.bindings.spine_posed_is_pose_equal_to_applied(_ptr); - return result; - } - - void dispose() { - SpineBindings.bindings.spine_posed_dispose(_ptr); - } -} \ No newline at end of file +abstract class Posed { + Pointer get nativePtr; + void constrained(); + void resetConstrained(); + bool get isPoseEqualToApplied; +} diff --git a/spine-flutter/lib/generated/posed_active.dart b/spine-flutter/lib/generated/posed_active.dart index 0480a1a82..0996bef69 100644 --- a/spine-flutter/lib/generated/posed_active.dart +++ b/spine-flutter/lib/generated/posed_active.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// PosedActive wrapper @@ -50,8 +50,4 @@ class PosedActive implements Finalizable { set active(bool value) { SpineBindings.bindings.spine_posed_active_set_active(_ptr, value); } - - void dispose() { - SpineBindings.bindings.spine_posed_active_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/posed_data.dart b/spine-flutter/lib/generated/posed_data.dart index 4fd2cb4e0..493b94bca 100644 --- a/spine-flutter/lib/generated/posed_data.dart +++ b/spine-flutter/lib/generated/posed_data.dart @@ -31,7 +31,7 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// PosedData wrapper @@ -44,7 +44,8 @@ class PosedData implements Finalizable { Pointer get nativePtr => _ptr; factory PosedData(String name) { - final ptr = SpineBindings.bindings.spine_posed_data_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_posed_data_create(name.toNativeUtf8().cast()); return PosedData.fromPointer(ptr); } @@ -54,15 +55,12 @@ class PosedData implements Finalizable { } bool get skinRequired { - final result = SpineBindings.bindings.spine_posed_data_get_skin_required(_ptr); + final result = + SpineBindings.bindings.spine_posed_data_get_skin_required(_ptr); return result; } set skinRequired(bool value) { SpineBindings.bindings.spine_posed_data_set_skin_required(_ptr, value); } - - void dispose() { - SpineBindings.bindings.spine_posed_data_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/position_mode.dart b/spine-flutter/lib/generated/position_mode.dart index 66f1d1ed8..6d69dbe93 100644 --- a/spine-flutter/lib/generated/position_mode.dart +++ b/spine-flutter/lib/generated/position_mode.dart @@ -32,7 +32,7 @@ /// PositionMode enum enum PositionMode { fixed(0), - percent(1); + percent(0); const PositionMode(this.value); final int value; @@ -43,4 +43,4 @@ enum PositionMode { orElse: () => throw ArgumentError('Invalid PositionMode value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/property.dart b/spine-flutter/lib/generated/property.dart index ec3c70231..4ca8eeb37 100644 --- a/spine-flutter/lib/generated/property.dart +++ b/spine-flutter/lib/generated/property.dart @@ -31,37 +31,37 @@ /// Property enum enum Property { - rotate(1 << 0), - x(1 << 1), - y(1 << 2), - scaleX(1 << 3), - scaleY(1 << 4), - shearX(1 << 5), - shearY(1 << 6), - inherit(1 << 7), - rgb(1 << 8), - alpha(1 << 9), - rgb2(1 << 10), - attachment(1 << 11), - deform(1 << 12), - event(1 << 13), - drawOrder(1 << 14), - ikConstraint(1 << 15), - transformConstraint(1 << 16), - pathConstraintPosition(1 << 17), - pathConstraintSpacing(1 << 18), - pathConstraintMix(1 << 19), - physicsConstraintInertia(1 << 20), - physicsConstraintStrength(1 << 21), - physicsConstraintDamping(1 << 22), - physicsConstraintMass(1 << 23), - physicsConstraintWind(1 << 24), - physicsConstraintGravity(1 << 25), - physicsConstraintMix(1 << 26), - physicsConstraintReset(1 << 27), - sequence(1 << 28), - sliderTime(1 << 29), - sliderMix(1 << 30); + rotate(1), + x(1), + y(1), + scaleX(1), + scaleY(1), + shearX(1), + shearY(1), + inherit(1), + rgb(1), + alpha(1), + rgb2(1), + attachment(1), + deform(1), + event(1), + drawOrder(1), + ikConstraint(1), + transformConstraint(1), + pathConstraintPosition(1), + pathConstraintSpacing(1), + pathConstraintMix(1), + physicsConstraintInertia(1), + physicsConstraintStrength(1), + physicsConstraintDamping(1), + physicsConstraintMass(1), + physicsConstraintWind(1), + physicsConstraintGravity(1), + physicsConstraintMix(1), + physicsConstraintReset(1), + sequence(1), + sliderTime(1), + sliderMix(1); const Property(this.value); final int value; @@ -72,4 +72,4 @@ enum Property { orElse: () => throw ArgumentError('Invalid Property value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/region_attachment.dart b/spine-flutter/lib/generated/region_attachment.dart index b55a68848..6f7913852 100644 --- a/spine-flutter/lib/generated/region_attachment.dart +++ b/spine-flutter/lib/generated/region_attachment.dart @@ -31,14 +31,14 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'attachment.dart'; -import 'slot.dart'; -import 'color.dart'; -import 'texture_region.dart'; -import 'sequence.dart'; import 'arrays.dart'; +import 'attachment.dart'; +import 'color.dart'; +import 'sequence.dart'; +import 'slot.dart'; +import 'texture_region.dart'; /// RegionAttachment wrapper class RegionAttachment extends Attachment { @@ -51,7 +51,8 @@ class RegionAttachment extends Attachment { Pointer get nativePtr => _ptr; factory RegionAttachment(String name) { - final ptr = SpineBindings.bindings.spine_region_attachment_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_region_attachment_create(name.toNativeUtf8().cast()); return RegionAttachment.fromPointer(ptr); } @@ -78,7 +79,8 @@ class RegionAttachment extends Attachment { } double get rotation { - final result = SpineBindings.bindings.spine_region_attachment_get_rotation(_ptr); + final result = + SpineBindings.bindings.spine_region_attachment_get_rotation(_ptr); return result; } @@ -87,7 +89,8 @@ class RegionAttachment extends Attachment { } double get scaleX { - final result = SpineBindings.bindings.spine_region_attachment_get_scale_x(_ptr); + final result = + SpineBindings.bindings.spine_region_attachment_get_scale_x(_ptr); return result; } @@ -96,7 +99,8 @@ class RegionAttachment extends Attachment { } double get scaleY { - final result = SpineBindings.bindings.spine_region_attachment_get_scale_y(_ptr); + final result = + SpineBindings.bindings.spine_region_attachment_get_scale_y(_ptr); return result; } @@ -105,7 +109,8 @@ class RegionAttachment extends Attachment { } double get width { - final result = SpineBindings.bindings.spine_region_attachment_get_width(_ptr); + final result = + SpineBindings.bindings.spine_region_attachment_get_width(_ptr); return result; } @@ -114,7 +119,8 @@ class RegionAttachment extends Attachment { } double get height { - final result = SpineBindings.bindings.spine_region_attachment_get_height(_ptr); + final result = + SpineBindings.bindings.spine_region_attachment_get_height(_ptr); return result; } @@ -123,53 +129,63 @@ class RegionAttachment extends Attachment { } Color get color { - final result = SpineBindings.bindings.spine_region_attachment_get_color(_ptr); + final result = + SpineBindings.bindings.spine_region_attachment_get_color(_ptr); return Color.fromPointer(result); } String get path { - final result = SpineBindings.bindings.spine_region_attachment_get_path(_ptr); + final result = + SpineBindings.bindings.spine_region_attachment_get_path(_ptr); return result.cast().toDartString(); } set path(String value) { - SpineBindings.bindings.spine_region_attachment_set_path(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings.spine_region_attachment_set_path( + _ptr, value.toNativeUtf8().cast()); } TextureRegion get region { - final result = SpineBindings.bindings.spine_region_attachment_get_region(_ptr); + final result = + SpineBindings.bindings.spine_region_attachment_get_region(_ptr); return TextureRegion.fromPointer(result); } set region(TextureRegion value) { - SpineBindings.bindings.spine_region_attachment_set_region(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_region_attachment_set_region(_ptr, value.nativePtr.cast()); } Sequence get sequence { - final result = SpineBindings.bindings.spine_region_attachment_get_sequence(_ptr); + final result = + SpineBindings.bindings.spine_region_attachment_get_sequence(_ptr); return Sequence.fromPointer(result); } set sequence(Sequence value) { - SpineBindings.bindings.spine_region_attachment_set_sequence(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_region_attachment_set_sequence(_ptr, value.nativePtr.cast()); } ArrayFloat get offset { - final result = SpineBindings.bindings.spine_region_attachment_get_offset(_ptr); + final result = + SpineBindings.bindings.spine_region_attachment_get_offset(_ptr); return ArrayFloat.fromPointer(result); } ArrayFloat get uVs { - final result = SpineBindings.bindings.spine_region_attachment_get_u_vs(_ptr); + final result = + SpineBindings.bindings.spine_region_attachment_get_u_vs(_ptr); return ArrayFloat.fromPointer(result); } - void computeWorldVertices(Slot slot, ArrayFloat worldVertices, int offset, int stride) { - SpineBindings.bindings.spine_region_attachment_compute_world_vertices_2(_ptr, slot.nativePtr.cast(), worldVertices.nativePtr.cast(), offset, stride); + void computeWorldVertices( + Slot slot, ArrayFloat worldVertices, int offset, int stride) { + SpineBindings.bindings.spine_region_attachment_compute_world_vertices_2( + _ptr, + slot.nativePtr.cast(), + worldVertices.nativePtr.cast(), + offset, + stride); } - - @override - void dispose() { - SpineBindings.bindings.spine_region_attachment_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/render_command.dart b/spine-flutter/lib/generated/render_command.dart index a0ecdba99..face2cd8d 100644 --- a/spine-flutter/lib/generated/render_command.dart +++ b/spine-flutter/lib/generated/render_command.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'blend_mode.dart'; @@ -43,27 +43,60 @@ class RenderCommand implements Finalizable { /// Get the native pointer for FFI calls Pointer get nativePtr => _ptr; + Pointer get positions { + final result = + SpineBindings.bindings.spine_render_command_get_positions(_ptr); + return result; + } + + Pointer get uvs { + final result = SpineBindings.bindings.spine_render_command_get_uvs(_ptr); + return result; + } + + Pointer get colors { + final result = SpineBindings.bindings.spine_render_command_get_colors(_ptr); + return result; + } + + Pointer get darkColors { + final result = + SpineBindings.bindings.spine_render_command_get_dark_colors(_ptr); + return result; + } + int get numVertices { - final result = SpineBindings.bindings.spine_render_command_get_num_vertices(_ptr); + final result = + SpineBindings.bindings.spine_render_command_get_num_vertices(_ptr); + return result; + } + + Pointer get indices { + final result = + SpineBindings.bindings.spine_render_command_get_indices(_ptr); return result; } int get numIndices { - final result = SpineBindings.bindings.spine_render_command_get_num_indices(_ptr); + final result = + SpineBindings.bindings.spine_render_command_get_num_indices(_ptr); return result; } BlendMode get blendMode { - final result = SpineBindings.bindings.spine_render_command_get_blend_mode(_ptr); + final result = + SpineBindings.bindings.spine_render_command_get_blend_mode(_ptr); return BlendMode.fromValue(result); } + Pointer get texture { + final result = + SpineBindings.bindings.spine_render_command_get_texture(_ptr); + return result; + } + RenderCommand get next { final result = SpineBindings.bindings.spine_render_command_get_next(_ptr); return RenderCommand.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_render_command_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/rgb2_timeline.dart b/spine-flutter/lib/generated/rgb2_timeline.dart index 118952053..498ed69f3 100644 --- a/spine-flutter/lib/generated/rgb2_timeline.dart +++ b/spine-flutter/lib/generated/rgb2_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'slot_curve_timeline.dart'; @@ -45,16 +45,14 @@ class Rgb2Timeline extends SlotCurveTimeline { Pointer get nativePtr => _ptr; factory Rgb2Timeline(int frameCount, int bezierCount, int slotIndex) { - final ptr = SpineBindings.bindings.spine_rgb2_timeline_create(frameCount, bezierCount, slotIndex); + final ptr = SpineBindings.bindings + .spine_rgb2_timeline_create(frameCount, bezierCount, slotIndex); return Rgb2Timeline.fromPointer(ptr); } - void setFrame(int frame, double time, double r, double g, double b, double r2, double g2, double b2) { - SpineBindings.bindings.spine_rgb2_timeline_set_frame(_ptr, frame, time, r, g, b, r2, g2, b2); + void setFrame(int frame, double time, double r, double g, double b, double r2, + double g2, double b2) { + SpineBindings.bindings + .spine_rgb2_timeline_set_frame(_ptr, frame, time, r, g, b, r2, g2, b2); } - - @override - void dispose() { - SpineBindings.bindings.spine_rgb2_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/rgb_timeline.dart b/spine-flutter/lib/generated/rgb_timeline.dart index 11aea0275..0495ad5e4 100644 --- a/spine-flutter/lib/generated/rgb_timeline.dart +++ b/spine-flutter/lib/generated/rgb_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'slot_curve_timeline.dart'; @@ -45,16 +45,13 @@ class RgbTimeline extends SlotCurveTimeline { Pointer get nativePtr => _ptr; factory RgbTimeline(int frameCount, int bezierCount, int slotIndex) { - final ptr = SpineBindings.bindings.spine_rgb_timeline_create(frameCount, bezierCount, slotIndex); + final ptr = SpineBindings.bindings + .spine_rgb_timeline_create(frameCount, bezierCount, slotIndex); return RgbTimeline.fromPointer(ptr); } void setFrame(int frame, double time, double r, double g, double b) { - SpineBindings.bindings.spine_rgb_timeline_set_frame(_ptr, frame, time, r, g, b); + SpineBindings.bindings + .spine_rgb_timeline_set_frame(_ptr, frame, time, r, g, b); } - - @override - void dispose() { - SpineBindings.bindings.spine_rgb_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/rgba2_timeline.dart b/spine-flutter/lib/generated/rgba2_timeline.dart index 133c7ac44..d4242cdc9 100644 --- a/spine-flutter/lib/generated/rgba2_timeline.dart +++ b/spine-flutter/lib/generated/rgba2_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'slot_curve_timeline.dart'; @@ -45,16 +45,14 @@ class Rgba2Timeline extends SlotCurveTimeline { Pointer get nativePtr => _ptr; factory Rgba2Timeline(int frameCount, int bezierCount, int slotIndex) { - final ptr = SpineBindings.bindings.spine_rgba2_timeline_create(frameCount, bezierCount, slotIndex); + final ptr = SpineBindings.bindings + .spine_rgba2_timeline_create(frameCount, bezierCount, slotIndex); return Rgba2Timeline.fromPointer(ptr); } - void setFrame(int frame, double time, double r, double g, double b, double a, double r2, double g2, double b2) { - SpineBindings.bindings.spine_rgba2_timeline_set_frame(_ptr, frame, time, r, g, b, a, r2, g2, b2); + void setFrame(int frame, double time, double r, double g, double b, double a, + double r2, double g2, double b2) { + SpineBindings.bindings.spine_rgba2_timeline_set_frame( + _ptr, frame, time, r, g, b, a, r2, g2, b2); } - - @override - void dispose() { - SpineBindings.bindings.spine_rgba2_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/rgba_timeline.dart b/spine-flutter/lib/generated/rgba_timeline.dart index ce42dc7e3..3ba828dba 100644 --- a/spine-flutter/lib/generated/rgba_timeline.dart +++ b/spine-flutter/lib/generated/rgba_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'slot_curve_timeline.dart'; @@ -45,16 +45,14 @@ class RgbaTimeline extends SlotCurveTimeline { Pointer get nativePtr => _ptr; factory RgbaTimeline(int frameCount, int bezierCount, int slotIndex) { - final ptr = SpineBindings.bindings.spine_rgba_timeline_create(frameCount, bezierCount, slotIndex); + final ptr = SpineBindings.bindings + .spine_rgba_timeline_create(frameCount, bezierCount, slotIndex); return RgbaTimeline.fromPointer(ptr); } - void setFrame(int frame, double time, double r, double g, double b, double a) { - SpineBindings.bindings.spine_rgba_timeline_set_frame(_ptr, frame, time, r, g, b, a); + void setFrame( + int frame, double time, double r, double g, double b, double a) { + SpineBindings.bindings + .spine_rgba_timeline_set_frame(_ptr, frame, time, r, g, b, a); } - - @override - void dispose() { - SpineBindings.bindings.spine_rgba_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/rotate_mode.dart b/spine-flutter/lib/generated/rotate_mode.dart index 0f7818fa6..4de24b5dc 100644 --- a/spine-flutter/lib/generated/rotate_mode.dart +++ b/spine-flutter/lib/generated/rotate_mode.dart @@ -32,8 +32,8 @@ /// RotateMode enum enum RotateMode { tangent(0), - chain(1), - chainScale(2); + chain(0), + chainScale(0); const RotateMode(this.value); final int value; @@ -44,4 +44,4 @@ enum RotateMode { orElse: () => throw ArgumentError('Invalid RotateMode value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/rotate_timeline.dart b/spine-flutter/lib/generated/rotate_timeline.dart index be012ff9c..5dce9d4fb 100644 --- a/spine-flutter/lib/generated/rotate_timeline.dart +++ b/spine-flutter/lib/generated/rotate_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'bone_timeline1.dart'; @@ -45,12 +45,8 @@ class RotateTimeline extends BoneTimeline1 { Pointer get nativePtr => _ptr; factory RotateTimeline(int frameCount, int bezierCount, int boneIndex) { - final ptr = SpineBindings.bindings.spine_rotate_timeline_create(frameCount, bezierCount, boneIndex); + final ptr = SpineBindings.bindings + .spine_rotate_timeline_create(frameCount, bezierCount, boneIndex); return RotateTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_rotate_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/rtti.dart b/spine-flutter/lib/generated/rtti.dart index 1beb13db3..91369d9c1 100644 --- a/spine-flutter/lib/generated/rtti.dart +++ b/spine-flutter/lib/generated/rtti.dart @@ -31,7 +31,7 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// Rtti wrapper @@ -49,16 +49,14 @@ class Rtti implements Finalizable { } bool isExactly(Rtti rtti) { - final result = SpineBindings.bindings.spine_rtti_is_exactly(_ptr, rtti.nativePtr.cast()); + final result = SpineBindings.bindings + .spine_rtti_is_exactly(_ptr, rtti.nativePtr.cast()); return result; } bool instanceOf(Rtti rtti) { - final result = SpineBindings.bindings.spine_rtti_instance_of(_ptr, rtti.nativePtr.cast()); + final result = SpineBindings.bindings + .spine_rtti_instance_of(_ptr, rtti.nativePtr.cast()); return result; } - - void dispose() { - SpineBindings.bindings.spine_rtti_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/scale_timeline.dart b/spine-flutter/lib/generated/scale_timeline.dart index adef17159..bcacc141d 100644 --- a/spine-flutter/lib/generated/scale_timeline.dart +++ b/spine-flutter/lib/generated/scale_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'bone_timeline2.dart'; @@ -45,12 +45,8 @@ class ScaleTimeline extends BoneTimeline2 { Pointer get nativePtr => _ptr; factory ScaleTimeline(int frameCount, int bezierCount, int boneIndex) { - final ptr = SpineBindings.bindings.spine_scale_timeline_create(frameCount, bezierCount, boneIndex); + final ptr = SpineBindings.bindings + .spine_scale_timeline_create(frameCount, bezierCount, boneIndex); return ScaleTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_scale_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/scale_x_timeline.dart b/spine-flutter/lib/generated/scale_x_timeline.dart index bf850e016..07a6e6aa0 100644 --- a/spine-flutter/lib/generated/scale_x_timeline.dart +++ b/spine-flutter/lib/generated/scale_x_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'bone_timeline1.dart'; @@ -45,12 +45,8 @@ class ScaleXTimeline extends BoneTimeline1 { Pointer get nativePtr => _ptr; factory ScaleXTimeline(int frameCount, int bezierCount, int boneIndex) { - final ptr = SpineBindings.bindings.spine_scale_x_timeline_create(frameCount, bezierCount, boneIndex); + final ptr = SpineBindings.bindings + .spine_scale_x_timeline_create(frameCount, bezierCount, boneIndex); return ScaleXTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_scale_x_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/scale_y_timeline.dart b/spine-flutter/lib/generated/scale_y_timeline.dart index b575d8635..1977cbe76 100644 --- a/spine-flutter/lib/generated/scale_y_timeline.dart +++ b/spine-flutter/lib/generated/scale_y_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'bone_timeline1.dart'; @@ -45,12 +45,8 @@ class ScaleYTimeline extends BoneTimeline1 { Pointer get nativePtr => _ptr; factory ScaleYTimeline(int frameCount, int bezierCount, int boneIndex) { - final ptr = SpineBindings.bindings.spine_scale_y_timeline_create(frameCount, bezierCount, boneIndex); + final ptr = SpineBindings.bindings + .spine_scale_y_timeline_create(frameCount, bezierCount, boneIndex); return ScaleYTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_scale_y_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/sequence.dart b/spine-flutter/lib/generated/sequence.dart index 466018f53..a673987e0 100644 --- a/spine-flutter/lib/generated/sequence.dart +++ b/spine-flutter/lib/generated/sequence.dart @@ -31,11 +31,11 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'slot_pose.dart'; -import 'attachment.dart'; import 'arrays.dart'; +import 'attachment.dart'; +import 'slot_pose.dart'; /// Sequence wrapper class Sequence implements Finalizable { @@ -57,11 +57,13 @@ class Sequence implements Finalizable { } void apply(SlotPose slot, Attachment attachment) { - SpineBindings.bindings.spine_sequence_apply(_ptr, slot.nativePtr.cast(), attachment.nativePtr.cast()); + SpineBindings.bindings.spine_sequence_apply( + _ptr, slot.nativePtr.cast(), attachment.nativePtr.cast()); } String getPath(String basePath, int index) { - final result = SpineBindings.bindings.spine_sequence_get_path(_ptr, basePath.toNativeUtf8().cast(), index); + final result = SpineBindings.bindings.spine_sequence_get_path( + _ptr, basePath.toNativeUtf8().cast(), index); return result.cast().toDartString(); } @@ -105,8 +107,4 @@ class Sequence implements Finalizable { final result = SpineBindings.bindings.spine_sequence_get_regions(_ptr); return ArrayTextureRegion.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_sequence_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/sequence_mode.dart b/spine-flutter/lib/generated/sequence_mode.dart index 2e65c1b8d..4e5ff2502 100644 --- a/spine-flutter/lib/generated/sequence_mode.dart +++ b/spine-flutter/lib/generated/sequence_mode.dart @@ -48,4 +48,4 @@ enum SequenceMode { orElse: () => throw ArgumentError('Invalid SequenceMode value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/sequence_timeline.dart b/spine-flutter/lib/generated/sequence_timeline.dart index 42a978e15..cb69d9e60 100644 --- a/spine-flutter/lib/generated/sequence_timeline.dart +++ b/spine-flutter/lib/generated/sequence_timeline.dart @@ -31,20 +31,21 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'timeline.dart'; -import 'sequence_mode.dart'; import 'attachment.dart'; -import 'point_attachment.dart'; -import 'region_attachment.dart'; import 'bounding_box_attachment.dart'; import 'clipping_attachment.dart'; import 'mesh_attachment.dart'; import 'path_attachment.dart'; +import 'point_attachment.dart'; +import 'region_attachment.dart'; +import 'sequence_mode.dart'; +import 'slot_timeline.dart'; +import 'timeline.dart'; /// SequenceTimeline wrapper -class SequenceTimeline extends Timeline { +class SequenceTimeline extends Timeline implements SlotTimeline { final Pointer _ptr; SequenceTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); @@ -53,24 +54,28 @@ class SequenceTimeline extends Timeline { @override Pointer get nativePtr => _ptr; - factory SequenceTimeline(int frameCount, int slotIndex, Attachment attachment) { - final ptr = SpineBindings.bindings.spine_sequence_timeline_create(frameCount, slotIndex, attachment.nativePtr.cast()); + factory SequenceTimeline( + int frameCount, int slotIndex, Attachment attachment) { + final ptr = SpineBindings.bindings.spine_sequence_timeline_create( + frameCount, slotIndex, attachment.nativePtr.cast()); return SequenceTimeline.fromPointer(ptr); } - void setFrame(int frame, double time, SequenceMode mode, int index, double delay) { - SpineBindings.bindings.spine_sequence_timeline_set_frame(_ptr, frame, time, mode.value, index, delay); + void setFrame( + int frame, double time, SequenceMode mode, int index, double delay) { + SpineBindings.bindings.spine_sequence_timeline_set_frame( + _ptr, frame, time, mode.value, index, delay); } Attachment get attachment { - final result = SpineBindings.bindings.spine_sequence_timeline_get_attachment(_ptr); + final result = + SpineBindings.bindings.spine_sequence_timeline_get_attachment(_ptr); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); - final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString(); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); switch (className) { - case 'spine_point_attachment': - return PointAttachment.fromPointer(result.cast()); - case 'spine_region_attachment': - return RegionAttachment.fromPointer(result.cast()); case 'spine_bounding_box_attachment': return BoundingBoxAttachment.fromPointer(result.cast()); case 'spine_clipping_attachment': @@ -79,22 +84,25 @@ class SequenceTimeline extends Timeline { return MeshAttachment.fromPointer(result.cast()); case 'spine_path_attachment': return PathAttachment.fromPointer(result.cast()); + case 'spine_point_attachment': + return PointAttachment.fromPointer(result.cast()); + case 'spine_region_attachment': + return RegionAttachment.fromPointer(result.cast()); default: - throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Attachment'); } } + @override int get slotIndex { - final result = SpineBindings.bindings.spine_sequence_timeline_get_slot_index(_ptr); + final result = + SpineBindings.bindings.spine_sequence_timeline_get_slot_index(_ptr); return result; } + @override set slotIndex(int value) { SpineBindings.bindings.spine_sequence_timeline_set_slot_index(_ptr, value); } - - @override - void dispose() { - SpineBindings.bindings.spine_sequence_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/shear_timeline.dart b/spine-flutter/lib/generated/shear_timeline.dart index 7ee771874..ea7cf08e3 100644 --- a/spine-flutter/lib/generated/shear_timeline.dart +++ b/spine-flutter/lib/generated/shear_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'bone_timeline2.dart'; @@ -45,12 +45,8 @@ class ShearTimeline extends BoneTimeline2 { Pointer get nativePtr => _ptr; factory ShearTimeline(int frameCount, int bezierCount, int boneIndex) { - final ptr = SpineBindings.bindings.spine_shear_timeline_create(frameCount, bezierCount, boneIndex); + final ptr = SpineBindings.bindings + .spine_shear_timeline_create(frameCount, bezierCount, boneIndex); return ShearTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_shear_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/shear_x_timeline.dart b/spine-flutter/lib/generated/shear_x_timeline.dart index 77ee69cf5..b3698355c 100644 --- a/spine-flutter/lib/generated/shear_x_timeline.dart +++ b/spine-flutter/lib/generated/shear_x_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'bone_timeline1.dart'; @@ -45,12 +45,8 @@ class ShearXTimeline extends BoneTimeline1 { Pointer get nativePtr => _ptr; factory ShearXTimeline(int frameCount, int bezierCount, int boneIndex) { - final ptr = SpineBindings.bindings.spine_shear_x_timeline_create(frameCount, bezierCount, boneIndex); + final ptr = SpineBindings.bindings + .spine_shear_x_timeline_create(frameCount, bezierCount, boneIndex); return ShearXTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_shear_x_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/shear_y_timeline.dart b/spine-flutter/lib/generated/shear_y_timeline.dart index 09d22767b..375291309 100644 --- a/spine-flutter/lib/generated/shear_y_timeline.dart +++ b/spine-flutter/lib/generated/shear_y_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'bone_timeline1.dart'; @@ -45,12 +45,8 @@ class ShearYTimeline extends BoneTimeline1 { Pointer get nativePtr => _ptr; factory ShearYTimeline(int frameCount, int bezierCount, int boneIndex) { - final ptr = SpineBindings.bindings.spine_shear_y_timeline_create(frameCount, bezierCount, boneIndex); + final ptr = SpineBindings.bindings + .spine_shear_y_timeline_create(frameCount, bezierCount, boneIndex); return ShearYTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_shear_y_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/skeleton.dart b/spine-flutter/lib/generated/skeleton.dart index 23c9cdf57..de7f619ca 100644 --- a/spine-flutter/lib/generated/skeleton.dart +++ b/spine-flutter/lib/generated/skeleton.dart @@ -31,24 +31,24 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'posed.dart'; -import 'bone.dart'; -import 'physics.dart'; -import 'bone_pose.dart'; -import 'skeleton_data.dart'; -import 'slot.dart'; -import 'skin.dart'; +import 'arrays.dart'; import 'attachment.dart'; -import 'point_attachment.dart'; -import 'region_attachment.dart'; +import 'bone.dart'; +import 'bone_pose.dart'; import 'bounding_box_attachment.dart'; import 'clipping_attachment.dart'; +import 'color.dart'; import 'mesh_attachment.dart'; import 'path_attachment.dart'; -import 'color.dart'; -import 'arrays.dart'; +import 'physics.dart'; +import 'point_attachment.dart'; +import 'posed.dart'; +import 'region_attachment.dart'; +import 'skeleton_data.dart'; +import 'skin.dart'; +import 'slot.dart'; /// Skeleton wrapper class Skeleton implements Finalizable { @@ -60,7 +60,8 @@ class Skeleton implements Finalizable { Pointer get nativePtr => _ptr; factory Skeleton(SkeletonData skeletonData) { - final ptr = SpineBindings.bindings.spine_skeleton_create(skeletonData.nativePtr.cast()); + final ptr = SpineBindings.bindings + .spine_skeleton_create(skeletonData.nativePtr.cast()); return Skeleton.fromPointer(ptr); } @@ -73,11 +74,13 @@ class Skeleton implements Finalizable { } void constrained(Posed object) { - SpineBindings.bindings.spine_skeleton_constrained(_ptr, object.nativePtr.cast()); + SpineBindings.bindings + .spine_skeleton_constrained(_ptr, object.nativePtr.cast()); } void sortBone(Bone bone) { - SpineBindings.bindings.spine_skeleton_sort_bone(_ptr, bone.nativePtr.cast()); + SpineBindings.bindings + .spine_skeleton_sort_bone(_ptr, bone.nativePtr.cast()); } static void sortReset(ArrayBone bones) { @@ -117,7 +120,8 @@ class Skeleton implements Finalizable { } Bone findBone(String boneName) { - final result = SpineBindings.bindings.spine_skeleton_find_bone(_ptr, boneName.toNativeUtf8().cast()); + final result = SpineBindings.bindings + .spine_skeleton_find_bone(_ptr, boneName.toNativeUtf8().cast()); return Bone.fromPointer(result); } @@ -127,7 +131,8 @@ class Skeleton implements Finalizable { } Slot findSlot(String slotName) { - final result = SpineBindings.bindings.spine_skeleton_find_slot(_ptr, slotName.toNativeUtf8().cast()); + final result = SpineBindings.bindings + .spine_skeleton_find_slot(_ptr, slotName.toNativeUtf8().cast()); return Slot.fromPointer(result); } @@ -142,7 +147,10 @@ class Skeleton implements Finalizable { } void setAttachment(String slotName, String attachmentName) { - SpineBindings.bindings.spine_skeleton_set_attachment(_ptr, slotName.toNativeUtf8().cast(), attachmentName.toNativeUtf8().cast()); + SpineBindings.bindings.spine_skeleton_set_attachment( + _ptr, + slotName.toNativeUtf8().cast(), + attachmentName.toNativeUtf8().cast()); } ArrayConstraint get constraints { @@ -151,7 +159,8 @@ class Skeleton implements Finalizable { } ArrayPhysicsConstraint get physicsConstraints { - final result = SpineBindings.bindings.spine_skeleton_get_physics_constraints(_ptr); + final result = + SpineBindings.bindings.spine_skeleton_get_physics_constraints(_ptr); return ArrayPhysicsConstraint.fromPointer(result); } @@ -261,31 +270,37 @@ class Skeleton implements Finalizable { SpineBindings.bindings.spine_skeleton_update(_ptr, delta); } - void updateWorldTransform1(Physics physics) { - SpineBindings.bindings.spine_skeleton_update_world_transform_1(_ptr, physics.value); + void updateWorldTransform(Physics physics) { + SpineBindings.bindings + .spine_skeleton_update_world_transform_1(_ptr, physics.value); } void updateWorldTransform2(Physics physics, BonePose parent) { - SpineBindings.bindings.spine_skeleton_update_world_transform_2(_ptr, physics.value, parent.nativePtr.cast()); + SpineBindings.bindings.spine_skeleton_update_world_transform_2( + _ptr, physics.value, parent.nativePtr.cast()); } - set skin1(String value) { - SpineBindings.bindings.spine_skeleton_set_skin_1(_ptr, value.toNativeUtf8().cast()); + void setSkin(String skinName) { + SpineBindings.bindings + .spine_skeleton_set_skin_1(_ptr, skinName.toNativeUtf8().cast()); } - set skin2(Skin value) { - SpineBindings.bindings.spine_skeleton_set_skin_2(_ptr, value.nativePtr.cast()); + void setSkin2(Skin newSkin) { + SpineBindings.bindings + .spine_skeleton_set_skin_2(_ptr, newSkin.nativePtr.cast()); } - Attachment getAttachment1(String slotName, String attachmentName) { - final result = SpineBindings.bindings.spine_skeleton_get_attachment_1(_ptr, slotName.toNativeUtf8().cast(), attachmentName.toNativeUtf8().cast()); + Attachment getAttachment(String slotName, String attachmentName) { + final result = SpineBindings.bindings.spine_skeleton_get_attachment_1( + _ptr, + slotName.toNativeUtf8().cast(), + attachmentName.toNativeUtf8().cast()); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); - final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString(); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); switch (className) { - case 'spine_point_attachment': - return PointAttachment.fromPointer(result.cast()); - case 'spine_region_attachment': - return RegionAttachment.fromPointer(result.cast()); case 'spine_bounding_box_attachment': return BoundingBoxAttachment.fromPointer(result.cast()); case 'spine_clipping_attachment': @@ -294,20 +309,25 @@ class Skeleton implements Finalizable { return MeshAttachment.fromPointer(result.cast()); case 'spine_path_attachment': return PathAttachment.fromPointer(result.cast()); + case 'spine_point_attachment': + return PointAttachment.fromPointer(result.cast()); + case 'spine_region_attachment': + return RegionAttachment.fromPointer(result.cast()); default: - throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Attachment'); } } Attachment getAttachment2(int slotIndex, String attachmentName) { - final result = SpineBindings.bindings.spine_skeleton_get_attachment_2(_ptr, slotIndex, attachmentName.toNativeUtf8().cast()); + final result = SpineBindings.bindings.spine_skeleton_get_attachment_2( + _ptr, slotIndex, attachmentName.toNativeUtf8().cast()); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); - final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString(); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); switch (className) { - case 'spine_point_attachment': - return PointAttachment.fromPointer(result.cast()); - case 'spine_region_attachment': - return RegionAttachment.fromPointer(result.cast()); case 'spine_bounding_box_attachment': return BoundingBoxAttachment.fromPointer(result.cast()); case 'spine_clipping_attachment': @@ -316,20 +336,22 @@ class Skeleton implements Finalizable { return MeshAttachment.fromPointer(result.cast()); case 'spine_path_attachment': return PathAttachment.fromPointer(result.cast()); + case 'spine_point_attachment': + return PointAttachment.fromPointer(result.cast()); + case 'spine_region_attachment': + return RegionAttachment.fromPointer(result.cast()); default: - throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Attachment'); } } - set color1(Color value) { - SpineBindings.bindings.spine_skeleton_set_color_1(_ptr, value.nativePtr.cast()); + set setColor(Color value) { + SpineBindings.bindings + .spine_skeleton_set_color_1(_ptr, value.nativePtr.cast()); } void setColor2(double r, double g, double b, double a) { SpineBindings.bindings.spine_skeleton_set_color_2(_ptr, r, g, b, a); } - - void dispose() { - SpineBindings.bindings.spine_skeleton_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/skeleton_binary.dart b/spine-flutter/lib/generated/skeleton_binary.dart index 59c0ad14c..95b49cd5b 100644 --- a/spine-flutter/lib/generated/skeleton_binary.dart +++ b/spine-flutter/lib/generated/skeleton_binary.dart @@ -31,11 +31,11 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'skeleton_data.dart'; import 'atlas.dart'; import 'attachment_loader.dart'; +import 'skeleton_data.dart'; /// SkeletonBinary wrapper class SkeletonBinary implements Finalizable { @@ -47,17 +47,22 @@ class SkeletonBinary implements Finalizable { Pointer get nativePtr => _ptr; factory SkeletonBinary(Atlas atlas) { - final ptr = SpineBindings.bindings.spine_skeleton_binary_create(atlas.nativePtr.cast()); + final ptr = SpineBindings.bindings + .spine_skeleton_binary_create(atlas.nativePtr.cast()); return SkeletonBinary.fromPointer(ptr); } - factory SkeletonBinary.variant2(AttachmentLoader attachmentLoader, bool ownsLoader) { - final ptr = SpineBindings.bindings.spine_skeleton_binary_create2(attachmentLoader.nativePtr.cast(), ownsLoader); + factory SkeletonBinary.variant2( + AttachmentLoader attachmentLoader, bool ownsLoader) { + final ptr = SpineBindings.bindings.spine_skeleton_binary_create2( + attachmentLoader.nativePtr.cast(), ownsLoader); return SkeletonBinary.fromPointer(ptr); } SkeletonData readSkeletonDataFile(String path) { - final result = SpineBindings.bindings.spine_skeleton_binary_read_skeleton_data_file(_ptr, path.toNativeUtf8().cast()); + final result = SpineBindings.bindings + .spine_skeleton_binary_read_skeleton_data_file( + _ptr, path.toNativeUtf8().cast()); return SkeletonData.fromPointer(result); } @@ -69,8 +74,4 @@ class SkeletonBinary implements Finalizable { final result = SpineBindings.bindings.spine_skeleton_binary_get_error(_ptr); return result.cast().toDartString(); } - - void dispose() { - SpineBindings.bindings.spine_skeleton_binary_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/skeleton_bounds.dart b/spine-flutter/lib/generated/skeleton_bounds.dart index 312a423d7..f242f9b6f 100644 --- a/spine-flutter/lib/generated/skeleton_bounds.dart +++ b/spine-flutter/lib/generated/skeleton_bounds.dart @@ -30,12 +30,12 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'skeleton.dart'; -import 'polygon.dart'; -import 'bounding_box_attachment.dart'; import 'arrays.dart'; +import 'bounding_box_attachment.dart'; +import 'polygon.dart'; +import 'skeleton.dart'; /// SkeletonBounds wrapper class SkeletonBounds implements Finalizable { @@ -52,41 +52,50 @@ class SkeletonBounds implements Finalizable { } void update(Skeleton skeleton, bool updateAabb) { - SpineBindings.bindings.spine_skeleton_bounds_update(_ptr, skeleton.nativePtr.cast(), updateAabb); + SpineBindings.bindings.spine_skeleton_bounds_update( + _ptr, skeleton.nativePtr.cast(), updateAabb); } bool aabbContainsPoint(double x, double y) { - final result = SpineBindings.bindings.spine_skeleton_bounds_aabb_contains_point(_ptr, x, y); + final result = SpineBindings.bindings + .spine_skeleton_bounds_aabb_contains_point(_ptr, x, y); return result; } bool aabbIntersectsSegment(double x1, double y1, double x2, double y2) { - final result = SpineBindings.bindings.spine_skeleton_bounds_aabb_intersects_segment(_ptr, x1, y1, x2, y2); + final result = SpineBindings.bindings + .spine_skeleton_bounds_aabb_intersects_segment(_ptr, x1, y1, x2, y2); return result; } bool aabbIntersectsSkeleton(SkeletonBounds bounds) { - final result = SpineBindings.bindings.spine_skeleton_bounds_aabb_intersects_skeleton(_ptr, bounds.nativePtr.cast()); + final result = SpineBindings.bindings + .spine_skeleton_bounds_aabb_intersects_skeleton( + _ptr, bounds.nativePtr.cast()); return result; } Polygon getPolygon(BoundingBoxAttachment attachment) { - final result = SpineBindings.bindings.spine_skeleton_bounds_get_polygon(_ptr, attachment.nativePtr.cast()); + final result = SpineBindings.bindings + .spine_skeleton_bounds_get_polygon(_ptr, attachment.nativePtr.cast()); return Polygon.fromPointer(result); } BoundingBoxAttachment getBoundingBox(Polygon polygon) { - final result = SpineBindings.bindings.spine_skeleton_bounds_get_bounding_box(_ptr, polygon.nativePtr.cast()); + final result = SpineBindings.bindings + .spine_skeleton_bounds_get_bounding_box(_ptr, polygon.nativePtr.cast()); return BoundingBoxAttachment.fromPointer(result); } ArrayPolygon get polygons { - final result = SpineBindings.bindings.spine_skeleton_bounds_get_polygons(_ptr); + final result = + SpineBindings.bindings.spine_skeleton_bounds_get_polygons(_ptr); return ArrayPolygon.fromPointer(result); } ArrayBoundingBoxAttachment get boundingBoxes { - final result = SpineBindings.bindings.spine_skeleton_bounds_get_bounding_boxes(_ptr); + final result = + SpineBindings.bindings.spine_skeleton_bounds_get_bounding_boxes(_ptr); return ArrayBoundingBoxAttachment.fromPointer(result); } @@ -116,31 +125,36 @@ class SkeletonBounds implements Finalizable { } double get height { - final result = SpineBindings.bindings.spine_skeleton_bounds_get_height(_ptr); + final result = + SpineBindings.bindings.spine_skeleton_bounds_get_height(_ptr); return result; } - bool containsPoint1(Polygon polygon, double x, double y) { - final result = SpineBindings.bindings.spine_skeleton_bounds_contains_point_1(_ptr, polygon.nativePtr.cast(), x, y); + bool containsPoint(Polygon polygon, double x, double y) { + final result = SpineBindings.bindings + .spine_skeleton_bounds_contains_point_1( + _ptr, polygon.nativePtr.cast(), x, y); return result; } BoundingBoxAttachment containsPoint2(double x, double y) { - final result = SpineBindings.bindings.spine_skeleton_bounds_contains_point_2(_ptr, x, y); + final result = SpineBindings.bindings + .spine_skeleton_bounds_contains_point_2(_ptr, x, y); return BoundingBoxAttachment.fromPointer(result); } - BoundingBoxAttachment intersectsSegment1(double x1, double y1, double x2, double y2) { - final result = SpineBindings.bindings.spine_skeleton_bounds_intersects_segment_1(_ptr, x1, y1, x2, y2); + BoundingBoxAttachment intersectsSegment( + double x1, double y1, double x2, double y2) { + final result = SpineBindings.bindings + .spine_skeleton_bounds_intersects_segment_1(_ptr, x1, y1, x2, y2); return BoundingBoxAttachment.fromPointer(result); } - bool intersectsSegment2(Polygon polygon, double x1, double y1, double x2, double y2) { - final result = SpineBindings.bindings.spine_skeleton_bounds_intersects_segment_2(_ptr, polygon.nativePtr.cast(), x1, y1, x2, y2); + bool intersectsSegment2( + Polygon polygon, double x1, double y1, double x2, double y2) { + final result = SpineBindings.bindings + .spine_skeleton_bounds_intersects_segment_2( + _ptr, polygon.nativePtr.cast(), x1, y1, x2, y2); return result; } - - void dispose() { - SpineBindings.bindings.spine_skeleton_bounds_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/skeleton_clipping.dart b/spine-flutter/lib/generated/skeleton_clipping.dart index c021a25c7..703d7f995 100644 --- a/spine-flutter/lib/generated/skeleton_clipping.dart +++ b/spine-flutter/lib/generated/skeleton_clipping.dart @@ -30,12 +30,12 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; +import 'arrays.dart'; +import 'clipping_attachment.dart'; import 'skeleton.dart'; import 'slot.dart'; -import 'clipping_attachment.dart'; -import 'arrays.dart'; /// SkeletonClipping wrapper class SkeletonClipping implements Finalizable { @@ -52,44 +52,56 @@ class SkeletonClipping implements Finalizable { } int clipStart(Skeleton skeleton, Slot slot, ClippingAttachment clip) { - final result = SpineBindings.bindings.spine_skeleton_clipping_clip_start(_ptr, skeleton.nativePtr.cast(), slot.nativePtr.cast(), clip.nativePtr.cast()); + final result = SpineBindings.bindings.spine_skeleton_clipping_clip_start( + _ptr, + skeleton.nativePtr.cast(), + slot.nativePtr.cast(), + clip.nativePtr.cast()); return result; } bool get isClipping { - final result = SpineBindings.bindings.spine_skeleton_clipping_is_clipping(_ptr); + final result = + SpineBindings.bindings.spine_skeleton_clipping_is_clipping(_ptr); return result; } ArrayFloat get clippedVertices { - final result = SpineBindings.bindings.spine_skeleton_clipping_get_clipped_vertices(_ptr); + final result = SpineBindings.bindings + .spine_skeleton_clipping_get_clipped_vertices(_ptr); return ArrayFloat.fromPointer(result); } ArrayUnsignedShort get clippedTriangles { - final result = SpineBindings.bindings.spine_skeleton_clipping_get_clipped_triangles(_ptr); + final result = SpineBindings.bindings + .spine_skeleton_clipping_get_clipped_triangles(_ptr); return ArrayUnsignedShort.fromPointer(result); } ArrayFloat get clippedUVs { - final result = SpineBindings.bindings.spine_skeleton_clipping_get_clipped_u_vs(_ptr); + final result = + SpineBindings.bindings.spine_skeleton_clipping_get_clipped_u_vs(_ptr); return ArrayFloat.fromPointer(result); } - void clipEnd1(Slot slot) { - SpineBindings.bindings.spine_skeleton_clipping_clip_end_1(_ptr, slot.nativePtr.cast()); + void clipEnd(Slot slot) { + SpineBindings.bindings + .spine_skeleton_clipping_clip_end_1(_ptr, slot.nativePtr.cast()); } void clipEnd2() { SpineBindings.bindings.spine_skeleton_clipping_clip_end_2(_ptr); } - bool clipTriangles(ArrayFloat vertices, ArrayUnsignedShort triangles, ArrayFloat uvs, int stride) { - final result = SpineBindings.bindings.spine_skeleton_clipping_clip_triangles_3(_ptr, vertices.nativePtr.cast(), triangles.nativePtr.cast(), uvs.nativePtr.cast(), stride); + bool clipTriangles(ArrayFloat vertices, ArrayUnsignedShort triangles, + ArrayFloat uvs, int stride) { + final result = SpineBindings.bindings + .spine_skeleton_clipping_clip_triangles_3( + _ptr, + vertices.nativePtr.cast(), + triangles.nativePtr.cast(), + uvs.nativePtr.cast(), + stride); return result; } - - void dispose() { - SpineBindings.bindings.spine_skeleton_clipping_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/skeleton_data.dart b/spine-flutter/lib/generated/skeleton_data.dart index 293e77672..2b96b242b 100644 --- a/spine-flutter/lib/generated/skeleton_data.dart +++ b/spine-flutter/lib/generated/skeleton_data.dart @@ -31,14 +31,14 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'bone_data.dart'; -import 'slot_data.dart'; -import 'skin.dart'; -import 'event_data.dart'; import 'animation.dart'; import 'arrays.dart'; +import 'bone_data.dart'; +import 'event_data.dart'; +import 'skin.dart'; +import 'slot_data.dart'; /// SkeletonData wrapper class SkeletonData implements Finalizable { @@ -55,27 +55,32 @@ class SkeletonData implements Finalizable { } BoneData findBone(String boneName) { - final result = SpineBindings.bindings.spine_skeleton_data_find_bone(_ptr, boneName.toNativeUtf8().cast()); + final result = SpineBindings.bindings.spine_skeleton_data_find_bone( + _ptr, boneName.toNativeUtf8().cast()); return BoneData.fromPointer(result); } SlotData findSlot(String slotName) { - final result = SpineBindings.bindings.spine_skeleton_data_find_slot(_ptr, slotName.toNativeUtf8().cast()); + final result = SpineBindings.bindings.spine_skeleton_data_find_slot( + _ptr, slotName.toNativeUtf8().cast()); return SlotData.fromPointer(result); } Skin findSkin(String skinName) { - final result = SpineBindings.bindings.spine_skeleton_data_find_skin(_ptr, skinName.toNativeUtf8().cast()); + final result = SpineBindings.bindings.spine_skeleton_data_find_skin( + _ptr, skinName.toNativeUtf8().cast()); return Skin.fromPointer(result); } EventData findEvent(String eventDataName) { - final result = SpineBindings.bindings.spine_skeleton_data_find_event(_ptr, eventDataName.toNativeUtf8().cast()); + final result = SpineBindings.bindings.spine_skeleton_data_find_event( + _ptr, eventDataName.toNativeUtf8().cast()); return EventData.fromPointer(result); } Animation findAnimation(String animationName) { - final result = SpineBindings.bindings.spine_skeleton_data_find_animation(_ptr, animationName.toNativeUtf8().cast()); + final result = SpineBindings.bindings.spine_skeleton_data_find_animation( + _ptr, animationName.toNativeUtf8().cast()); return Animation.fromPointer(result); } @@ -85,7 +90,8 @@ class SkeletonData implements Finalizable { } set name(String value) { - SpineBindings.bindings.spine_skeleton_data_set_name(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings + .spine_skeleton_data_set_name(_ptr, value.toNativeUtf8().cast()); } ArrayBoneData get bones { @@ -104,12 +110,14 @@ class SkeletonData implements Finalizable { } Skin get defaultSkin { - final result = SpineBindings.bindings.spine_skeleton_data_get_default_skin(_ptr); + final result = + SpineBindings.bindings.spine_skeleton_data_get_default_skin(_ptr); return Skin.fromPointer(result); } set defaultSkin(Skin value) { - SpineBindings.bindings.spine_skeleton_data_set_default_skin(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_skeleton_data_set_default_skin(_ptr, value.nativePtr.cast()); } ArrayEventData get events { @@ -118,12 +126,14 @@ class SkeletonData implements Finalizable { } ArrayAnimation get animations { - final result = SpineBindings.bindings.spine_skeleton_data_get_animations(_ptr); + final result = + SpineBindings.bindings.spine_skeleton_data_get_animations(_ptr); return ArrayAnimation.fromPointer(result); } ArrayConstraintData get constraints { - final result = SpineBindings.bindings.spine_skeleton_data_get_constraints(_ptr); + final result = + SpineBindings.bindings.spine_skeleton_data_get_constraints(_ptr); return ArrayConstraintData.fromPointer(result); } @@ -164,7 +174,8 @@ class SkeletonData implements Finalizable { } double get referenceScale { - final result = SpineBindings.bindings.spine_skeleton_data_get_reference_scale(_ptr); + final result = + SpineBindings.bindings.spine_skeleton_data_get_reference_scale(_ptr); return result; } @@ -178,7 +189,8 @@ class SkeletonData implements Finalizable { } set version(String value) { - SpineBindings.bindings.spine_skeleton_data_set_version(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings.spine_skeleton_data_set_version( + _ptr, value.toNativeUtf8().cast()); } String get hash { @@ -187,25 +199,30 @@ class SkeletonData implements Finalizable { } set hash(String value) { - SpineBindings.bindings.spine_skeleton_data_set_hash(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings + .spine_skeleton_data_set_hash(_ptr, value.toNativeUtf8().cast()); } String get imagesPath { - final result = SpineBindings.bindings.spine_skeleton_data_get_images_path(_ptr); + final result = + SpineBindings.bindings.spine_skeleton_data_get_images_path(_ptr); return result.cast().toDartString(); } set imagesPath(String value) { - SpineBindings.bindings.spine_skeleton_data_set_images_path(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings.spine_skeleton_data_set_images_path( + _ptr, value.toNativeUtf8().cast()); } String get audioPath { - final result = SpineBindings.bindings.spine_skeleton_data_get_audio_path(_ptr); + final result = + SpineBindings.bindings.spine_skeleton_data_get_audio_path(_ptr); return result.cast().toDartString(); } set audioPath(String value) { - SpineBindings.bindings.spine_skeleton_data_set_audio_path(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings.spine_skeleton_data_set_audio_path( + _ptr, value.toNativeUtf8().cast()); } double get fps { @@ -216,8 +233,4 @@ class SkeletonData implements Finalizable { set fps(double value) { SpineBindings.bindings.spine_skeleton_data_set_fps(_ptr, value); } - - void dispose() { - SpineBindings.bindings.spine_skeleton_data_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/skeleton_json.dart b/spine-flutter/lib/generated/skeleton_json.dart index 11fd01588..a355c2ef3 100644 --- a/spine-flutter/lib/generated/skeleton_json.dart +++ b/spine-flutter/lib/generated/skeleton_json.dart @@ -31,11 +31,11 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'skeleton_data.dart'; import 'atlas.dart'; import 'attachment_loader.dart'; +import 'skeleton_data.dart'; /// SkeletonJson wrapper class SkeletonJson implements Finalizable { @@ -47,22 +47,29 @@ class SkeletonJson implements Finalizable { Pointer get nativePtr => _ptr; factory SkeletonJson(Atlas atlas) { - final ptr = SpineBindings.bindings.spine_skeleton_json_create(atlas.nativePtr.cast()); + final ptr = SpineBindings.bindings + .spine_skeleton_json_create(atlas.nativePtr.cast()); return SkeletonJson.fromPointer(ptr); } - factory SkeletonJson.variant2(AttachmentLoader attachmentLoader, bool ownsLoader) { - final ptr = SpineBindings.bindings.spine_skeleton_json_create2(attachmentLoader.nativePtr.cast(), ownsLoader); + factory SkeletonJson.variant2( + AttachmentLoader attachmentLoader, bool ownsLoader) { + final ptr = SpineBindings.bindings.spine_skeleton_json_create2( + attachmentLoader.nativePtr.cast(), ownsLoader); return SkeletonJson.fromPointer(ptr); } SkeletonData readSkeletonDataFile(String path) { - final result = SpineBindings.bindings.spine_skeleton_json_read_skeleton_data_file(_ptr, path.toNativeUtf8().cast()); + final result = SpineBindings.bindings + .spine_skeleton_json_read_skeleton_data_file( + _ptr, path.toNativeUtf8().cast()); return SkeletonData.fromPointer(result); } SkeletonData readSkeletonData(String json) { - final result = SpineBindings.bindings.spine_skeleton_json_read_skeleton_data(_ptr, json.toNativeUtf8().cast()); + final result = SpineBindings.bindings + .spine_skeleton_json_read_skeleton_data( + _ptr, json.toNativeUtf8().cast()); return SkeletonData.fromPointer(result); } @@ -74,8 +81,4 @@ class SkeletonJson implements Finalizable { final result = SpineBindings.bindings.spine_skeleton_json_get_error(_ptr); return result.cast().toDartString(); } - - void dispose() { - SpineBindings.bindings.spine_skeleton_json_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/skeleton_renderer.dart b/spine-flutter/lib/generated/skeleton_renderer.dart index 1f2497989..134e3a29d 100644 --- a/spine-flutter/lib/generated/skeleton_renderer.dart +++ b/spine-flutter/lib/generated/skeleton_renderer.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'render_command.dart'; import 'skeleton.dart'; @@ -50,11 +50,8 @@ class SkeletonRenderer implements Finalizable { } RenderCommand render(Skeleton skeleton) { - final result = SpineBindings.bindings.spine_skeleton_renderer_render(_ptr, skeleton.nativePtr.cast()); + final result = SpineBindings.bindings + .spine_skeleton_renderer_render(_ptr, skeleton.nativePtr.cast()); return RenderCommand.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_skeleton_renderer_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/skin.dart b/spine-flutter/lib/generated/skin.dart index 51e3e3e6e..94f420c20 100644 --- a/spine-flutter/lib/generated/skin.dart +++ b/spine-flutter/lib/generated/skin.dart @@ -31,17 +31,17 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; +import 'arrays.dart'; import 'attachment.dart'; -import 'point_attachment.dart'; -import 'region_attachment.dart'; import 'bounding_box_attachment.dart'; import 'clipping_attachment.dart'; +import 'color.dart'; import 'mesh_attachment.dart'; import 'path_attachment.dart'; -import 'color.dart'; -import 'arrays.dart'; +import 'point_attachment.dart'; +import 'region_attachment.dart'; /// Skin wrapper class Skin implements Finalizable { @@ -53,23 +53,25 @@ class Skin implements Finalizable { Pointer get nativePtr => _ptr; factory Skin(String name) { - final ptr = SpineBindings.bindings.spine_skin_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_skin_create(name.toNativeUtf8().cast()); return Skin.fromPointer(ptr); } void setAttachment(int slotIndex, String name, Attachment attachment) { - SpineBindings.bindings.spine_skin_set_attachment(_ptr, slotIndex, name.toNativeUtf8().cast(), attachment.nativePtr.cast()); + SpineBindings.bindings.spine_skin_set_attachment(_ptr, slotIndex, + name.toNativeUtf8().cast(), attachment.nativePtr.cast()); } Attachment getAttachment(int slotIndex, String name) { - final result = SpineBindings.bindings.spine_skin_get_attachment(_ptr, slotIndex, name.toNativeUtf8().cast()); + final result = SpineBindings.bindings.spine_skin_get_attachment( + _ptr, slotIndex, name.toNativeUtf8().cast()); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); - final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString(); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); switch (className) { - case 'spine_point_attachment': - return PointAttachment.fromPointer(result.cast()); - case 'spine_region_attachment': - return RegionAttachment.fromPointer(result.cast()); case 'spine_bounding_box_attachment': return BoundingBoxAttachment.fromPointer(result.cast()); case 'spine_clipping_attachment': @@ -78,17 +80,24 @@ class Skin implements Finalizable { return MeshAttachment.fromPointer(result.cast()); case 'spine_path_attachment': return PathAttachment.fromPointer(result.cast()); + case 'spine_point_attachment': + return PointAttachment.fromPointer(result.cast()); + case 'spine_region_attachment': + return RegionAttachment.fromPointer(result.cast()); default: - throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Attachment'); } } void removeAttachment(int slotIndex, String name) { - SpineBindings.bindings.spine_skin_remove_attachment(_ptr, slotIndex, name.toNativeUtf8().cast()); + SpineBindings.bindings.spine_skin_remove_attachment( + _ptr, slotIndex, name.toNativeUtf8().cast()); } void findAttachmentsForSlot(int slotIndex, ArrayAttachment attachments) { - SpineBindings.bindings.spine_skin_find_attachments_for_slot(_ptr, slotIndex, attachments.nativePtr.cast()); + SpineBindings.bindings.spine_skin_find_attachments_for_slot( + _ptr, slotIndex, attachments.nativePtr.cast()); } String get name { @@ -118,8 +127,4 @@ class Skin implements Finalizable { final result = SpineBindings.bindings.spine_skin_get_color(_ptr); return Color.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_skin_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/slider.dart b/spine-flutter/lib/generated/slider.dart index 22c007dff..ae391cf93 100644 --- a/spine-flutter/lib/generated/slider.dart +++ b/spine-flutter/lib/generated/slider.dart @@ -30,47 +30,58 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'skeleton.dart'; -import 'physics.dart'; import 'bone.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'; /// Slider wrapper -class Slider implements Finalizable { +class Slider extends PosedActive implements Posed, Constraint { final Pointer _ptr; - Slider.fromPointer(this._ptr); + Slider.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls + @override Pointer get nativePtr => _ptr; factory Slider(SliderData data, Skeleton skeleton) { - final ptr = SpineBindings.bindings.spine_slider_create(data.nativePtr.cast(), skeleton.nativePtr.cast()); + final ptr = SpineBindings.bindings + .spine_slider_create(data.nativePtr.cast(), skeleton.nativePtr.cast()); return Slider.fromPointer(ptr); } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_slider_get_rtti(_ptr); return Rtti.fromPointer(result); } 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); } + @override void update(Skeleton skeleton, Physics physics) { - SpineBindings.bindings.spine_slider_update(_ptr, skeleton.nativePtr.cast(), physics.value); + 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; @@ -85,6 +96,7 @@ class Slider implements Finalizable { 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); @@ -100,34 +112,25 @@ class Slider implements Finalizable { 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); + final result = + SpineBindings.bindings.spine_slider_is_pose_equal_to_applied(_ptr); return result; } - bool get isActive { - final result = SpineBindings.bindings.spine_slider_is_active(_ptr); - return result; - } - - set active(bool value) { - SpineBindings.bindings.spine_slider_set_active(_ptr, value); - } - static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_slider_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_slider_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/slider_data.dart b/spine-flutter/lib/generated/slider_data.dart index 7163a773e..165c25b2b 100644 --- a/spine-flutter/lib/generated/slider_data.dart +++ b/spine-flutter/lib/generated/slider_data.dart @@ -31,13 +31,13 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'constraint.dart'; -import 'skeleton.dart'; import 'animation.dart'; import 'bone_data.dart'; +import 'constraint.dart'; +import 'constraint_data.dart'; import 'from_property.dart'; import 'from_rotate.dart'; import 'from_scale_x.dart'; @@ -45,30 +45,61 @@ import 'from_scale_y.dart'; import 'from_shear_y.dart'; import 'from_x.dart'; import 'from_y.dart'; +import 'ik_constraint.dart'; +import 'path_constraint.dart'; +import 'physics_constraint.dart'; +import 'posed_data.dart'; +import 'skeleton.dart'; +import 'slider.dart'; import 'slider_pose.dart'; +import 'transform_constraint.dart'; /// SliderData wrapper -class SliderData implements Finalizable { +class SliderData extends PosedData implements ConstraintData { final Pointer _ptr; - SliderData.fromPointer(this._ptr); + SliderData.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls + @override Pointer get nativePtr => _ptr; factory SliderData(String name) { - final ptr = SpineBindings.bindings.spine_slider_data_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings + .spine_slider_data_create(name.toNativeUtf8().cast()); return SliderData.fromPointer(ptr); } + @override Rtti get rtti { final result = SpineBindings.bindings.spine_slider_data_get_rtti(_ptr); return Rtti.fromPointer(result); } + @override Constraint createMethod(Skeleton skeleton) { - final result = SpineBindings.bindings.spine_slider_data_create_method(_ptr, skeleton.nativePtr.cast()); - throw UnsupportedError('Cannot instantiate abstract class Constraint from pointer - no concrete subclasses found'); + final result = SpineBindings.bindings + .spine_slider_data_create_method(_ptr, skeleton.nativePtr.cast()); + final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); + switch (className) { + case 'spine_ik_constraint': + return IkConstraint.fromPointer(result.cast()); + case 'spine_path_constraint': + return PathConstraint.fromPointer(result.cast()); + case 'spine_physics_constraint': + return PhysicsConstraint.fromPointer(result.cast()); + case 'spine_slider': + return Slider.fromPointer(result.cast()); + case 'spine_transform_constraint': + return TransformConstraint.fromPointer(result.cast()); + default: + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Constraint'); + } } Animation get animation { @@ -77,7 +108,8 @@ class SliderData implements Finalizable { } set animation(Animation value) { - SpineBindings.bindings.spine_slider_data_set_animation(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_slider_data_set_animation(_ptr, value.nativePtr.cast()); } bool get additive { @@ -104,13 +136,17 @@ class SliderData implements Finalizable { } set bone(BoneData value) { - SpineBindings.bindings.spine_slider_data_set_bone(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_slider_data_set_bone(_ptr, value.nativePtr.cast()); } FromProperty get property { final result = SpineBindings.bindings.spine_slider_data_get_property(_ptr); final rtti = SpineBindings.bindings.spine_from_property_get_rtti(result); - final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString(); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); switch (className) { case 'spine_from_rotate': return FromRotate.fromPointer(result.cast()); @@ -125,12 +161,14 @@ class SliderData implements Finalizable { case 'spine_from_y': return FromY.fromPointer(result.cast()); default: - throw UnsupportedError('Unknown concrete type: $className for abstract class FromProperty'); + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class FromProperty'); } } set property(FromProperty value) { - SpineBindings.bindings.spine_slider_data_set_property(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_slider_data_set_property(_ptr, value.nativePtr.cast()); } double get scale { @@ -160,31 +198,14 @@ class SliderData implements Finalizable { SpineBindings.bindings.spine_slider_data_set_local(_ptr, value); } - String get name { - final result = SpineBindings.bindings.spine_slider_data_get_name(_ptr); - return result.cast().toDartString(); - } - - bool get skinRequired { - final result = SpineBindings.bindings.spine_slider_data_get_skin_required(_ptr); - return result; - } - SliderPose get setupPose { - final result = SpineBindings.bindings.spine_slider_data_get_setup_pose(_ptr); + final result = + SpineBindings.bindings.spine_slider_data_get_setup_pose(_ptr); return SliderPose.fromPointer(result); } - set skinRequired(bool value) { - SpineBindings.bindings.spine_slider_data_set_skin_required(_ptr, value); - } - static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_slider_data_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_slider_data_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/slider_mix_timeline.dart b/spine-flutter/lib/generated/slider_mix_timeline.dart index a08875317..5e15c9aab 100644 --- a/spine-flutter/lib/generated/slider_mix_timeline.dart +++ b/spine-flutter/lib/generated/slider_mix_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'constraint_timeline1.dart'; @@ -45,12 +45,8 @@ class SliderMixTimeline extends ConstraintTimeline1 { Pointer get nativePtr => _ptr; factory SliderMixTimeline(int frameCount, int bezierCount, int sliderIndex) { - final ptr = SpineBindings.bindings.spine_slider_mix_timeline_create(frameCount, bezierCount, sliderIndex); + final ptr = SpineBindings.bindings + .spine_slider_mix_timeline_create(frameCount, bezierCount, sliderIndex); return SliderMixTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_slider_mix_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/slider_pose.dart b/spine-flutter/lib/generated/slider_pose.dart index 5683d3616..d92d9f113 100644 --- a/spine-flutter/lib/generated/slider_pose.dart +++ b/spine-flutter/lib/generated/slider_pose.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// SliderPose wrapper @@ -68,8 +68,4 @@ class SliderPose implements Finalizable { set mix(double value) { SpineBindings.bindings.spine_slider_pose_set_mix(_ptr, value); } - - void dispose() { - SpineBindings.bindings.spine_slider_pose_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/slider_timeline.dart b/spine-flutter/lib/generated/slider_timeline.dart index db98c15e7..bf9c88f47 100644 --- a/spine-flutter/lib/generated/slider_timeline.dart +++ b/spine-flutter/lib/generated/slider_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'constraint_timeline1.dart'; @@ -45,12 +45,8 @@ class SliderTimeline extends ConstraintTimeline1 { Pointer get nativePtr => _ptr; factory SliderTimeline(int frameCount, int bezierCount, int sliderIndex) { - final ptr = SpineBindings.bindings.spine_slider_timeline_create(frameCount, bezierCount, sliderIndex); + final ptr = SpineBindings.bindings + .spine_slider_timeline_create(frameCount, bezierCount, sliderIndex); return SliderTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_slider_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/slot.dart b/spine-flutter/lib/generated/slot.dart index 0ce5a2809..f399f97d1 100644 --- a/spine-flutter/lib/generated/slot.dart +++ b/spine-flutter/lib/generated/slot.dart @@ -30,24 +30,27 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'bone.dart'; +import 'posed.dart'; +import 'skeleton.dart'; import 'slot_data.dart'; import 'slot_pose.dart'; -import 'skeleton.dart'; /// Slot wrapper -class Slot implements Finalizable { +class Slot implements Finalizable, Posed { final Pointer _ptr; Slot.fromPointer(this._ptr); /// Get the native pointer for FFI calls + @override Pointer get nativePtr => _ptr; factory Slot(SlotData data, Skeleton skeleton) { - final ptr = SpineBindings.bindings.spine_slot_create(data.nativePtr.cast(), skeleton.nativePtr.cast()); + final ptr = SpineBindings.bindings + .spine_slot_create(data.nativePtr.cast(), skeleton.nativePtr.cast()); return Slot.fromPointer(ptr); } @@ -75,20 +78,20 @@ class Slot implements Finalizable { return SlotPose.fromPointer(result); } + @override void resetConstrained() { SpineBindings.bindings.spine_slot_reset_constrained(_ptr); } + @override void constrained() { SpineBindings.bindings.spine_slot_constrained(_ptr); } + @override bool get isPoseEqualToApplied { - final result = SpineBindings.bindings.spine_slot_is_pose_equal_to_applied(_ptr); + final result = + SpineBindings.bindings.spine_slot_is_pose_equal_to_applied(_ptr); return result; } - - void dispose() { - SpineBindings.bindings.spine_slot_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/slot_curve_timeline.dart b/spine-flutter/lib/generated/slot_curve_timeline.dart index 0cfb1382f..b4294ddb6 100644 --- a/spine-flutter/lib/generated/slot_curve_timeline.dart +++ b/spine-flutter/lib/generated/slot_curve_timeline.dart @@ -30,12 +30,13 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'curve_timeline.dart'; +import 'slot_timeline.dart'; /// SlotCurveTimeline wrapper -abstract class SlotCurveTimeline extends CurveTimeline { +abstract class SlotCurveTimeline extends CurveTimeline implements SlotTimeline { final Pointer _ptr; SlotCurveTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); @@ -44,17 +45,16 @@ abstract class SlotCurveTimeline extends CurveTimeline { @override Pointer get nativePtr => _ptr; + @override int get slotIndex { - final result = SpineBindings.bindings.spine_slot_curve_timeline_get_slot_index(_ptr); + final result = + SpineBindings.bindings.spine_slot_curve_timeline_get_slot_index(_ptr); return result; } - set slotIndex(int value) { - SpineBindings.bindings.spine_slot_curve_timeline_set_slot_index(_ptr, value); - } - @override - void dispose() { - SpineBindings.bindings.spine_slot_curve_timeline_dispose(_ptr); + set slotIndex(int value) { + SpineBindings.bindings + .spine_slot_curve_timeline_set_slot_index(_ptr, value); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/slot_data.dart b/spine-flutter/lib/generated/slot_data.dart index b14fe3453..0e5eaf317 100644 --- a/spine-flutter/lib/generated/slot_data.dart +++ b/spine-flutter/lib/generated/slot_data.dart @@ -31,23 +31,26 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'bone_data.dart'; import 'blend_mode.dart'; +import 'bone_data.dart'; +import 'posed_data.dart'; import 'slot_pose.dart'; /// SlotData wrapper -class SlotData implements Finalizable { +class SlotData extends PosedData { final Pointer _ptr; - SlotData.fromPointer(this._ptr); + SlotData.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls + @override Pointer get nativePtr => _ptr; factory SlotData(int index, String name, BoneData boneData) { - final ptr = SpineBindings.bindings.spine_slot_data_create(index, name.toNativeUtf8().cast(), boneData.nativePtr.cast()); + final ptr = SpineBindings.bindings.spine_slot_data_create( + index, name.toNativeUtf8().cast(), boneData.nativePtr.cast()); return SlotData.fromPointer(ptr); } @@ -62,11 +65,13 @@ class SlotData implements Finalizable { } set attachmentName(String value) { - SpineBindings.bindings.spine_slot_data_set_attachment_name(_ptr, value.toNativeUtf8().cast()); + SpineBindings.bindings.spine_slot_data_set_attachment_name( + _ptr, value.toNativeUtf8().cast()); } String get attachmentName { - final result = SpineBindings.bindings.spine_slot_data_get_attachment_name(_ptr); + final result = + SpineBindings.bindings.spine_slot_data_get_attachment_name(_ptr); return result.cast().toDartString(); } @@ -92,22 +97,4 @@ class SlotData implements Finalizable { final result = SpineBindings.bindings.spine_slot_data_get_setup_pose(_ptr); return SlotPose.fromPointer(result); } - - String get name { - final result = SpineBindings.bindings.spine_slot_data_get_name(_ptr); - return result.cast().toDartString(); - } - - bool get skinRequired { - final result = SpineBindings.bindings.spine_slot_data_get_skin_required(_ptr); - return result; - } - - set skinRequired(bool value) { - SpineBindings.bindings.spine_slot_data_set_skin_required(_ptr, value); - } - - void dispose() { - SpineBindings.bindings.spine_slot_data_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/slot_pose.dart b/spine-flutter/lib/generated/slot_pose.dart index abd829893..12641362b 100644 --- a/spine-flutter/lib/generated/slot_pose.dart +++ b/spine-flutter/lib/generated/slot_pose.dart @@ -31,17 +31,17 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; -import 'color.dart'; +import 'arrays.dart'; import 'attachment.dart'; -import 'point_attachment.dart'; -import 'region_attachment.dart'; import 'bounding_box_attachment.dart'; import 'clipping_attachment.dart'; +import 'color.dart'; import 'mesh_attachment.dart'; import 'path_attachment.dart'; -import 'arrays.dart'; +import 'point_attachment.dart'; +import 'region_attachment.dart'; /// SlotPose wrapper class SlotPose implements Finalizable { @@ -83,12 +83,11 @@ class SlotPose implements Finalizable { Attachment get attachment { final result = SpineBindings.bindings.spine_slot_pose_get_attachment(_ptr); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); - final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString(); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); switch (className) { - case 'spine_point_attachment': - return PointAttachment.fromPointer(result.cast()); - case 'spine_region_attachment': - return RegionAttachment.fromPointer(result.cast()); case 'spine_bounding_box_attachment': return BoundingBoxAttachment.fromPointer(result.cast()); case 'spine_clipping_attachment': @@ -97,17 +96,24 @@ class SlotPose implements Finalizable { return MeshAttachment.fromPointer(result.cast()); case 'spine_path_attachment': return PathAttachment.fromPointer(result.cast()); + case 'spine_point_attachment': + return PointAttachment.fromPointer(result.cast()); + case 'spine_region_attachment': + return RegionAttachment.fromPointer(result.cast()); default: - throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Attachment'); } } set attachment(Attachment value) { - SpineBindings.bindings.spine_slot_pose_set_attachment(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_slot_pose_set_attachment(_ptr, value.nativePtr.cast()); } int get sequenceIndex { - final result = SpineBindings.bindings.spine_slot_pose_get_sequence_index(_ptr); + final result = + SpineBindings.bindings.spine_slot_pose_get_sequence_index(_ptr); return result; } @@ -119,8 +125,4 @@ class SlotPose implements Finalizable { final result = SpineBindings.bindings.spine_slot_pose_get_deform(_ptr); return ArrayFloat.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_slot_pose_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/slot_timeline.dart b/spine-flutter/lib/generated/slot_timeline.dart index cf8ec9788..e02905523 100644 --- a/spine-flutter/lib/generated/slot_timeline.dart +++ b/spine-flutter/lib/generated/slot_timeline.dart @@ -30,39 +30,17 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; /// SlotTimeline wrapper -class SlotTimeline implements Finalizable { - final Pointer _ptr; - - SlotTimeline.fromPointer(this._ptr); - - /// Get the native pointer for FFI calls - Pointer get nativePtr => _ptr; - - Rtti get rtti { - final result = SpineBindings.bindings.spine_slot_timeline_get_rtti(_ptr); - return Rtti.fromPointer(result); - } - - int get slotIndex { - final result = SpineBindings.bindings.spine_slot_timeline_get_slot_index(_ptr); - return result; - } - - set slotIndex(int value) { - SpineBindings.bindings.spine_slot_timeline_set_slot_index(_ptr, value); - } - +abstract class SlotTimeline { + Pointer get nativePtr; + Rtti get rtti; + int get slotIndex; + set slotIndex(int value); static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_slot_timeline_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_slot_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/spacing_mode.dart b/spine-flutter/lib/generated/spacing_mode.dart index 86c900ade..9521ae372 100644 --- a/spine-flutter/lib/generated/spacing_mode.dart +++ b/spine-flutter/lib/generated/spacing_mode.dart @@ -32,9 +32,9 @@ /// SpacingMode enum enum SpacingMode { length(0), - fixed(1), - percent(2), - proportional(3); + fixed(0), + percent(0), + proportional(0); const SpacingMode(this.value); final int value; @@ -45,4 +45,4 @@ enum SpacingMode { orElse: () => throw ArgumentError('Invalid SpacingMode value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/spine_dart.dart b/spine-flutter/lib/generated/spine_dart.dart new file mode 100644 index 000000000..c47315d6e --- /dev/null +++ b/spine-flutter/lib/generated/spine_dart.dart @@ -0,0 +1,178 @@ +// +// 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. + +// Export all generated types + +// Enums +export 'attachment_type.dart'; +export 'blend_mode.dart'; +export 'event_type.dart'; +export 'format.dart'; +export 'inherit.dart'; +export 'mix_blend.dart'; +export 'mix_direction.dart'; +export 'physics.dart'; +export 'position_mode.dart'; +export 'property.dart'; +export 'rotate_mode.dart'; +export 'sequence_mode.dart'; +export 'spacing_mode.dart'; +export 'texture_filter.dart'; +export 'texture_wrap.dart'; + +// Classes +export 'timeline.dart'; +export 'curve_timeline.dart'; +export 'curve_timeline1.dart'; +export 'slot_timeline.dart'; +export 'alpha_timeline.dart'; +export 'animation.dart'; +export 'animation_state.dart'; +export 'animation_state_data.dart'; +export 'atlas.dart'; +export 'attachment_loader.dart'; +export 'atlas_attachment_loader.dart'; +export 'atlas_page.dart'; +export 'texture_region.dart'; +export 'atlas_region.dart'; +export 'attachment.dart'; +export 'attachment_timeline.dart'; +export 'posed_active.dart'; +export 'posed.dart'; +export 'update.dart'; +export 'bone.dart'; +export 'posed_data.dart'; +export 'bone_data.dart'; +export 'bone_local.dart'; +export 'bone_pose.dart'; +export 'bone_timeline.dart'; +export 'bone_timeline1.dart'; +export 'bone_timeline2.dart'; +export 'vertex_attachment.dart'; +export 'bounding_box_attachment.dart'; +export 'clipping_attachment.dart'; +export 'color.dart'; +export 'constraint.dart'; +export 'constraint_data.dart'; +export 'constraint_timeline.dart'; +export 'constraint_timeline1.dart'; +export 'slot_curve_timeline.dart'; +export 'deform_timeline.dart'; +export 'draw_order_timeline.dart'; +export 'event.dart'; +export 'event_data.dart'; +export 'event_queue_entry.dart'; +export 'event_timeline.dart'; +export 'from_property.dart'; +export 'from_rotate.dart'; +export 'from_scale_x.dart'; +export 'from_scale_y.dart'; +export 'from_shear_y.dart'; +export 'from_x.dart'; +export 'from_y.dart'; +export 'ik_constraint.dart'; +export 'ik_constraint_data.dart'; +export 'ik_constraint_pose.dart'; +export 'ik_constraint_timeline.dart'; +export 'inherit_timeline.dart'; +export 'linked_mesh.dart'; +export 'mesh_attachment.dart'; +export 'path_attachment.dart'; +export 'path_constraint.dart'; +export 'path_constraint_data.dart'; +export 'path_constraint_mix_timeline.dart'; +export 'path_constraint_pose.dart'; +export 'path_constraint_position_timeline.dart'; +export 'path_constraint_spacing_timeline.dart'; +export 'physics_constraint.dart'; +export 'physics_constraint_timeline.dart'; +export 'physics_constraint_damping_timeline.dart'; +export 'physics_constraint_data.dart'; +export 'physics_constraint_gravity_timeline.dart'; +export 'physics_constraint_inertia_timeline.dart'; +export 'physics_constraint_mass_timeline.dart'; +export 'physics_constraint_mix_timeline.dart'; +export 'physics_constraint_pose.dart'; +export 'physics_constraint_reset_timeline.dart'; +export 'physics_constraint_strength_timeline.dart'; +export 'physics_constraint_wind_timeline.dart'; +export 'point_attachment.dart'; +export 'polygon.dart'; +export 'region_attachment.dart'; +export 'render_command.dart'; +export 'rgb2_timeline.dart'; +export 'rgba2_timeline.dart'; +export 'rgba_timeline.dart'; +export 'rgb_timeline.dart'; +export 'rotate_timeline.dart'; +export 'rtti.dart'; +export 'scale_timeline.dart'; +export 'scale_x_timeline.dart'; +export 'scale_y_timeline.dart'; +export 'sequence.dart'; +export 'sequence_timeline.dart'; +export 'shear_timeline.dart'; +export 'shear_x_timeline.dart'; +export 'shear_y_timeline.dart'; +export 'skeleton.dart'; +export 'skeleton_binary.dart'; +export 'skeleton_bounds.dart'; +export 'skeleton_clipping.dart'; +export 'skeleton_data.dart'; +export 'skeleton_json.dart'; +export 'skeleton_renderer.dart'; +export 'skin.dart'; +export 'slider.dart'; +export 'slider_data.dart'; +export 'slider_mix_timeline.dart'; +export 'slider_pose.dart'; +export 'slider_timeline.dart'; +export 'slot.dart'; +export 'slot_data.dart'; +export 'slot_pose.dart'; +export 'to_property.dart'; +export 'to_rotate.dart'; +export 'to_scale_x.dart'; +export 'to_scale_y.dart'; +export 'to_shear_y.dart'; +export 'to_x.dart'; +export 'to_y.dart'; +export 'track_entry.dart'; +export 'transform_constraint.dart'; +export 'transform_constraint_data.dart'; +export 'transform_constraint_pose.dart'; +export 'transform_constraint_timeline.dart'; +export 'translate_timeline.dart'; +export 'translate_x_timeline.dart'; +export 'translate_y_timeline.dart'; + +// Arrays +export 'arrays.dart'; diff --git a/spine-flutter/lib/generated/spine_flutter_bindings_generated.dart b/spine-flutter/lib/generated/spine_dart_bindings_generated.dart similarity index 98% rename from spine-flutter/lib/generated/spine_flutter_bindings_generated.dart rename to spine-flutter/lib/generated/spine_dart_bindings_generated.dart index 296d1ac76..99d064df9 100644 --- a/spine-flutter/lib/generated/spine_flutter_bindings_generated.dart +++ b/spine-flutter/lib/generated/spine_dart_bindings_generated.dart @@ -12,570 +12,21 @@ import '../../ffi_proxy.dart' as ffi; /// /// Regenerate bindings with `dart run ffigen --config ffigen.yaml`. /// -class SpineFlutterBindings { +class SpineDartBindings { /// Holds the symbol lookup function. final ffi.Pointer Function(String symbolName) _lookup; /// The symbols are looked up in [dynamicLibrary]. - SpineFlutterBindings(ffi.DynamicLibrary dynamicLibrary) + SpineDartBindings(ffi.DynamicLibrary dynamicLibrary) : _lookup = dynamicLibrary.lookup; /// The symbols are looked up with [lookup]. - SpineFlutterBindings.fromLookup( + SpineDartBindings.fromLookup( ffi.Pointer Function(String symbolName) lookup) : _lookup = lookup; - /// Version functions - int spine_major_version() { - return _spine_major_version(); - } - - late final _spine_major_versionPtr = - _lookup>('spine_major_version'); - late final _spine_major_version = - _spine_major_versionPtr.asFunction(); - - int spine_minor_version() { - return _spine_minor_version(); - } - - late final _spine_minor_versionPtr = - _lookup>('spine_minor_version'); - late final _spine_minor_version = - _spine_minor_versionPtr.asFunction(); - - void spine_enable_debug_extension( - bool enable, - ) { - return _spine_enable_debug_extension( - enable, - ); - } - - late final _spine_enable_debug_extensionPtr = - _lookup>( - 'spine_enable_debug_extension'); - late final _spine_enable_debug_extension = - _spine_enable_debug_extensionPtr.asFunction(); - - void spine_report_leaks() { - return _spine_report_leaks(); - } - - late final _spine_report_leaksPtr = - _lookup>('spine_report_leaks'); - late final _spine_report_leaks = - _spine_report_leaksPtr.asFunction(); - - /// Bounds functions - double spine_bounds_get_x( - spine_bounds bounds, - ) { - return _spine_bounds_get_x( - bounds, - ); - } - - late final _spine_bounds_get_xPtr = - _lookup>( - 'spine_bounds_get_x'); - late final _spine_bounds_get_x = - _spine_bounds_get_xPtr.asFunction(); - - double spine_bounds_get_y( - spine_bounds bounds, - ) { - return _spine_bounds_get_y( - bounds, - ); - } - - late final _spine_bounds_get_yPtr = - _lookup>( - 'spine_bounds_get_y'); - late final _spine_bounds_get_y = - _spine_bounds_get_yPtr.asFunction(); - - double spine_bounds_get_width( - spine_bounds bounds, - ) { - return _spine_bounds_get_width( - bounds, - ); - } - - late final _spine_bounds_get_widthPtr = - _lookup>( - 'spine_bounds_get_width'); - late final _spine_bounds_get_width = - _spine_bounds_get_widthPtr.asFunction(); - - double spine_bounds_get_height( - spine_bounds bounds, - ) { - return _spine_bounds_get_height( - bounds, - ); - } - - late final _spine_bounds_get_heightPtr = - _lookup>( - 'spine_bounds_get_height'); - late final _spine_bounds_get_height = - _spine_bounds_get_heightPtr.asFunction(); - - /// Vector functions - double spine_vector_get_x( - spine_vector vector, - ) { - return _spine_vector_get_x( - vector, - ); - } - - late final _spine_vector_get_xPtr = - _lookup>( - 'spine_vector_get_x'); - late final _spine_vector_get_x = - _spine_vector_get_xPtr.asFunction(); - - double spine_vector_get_y( - spine_vector vector, - ) { - return _spine_vector_get_y( - vector, - ); - } - - late final _spine_vector_get_yPtr = - _lookup>( - 'spine_vector_get_y'); - late final _spine_vector_get_y = - _spine_vector_get_yPtr.asFunction(); - - /// Atlas functions - int spine_atlas_load( - ffi.Pointer atlasData, - ) { - return _spine_atlas_load( - atlasData, - ); - } - - late final _spine_atlas_loadPtr = - _lookup)>>( - 'spine_atlas_load'); - late final _spine_atlas_load = - _spine_atlas_loadPtr.asFunction)>(); - - int spine_atlas_load_callback( - ffi.Pointer atlasData, - ffi.Pointer atlasDir, - spine_texture_loader_load_func load, - spine_texture_loader_unload_func unload, - ) { - return _spine_atlas_load_callback( - atlasData, - atlasDir, - load, - unload, - ); - } - - late final _spine_atlas_load_callbackPtr = _lookup< - ffi.NativeFunction< - ffi.Int Function( - ffi.Pointer, - ffi.Pointer, - spine_texture_loader_load_func, - spine_texture_loader_unload_func)>>('spine_atlas_load_callback'); - late final _spine_atlas_load_callback = - _spine_atlas_load_callbackPtr.asFunction< - int Function( - ffi.Pointer, - ffi.Pointer, - spine_texture_loader_load_func, - spine_texture_loader_unload_func)>(); - - int spine_atlas_get_num_image_paths( - int atlas, - ) { - return _spine_atlas_get_num_image_paths( - atlas, - ); - } - - late final _spine_atlas_get_num_image_pathsPtr = - _lookup>( - 'spine_atlas_get_num_image_paths'); - late final _spine_atlas_get_num_image_paths = - _spine_atlas_get_num_image_pathsPtr.asFunction(); - - ffi.Pointer spine_atlas_get_image_path( - int atlas, - int index, - ) { - return _spine_atlas_get_image_path( - atlas, - index, - ); - } - - late final _spine_atlas_get_image_pathPtr = _lookup< - ffi - .NativeFunction Function(ffi.Int, ffi.Int32)>>( - 'spine_atlas_get_image_path'); - late final _spine_atlas_get_image_path = _spine_atlas_get_image_pathPtr - .asFunction Function(int, int)>(); - - bool spine_atlas_is_pma( - int atlas, - ) { - return _spine_atlas_is_pma( - atlas, - ); - } - - late final _spine_atlas_is_pmaPtr = - _lookup>( - 'spine_atlas_is_pma'); - late final _spine_atlas_is_pma = - _spine_atlas_is_pmaPtr.asFunction(); - - ffi.Pointer spine_atlas_get_error( - int atlas, - ) { - return _spine_atlas_get_error( - atlas, - ); - } - - late final _spine_atlas_get_errorPtr = - _lookup Function(ffi.Int)>>( - 'spine_atlas_get_error'); - late final _spine_atlas_get_error = _spine_atlas_get_errorPtr - .asFunction Function(int)>(); - - void spine_atlas_dispose( - int atlas, - ) { - return _spine_atlas_dispose( - atlas, - ); - } - - late final _spine_atlas_disposePtr = - _lookup>( - 'spine_atlas_dispose'); - late final _spine_atlas_dispose = - _spine_atlas_disposePtr.asFunction(); - - /// Skeleton data functions - spine_skeleton_data_result spine_skeleton_data_load_json( - int atlas, - ffi.Pointer skeletonData, - ffi.Pointer path, - ) { - return _spine_skeleton_data_load_json( - atlas, - skeletonData, - path, - ); - } - - late final _spine_skeleton_data_load_jsonPtr = _lookup< - ffi.NativeFunction< - spine_skeleton_data_result Function(ffi.Int, ffi.Pointer, - ffi.Pointer)>>('spine_skeleton_data_load_json'); - late final _spine_skeleton_data_load_json = - _spine_skeleton_data_load_jsonPtr.asFunction< - spine_skeleton_data_result Function( - int, ffi.Pointer, ffi.Pointer)>(); - - spine_skeleton_data_result spine_skeleton_data_load_binary( - int atlas, - ffi.Pointer skeletonData, - int length, - ffi.Pointer path, - ) { - return _spine_skeleton_data_load_binary( - atlas, - skeletonData, - length, - path, - ); - } - - late final _spine_skeleton_data_load_binaryPtr = _lookup< - ffi.NativeFunction< - spine_skeleton_data_result Function( - ffi.Int, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>('spine_skeleton_data_load_binary'); - late final _spine_skeleton_data_load_binary = - _spine_skeleton_data_load_binaryPtr.asFunction< - spine_skeleton_data_result Function( - int, ffi.Pointer, int, ffi.Pointer)>(); - - ffi.Pointer spine_skeleton_data_result_get_error( - spine_skeleton_data_result result, - ) { - return _spine_skeleton_data_result_get_error( - result, - ); - } - - late final _spine_skeleton_data_result_get_errorPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(spine_skeleton_data_result)>>( - 'spine_skeleton_data_result_get_error'); - late final _spine_skeleton_data_result_get_error = - _spine_skeleton_data_result_get_errorPtr.asFunction< - ffi.Pointer Function(spine_skeleton_data_result)>(); - - int spine_skeleton_data_result_get_data( - spine_skeleton_data_result result, - ) { - return _spine_skeleton_data_result_get_data( - result, - ); - } - - late final _spine_skeleton_data_result_get_dataPtr = - _lookup>( - 'spine_skeleton_data_result_get_data'); - late final _spine_skeleton_data_result_get_data = - _spine_skeleton_data_result_get_dataPtr - .asFunction(); - - void spine_skeleton_data_result_dispose( - spine_skeleton_data_result result, - ) { - return _spine_skeleton_data_result_dispose( - result, - ); - } - - late final _spine_skeleton_data_result_disposePtr = _lookup< - ffi.NativeFunction>( - 'spine_skeleton_data_result_dispose'); - late final _spine_skeleton_data_result_dispose = - _spine_skeleton_data_result_disposePtr - .asFunction(); - - /// Skeleton drawable functions - spine_skeleton_drawable spine_skeleton_drawable_create( - int skeletonData, - ) { - return _spine_skeleton_drawable_create( - skeletonData, - ); - } - - late final _spine_skeleton_drawable_createPtr = - _lookup>( - 'spine_skeleton_drawable_create'); - late final _spine_skeleton_drawable_create = - _spine_skeleton_drawable_createPtr - .asFunction(); - - int spine_skeleton_drawable_render( - spine_skeleton_drawable drawable, - ) { - return _spine_skeleton_drawable_render( - drawable, - ); - } - - late final _spine_skeleton_drawable_renderPtr = - _lookup>( - 'spine_skeleton_drawable_render'); - late final _spine_skeleton_drawable_render = - _spine_skeleton_drawable_renderPtr - .asFunction(); - - void spine_skeleton_drawable_dispose( - spine_skeleton_drawable drawable, - ) { - return _spine_skeleton_drawable_dispose( - drawable, - ); - } - - late final _spine_skeleton_drawable_disposePtr = - _lookup>( - 'spine_skeleton_drawable_dispose'); - late final _spine_skeleton_drawable_dispose = - _spine_skeleton_drawable_disposePtr - .asFunction(); - - int spine_skeleton_drawable_get_skeleton( - spine_skeleton_drawable drawable, - ) { - return _spine_skeleton_drawable_get_skeleton( - drawable, - ); - } - - late final _spine_skeleton_drawable_get_skeletonPtr = - _lookup>( - 'spine_skeleton_drawable_get_skeleton'); - late final _spine_skeleton_drawable_get_skeleton = - _spine_skeleton_drawable_get_skeletonPtr - .asFunction(); - - int spine_skeleton_drawable_get_animation_state( - spine_skeleton_drawable drawable, - ) { - return _spine_skeleton_drawable_get_animation_state( - drawable, - ); - } - - late final _spine_skeleton_drawable_get_animation_statePtr = - _lookup>( - 'spine_skeleton_drawable_get_animation_state'); - late final _spine_skeleton_drawable_get_animation_state = - _spine_skeleton_drawable_get_animation_statePtr - .asFunction(); - - int spine_skeleton_drawable_get_animation_state_data( - spine_skeleton_drawable drawable, - ) { - return _spine_skeleton_drawable_get_animation_state_data( - drawable, - ); - } - - late final _spine_skeleton_drawable_get_animation_state_dataPtr = - _lookup>( - 'spine_skeleton_drawable_get_animation_state_data'); - late final _spine_skeleton_drawable_get_animation_state_data = - _spine_skeleton_drawable_get_animation_state_dataPtr - .asFunction(); - - spine_animation_state_events - spine_skeleton_drawable_get_animation_state_events( - spine_skeleton_drawable drawable, - ) { - return _spine_skeleton_drawable_get_animation_state_events( - drawable, - ); - } - - late final _spine_skeleton_drawable_get_animation_state_eventsPtr = _lookup< - ffi.NativeFunction< - spine_animation_state_events Function(spine_skeleton_drawable)>>( - 'spine_skeleton_drawable_get_animation_state_events'); - late final _spine_skeleton_drawable_get_animation_state_events = - _spine_skeleton_drawable_get_animation_state_eventsPtr.asFunction< - spine_animation_state_events Function(spine_skeleton_drawable)>(); - - /// Skin entries functions - spine_skin_entries spine_skin_entries_create() { - return _spine_skin_entries_create(); - } - - late final _spine_skin_entries_createPtr = - _lookup>( - 'spine_skin_entries_create'); - late final _spine_skin_entries_create = - _spine_skin_entries_createPtr.asFunction(); - - void spine_skin_entries_dispose( - spine_skin_entries entries, - ) { - return _spine_skin_entries_dispose( - entries, - ); - } - - late final _spine_skin_entries_disposePtr = - _lookup>( - 'spine_skin_entries_dispose'); - late final _spine_skin_entries_dispose = _spine_skin_entries_disposePtr - .asFunction(); - - int spine_skin_entries_get_num_entries( - spine_skin_entries entries, - ) { - return _spine_skin_entries_get_num_entries( - entries, - ); - } - - late final _spine_skin_entries_get_num_entriesPtr = - _lookup>( - 'spine_skin_entries_get_num_entries'); - late final _spine_skin_entries_get_num_entries = - _spine_skin_entries_get_num_entriesPtr - .asFunction(); - - spine_skin_entry spine_skin_entries_get_entry( - spine_skin_entries entries, - int index, - ) { - return _spine_skin_entries_get_entry( - entries, - index, - ); - } - - late final _spine_skin_entries_get_entryPtr = _lookup< - ffi.NativeFunction< - spine_skin_entry Function( - spine_skin_entries, ffi.Int32)>>('spine_skin_entries_get_entry'); - late final _spine_skin_entries_get_entry = _spine_skin_entries_get_entryPtr - .asFunction(); - - /// Skin entry functions - int spine_skin_entry_get_slot_index( - spine_skin_entry entry, - ) { - return _spine_skin_entry_get_slot_index( - entry, - ); - } - - late final _spine_skin_entry_get_slot_indexPtr = - _lookup>( - 'spine_skin_entry_get_slot_index'); - late final _spine_skin_entry_get_slot_index = - _spine_skin_entry_get_slot_indexPtr - .asFunction(); - - ffi.Pointer spine_skin_entry_get_name( - spine_skin_entry entry, - ) { - return _spine_skin_entry_get_name( - entry, - ); - } - - late final _spine_skin_entry_get_namePtr = _lookup< - ffi.NativeFunction Function(spine_skin_entry)>>( - 'spine_skin_entry_get_name'); - late final _spine_skin_entry_get_name = _spine_skin_entry_get_namePtr - .asFunction Function(spine_skin_entry)>(); - - int spine_skin_entry_get_attachment( - spine_skin_entry entry, - ) { - return _spine_skin_entry_get_attachment( - entry, - ); - } - - late final _spine_skin_entry_get_attachmentPtr = - _lookup>( - 'spine_skin_entry_get_attachment'); - late final _spine_skin_entry_get_attachment = - _spine_skin_entry_get_attachmentPtr - .asFunction(); - spine_array_float spine_array_float_create() { return _spine_array_float_create(); } @@ -7205,6 +6656,1221 @@ class SpineFlutterBindings { late final _spine_array_update_buffer = _spine_array_update_bufferPtr .asFunction Function(spine_array_update)>(); + void spine_atlas_flip_v( + spine_atlas self, + ) { + return _spine_atlas_flip_v( + self, + ); + } + + late final _spine_atlas_flip_vPtr = + _lookup>( + 'spine_atlas_flip_v'); + late final _spine_atlas_flip_v = + _spine_atlas_flip_vPtr.asFunction(); + + spine_atlas_region spine_atlas_find_region( + spine_atlas self, + ffi.Pointer name, + ) { + return _spine_atlas_find_region( + self, + name, + ); + } + + late final _spine_atlas_find_regionPtr = _lookup< + ffi.NativeFunction< + spine_atlas_region Function( + spine_atlas, ffi.Pointer)>>('spine_atlas_find_region'); + late final _spine_atlas_find_region = _spine_atlas_find_regionPtr.asFunction< + spine_atlas_region Function(spine_atlas, ffi.Pointer)>(); + + spine_array_atlas_page spine_atlas_get_pages( + spine_atlas self, + ) { + return _spine_atlas_get_pages( + self, + ); + } + + late final _spine_atlas_get_pagesPtr = + _lookup>( + 'spine_atlas_get_pages'); + late final _spine_atlas_get_pages = _spine_atlas_get_pagesPtr + .asFunction(); + + spine_array_atlas_region spine_atlas_get_regions( + spine_atlas self, + ) { + return _spine_atlas_get_regions( + self, + ); + } + + late final _spine_atlas_get_regionsPtr = _lookup< + ffi.NativeFunction>( + 'spine_atlas_get_regions'); + late final _spine_atlas_get_regions = _spine_atlas_get_regionsPtr + .asFunction(); + + spine_skeleton_data spine_skeleton_data_create() { + return _spine_skeleton_data_create(); + } + + late final _spine_skeleton_data_createPtr = + _lookup>( + 'spine_skeleton_data_create'); + late final _spine_skeleton_data_create = _spine_skeleton_data_createPtr + .asFunction(); + + void spine_skeleton_data_dispose( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_dispose( + self, + ); + } + + late final _spine_skeleton_data_disposePtr = + _lookup>( + 'spine_skeleton_data_dispose'); + late final _spine_skeleton_data_dispose = _spine_skeleton_data_disposePtr + .asFunction(); + + spine_bone_data spine_skeleton_data_find_bone( + spine_skeleton_data self, + ffi.Pointer boneName, + ) { + return _spine_skeleton_data_find_bone( + self, + boneName, + ); + } + + late final _spine_skeleton_data_find_bonePtr = _lookup< + ffi.NativeFunction< + spine_bone_data Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_find_bone'); + late final _spine_skeleton_data_find_bone = + _spine_skeleton_data_find_bonePtr.asFunction< + spine_bone_data Function( + spine_skeleton_data, ffi.Pointer)>(); + + spine_slot_data spine_skeleton_data_find_slot( + spine_skeleton_data self, + ffi.Pointer slotName, + ) { + return _spine_skeleton_data_find_slot( + self, + slotName, + ); + } + + late final _spine_skeleton_data_find_slotPtr = _lookup< + ffi.NativeFunction< + spine_slot_data Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_find_slot'); + late final _spine_skeleton_data_find_slot = + _spine_skeleton_data_find_slotPtr.asFunction< + spine_slot_data Function( + spine_skeleton_data, ffi.Pointer)>(); + + spine_skin spine_skeleton_data_find_skin( + spine_skeleton_data self, + ffi.Pointer skinName, + ) { + return _spine_skeleton_data_find_skin( + self, + skinName, + ); + } + + late final _spine_skeleton_data_find_skinPtr = _lookup< + ffi.NativeFunction< + spine_skin Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_find_skin'); + late final _spine_skeleton_data_find_skin = + _spine_skeleton_data_find_skinPtr.asFunction< + spine_skin Function(spine_skeleton_data, ffi.Pointer)>(); + + spine_event_data spine_skeleton_data_find_event( + spine_skeleton_data self, + ffi.Pointer eventDataName, + ) { + return _spine_skeleton_data_find_event( + self, + eventDataName, + ); + } + + late final _spine_skeleton_data_find_eventPtr = _lookup< + ffi.NativeFunction< + spine_event_data Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_find_event'); + late final _spine_skeleton_data_find_event = + _spine_skeleton_data_find_eventPtr.asFunction< + spine_event_data Function( + spine_skeleton_data, ffi.Pointer)>(); + + spine_animation spine_skeleton_data_find_animation( + spine_skeleton_data self, + ffi.Pointer animationName, + ) { + return _spine_skeleton_data_find_animation( + self, + animationName, + ); + } + + late final _spine_skeleton_data_find_animationPtr = _lookup< + ffi.NativeFunction< + spine_animation Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_find_animation'); + late final _spine_skeleton_data_find_animation = + _spine_skeleton_data_find_animationPtr.asFunction< + spine_animation Function( + spine_skeleton_data, ffi.Pointer)>(); + + ffi.Pointer spine_skeleton_data_get_name( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_name( + self, + ); + } + + late final _spine_skeleton_data_get_namePtr = _lookup< + ffi + .NativeFunction Function(spine_skeleton_data)>>( + 'spine_skeleton_data_get_name'); + late final _spine_skeleton_data_get_name = _spine_skeleton_data_get_namePtr + .asFunction Function(spine_skeleton_data)>(); + + void spine_skeleton_data_set_name( + spine_skeleton_data self, + ffi.Pointer inValue, + ) { + return _spine_skeleton_data_set_name( + self, + inValue, + ); + } + + late final _spine_skeleton_data_set_namePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_set_name'); + late final _spine_skeleton_data_set_name = _spine_skeleton_data_set_namePtr + .asFunction)>(); + + spine_array_bone_data spine_skeleton_data_get_bones( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_bones( + self, + ); + } + + late final _spine_skeleton_data_get_bonesPtr = _lookup< + ffi + .NativeFunction>( + 'spine_skeleton_data_get_bones'); + late final _spine_skeleton_data_get_bones = _spine_skeleton_data_get_bonesPtr + .asFunction(); + + spine_array_slot_data spine_skeleton_data_get_slots( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_slots( + self, + ); + } + + late final _spine_skeleton_data_get_slotsPtr = _lookup< + ffi + .NativeFunction>( + 'spine_skeleton_data_get_slots'); + late final _spine_skeleton_data_get_slots = _spine_skeleton_data_get_slotsPtr + .asFunction(); + + spine_array_skin spine_skeleton_data_get_skins( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_skins( + self, + ); + } + + late final _spine_skeleton_data_get_skinsPtr = _lookup< + ffi.NativeFunction>( + 'spine_skeleton_data_get_skins'); + late final _spine_skeleton_data_get_skins = _spine_skeleton_data_get_skinsPtr + .asFunction(); + + spine_skin spine_skeleton_data_get_default_skin( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_default_skin( + self, + ); + } + + late final _spine_skeleton_data_get_default_skinPtr = + _lookup>( + 'spine_skeleton_data_get_default_skin'); + late final _spine_skeleton_data_get_default_skin = + _spine_skeleton_data_get_default_skinPtr + .asFunction(); + + void spine_skeleton_data_set_default_skin( + spine_skeleton_data self, + spine_skin inValue, + ) { + return _spine_skeleton_data_set_default_skin( + self, + inValue, + ); + } + + late final _spine_skeleton_data_set_default_skinPtr = _lookup< + ffi + .NativeFunction>( + 'spine_skeleton_data_set_default_skin'); + late final _spine_skeleton_data_set_default_skin = + _spine_skeleton_data_set_default_skinPtr + .asFunction(); + + spine_array_event_data spine_skeleton_data_get_events( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_events( + self, + ); + } + + late final _spine_skeleton_data_get_eventsPtr = _lookup< + ffi.NativeFunction< + spine_array_event_data Function( + spine_skeleton_data)>>('spine_skeleton_data_get_events'); + late final _spine_skeleton_data_get_events = + _spine_skeleton_data_get_eventsPtr + .asFunction(); + + spine_array_animation spine_skeleton_data_get_animations( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_animations( + self, + ); + } + + late final _spine_skeleton_data_get_animationsPtr = _lookup< + ffi + .NativeFunction>( + 'spine_skeleton_data_get_animations'); + late final _spine_skeleton_data_get_animations = + _spine_skeleton_data_get_animationsPtr + .asFunction(); + + spine_array_constraint_data spine_skeleton_data_get_constraints( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_constraints( + self, + ); + } + + late final _spine_skeleton_data_get_constraintsPtr = _lookup< + ffi.NativeFunction< + spine_array_constraint_data Function( + spine_skeleton_data)>>('spine_skeleton_data_get_constraints'); + late final _spine_skeleton_data_get_constraints = + _spine_skeleton_data_get_constraintsPtr.asFunction< + spine_array_constraint_data Function(spine_skeleton_data)>(); + + double spine_skeleton_data_get_x( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_x( + self, + ); + } + + late final _spine_skeleton_data_get_xPtr = + _lookup>( + 'spine_skeleton_data_get_x'); + late final _spine_skeleton_data_get_x = _spine_skeleton_data_get_xPtr + .asFunction(); + + void spine_skeleton_data_set_x( + spine_skeleton_data self, + double inValue, + ) { + return _spine_skeleton_data_set_x( + self, + inValue, + ); + } + + late final _spine_skeleton_data_set_xPtr = _lookup< + ffi + .NativeFunction>( + '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 self, + ) { + return _spine_skeleton_data_get_y( + self, + ); + } + + late final _spine_skeleton_data_get_yPtr = + _lookup>( + 'spine_skeleton_data_get_y'); + late final _spine_skeleton_data_get_y = _spine_skeleton_data_get_yPtr + .asFunction(); + + void spine_skeleton_data_set_y( + spine_skeleton_data self, + double inValue, + ) { + return _spine_skeleton_data_set_y( + self, + inValue, + ); + } + + late final _spine_skeleton_data_set_yPtr = _lookup< + ffi + .NativeFunction>( + '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 self, + ) { + return _spine_skeleton_data_get_width( + self, + ); + } + + late final _spine_skeleton_data_get_widthPtr = + _lookup>( + 'spine_skeleton_data_get_width'); + late final _spine_skeleton_data_get_width = _spine_skeleton_data_get_widthPtr + .asFunction(); + + void spine_skeleton_data_set_width( + spine_skeleton_data self, + double inValue, + ) { + return _spine_skeleton_data_set_width( + self, + inValue, + ); + } + + late final _spine_skeleton_data_set_widthPtr = _lookup< + ffi + .NativeFunction>( + '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 self, + ) { + return _spine_skeleton_data_get_height( + self, + ); + } + + late final _spine_skeleton_data_get_heightPtr = + _lookup>( + 'spine_skeleton_data_get_height'); + late final _spine_skeleton_data_get_height = + _spine_skeleton_data_get_heightPtr + .asFunction(); + + void spine_skeleton_data_set_height( + spine_skeleton_data self, + double inValue, + ) { + return _spine_skeleton_data_set_height( + self, + inValue, + ); + } + + late final _spine_skeleton_data_set_heightPtr = _lookup< + ffi + .NativeFunction>( + 'spine_skeleton_data_set_height'); + late final _spine_skeleton_data_set_height = + _spine_skeleton_data_set_heightPtr + .asFunction(); + + double spine_skeleton_data_get_reference_scale( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_reference_scale( + self, + ); + } + + late final _spine_skeleton_data_get_reference_scalePtr = + _lookup>( + 'spine_skeleton_data_get_reference_scale'); + late final _spine_skeleton_data_get_reference_scale = + _spine_skeleton_data_get_reference_scalePtr + .asFunction(); + + void spine_skeleton_data_set_reference_scale( + spine_skeleton_data self, + double inValue, + ) { + return _spine_skeleton_data_set_reference_scale( + self, + inValue, + ); + } + + late final _spine_skeleton_data_set_reference_scalePtr = _lookup< + ffi + .NativeFunction>( + 'spine_skeleton_data_set_reference_scale'); + late final _spine_skeleton_data_set_reference_scale = + _spine_skeleton_data_set_reference_scalePtr + .asFunction(); + + ffi.Pointer spine_skeleton_data_get_version( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_version( + self, + ); + } + + late final _spine_skeleton_data_get_versionPtr = _lookup< + ffi + .NativeFunction Function(spine_skeleton_data)>>( + 'spine_skeleton_data_get_version'); + late final _spine_skeleton_data_get_version = + _spine_skeleton_data_get_versionPtr + .asFunction Function(spine_skeleton_data)>(); + + void spine_skeleton_data_set_version( + spine_skeleton_data self, + ffi.Pointer inValue, + ) { + return _spine_skeleton_data_set_version( + self, + inValue, + ); + } + + late final _spine_skeleton_data_set_versionPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_set_version'); + late final _spine_skeleton_data_set_version = + _spine_skeleton_data_set_versionPtr.asFunction< + void Function(spine_skeleton_data, ffi.Pointer)>(); + + ffi.Pointer spine_skeleton_data_get_hash( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_hash( + self, + ); + } + + late final _spine_skeleton_data_get_hashPtr = _lookup< + ffi + .NativeFunction Function(spine_skeleton_data)>>( + 'spine_skeleton_data_get_hash'); + late final _spine_skeleton_data_get_hash = _spine_skeleton_data_get_hashPtr + .asFunction Function(spine_skeleton_data)>(); + + void spine_skeleton_data_set_hash( + spine_skeleton_data self, + ffi.Pointer inValue, + ) { + return _spine_skeleton_data_set_hash( + self, + inValue, + ); + } + + late final _spine_skeleton_data_set_hashPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_set_hash'); + late final _spine_skeleton_data_set_hash = _spine_skeleton_data_set_hashPtr + .asFunction)>(); + + ffi.Pointer spine_skeleton_data_get_images_path( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_images_path( + self, + ); + } + + late final _spine_skeleton_data_get_images_pathPtr = _lookup< + ffi + .NativeFunction Function(spine_skeleton_data)>>( + 'spine_skeleton_data_get_images_path'); + late final _spine_skeleton_data_get_images_path = + _spine_skeleton_data_get_images_pathPtr + .asFunction Function(spine_skeleton_data)>(); + + void spine_skeleton_data_set_images_path( + spine_skeleton_data self, + ffi.Pointer inValue, + ) { + return _spine_skeleton_data_set_images_path( + self, + inValue, + ); + } + + late final _spine_skeleton_data_set_images_pathPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_set_images_path'); + late final _spine_skeleton_data_set_images_path = + _spine_skeleton_data_set_images_pathPtr.asFunction< + void Function(spine_skeleton_data, ffi.Pointer)>(); + + ffi.Pointer spine_skeleton_data_get_audio_path( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_audio_path( + self, + ); + } + + late final _spine_skeleton_data_get_audio_pathPtr = _lookup< + ffi + .NativeFunction Function(spine_skeleton_data)>>( + 'spine_skeleton_data_get_audio_path'); + late final _spine_skeleton_data_get_audio_path = + _spine_skeleton_data_get_audio_pathPtr + .asFunction Function(spine_skeleton_data)>(); + + void spine_skeleton_data_set_audio_path( + spine_skeleton_data self, + ffi.Pointer inValue, + ) { + return _spine_skeleton_data_set_audio_path( + self, + inValue, + ); + } + + late final _spine_skeleton_data_set_audio_pathPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_skeleton_data, + ffi.Pointer)>>('spine_skeleton_data_set_audio_path'); + late final _spine_skeleton_data_set_audio_path = + _spine_skeleton_data_set_audio_pathPtr.asFunction< + void Function(spine_skeleton_data, ffi.Pointer)>(); + + double spine_skeleton_data_get_fps( + spine_skeleton_data self, + ) { + return _spine_skeleton_data_get_fps( + self, + ); + } + + late final _spine_skeleton_data_get_fpsPtr = + _lookup>( + 'spine_skeleton_data_get_fps'); + late final _spine_skeleton_data_get_fps = _spine_skeleton_data_get_fpsPtr + .asFunction(); + + void spine_skeleton_data_set_fps( + spine_skeleton_data self, + double inValue, + ) { + return _spine_skeleton_data_set_fps( + self, + inValue, + ); + } + + late final _spine_skeleton_data_set_fpsPtr = _lookup< + ffi + .NativeFunction>( + 'spine_skeleton_data_set_fps'); + late final _spine_skeleton_data_set_fps = _spine_skeleton_data_set_fpsPtr + .asFunction(); + + /// Version functions + int spine_major_version() { + return _spine_major_version(); + } + + late final _spine_major_versionPtr = + _lookup>('spine_major_version'); + late final _spine_major_version = + _spine_major_versionPtr.asFunction(); + + int spine_minor_version() { + return _spine_minor_version(); + } + + late final _spine_minor_versionPtr = + _lookup>('spine_minor_version'); + late final _spine_minor_version = + _spine_minor_versionPtr.asFunction(); + + void spine_enable_debug_extension( + bool enable, + ) { + return _spine_enable_debug_extension( + enable, + ); + } + + late final _spine_enable_debug_extensionPtr = + _lookup>( + 'spine_enable_debug_extension'); + late final _spine_enable_debug_extension = + _spine_enable_debug_extensionPtr.asFunction(); + + void spine_report_leaks() { + return _spine_report_leaks(); + } + + late final _spine_report_leaksPtr = + _lookup>('spine_report_leaks'); + late final _spine_report_leaks = + _spine_report_leaksPtr.asFunction(); + + /// Bounds functions + double spine_bounds_get_x( + spine_bounds bounds, + ) { + return _spine_bounds_get_x( + bounds, + ); + } + + late final _spine_bounds_get_xPtr = + _lookup>( + 'spine_bounds_get_x'); + late final _spine_bounds_get_x = + _spine_bounds_get_xPtr.asFunction(); + + double spine_bounds_get_y( + spine_bounds bounds, + ) { + return _spine_bounds_get_y( + bounds, + ); + } + + late final _spine_bounds_get_yPtr = + _lookup>( + 'spine_bounds_get_y'); + late final _spine_bounds_get_y = + _spine_bounds_get_yPtr.asFunction(); + + double spine_bounds_get_width( + spine_bounds bounds, + ) { + return _spine_bounds_get_width( + bounds, + ); + } + + late final _spine_bounds_get_widthPtr = + _lookup>( + 'spine_bounds_get_width'); + late final _spine_bounds_get_width = + _spine_bounds_get_widthPtr.asFunction(); + + double spine_bounds_get_height( + spine_bounds bounds, + ) { + return _spine_bounds_get_height( + bounds, + ); + } + + late final _spine_bounds_get_heightPtr = + _lookup>( + 'spine_bounds_get_height'); + late final _spine_bounds_get_height = + _spine_bounds_get_heightPtr.asFunction(); + + /// Vector functions + double spine_vector_get_x( + spine_vector vector, + ) { + return _spine_vector_get_x( + vector, + ); + } + + late final _spine_vector_get_xPtr = + _lookup>( + 'spine_vector_get_x'); + late final _spine_vector_get_x = + _spine_vector_get_xPtr.asFunction(); + + double spine_vector_get_y( + spine_vector vector, + ) { + return _spine_vector_get_y( + vector, + ); + } + + late final _spine_vector_get_yPtr = + _lookup>( + 'spine_vector_get_y'); + late final _spine_vector_get_y = + _spine_vector_get_yPtr.asFunction(); + + /// Atlas functions + spine_atlas spine_atlas_load( + ffi.Pointer atlasData, + ) { + return _spine_atlas_load( + atlasData, + ); + } + + late final _spine_atlas_loadPtr = + _lookup)>>( + 'spine_atlas_load'); + late final _spine_atlas_load = _spine_atlas_loadPtr + .asFunction)>(); + + spine_atlas spine_atlas_load_callback( + ffi.Pointer atlasData, + ffi.Pointer atlasDir, + spine_texture_loader_load_func load, + spine_texture_loader_unload_func unload, + ) { + return _spine_atlas_load_callback( + atlasData, + atlasDir, + load, + unload, + ); + } + + late final _spine_atlas_load_callbackPtr = _lookup< + ffi.NativeFunction< + spine_atlas Function( + ffi.Pointer, + ffi.Pointer, + spine_texture_loader_load_func, + spine_texture_loader_unload_func)>>('spine_atlas_load_callback'); + late final _spine_atlas_load_callback = + _spine_atlas_load_callbackPtr.asFunction< + spine_atlas Function( + ffi.Pointer, + ffi.Pointer, + spine_texture_loader_load_func, + spine_texture_loader_unload_func)>(); + + int spine_atlas_get_num_image_paths( + spine_atlas atlas, + ) { + return _spine_atlas_get_num_image_paths( + atlas, + ); + } + + late final _spine_atlas_get_num_image_pathsPtr = + _lookup>( + 'spine_atlas_get_num_image_paths'); + late final _spine_atlas_get_num_image_paths = + _spine_atlas_get_num_image_pathsPtr + .asFunction(); + + ffi.Pointer spine_atlas_get_image_path( + spine_atlas atlas, + int index, + ) { + return _spine_atlas_get_image_path( + atlas, + index, + ); + } + + late final _spine_atlas_get_image_pathPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + spine_atlas, ffi.Int32)>>('spine_atlas_get_image_path'); + late final _spine_atlas_get_image_path = _spine_atlas_get_image_pathPtr + .asFunction Function(spine_atlas, int)>(); + + bool spine_atlas_is_pma( + spine_atlas atlas, + ) { + return _spine_atlas_is_pma( + atlas, + ); + } + + late final _spine_atlas_is_pmaPtr = + _lookup>( + 'spine_atlas_is_pma'); + late final _spine_atlas_is_pma = + _spine_atlas_is_pmaPtr.asFunction(); + + ffi.Pointer spine_atlas_get_error( + spine_atlas atlas, + ) { + return _spine_atlas_get_error( + atlas, + ); + } + + late final _spine_atlas_get_errorPtr = + _lookup Function(spine_atlas)>>( + 'spine_atlas_get_error'); + late final _spine_atlas_get_error = _spine_atlas_get_errorPtr + .asFunction Function(spine_atlas)>(); + + void spine_atlas_dispose( + spine_atlas atlas, + ) { + return _spine_atlas_dispose( + atlas, + ); + } + + late final _spine_atlas_disposePtr = + _lookup>( + 'spine_atlas_dispose'); + late final _spine_atlas_dispose = + _spine_atlas_disposePtr.asFunction(); + + /// Skeleton data functions + spine_skeleton_data_result spine_skeleton_data_load_json( + spine_atlas atlas, + ffi.Pointer skeletonData, + ffi.Pointer path, + ) { + return _spine_skeleton_data_load_json( + atlas, + skeletonData, + path, + ); + } + + late final _spine_skeleton_data_load_jsonPtr = _lookup< + ffi.NativeFunction< + spine_skeleton_data_result Function( + spine_atlas, + ffi.Pointer, + ffi.Pointer)>>('spine_skeleton_data_load_json'); + late final _spine_skeleton_data_load_json = + _spine_skeleton_data_load_jsonPtr.asFunction< + spine_skeleton_data_result Function( + spine_atlas, ffi.Pointer, ffi.Pointer)>(); + + spine_skeleton_data_result spine_skeleton_data_load_binary( + spine_atlas atlas, + ffi.Pointer skeletonData, + int length, + ffi.Pointer path, + ) { + return _spine_skeleton_data_load_binary( + atlas, + skeletonData, + length, + path, + ); + } + + late final _spine_skeleton_data_load_binaryPtr = _lookup< + ffi.NativeFunction< + spine_skeleton_data_result Function( + spine_atlas, + ffi.Pointer, + ffi.Int32, + ffi.Pointer)>>('spine_skeleton_data_load_binary'); + late final _spine_skeleton_data_load_binary = + _spine_skeleton_data_load_binaryPtr.asFunction< + spine_skeleton_data_result Function(spine_atlas, + ffi.Pointer, int, ffi.Pointer)>(); + + ffi.Pointer spine_skeleton_data_result_get_error( + spine_skeleton_data_result result, + ) { + return _spine_skeleton_data_result_get_error( + result, + ); + } + + late final _spine_skeleton_data_result_get_errorPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(spine_skeleton_data_result)>>( + 'spine_skeleton_data_result_get_error'); + late final _spine_skeleton_data_result_get_error = + _spine_skeleton_data_result_get_errorPtr.asFunction< + ffi.Pointer Function(spine_skeleton_data_result)>(); + + spine_skeleton_data spine_skeleton_data_result_get_data( + spine_skeleton_data_result result, + ) { + return _spine_skeleton_data_result_get_data( + result, + ); + } + + late final _spine_skeleton_data_result_get_dataPtr = _lookup< + ffi.NativeFunction< + spine_skeleton_data Function(spine_skeleton_data_result)>>( + 'spine_skeleton_data_result_get_data'); + late final _spine_skeleton_data_result_get_data = + _spine_skeleton_data_result_get_dataPtr.asFunction< + spine_skeleton_data Function(spine_skeleton_data_result)>(); + + void spine_skeleton_data_result_dispose( + spine_skeleton_data_result result, + ) { + return _spine_skeleton_data_result_dispose( + result, + ); + } + + late final _spine_skeleton_data_result_disposePtr = _lookup< + ffi.NativeFunction>( + 'spine_skeleton_data_result_dispose'); + late final _spine_skeleton_data_result_dispose = + _spine_skeleton_data_result_disposePtr + .asFunction(); + + /// Skeleton drawable functions + spine_skeleton_drawable spine_skeleton_drawable_create( + spine_skeleton_data skeletonData, + ) { + return _spine_skeleton_drawable_create( + skeletonData, + ); + } + + late final _spine_skeleton_drawable_createPtr = _lookup< + ffi.NativeFunction< + spine_skeleton_drawable Function( + spine_skeleton_data)>>('spine_skeleton_drawable_create'); + late final _spine_skeleton_drawable_create = + _spine_skeleton_drawable_createPtr + .asFunction(); + + spine_render_command spine_skeleton_drawable_render( + spine_skeleton_drawable drawable, + ) { + return _spine_skeleton_drawable_render( + drawable, + ); + } + + late final _spine_skeleton_drawable_renderPtr = _lookup< + ffi.NativeFunction< + spine_render_command Function( + spine_skeleton_drawable)>>('spine_skeleton_drawable_render'); + late final _spine_skeleton_drawable_render = + _spine_skeleton_drawable_renderPtr + .asFunction(); + + void spine_skeleton_drawable_dispose( + spine_skeleton_drawable drawable, + ) { + return _spine_skeleton_drawable_dispose( + drawable, + ); + } + + late final _spine_skeleton_drawable_disposePtr = + _lookup>( + 'spine_skeleton_drawable_dispose'); + late final _spine_skeleton_drawable_dispose = + _spine_skeleton_drawable_disposePtr + .asFunction(); + + spine_skeleton spine_skeleton_drawable_get_skeleton( + spine_skeleton_drawable drawable, + ) { + return _spine_skeleton_drawable_get_skeleton( + drawable, + ); + } + + late final _spine_skeleton_drawable_get_skeletonPtr = _lookup< + ffi.NativeFunction>( + 'spine_skeleton_drawable_get_skeleton'); + late final _spine_skeleton_drawable_get_skeleton = + _spine_skeleton_drawable_get_skeletonPtr + .asFunction(); + + spine_animation_state spine_skeleton_drawable_get_animation_state( + spine_skeleton_drawable drawable, + ) { + return _spine_skeleton_drawable_get_animation_state( + drawable, + ); + } + + late final _spine_skeleton_drawable_get_animation_statePtr = _lookup< + ffi.NativeFunction< + spine_animation_state Function(spine_skeleton_drawable)>>( + 'spine_skeleton_drawable_get_animation_state'); + late final _spine_skeleton_drawable_get_animation_state = + _spine_skeleton_drawable_get_animation_statePtr.asFunction< + spine_animation_state Function(spine_skeleton_drawable)>(); + + spine_animation_state_data spine_skeleton_drawable_get_animation_state_data( + spine_skeleton_drawable drawable, + ) { + return _spine_skeleton_drawable_get_animation_state_data( + drawable, + ); + } + + late final _spine_skeleton_drawable_get_animation_state_dataPtr = _lookup< + ffi.NativeFunction< + spine_animation_state_data Function(spine_skeleton_drawable)>>( + 'spine_skeleton_drawable_get_animation_state_data'); + late final _spine_skeleton_drawable_get_animation_state_data = + _spine_skeleton_drawable_get_animation_state_dataPtr.asFunction< + spine_animation_state_data Function(spine_skeleton_drawable)>(); + + spine_animation_state_events + spine_skeleton_drawable_get_animation_state_events( + spine_skeleton_drawable drawable, + ) { + return _spine_skeleton_drawable_get_animation_state_events( + drawable, + ); + } + + late final _spine_skeleton_drawable_get_animation_state_eventsPtr = _lookup< + ffi.NativeFunction< + spine_animation_state_events Function(spine_skeleton_drawable)>>( + 'spine_skeleton_drawable_get_animation_state_events'); + late final _spine_skeleton_drawable_get_animation_state_events = + _spine_skeleton_drawable_get_animation_state_eventsPtr.asFunction< + spine_animation_state_events Function(spine_skeleton_drawable)>(); + + /// Skin entries functions + spine_skin_entries spine_skin_entries_create() { + return _spine_skin_entries_create(); + } + + late final _spine_skin_entries_createPtr = + _lookup>( + 'spine_skin_entries_create'); + late final _spine_skin_entries_create = + _spine_skin_entries_createPtr.asFunction(); + + void spine_skin_entries_dispose( + spine_skin_entries entries, + ) { + return _spine_skin_entries_dispose( + entries, + ); + } + + late final _spine_skin_entries_disposePtr = + _lookup>( + 'spine_skin_entries_dispose'); + late final _spine_skin_entries_dispose = _spine_skin_entries_disposePtr + .asFunction(); + + int spine_skin_entries_get_num_entries( + spine_skin_entries entries, + ) { + return _spine_skin_entries_get_num_entries( + entries, + ); + } + + late final _spine_skin_entries_get_num_entriesPtr = + _lookup>( + 'spine_skin_entries_get_num_entries'); + late final _spine_skin_entries_get_num_entries = + _spine_skin_entries_get_num_entriesPtr + .asFunction(); + + spine_skin_entry spine_skin_entries_get_entry( + spine_skin_entries entries, + int index, + ) { + return _spine_skin_entries_get_entry( + entries, + index, + ); + } + + late final _spine_skin_entries_get_entryPtr = _lookup< + ffi.NativeFunction< + spine_skin_entry Function( + spine_skin_entries, ffi.Int32)>>('spine_skin_entries_get_entry'); + late final _spine_skin_entries_get_entry = _spine_skin_entries_get_entryPtr + .asFunction(); + + /// Skin entry functions + int spine_skin_entry_get_slot_index( + spine_skin_entry entry, + ) { + return _spine_skin_entry_get_slot_index( + entry, + ); + } + + late final _spine_skin_entry_get_slot_indexPtr = + _lookup>( + 'spine_skin_entry_get_slot_index'); + late final _spine_skin_entry_get_slot_index = + _spine_skin_entry_get_slot_indexPtr + .asFunction(); + + ffi.Pointer spine_skin_entry_get_name( + spine_skin_entry entry, + ) { + return _spine_skin_entry_get_name( + entry, + ); + } + + late final _spine_skin_entry_get_namePtr = _lookup< + ffi.NativeFunction Function(spine_skin_entry)>>( + 'spine_skin_entry_get_name'); + late final _spine_skin_entry_get_name = _spine_skin_entry_get_namePtr + .asFunction Function(spine_skin_entry)>(); + + spine_attachment spine_skin_entry_get_attachment( + spine_skin_entry entry, + ) { + return _spine_skin_entry_get_attachment( + entry, + ); + } + + late final _spine_skin_entry_get_attachmentPtr = + _lookup>( + 'spine_skin_entry_get_attachment'); + late final _spine_skin_entry_get_attachment = + _spine_skin_entry_get_attachmentPtr + .asFunction(); + spine_alpha_timeline spine_alpha_timeline_create( int frameCount, int bezierCount, @@ -7293,6 +7959,38 @@ class SpineFlutterBindings { void Function(spine_alpha_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_alpha_timeline_get_slot_index( + spine_alpha_timeline self, + ) { + return _spine_alpha_timeline_get_slot_index( + self, + ); + } + + late final _spine_alpha_timeline_get_slot_indexPtr = + _lookup>( + 'spine_alpha_timeline_get_slot_index'); + late final _spine_alpha_timeline_get_slot_index = + _spine_alpha_timeline_get_slot_indexPtr + .asFunction(); + + void spine_alpha_timeline_set_slot_index( + spine_alpha_timeline self, + int inValue, + ) { + return _spine_alpha_timeline_set_slot_index( + self, + inValue, + ); + } + + late final _spine_alpha_timeline_set_slot_indexPtr = _lookup< + ffi.NativeFunction>( + 'spine_alpha_timeline_set_slot_index'); + late final _spine_alpha_timeline_set_slot_index = + _spine_alpha_timeline_set_slot_indexPtr + .asFunction(); + void spine_alpha_timeline_set_frame( spine_alpha_timeline self, int frame, @@ -7668,38 +8366,6 @@ class SpineFlutterBindings { _spine_alpha_timeline_get_property_idsPtr .asFunction(); - int spine_alpha_timeline_get_slot_index( - spine_alpha_timeline self, - ) { - return _spine_alpha_timeline_get_slot_index( - self, - ); - } - - late final _spine_alpha_timeline_get_slot_indexPtr = - _lookup>( - 'spine_alpha_timeline_get_slot_index'); - late final _spine_alpha_timeline_get_slot_index = - _spine_alpha_timeline_get_slot_indexPtr - .asFunction(); - - void spine_alpha_timeline_set_slot_index( - spine_alpha_timeline self, - int inValue, - ) { - return _spine_alpha_timeline_set_slot_index( - self, - inValue, - ); - } - - late final _spine_alpha_timeline_set_slot_indexPtr = _lookup< - ffi.NativeFunction>( - 'spine_alpha_timeline_set_slot_index'); - late final _spine_alpha_timeline_set_slot_index = - _spine_alpha_timeline_set_slot_indexPtr - .asFunction(); - spine_rtti spine_alpha_timeline_rtti() { return _spine_alpha_timeline_rtti(); } @@ -8544,65 +9210,6 @@ class SpineFlutterBindings { _spine_animation_state_data_clearPtr .asFunction(); - void spine_atlas_flip_v( - spine_atlas self, - ) { - return _spine_atlas_flip_v( - self, - ); - } - - late final _spine_atlas_flip_vPtr = - _lookup>( - 'spine_atlas_flip_v'); - late final _spine_atlas_flip_v = - _spine_atlas_flip_vPtr.asFunction(); - - spine_atlas_region spine_atlas_find_region( - spine_atlas self, - ffi.Pointer name, - ) { - return _spine_atlas_find_region( - self, - name, - ); - } - - late final _spine_atlas_find_regionPtr = _lookup< - ffi.NativeFunction< - spine_atlas_region Function( - spine_atlas, ffi.Pointer)>>('spine_atlas_find_region'); - late final _spine_atlas_find_region = _spine_atlas_find_regionPtr.asFunction< - spine_atlas_region Function(spine_atlas, ffi.Pointer)>(); - - spine_array_atlas_page spine_atlas_get_pages( - spine_atlas self, - ) { - return _spine_atlas_get_pages( - self, - ); - } - - late final _spine_atlas_get_pagesPtr = - _lookup>( - 'spine_atlas_get_pages'); - late final _spine_atlas_get_pages = _spine_atlas_get_pagesPtr - .asFunction(); - - spine_array_atlas_region spine_atlas_get_regions( - spine_atlas self, - ) { - return _spine_atlas_get_regions( - self, - ); - } - - late final _spine_atlas_get_regionsPtr = _lookup< - ffi.NativeFunction>( - 'spine_atlas_get_regions'); - late final _spine_atlas_get_regions = _spine_atlas_get_regionsPtr - .asFunction(); - spine_atlas_attachment_loader spine_atlas_attachment_loader_create( spine_atlas atlas, ) { @@ -9267,6 +9874,21 @@ class SpineFlutterBindings { late final _spine_atlas_region_get_page = _spine_atlas_region_get_pagePtr .asFunction(); + ffi.Pointer spine_atlas_region_get_name( + spine_atlas_region self, + ) { + return _spine_atlas_region_get_name( + self, + ); + } + + late final _spine_atlas_region_get_namePtr = _lookup< + ffi + .NativeFunction Function(spine_atlas_region)>>( + 'spine_atlas_region_get_name'); + late final _spine_atlas_region_get_name = _spine_atlas_region_get_namePtr + .asFunction Function(spine_atlas_region)>(); + int spine_atlas_region_get_index( spine_atlas_region self, ) { @@ -10316,6 +10938,39 @@ class SpineFlutterBindings { void Function( spine_attachment_timeline, int, double, ffi.Pointer)>(); + int spine_attachment_timeline_get_slot_index( + spine_attachment_timeline self, + ) { + return _spine_attachment_timeline_get_slot_index( + self, + ); + } + + late final _spine_attachment_timeline_get_slot_indexPtr = + _lookup>( + 'spine_attachment_timeline_get_slot_index'); + late final _spine_attachment_timeline_get_slot_index = + _spine_attachment_timeline_get_slot_indexPtr + .asFunction(); + + void spine_attachment_timeline_set_slot_index( + spine_attachment_timeline self, + int inValue, + ) { + return _spine_attachment_timeline_set_slot_index( + self, + inValue, + ); + } + + late final _spine_attachment_timeline_set_slot_indexPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_attachment_timeline, + ffi.Int)>>('spine_attachment_timeline_set_slot_index'); + late final _spine_attachment_timeline_set_slot_index = + _spine_attachment_timeline_set_slot_indexPtr + .asFunction(); + int spine_attachment_timeline_get_frame_entries( spine_attachment_timeline self, ) { @@ -10393,39 +11048,6 @@ class SpineFlutterBindings { _spine_attachment_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_attachment_timeline)>(); - int spine_attachment_timeline_get_slot_index( - spine_attachment_timeline self, - ) { - return _spine_attachment_timeline_get_slot_index( - self, - ); - } - - late final _spine_attachment_timeline_get_slot_indexPtr = - _lookup>( - 'spine_attachment_timeline_get_slot_index'); - late final _spine_attachment_timeline_get_slot_index = - _spine_attachment_timeline_get_slot_indexPtr - .asFunction(); - - void spine_attachment_timeline_set_slot_index( - spine_attachment_timeline self, - int inValue, - ) { - return _spine_attachment_timeline_set_slot_index( - self, - inValue, - ); - } - - late final _spine_attachment_timeline_set_slot_indexPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_attachment_timeline, - ffi.Int)>>('spine_attachment_timeline_set_slot_index'); - late final _spine_attachment_timeline_set_slot_index = - _spine_attachment_timeline_set_slot_indexPtr - .asFunction(); - spine_rtti spine_attachment_timeline_rtti() { return _spine_attachment_timeline_rtti(); } @@ -12278,6 +12900,38 @@ class SpineFlutterBindings { void Function(spine_bone_timeline1, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_bone_timeline1_get_bone_index( + spine_bone_timeline1 self, + ) { + return _spine_bone_timeline1_get_bone_index( + self, + ); + } + + late final _spine_bone_timeline1_get_bone_indexPtr = + _lookup>( + 'spine_bone_timeline1_get_bone_index'); + late final _spine_bone_timeline1_get_bone_index = + _spine_bone_timeline1_get_bone_indexPtr + .asFunction(); + + void spine_bone_timeline1_set_bone_index( + spine_bone_timeline1 self, + int inValue, + ) { + return _spine_bone_timeline1_set_bone_index( + self, + inValue, + ); + } + + late final _spine_bone_timeline1_set_bone_indexPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_timeline1_set_bone_index'); + late final _spine_bone_timeline1_set_bone_index = + _spine_bone_timeline1_set_bone_indexPtr + .asFunction(); + void spine_bone_timeline1_set_frame( spine_bone_timeline1 self, int frame, @@ -12653,38 +13307,6 @@ class SpineFlutterBindings { _spine_bone_timeline1_get_property_idsPtr .asFunction(); - int spine_bone_timeline1_get_bone_index( - spine_bone_timeline1 self, - ) { - return _spine_bone_timeline1_get_bone_index( - self, - ); - } - - late final _spine_bone_timeline1_get_bone_indexPtr = - _lookup>( - 'spine_bone_timeline1_get_bone_index'); - late final _spine_bone_timeline1_get_bone_index = - _spine_bone_timeline1_get_bone_indexPtr - .asFunction(); - - void spine_bone_timeline1_set_bone_index( - spine_bone_timeline1 self, - int inValue, - ) { - return _spine_bone_timeline1_set_bone_index( - self, - inValue, - ); - } - - late final _spine_bone_timeline1_set_bone_indexPtr = _lookup< - ffi.NativeFunction>( - 'spine_bone_timeline1_set_bone_index'); - late final _spine_bone_timeline1_set_bone_index = - _spine_bone_timeline1_set_bone_indexPtr - .asFunction(); - spine_rtti spine_bone_timeline1_rtti() { return _spine_bone_timeline1_rtti(); } @@ -12764,6 +13386,38 @@ class SpineFlutterBindings { void Function(spine_bone_timeline2, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_bone_timeline2_get_bone_index( + spine_bone_timeline2 self, + ) { + return _spine_bone_timeline2_get_bone_index( + self, + ); + } + + late final _spine_bone_timeline2_get_bone_indexPtr = + _lookup>( + 'spine_bone_timeline2_get_bone_index'); + late final _spine_bone_timeline2_get_bone_index = + _spine_bone_timeline2_get_bone_indexPtr + .asFunction(); + + void spine_bone_timeline2_set_bone_index( + spine_bone_timeline2 self, + int inValue, + ) { + return _spine_bone_timeline2_set_bone_index( + self, + inValue, + ); + } + + late final _spine_bone_timeline2_set_bone_indexPtr = _lookup< + ffi.NativeFunction>( + 'spine_bone_timeline2_set_bone_index'); + late final _spine_bone_timeline2_set_bone_index = + _spine_bone_timeline2_set_bone_indexPtr + .asFunction(); + void spine_bone_timeline2_set_frame( spine_bone_timeline2 self, int frame, @@ -12788,24 +13442,6 @@ class SpineFlutterBindings { _spine_bone_timeline2_set_framePtr.asFunction< void Function(spine_bone_timeline2, int, double, double, double)>(); - double spine_bone_timeline2_get_curve_value( - spine_bone_timeline2 self, - double time, - ) { - return _spine_bone_timeline2_get_curve_value( - self, - time, - ); - } - - late final _spine_bone_timeline2_get_curve_valuePtr = _lookup< - ffi - .NativeFunction>( - 'spine_bone_timeline2_get_curve_value'); - late final _spine_bone_timeline2_get_curve_value = - _spine_bone_timeline2_get_curve_valuePtr - .asFunction(); - void spine_bone_timeline2_set_linear( spine_bone_timeline2 self, int frame, @@ -13007,38 +13643,6 @@ class SpineFlutterBindings { _spine_bone_timeline2_get_property_idsPtr .asFunction(); - int spine_bone_timeline2_get_bone_index( - spine_bone_timeline2 self, - ) { - return _spine_bone_timeline2_get_bone_index( - self, - ); - } - - late final _spine_bone_timeline2_get_bone_indexPtr = - _lookup>( - 'spine_bone_timeline2_get_bone_index'); - late final _spine_bone_timeline2_get_bone_index = - _spine_bone_timeline2_get_bone_indexPtr - .asFunction(); - - void spine_bone_timeline2_set_bone_index( - spine_bone_timeline2 self, - int inValue, - ) { - return _spine_bone_timeline2_set_bone_index( - self, - inValue, - ); - } - - late final _spine_bone_timeline2_set_bone_indexPtr = _lookup< - ffi.NativeFunction>( - 'spine_bone_timeline2_set_bone_index'); - late final _spine_bone_timeline2_set_bone_index = - _spine_bone_timeline2_set_bone_indexPtr - .asFunction(); - spine_rtti spine_bone_timeline2_rtti() { return _spine_bone_timeline2_rtti(); } @@ -14524,6 +15128,39 @@ class SpineFlutterBindings { _spine_constraint_timeline1_get_rttiPtr .asFunction(); + int spine_constraint_timeline1_get_constraint_index( + spine_constraint_timeline1 self, + ) { + return _spine_constraint_timeline1_get_constraint_index( + self, + ); + } + + late final _spine_constraint_timeline1_get_constraint_indexPtr = + _lookup>( + 'spine_constraint_timeline1_get_constraint_index'); + late final _spine_constraint_timeline1_get_constraint_index = + _spine_constraint_timeline1_get_constraint_indexPtr + .asFunction(); + + void spine_constraint_timeline1_set_constraint_index( + spine_constraint_timeline1 self, + int inValue, + ) { + return _spine_constraint_timeline1_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_constraint_timeline1_set_constraint_indexPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_constraint_timeline1, + ffi.Int)>>('spine_constraint_timeline1_set_constraint_index'); + late final _spine_constraint_timeline1_set_constraint_index = + _spine_constraint_timeline1_set_constraint_indexPtr + .asFunction(); + void spine_constraint_timeline1_set_frame( spine_constraint_timeline1 self, int frame, @@ -14946,39 +15583,6 @@ class SpineFlutterBindings { _spine_constraint_timeline1_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_constraint_timeline1)>(); - int spine_constraint_timeline1_get_constraint_index( - spine_constraint_timeline1 self, - ) { - return _spine_constraint_timeline1_get_constraint_index( - self, - ); - } - - late final _spine_constraint_timeline1_get_constraint_indexPtr = - _lookup>( - 'spine_constraint_timeline1_get_constraint_index'); - late final _spine_constraint_timeline1_get_constraint_index = - _spine_constraint_timeline1_get_constraint_indexPtr - .asFunction(); - - void spine_constraint_timeline1_set_constraint_index( - spine_constraint_timeline1 self, - int inValue, - ) { - return _spine_constraint_timeline1_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_constraint_timeline1_set_constraint_indexPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_constraint_timeline1, - ffi.Int)>>('spine_constraint_timeline1_set_constraint_index'); - late final _spine_constraint_timeline1_set_constraint_index = - _spine_constraint_timeline1_set_constraint_indexPtr - .asFunction(); - spine_rtti spine_constraint_timeline1_rtti() { return _spine_constraint_timeline1_rtti(); } @@ -15726,331 +16330,6 @@ class SpineFlutterBindings { late final _spine_curve_timeline1_rtti = _spine_curve_timeline1_rttiPtr.asFunction(); - void spine_curve_timeline2_dispose( - spine_curve_timeline2 self, - ) { - return _spine_curve_timeline2_dispose( - self, - ); - } - - late final _spine_curve_timeline2_disposePtr = - _lookup>( - 'spine_curve_timeline2_dispose'); - late final _spine_curve_timeline2_dispose = _spine_curve_timeline2_disposePtr - .asFunction(); - - spine_rtti spine_curve_timeline2_get_rtti( - spine_curve_timeline2 self, - ) { - return _spine_curve_timeline2_get_rtti( - self, - ); - } - - late final _spine_curve_timeline2_get_rttiPtr = - _lookup>( - 'spine_curve_timeline2_get_rtti'); - late final _spine_curve_timeline2_get_rtti = - _spine_curve_timeline2_get_rttiPtr - .asFunction(); - - void spine_curve_timeline2_set_frame( - spine_curve_timeline2 self, - int frame, - double time, - double value1, - double value2, - ) { - return _spine_curve_timeline2_set_frame( - self, - frame, - time, - value1, - value2, - ); - } - - late final _spine_curve_timeline2_set_framePtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_curve_timeline2, ffi.Size, ffi.Float, - ffi.Float, ffi.Float)>>('spine_curve_timeline2_set_frame'); - late final _spine_curve_timeline2_set_frame = - _spine_curve_timeline2_set_framePtr.asFunction< - void Function(spine_curve_timeline2, int, double, double, double)>(); - - double spine_curve_timeline2_get_curve_value( - spine_curve_timeline2 self, - double time, - ) { - return _spine_curve_timeline2_get_curve_value( - self, - time, - ); - } - - late final _spine_curve_timeline2_get_curve_valuePtr = _lookup< - ffi.NativeFunction< - ffi.Float Function(spine_curve_timeline2, - ffi.Float)>>('spine_curve_timeline2_get_curve_value'); - late final _spine_curve_timeline2_get_curve_value = - _spine_curve_timeline2_get_curve_valuePtr - .asFunction(); - - void spine_curve_timeline2_set_linear( - spine_curve_timeline2 self, - int frame, - ) { - return _spine_curve_timeline2_set_linear( - self, - frame, - ); - } - - late final _spine_curve_timeline2_set_linearPtr = _lookup< - ffi - .NativeFunction>( - 'spine_curve_timeline2_set_linear'); - late final _spine_curve_timeline2_set_linear = - _spine_curve_timeline2_set_linearPtr - .asFunction(); - - void spine_curve_timeline2_set_stepped( - spine_curve_timeline2 self, - int frame, - ) { - return _spine_curve_timeline2_set_stepped( - self, - frame, - ); - } - - late final _spine_curve_timeline2_set_steppedPtr = _lookup< - ffi - .NativeFunction>( - 'spine_curve_timeline2_set_stepped'); - late final _spine_curve_timeline2_set_stepped = - _spine_curve_timeline2_set_steppedPtr - .asFunction(); - - void spine_curve_timeline2_set_bezier( - spine_curve_timeline2 self, - int bezier, - int frame, - double value, - double time1, - double value1, - double cx1, - double cy1, - double cx2, - double cy2, - double time2, - double value2, - ) { - return _spine_curve_timeline2_set_bezier( - self, - bezier, - frame, - value, - time1, - value1, - cx1, - cy1, - cx2, - cy2, - time2, - value2, - ); - } - - late final _spine_curve_timeline2_set_bezierPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_curve_timeline2, - ffi.Size, - ffi.Size, - ffi.Float, - ffi.Float, - ffi.Float, - ffi.Float, - ffi.Float, - ffi.Float, - ffi.Float, - ffi.Float, - ffi.Float)>>('spine_curve_timeline2_set_bezier'); - late final _spine_curve_timeline2_set_bezier = - _spine_curve_timeline2_set_bezierPtr.asFunction< - void Function(spine_curve_timeline2, int, int, double, double, double, - double, double, double, double, double, double)>(); - - double spine_curve_timeline2_get_bezier_value( - spine_curve_timeline2 self, - double time, - int frame, - int valueOffset, - int i, - ) { - return _spine_curve_timeline2_get_bezier_value( - self, - time, - frame, - valueOffset, - i, - ); - } - - late final _spine_curve_timeline2_get_bezier_valuePtr = _lookup< - ffi.NativeFunction< - ffi.Float Function(spine_curve_timeline2, ffi.Float, ffi.Size, - ffi.Size, ffi.Size)>>('spine_curve_timeline2_get_bezier_value'); - late final _spine_curve_timeline2_get_bezier_value = - _spine_curve_timeline2_get_bezier_valuePtr.asFunction< - double Function(spine_curve_timeline2, double, int, int, int)>(); - - spine_array_float spine_curve_timeline2_get_curves( - spine_curve_timeline2 self, - ) { - return _spine_curve_timeline2_get_curves( - self, - ); - } - - late final _spine_curve_timeline2_get_curvesPtr = _lookup< - ffi - .NativeFunction>( - 'spine_curve_timeline2_get_curves'); - late final _spine_curve_timeline2_get_curves = - _spine_curve_timeline2_get_curvesPtr - .asFunction(); - - void spine_curve_timeline2_apply( - spine_curve_timeline2 self, - spine_skeleton skeleton, - double lastTime, - double time, - spine_array_event pEvents, - double alpha, - int blend, - int direction, - bool appliedPose, - ) { - return _spine_curve_timeline2_apply( - self, - skeleton, - lastTime, - time, - pEvents, - alpha, - blend, - direction, - appliedPose, - ); - } - - late final _spine_curve_timeline2_applyPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_curve_timeline2, - spine_skeleton, - ffi.Float, - ffi.Float, - spine_array_event, - ffi.Float, - ffi.Int32, - ffi.Int32, - ffi.Bool)>>('spine_curve_timeline2_apply'); - late final _spine_curve_timeline2_apply = - _spine_curve_timeline2_applyPtr.asFunction< - void Function(spine_curve_timeline2, spine_skeleton, double, double, - spine_array_event, double, int, int, bool)>(); - - int spine_curve_timeline2_get_frame_entries( - spine_curve_timeline2 self, - ) { - return _spine_curve_timeline2_get_frame_entries( - self, - ); - } - - late final _spine_curve_timeline2_get_frame_entriesPtr = - _lookup>( - 'spine_curve_timeline2_get_frame_entries'); - late final _spine_curve_timeline2_get_frame_entries = - _spine_curve_timeline2_get_frame_entriesPtr - .asFunction(); - - int spine_curve_timeline2_get_frame_count( - spine_curve_timeline2 self, - ) { - return _spine_curve_timeline2_get_frame_count( - self, - ); - } - - late final _spine_curve_timeline2_get_frame_countPtr = - _lookup>( - 'spine_curve_timeline2_get_frame_count'); - late final _spine_curve_timeline2_get_frame_count = - _spine_curve_timeline2_get_frame_countPtr - .asFunction(); - - spine_array_float spine_curve_timeline2_get_frames( - spine_curve_timeline2 self, - ) { - return _spine_curve_timeline2_get_frames( - self, - ); - } - - late final _spine_curve_timeline2_get_framesPtr = _lookup< - ffi - .NativeFunction>( - 'spine_curve_timeline2_get_frames'); - late final _spine_curve_timeline2_get_frames = - _spine_curve_timeline2_get_framesPtr - .asFunction(); - - double spine_curve_timeline2_get_duration( - spine_curve_timeline2 self, - ) { - return _spine_curve_timeline2_get_duration( - self, - ); - } - - late final _spine_curve_timeline2_get_durationPtr = - _lookup>( - 'spine_curve_timeline2_get_duration'); - late final _spine_curve_timeline2_get_duration = - _spine_curve_timeline2_get_durationPtr - .asFunction(); - - spine_array_property_id spine_curve_timeline2_get_property_ids( - spine_curve_timeline2 self, - ) { - return _spine_curve_timeline2_get_property_ids( - self, - ); - } - - late final _spine_curve_timeline2_get_property_idsPtr = _lookup< - ffi.NativeFunction< - spine_array_property_id Function(spine_curve_timeline2)>>( - 'spine_curve_timeline2_get_property_ids'); - late final _spine_curve_timeline2_get_property_ids = - _spine_curve_timeline2_get_property_idsPtr.asFunction< - spine_array_property_id Function(spine_curve_timeline2)>(); - - spine_rtti spine_curve_timeline2_rtti() { - return _spine_curve_timeline2_rtti(); - } - - late final _spine_curve_timeline2_rttiPtr = - _lookup>( - 'spine_curve_timeline2_rtti'); - late final _spine_curve_timeline2_rtti = - _spine_curve_timeline2_rttiPtr.asFunction(); - spine_deform_timeline spine_deform_timeline_create( int frameCount, int bezierCount, @@ -16287,6 +16566,39 @@ class SpineFlutterBindings { void Function(spine_deform_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_deform_timeline_get_slot_index( + spine_deform_timeline self, + ) { + return _spine_deform_timeline_get_slot_index( + self, + ); + } + + late final _spine_deform_timeline_get_slot_indexPtr = + _lookup>( + 'spine_deform_timeline_get_slot_index'); + late final _spine_deform_timeline_get_slot_index = + _spine_deform_timeline_get_slot_indexPtr + .asFunction(); + + void spine_deform_timeline_set_slot_index( + spine_deform_timeline self, + int inValue, + ) { + return _spine_deform_timeline_set_slot_index( + self, + inValue, + ); + } + + late final _spine_deform_timeline_set_slot_indexPtr = _lookup< + ffi + .NativeFunction>( + 'spine_deform_timeline_set_slot_index'); + late final _spine_deform_timeline_set_slot_index = + _spine_deform_timeline_set_slot_indexPtr + .asFunction(); + void spine_deform_timeline_set_linear( spine_deform_timeline self, int frame, @@ -16425,39 +16737,6 @@ class SpineFlutterBindings { _spine_deform_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_deform_timeline)>(); - int spine_deform_timeline_get_slot_index( - spine_deform_timeline self, - ) { - return _spine_deform_timeline_get_slot_index( - self, - ); - } - - late final _spine_deform_timeline_get_slot_indexPtr = - _lookup>( - 'spine_deform_timeline_get_slot_index'); - late final _spine_deform_timeline_get_slot_index = - _spine_deform_timeline_get_slot_indexPtr - .asFunction(); - - void spine_deform_timeline_set_slot_index( - spine_deform_timeline self, - int inValue, - ) { - return _spine_deform_timeline_set_slot_index( - self, - inValue, - ); - } - - late final _spine_deform_timeline_set_slot_indexPtr = _lookup< - ffi - .NativeFunction>( - 'spine_deform_timeline_set_slot_index'); - late final _spine_deform_timeline_set_slot_index = - _spine_deform_timeline_set_slot_indexPtr - .asFunction(); - spine_rtti spine_deform_timeline_rtti() { return _spine_deform_timeline_rtti(); } @@ -18958,6 +19237,39 @@ class SpineFlutterBindings { void Function(spine_ik_constraint_timeline, int, double, double, double, int, bool, bool)>(); + int spine_ik_constraint_timeline_get_constraint_index( + spine_ik_constraint_timeline self, + ) { + return _spine_ik_constraint_timeline_get_constraint_index( + self, + ); + } + + late final _spine_ik_constraint_timeline_get_constraint_indexPtr = _lookup< + ffi.NativeFunction>( + 'spine_ik_constraint_timeline_get_constraint_index'); + late final _spine_ik_constraint_timeline_get_constraint_index = + _spine_ik_constraint_timeline_get_constraint_indexPtr + .asFunction(); + + void spine_ik_constraint_timeline_set_constraint_index( + spine_ik_constraint_timeline self, + int inValue, + ) { + return _spine_ik_constraint_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_ik_constraint_timeline_set_constraint_indexPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_ik_constraint_timeline, + ffi.Int)>>('spine_ik_constraint_timeline_set_constraint_index'); + late final _spine_ik_constraint_timeline_set_constraint_index = + _spine_ik_constraint_timeline_set_constraint_indexPtr + .asFunction(); + void spine_ik_constraint_timeline_set_linear( spine_ik_constraint_timeline self, int frame, @@ -19166,39 +19478,6 @@ class SpineFlutterBindings { _spine_ik_constraint_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_ik_constraint_timeline)>(); - int spine_ik_constraint_timeline_get_constraint_index( - spine_ik_constraint_timeline self, - ) { - return _spine_ik_constraint_timeline_get_constraint_index( - self, - ); - } - - late final _spine_ik_constraint_timeline_get_constraint_indexPtr = _lookup< - ffi.NativeFunction>( - 'spine_ik_constraint_timeline_get_constraint_index'); - late final _spine_ik_constraint_timeline_get_constraint_index = - _spine_ik_constraint_timeline_get_constraint_indexPtr - .asFunction(); - - void spine_ik_constraint_timeline_set_constraint_index( - spine_ik_constraint_timeline self, - int inValue, - ) { - return _spine_ik_constraint_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_ik_constraint_timeline_set_constraint_indexPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_ik_constraint_timeline, - ffi.Int)>>('spine_ik_constraint_timeline_set_constraint_index'); - late final _spine_ik_constraint_timeline_set_constraint_index = - _spine_ik_constraint_timeline_set_constraint_indexPtr - .asFunction(); - spine_rtti spine_ik_constraint_timeline_rtti() { return _spine_ik_constraint_timeline_rtti(); } @@ -19319,6 +19598,39 @@ class SpineFlutterBindings { void Function(spine_inherit_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_inherit_timeline_get_bone_index( + spine_inherit_timeline self, + ) { + return _spine_inherit_timeline_get_bone_index( + self, + ); + } + + late final _spine_inherit_timeline_get_bone_indexPtr = + _lookup>( + 'spine_inherit_timeline_get_bone_index'); + late final _spine_inherit_timeline_get_bone_index = + _spine_inherit_timeline_get_bone_indexPtr + .asFunction(); + + void spine_inherit_timeline_set_bone_index( + spine_inherit_timeline self, + int inValue, + ) { + return _spine_inherit_timeline_set_bone_index( + self, + inValue, + ); + } + + late final _spine_inherit_timeline_set_bone_indexPtr = _lookup< + ffi + .NativeFunction>( + 'spine_inherit_timeline_set_bone_index'); + late final _spine_inherit_timeline_set_bone_index = + _spine_inherit_timeline_set_bone_indexPtr + .asFunction(); + int spine_inherit_timeline_get_frame_entries( spine_inherit_timeline self, ) { @@ -19396,39 +19708,6 @@ class SpineFlutterBindings { _spine_inherit_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_inherit_timeline)>(); - int spine_inherit_timeline_get_bone_index( - spine_inherit_timeline self, - ) { - return _spine_inherit_timeline_get_bone_index( - self, - ); - } - - late final _spine_inherit_timeline_get_bone_indexPtr = - _lookup>( - 'spine_inherit_timeline_get_bone_index'); - late final _spine_inherit_timeline_get_bone_index = - _spine_inherit_timeline_get_bone_indexPtr - .asFunction(); - - void spine_inherit_timeline_set_bone_index( - spine_inherit_timeline self, - int inValue, - ) { - return _spine_inherit_timeline_set_bone_index( - self, - inValue, - ); - } - - late final _spine_inherit_timeline_set_bone_indexPtr = _lookup< - ffi - .NativeFunction>( - 'spine_inherit_timeline_set_bone_index'); - late final _spine_inherit_timeline_set_bone_index = - _spine_inherit_timeline_set_bone_indexPtr - .asFunction(); - spine_rtti spine_inherit_timeline_rtti() { return _spine_inherit_timeline_rtti(); } @@ -21511,6 +21790,43 @@ class SpineFlutterBindings { void Function(spine_path_constraint_mix_timeline, int, double, double, double, double)>(); + int spine_path_constraint_mix_timeline_get_constraint_index( + spine_path_constraint_mix_timeline self, + ) { + return _spine_path_constraint_mix_timeline_get_constraint_index( + self, + ); + } + + late final _spine_path_constraint_mix_timeline_get_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Int Function(spine_path_constraint_mix_timeline)>>( + 'spine_path_constraint_mix_timeline_get_constraint_index'); + late final _spine_path_constraint_mix_timeline_get_constraint_index = + _spine_path_constraint_mix_timeline_get_constraint_indexPtr + .asFunction(); + + void spine_path_constraint_mix_timeline_set_constraint_index( + spine_path_constraint_mix_timeline self, + int inValue, + ) { + return _spine_path_constraint_mix_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_path_constraint_mix_timeline_set_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_path_constraint_mix_timeline, ffi.Int)>>( + 'spine_path_constraint_mix_timeline_set_constraint_index'); + late final _spine_path_constraint_mix_timeline_set_constraint_index = + _spine_path_constraint_mix_timeline_set_constraint_indexPtr + .asFunction(); + void spine_path_constraint_mix_timeline_set_linear( spine_path_constraint_mix_timeline self, int frame, @@ -21732,43 +22048,6 @@ class SpineFlutterBindings { spine_array_property_id Function( spine_path_constraint_mix_timeline)>(); - int spine_path_constraint_mix_timeline_get_constraint_index( - spine_path_constraint_mix_timeline self, - ) { - return _spine_path_constraint_mix_timeline_get_constraint_index( - self, - ); - } - - late final _spine_path_constraint_mix_timeline_get_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Int Function(spine_path_constraint_mix_timeline)>>( - 'spine_path_constraint_mix_timeline_get_constraint_index'); - late final _spine_path_constraint_mix_timeline_get_constraint_index = - _spine_path_constraint_mix_timeline_get_constraint_indexPtr - .asFunction(); - - void spine_path_constraint_mix_timeline_set_constraint_index( - spine_path_constraint_mix_timeline self, - int inValue, - ) { - return _spine_path_constraint_mix_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_path_constraint_mix_timeline_set_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_path_constraint_mix_timeline, ffi.Int)>>( - 'spine_path_constraint_mix_timeline_set_constraint_index'); - late final _spine_path_constraint_mix_timeline_set_constraint_index = - _spine_path_constraint_mix_timeline_set_constraint_indexPtr - .asFunction(); - spine_rtti spine_path_constraint_mix_timeline_rtti() { return _spine_path_constraint_mix_timeline_rtti(); } @@ -22084,6 +22363,44 @@ class SpineFlutterBindings { void Function(spine_path_constraint_position_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_path_constraint_position_timeline_get_constraint_index( + spine_path_constraint_position_timeline self, + ) { + return _spine_path_constraint_position_timeline_get_constraint_index( + self, + ); + } + + late final _spine_path_constraint_position_timeline_get_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Int Function(spine_path_constraint_position_timeline)>>( + 'spine_path_constraint_position_timeline_get_constraint_index'); + late final _spine_path_constraint_position_timeline_get_constraint_index = + _spine_path_constraint_position_timeline_get_constraint_indexPtr + .asFunction(); + + void spine_path_constraint_position_timeline_set_constraint_index( + spine_path_constraint_position_timeline self, + int inValue, + ) { + return _spine_path_constraint_position_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_path_constraint_position_timeline_set_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_path_constraint_position_timeline, ffi.Int)>>( + 'spine_path_constraint_position_timeline_set_constraint_index'); + late final _spine_path_constraint_position_timeline_set_constraint_index = + _spine_path_constraint_position_timeline_set_constraint_indexPtr + .asFunction< + void Function(spine_path_constraint_position_timeline, int)>(); + void spine_path_constraint_position_timeline_set_frame( spine_path_constraint_position_timeline self, int frame, @@ -22496,44 +22813,6 @@ class SpineFlutterBindings { spine_array_property_id Function( spine_path_constraint_position_timeline)>(); - int spine_path_constraint_position_timeline_get_constraint_index( - spine_path_constraint_position_timeline self, - ) { - return _spine_path_constraint_position_timeline_get_constraint_index( - self, - ); - } - - late final _spine_path_constraint_position_timeline_get_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Int Function(spine_path_constraint_position_timeline)>>( - 'spine_path_constraint_position_timeline_get_constraint_index'); - late final _spine_path_constraint_position_timeline_get_constraint_index = - _spine_path_constraint_position_timeline_get_constraint_indexPtr - .asFunction(); - - void spine_path_constraint_position_timeline_set_constraint_index( - spine_path_constraint_position_timeline self, - int inValue, - ) { - return _spine_path_constraint_position_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_path_constraint_position_timeline_set_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_path_constraint_position_timeline, ffi.Int)>>( - 'spine_path_constraint_position_timeline_set_constraint_index'); - late final _spine_path_constraint_position_timeline_set_constraint_index = - _spine_path_constraint_position_timeline_set_constraint_indexPtr - .asFunction< - void Function(spine_path_constraint_position_timeline, int)>(); - spine_rtti spine_path_constraint_position_timeline_rtti() { return _spine_path_constraint_position_timeline_rtti(); } @@ -22639,6 +22918,44 @@ class SpineFlutterBindings { void Function(spine_path_constraint_spacing_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_path_constraint_spacing_timeline_get_constraint_index( + spine_path_constraint_spacing_timeline self, + ) { + return _spine_path_constraint_spacing_timeline_get_constraint_index( + self, + ); + } + + late final _spine_path_constraint_spacing_timeline_get_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Int Function(spine_path_constraint_spacing_timeline)>>( + 'spine_path_constraint_spacing_timeline_get_constraint_index'); + late final _spine_path_constraint_spacing_timeline_get_constraint_index = + _spine_path_constraint_spacing_timeline_get_constraint_indexPtr + .asFunction(); + + void spine_path_constraint_spacing_timeline_set_constraint_index( + spine_path_constraint_spacing_timeline self, + int inValue, + ) { + return _spine_path_constraint_spacing_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_path_constraint_spacing_timeline_set_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_path_constraint_spacing_timeline, ffi.Int)>>( + 'spine_path_constraint_spacing_timeline_set_constraint_index'); + late final _spine_path_constraint_spacing_timeline_set_constraint_index = + _spine_path_constraint_spacing_timeline_set_constraint_indexPtr + .asFunction< + void Function(spine_path_constraint_spacing_timeline, int)>(); + void spine_path_constraint_spacing_timeline_set_frame( spine_path_constraint_spacing_timeline self, int frame, @@ -23047,44 +23364,6 @@ class SpineFlutterBindings { spine_array_property_id Function( spine_path_constraint_spacing_timeline)>(); - int spine_path_constraint_spacing_timeline_get_constraint_index( - spine_path_constraint_spacing_timeline self, - ) { - return _spine_path_constraint_spacing_timeline_get_constraint_index( - self, - ); - } - - late final _spine_path_constraint_spacing_timeline_get_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Int Function(spine_path_constraint_spacing_timeline)>>( - 'spine_path_constraint_spacing_timeline_get_constraint_index'); - late final _spine_path_constraint_spacing_timeline_get_constraint_index = - _spine_path_constraint_spacing_timeline_get_constraint_indexPtr - .asFunction(); - - void spine_path_constraint_spacing_timeline_set_constraint_index( - spine_path_constraint_spacing_timeline self, - int inValue, - ) { - return _spine_path_constraint_spacing_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_path_constraint_spacing_timeline_set_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_path_constraint_spacing_timeline, ffi.Int)>>( - 'spine_path_constraint_spacing_timeline_set_constraint_index'); - late final _spine_path_constraint_spacing_timeline_set_constraint_index = - _spine_path_constraint_spacing_timeline_set_constraint_indexPtr - .asFunction< - void Function(spine_path_constraint_spacing_timeline, int)>(); - spine_rtti spine_path_constraint_spacing_timeline_rtti() { return _spine_path_constraint_spacing_timeline_rtti(); } @@ -23549,6 +23828,45 @@ class SpineFlutterBindings { int, bool)>(); + int spine_physics_constraint_damping_timeline_get_constraint_index( + spine_physics_constraint_damping_timeline self, + ) { + return _spine_physics_constraint_damping_timeline_get_constraint_index( + self, + ); + } + + late final _spine_physics_constraint_damping_timeline_get_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Int Function(spine_physics_constraint_damping_timeline)>>( + 'spine_physics_constraint_damping_timeline_get_constraint_index'); + late final _spine_physics_constraint_damping_timeline_get_constraint_index = + _spine_physics_constraint_damping_timeline_get_constraint_indexPtr + .asFunction< + int Function(spine_physics_constraint_damping_timeline)>(); + + void spine_physics_constraint_damping_timeline_set_constraint_index( + spine_physics_constraint_damping_timeline self, + int inValue, + ) { + return _spine_physics_constraint_damping_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_physics_constraint_damping_timeline_set_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_physics_constraint_damping_timeline, ffi.Int)>>( + 'spine_physics_constraint_damping_timeline_set_constraint_index'); + late final _spine_physics_constraint_damping_timeline_set_constraint_index = + _spine_physics_constraint_damping_timeline_set_constraint_indexPtr + .asFunction< + void Function(spine_physics_constraint_damping_timeline, int)>(); + void spine_physics_constraint_damping_timeline_set_frame( spine_physics_constraint_damping_timeline self, int frame, @@ -23967,45 +24285,6 @@ class SpineFlutterBindings { spine_array_property_id Function( spine_physics_constraint_damping_timeline)>(); - int spine_physics_constraint_damping_timeline_get_constraint_index( - spine_physics_constraint_damping_timeline self, - ) { - return _spine_physics_constraint_damping_timeline_get_constraint_index( - self, - ); - } - - late final _spine_physics_constraint_damping_timeline_get_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Int Function(spine_physics_constraint_damping_timeline)>>( - 'spine_physics_constraint_damping_timeline_get_constraint_index'); - late final _spine_physics_constraint_damping_timeline_get_constraint_index = - _spine_physics_constraint_damping_timeline_get_constraint_indexPtr - .asFunction< - int Function(spine_physics_constraint_damping_timeline)>(); - - void spine_physics_constraint_damping_timeline_set_constraint_index( - spine_physics_constraint_damping_timeline self, - int inValue, - ) { - return _spine_physics_constraint_damping_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_physics_constraint_damping_timeline_set_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_physics_constraint_damping_timeline, ffi.Int)>>( - 'spine_physics_constraint_damping_timeline_set_constraint_index'); - late final _spine_physics_constraint_damping_timeline_set_constraint_index = - _spine_physics_constraint_damping_timeline_set_constraint_indexPtr - .asFunction< - void Function(spine_physics_constraint_damping_timeline, int)>(); - spine_rtti spine_physics_constraint_damping_timeline_rtti() { return _spine_physics_constraint_damping_timeline_rtti(); } @@ -24766,6 +25045,45 @@ class SpineFlutterBindings { int, bool)>(); + int spine_physics_constraint_gravity_timeline_get_constraint_index( + spine_physics_constraint_gravity_timeline self, + ) { + return _spine_physics_constraint_gravity_timeline_get_constraint_index( + self, + ); + } + + late final _spine_physics_constraint_gravity_timeline_get_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Int Function(spine_physics_constraint_gravity_timeline)>>( + 'spine_physics_constraint_gravity_timeline_get_constraint_index'); + late final _spine_physics_constraint_gravity_timeline_get_constraint_index = + _spine_physics_constraint_gravity_timeline_get_constraint_indexPtr + .asFunction< + int Function(spine_physics_constraint_gravity_timeline)>(); + + void spine_physics_constraint_gravity_timeline_set_constraint_index( + spine_physics_constraint_gravity_timeline self, + int inValue, + ) { + return _spine_physics_constraint_gravity_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_physics_constraint_gravity_timeline_set_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_physics_constraint_gravity_timeline, ffi.Int)>>( + 'spine_physics_constraint_gravity_timeline_set_constraint_index'); + late final _spine_physics_constraint_gravity_timeline_set_constraint_index = + _spine_physics_constraint_gravity_timeline_set_constraint_indexPtr + .asFunction< + void Function(spine_physics_constraint_gravity_timeline, int)>(); + void spine_physics_constraint_gravity_timeline_set_frame( spine_physics_constraint_gravity_timeline self, int frame, @@ -25184,45 +25502,6 @@ class SpineFlutterBindings { spine_array_property_id Function( spine_physics_constraint_gravity_timeline)>(); - int spine_physics_constraint_gravity_timeline_get_constraint_index( - spine_physics_constraint_gravity_timeline self, - ) { - return _spine_physics_constraint_gravity_timeline_get_constraint_index( - self, - ); - } - - late final _spine_physics_constraint_gravity_timeline_get_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Int Function(spine_physics_constraint_gravity_timeline)>>( - 'spine_physics_constraint_gravity_timeline_get_constraint_index'); - late final _spine_physics_constraint_gravity_timeline_get_constraint_index = - _spine_physics_constraint_gravity_timeline_get_constraint_indexPtr - .asFunction< - int Function(spine_physics_constraint_gravity_timeline)>(); - - void spine_physics_constraint_gravity_timeline_set_constraint_index( - spine_physics_constraint_gravity_timeline self, - int inValue, - ) { - return _spine_physics_constraint_gravity_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_physics_constraint_gravity_timeline_set_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_physics_constraint_gravity_timeline, ffi.Int)>>( - 'spine_physics_constraint_gravity_timeline_set_constraint_index'); - late final _spine_physics_constraint_gravity_timeline_set_constraint_index = - _spine_physics_constraint_gravity_timeline_set_constraint_indexPtr - .asFunction< - void Function(spine_physics_constraint_gravity_timeline, int)>(); - spine_rtti spine_physics_constraint_gravity_timeline_rtti() { return _spine_physics_constraint_gravity_timeline_rtti(); } @@ -25336,6 +25615,45 @@ class SpineFlutterBindings { int, bool)>(); + int spine_physics_constraint_inertia_timeline_get_constraint_index( + spine_physics_constraint_inertia_timeline self, + ) { + return _spine_physics_constraint_inertia_timeline_get_constraint_index( + self, + ); + } + + late final _spine_physics_constraint_inertia_timeline_get_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Int Function(spine_physics_constraint_inertia_timeline)>>( + 'spine_physics_constraint_inertia_timeline_get_constraint_index'); + late final _spine_physics_constraint_inertia_timeline_get_constraint_index = + _spine_physics_constraint_inertia_timeline_get_constraint_indexPtr + .asFunction< + int Function(spine_physics_constraint_inertia_timeline)>(); + + void spine_physics_constraint_inertia_timeline_set_constraint_index( + spine_physics_constraint_inertia_timeline self, + int inValue, + ) { + return _spine_physics_constraint_inertia_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_physics_constraint_inertia_timeline_set_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_physics_constraint_inertia_timeline, ffi.Int)>>( + 'spine_physics_constraint_inertia_timeline_set_constraint_index'); + late final _spine_physics_constraint_inertia_timeline_set_constraint_index = + _spine_physics_constraint_inertia_timeline_set_constraint_indexPtr + .asFunction< + void Function(spine_physics_constraint_inertia_timeline, int)>(); + void spine_physics_constraint_inertia_timeline_set_frame( spine_physics_constraint_inertia_timeline self, int frame, @@ -25754,45 +26072,6 @@ class SpineFlutterBindings { spine_array_property_id Function( spine_physics_constraint_inertia_timeline)>(); - int spine_physics_constraint_inertia_timeline_get_constraint_index( - spine_physics_constraint_inertia_timeline self, - ) { - return _spine_physics_constraint_inertia_timeline_get_constraint_index( - self, - ); - } - - late final _spine_physics_constraint_inertia_timeline_get_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Int Function(spine_physics_constraint_inertia_timeline)>>( - 'spine_physics_constraint_inertia_timeline_get_constraint_index'); - late final _spine_physics_constraint_inertia_timeline_get_constraint_index = - _spine_physics_constraint_inertia_timeline_get_constraint_indexPtr - .asFunction< - int Function(spine_physics_constraint_inertia_timeline)>(); - - void spine_physics_constraint_inertia_timeline_set_constraint_index( - spine_physics_constraint_inertia_timeline self, - int inValue, - ) { - return _spine_physics_constraint_inertia_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_physics_constraint_inertia_timeline_set_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_physics_constraint_inertia_timeline, ffi.Int)>>( - 'spine_physics_constraint_inertia_timeline_set_constraint_index'); - late final _spine_physics_constraint_inertia_timeline_set_constraint_index = - _spine_physics_constraint_inertia_timeline_set_constraint_indexPtr - .asFunction< - void Function(spine_physics_constraint_inertia_timeline, int)>(); - spine_rtti spine_physics_constraint_inertia_timeline_rtti() { return _spine_physics_constraint_inertia_timeline_rtti(); } @@ -25898,6 +26177,44 @@ class SpineFlutterBindings { void Function(spine_physics_constraint_mass_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_physics_constraint_mass_timeline_get_constraint_index( + spine_physics_constraint_mass_timeline self, + ) { + return _spine_physics_constraint_mass_timeline_get_constraint_index( + self, + ); + } + + late final _spine_physics_constraint_mass_timeline_get_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Int Function(spine_physics_constraint_mass_timeline)>>( + 'spine_physics_constraint_mass_timeline_get_constraint_index'); + late final _spine_physics_constraint_mass_timeline_get_constraint_index = + _spine_physics_constraint_mass_timeline_get_constraint_indexPtr + .asFunction(); + + void spine_physics_constraint_mass_timeline_set_constraint_index( + spine_physics_constraint_mass_timeline self, + int inValue, + ) { + return _spine_physics_constraint_mass_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_physics_constraint_mass_timeline_set_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_physics_constraint_mass_timeline, ffi.Int)>>( + 'spine_physics_constraint_mass_timeline_set_constraint_index'); + late final _spine_physics_constraint_mass_timeline_set_constraint_index = + _spine_physics_constraint_mass_timeline_set_constraint_indexPtr + .asFunction< + void Function(spine_physics_constraint_mass_timeline, int)>(); + void spine_physics_constraint_mass_timeline_set_frame( spine_physics_constraint_mass_timeline self, int frame, @@ -26306,44 +26623,6 @@ class SpineFlutterBindings { spine_array_property_id Function( spine_physics_constraint_mass_timeline)>(); - int spine_physics_constraint_mass_timeline_get_constraint_index( - spine_physics_constraint_mass_timeline self, - ) { - return _spine_physics_constraint_mass_timeline_get_constraint_index( - self, - ); - } - - late final _spine_physics_constraint_mass_timeline_get_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Int Function(spine_physics_constraint_mass_timeline)>>( - 'spine_physics_constraint_mass_timeline_get_constraint_index'); - late final _spine_physics_constraint_mass_timeline_get_constraint_index = - _spine_physics_constraint_mass_timeline_get_constraint_indexPtr - .asFunction(); - - void spine_physics_constraint_mass_timeline_set_constraint_index( - spine_physics_constraint_mass_timeline self, - int inValue, - ) { - return _spine_physics_constraint_mass_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_physics_constraint_mass_timeline_set_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_physics_constraint_mass_timeline, ffi.Int)>>( - 'spine_physics_constraint_mass_timeline_set_constraint_index'); - late final _spine_physics_constraint_mass_timeline_set_constraint_index = - _spine_physics_constraint_mass_timeline_set_constraint_indexPtr - .asFunction< - void Function(spine_physics_constraint_mass_timeline, int)>(); - spine_rtti spine_physics_constraint_mass_timeline_rtti() { return _spine_physics_constraint_mass_timeline_rtti(); } @@ -26449,6 +26728,43 @@ class SpineFlutterBindings { void Function(spine_physics_constraint_mix_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_physics_constraint_mix_timeline_get_constraint_index( + spine_physics_constraint_mix_timeline self, + ) { + return _spine_physics_constraint_mix_timeline_get_constraint_index( + self, + ); + } + + late final _spine_physics_constraint_mix_timeline_get_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Int Function(spine_physics_constraint_mix_timeline)>>( + 'spine_physics_constraint_mix_timeline_get_constraint_index'); + late final _spine_physics_constraint_mix_timeline_get_constraint_index = + _spine_physics_constraint_mix_timeline_get_constraint_indexPtr + .asFunction(); + + void spine_physics_constraint_mix_timeline_set_constraint_index( + spine_physics_constraint_mix_timeline self, + int inValue, + ) { + return _spine_physics_constraint_mix_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_physics_constraint_mix_timeline_set_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_physics_constraint_mix_timeline, ffi.Int)>>( + 'spine_physics_constraint_mix_timeline_set_constraint_index'); + late final _spine_physics_constraint_mix_timeline_set_constraint_index = + _spine_physics_constraint_mix_timeline_set_constraint_indexPtr.asFunction< + void Function(spine_physics_constraint_mix_timeline, int)>(); + void spine_physics_constraint_mix_timeline_set_frame( spine_physics_constraint_mix_timeline self, int frame, @@ -26855,43 +27171,6 @@ class SpineFlutterBindings { spine_array_property_id Function( spine_physics_constraint_mix_timeline)>(); - int spine_physics_constraint_mix_timeline_get_constraint_index( - spine_physics_constraint_mix_timeline self, - ) { - return _spine_physics_constraint_mix_timeline_get_constraint_index( - self, - ); - } - - late final _spine_physics_constraint_mix_timeline_get_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Int Function(spine_physics_constraint_mix_timeline)>>( - 'spine_physics_constraint_mix_timeline_get_constraint_index'); - late final _spine_physics_constraint_mix_timeline_get_constraint_index = - _spine_physics_constraint_mix_timeline_get_constraint_indexPtr - .asFunction(); - - void spine_physics_constraint_mix_timeline_set_constraint_index( - spine_physics_constraint_mix_timeline self, - int inValue, - ) { - return _spine_physics_constraint_mix_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_physics_constraint_mix_timeline_set_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_physics_constraint_mix_timeline, ffi.Int)>>( - 'spine_physics_constraint_mix_timeline_set_constraint_index'); - late final _spine_physics_constraint_mix_timeline_set_constraint_index = - _spine_physics_constraint_mix_timeline_set_constraint_indexPtr.asFunction< - void Function(spine_physics_constraint_mix_timeline, int)>(); - spine_rtti spine_physics_constraint_mix_timeline_rtti() { return _spine_physics_constraint_mix_timeline_rtti(); } @@ -27313,6 +27592,27 @@ class SpineFlutterBindings { _spine_physics_constraint_reset_timeline_get_constraint_indexPtr .asFunction(); + void spine_physics_constraint_reset_timeline_set_constraint_index( + spine_physics_constraint_reset_timeline self, + int inValue, + ) { + return _spine_physics_constraint_reset_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_physics_constraint_reset_timeline_set_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_physics_constraint_reset_timeline, ffi.Int)>>( + 'spine_physics_constraint_reset_timeline_set_constraint_index'); + late final _spine_physics_constraint_reset_timeline_set_constraint_index = + _spine_physics_constraint_reset_timeline_set_constraint_indexPtr + .asFunction< + void Function(spine_physics_constraint_reset_timeline, int)>(); + void spine_physics_constraint_reset_timeline_set_frame( spine_physics_constraint_reset_timeline self, int frame, @@ -27405,27 +27705,6 @@ class SpineFlutterBindings { spine_array_property_id Function( spine_physics_constraint_reset_timeline)>(); - void spine_physics_constraint_reset_timeline_set_constraint_index( - spine_physics_constraint_reset_timeline self, - int inValue, - ) { - return _spine_physics_constraint_reset_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_physics_constraint_reset_timeline_set_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_physics_constraint_reset_timeline, ffi.Int)>>( - 'spine_physics_constraint_reset_timeline_set_constraint_index'); - late final _spine_physics_constraint_reset_timeline_set_constraint_index = - _spine_physics_constraint_reset_timeline_set_constraint_indexPtr - .asFunction< - void Function(spine_physics_constraint_reset_timeline, int)>(); - spine_rtti spine_physics_constraint_reset_timeline_rtti() { return _spine_physics_constraint_reset_timeline_rtti(); } @@ -27541,6 +27820,46 @@ class SpineFlutterBindings { int, bool)>(); + int spine_physics_constraint_strength_timeline_get_constraint_index( + spine_physics_constraint_strength_timeline self, + ) { + return _spine_physics_constraint_strength_timeline_get_constraint_index( + self, + ); + } + + late final _spine_physics_constraint_strength_timeline_get_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Int Function( + spine_physics_constraint_strength_timeline)>>( + 'spine_physics_constraint_strength_timeline_get_constraint_index'); + late final _spine_physics_constraint_strength_timeline_get_constraint_index = + _spine_physics_constraint_strength_timeline_get_constraint_indexPtr + .asFunction< + int Function(spine_physics_constraint_strength_timeline)>(); + + void spine_physics_constraint_strength_timeline_set_constraint_index( + spine_physics_constraint_strength_timeline self, + int inValue, + ) { + return _spine_physics_constraint_strength_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_physics_constraint_strength_timeline_set_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_physics_constraint_strength_timeline, ffi.Int)>>( + 'spine_physics_constraint_strength_timeline_set_constraint_index'); + late final _spine_physics_constraint_strength_timeline_set_constraint_index = + _spine_physics_constraint_strength_timeline_set_constraint_indexPtr + .asFunction< + void Function(spine_physics_constraint_strength_timeline, int)>(); + void spine_physics_constraint_strength_timeline_set_frame( spine_physics_constraint_strength_timeline self, int frame, @@ -27966,46 +28285,6 @@ class SpineFlutterBindings { spine_array_property_id Function( spine_physics_constraint_strength_timeline)>(); - int spine_physics_constraint_strength_timeline_get_constraint_index( - spine_physics_constraint_strength_timeline self, - ) { - return _spine_physics_constraint_strength_timeline_get_constraint_index( - self, - ); - } - - late final _spine_physics_constraint_strength_timeline_get_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Int Function( - spine_physics_constraint_strength_timeline)>>( - 'spine_physics_constraint_strength_timeline_get_constraint_index'); - late final _spine_physics_constraint_strength_timeline_get_constraint_index = - _spine_physics_constraint_strength_timeline_get_constraint_indexPtr - .asFunction< - int Function(spine_physics_constraint_strength_timeline)>(); - - void spine_physics_constraint_strength_timeline_set_constraint_index( - spine_physics_constraint_strength_timeline self, - int inValue, - ) { - return _spine_physics_constraint_strength_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_physics_constraint_strength_timeline_set_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_physics_constraint_strength_timeline, ffi.Int)>>( - 'spine_physics_constraint_strength_timeline_set_constraint_index'); - late final _spine_physics_constraint_strength_timeline_set_constraint_index = - _spine_physics_constraint_strength_timeline_set_constraint_indexPtr - .asFunction< - void Function(spine_physics_constraint_strength_timeline, int)>(); - spine_rtti spine_physics_constraint_strength_timeline_rtti() { return _spine_physics_constraint_strength_timeline_rtti(); } @@ -28090,6 +28369,43 @@ class SpineFlutterBindings { void Function(spine_physics_constraint_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_physics_constraint_timeline_get_constraint_index( + spine_physics_constraint_timeline self, + ) { + return _spine_physics_constraint_timeline_get_constraint_index( + self, + ); + } + + late final _spine_physics_constraint_timeline_get_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Int Function(spine_physics_constraint_timeline)>>( + 'spine_physics_constraint_timeline_get_constraint_index'); + late final _spine_physics_constraint_timeline_get_constraint_index = + _spine_physics_constraint_timeline_get_constraint_indexPtr + .asFunction(); + + void spine_physics_constraint_timeline_set_constraint_index( + spine_physics_constraint_timeline self, + int inValue, + ) { + return _spine_physics_constraint_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_physics_constraint_timeline_set_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_physics_constraint_timeline, ffi.Int)>>( + 'spine_physics_constraint_timeline_set_constraint_index'); + late final _spine_physics_constraint_timeline_set_constraint_index = + _spine_physics_constraint_timeline_set_constraint_indexPtr + .asFunction(); + void spine_physics_constraint_timeline_set_frame( spine_physics_constraint_timeline self, int frame, @@ -28487,43 +28803,6 @@ class SpineFlutterBindings { spine_array_property_id Function( spine_physics_constraint_timeline)>(); - int spine_physics_constraint_timeline_get_constraint_index( - spine_physics_constraint_timeline self, - ) { - return _spine_physics_constraint_timeline_get_constraint_index( - self, - ); - } - - late final _spine_physics_constraint_timeline_get_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Int Function(spine_physics_constraint_timeline)>>( - 'spine_physics_constraint_timeline_get_constraint_index'); - late final _spine_physics_constraint_timeline_get_constraint_index = - _spine_physics_constraint_timeline_get_constraint_indexPtr - .asFunction(); - - void spine_physics_constraint_timeline_set_constraint_index( - spine_physics_constraint_timeline self, - int inValue, - ) { - return _spine_physics_constraint_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_physics_constraint_timeline_set_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_physics_constraint_timeline, ffi.Int)>>( - 'spine_physics_constraint_timeline_set_constraint_index'); - late final _spine_physics_constraint_timeline_set_constraint_index = - _spine_physics_constraint_timeline_set_constraint_indexPtr - .asFunction(); - spine_rtti spine_physics_constraint_timeline_rtti() { return _spine_physics_constraint_timeline_rtti(); } @@ -28629,6 +28908,44 @@ class SpineFlutterBindings { void Function(spine_physics_constraint_wind_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_physics_constraint_wind_timeline_get_constraint_index( + spine_physics_constraint_wind_timeline self, + ) { + return _spine_physics_constraint_wind_timeline_get_constraint_index( + self, + ); + } + + late final _spine_physics_constraint_wind_timeline_get_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Int Function(spine_physics_constraint_wind_timeline)>>( + 'spine_physics_constraint_wind_timeline_get_constraint_index'); + late final _spine_physics_constraint_wind_timeline_get_constraint_index = + _spine_physics_constraint_wind_timeline_get_constraint_indexPtr + .asFunction(); + + void spine_physics_constraint_wind_timeline_set_constraint_index( + spine_physics_constraint_wind_timeline self, + int inValue, + ) { + return _spine_physics_constraint_wind_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_physics_constraint_wind_timeline_set_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_physics_constraint_wind_timeline, ffi.Int)>>( + 'spine_physics_constraint_wind_timeline_set_constraint_index'); + late final _spine_physics_constraint_wind_timeline_set_constraint_index = + _spine_physics_constraint_wind_timeline_set_constraint_indexPtr + .asFunction< + void Function(spine_physics_constraint_wind_timeline, int)>(); + void spine_physics_constraint_wind_timeline_set_frame( spine_physics_constraint_wind_timeline self, int frame, @@ -29037,44 +29354,6 @@ class SpineFlutterBindings { spine_array_property_id Function( spine_physics_constraint_wind_timeline)>(); - int spine_physics_constraint_wind_timeline_get_constraint_index( - spine_physics_constraint_wind_timeline self, - ) { - return _spine_physics_constraint_wind_timeline_get_constraint_index( - self, - ); - } - - late final _spine_physics_constraint_wind_timeline_get_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Int Function(spine_physics_constraint_wind_timeline)>>( - 'spine_physics_constraint_wind_timeline_get_constraint_index'); - late final _spine_physics_constraint_wind_timeline_get_constraint_index = - _spine_physics_constraint_wind_timeline_get_constraint_indexPtr - .asFunction(); - - void spine_physics_constraint_wind_timeline_set_constraint_index( - spine_physics_constraint_wind_timeline self, - int inValue, - ) { - return _spine_physics_constraint_wind_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_physics_constraint_wind_timeline_set_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_physics_constraint_wind_timeline, ffi.Int)>>( - 'spine_physics_constraint_wind_timeline_set_constraint_index'); - late final _spine_physics_constraint_wind_timeline_set_constraint_index = - _spine_physics_constraint_wind_timeline_set_constraint_indexPtr - .asFunction< - void Function(spine_physics_constraint_wind_timeline, int)>(); - spine_rtti spine_physics_constraint_wind_timeline_rtti() { return _spine_physics_constraint_wind_timeline_rtti(); } @@ -30507,6 +30786,38 @@ class SpineFlutterBindings { void Function(spine_rgb2_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_rgb2_timeline_get_slot_index( + spine_rgb2_timeline self, + ) { + return _spine_rgb2_timeline_get_slot_index( + self, + ); + } + + late final _spine_rgb2_timeline_get_slot_indexPtr = + _lookup>( + 'spine_rgb2_timeline_get_slot_index'); + late final _spine_rgb2_timeline_get_slot_index = + _spine_rgb2_timeline_get_slot_indexPtr + .asFunction(); + + void spine_rgb2_timeline_set_slot_index( + spine_rgb2_timeline self, + int inValue, + ) { + return _spine_rgb2_timeline_set_slot_index( + self, + inValue, + ); + } + + late final _spine_rgb2_timeline_set_slot_indexPtr = _lookup< + ffi.NativeFunction>( + 'spine_rgb2_timeline_set_slot_index'); + late final _spine_rgb2_timeline_set_slot_index = + _spine_rgb2_timeline_set_slot_indexPtr + .asFunction(); + void spine_rgb2_timeline_set_linear( spine_rgb2_timeline self, int frame, @@ -30706,38 +31017,6 @@ class SpineFlutterBindings { _spine_rgb2_timeline_get_property_idsPtr .asFunction(); - int spine_rgb2_timeline_get_slot_index( - spine_rgb2_timeline self, - ) { - return _spine_rgb2_timeline_get_slot_index( - self, - ); - } - - late final _spine_rgb2_timeline_get_slot_indexPtr = - _lookup>( - 'spine_rgb2_timeline_get_slot_index'); - late final _spine_rgb2_timeline_get_slot_index = - _spine_rgb2_timeline_get_slot_indexPtr - .asFunction(); - - void spine_rgb2_timeline_set_slot_index( - spine_rgb2_timeline self, - int inValue, - ) { - return _spine_rgb2_timeline_set_slot_index( - self, - inValue, - ); - } - - late final _spine_rgb2_timeline_set_slot_indexPtr = _lookup< - ffi.NativeFunction>( - 'spine_rgb2_timeline_set_slot_index'); - late final _spine_rgb2_timeline_set_slot_index = - _spine_rgb2_timeline_set_slot_indexPtr - .asFunction(); - spine_rtti spine_rgb2_timeline_rtti() { return _spine_rgb2_timeline_rtti(); } @@ -30748,359 +31027,6 @@ class SpineFlutterBindings { late final _spine_rgb2_timeline_rtti = _spine_rgb2_timeline_rttiPtr.asFunction(); - spine_rgb_timeline spine_rgb_timeline_create( - int frameCount, - int bezierCount, - int slotIndex, - ) { - return _spine_rgb_timeline_create( - frameCount, - bezierCount, - slotIndex, - ); - } - - late final _spine_rgb_timeline_createPtr = _lookup< - ffi.NativeFunction< - spine_rgb_timeline Function( - ffi.Size, ffi.Size, ffi.Int)>>('spine_rgb_timeline_create'); - late final _spine_rgb_timeline_create = _spine_rgb_timeline_createPtr - .asFunction(); - - void spine_rgb_timeline_dispose( - spine_rgb_timeline self, - ) { - return _spine_rgb_timeline_dispose( - self, - ); - } - - late final _spine_rgb_timeline_disposePtr = - _lookup>( - 'spine_rgb_timeline_dispose'); - late final _spine_rgb_timeline_dispose = _spine_rgb_timeline_disposePtr - .asFunction(); - - spine_rtti spine_rgb_timeline_get_rtti( - spine_rgb_timeline self, - ) { - return _spine_rgb_timeline_get_rtti( - self, - ); - } - - late final _spine_rgb_timeline_get_rttiPtr = - _lookup>( - 'spine_rgb_timeline_get_rtti'); - late final _spine_rgb_timeline_get_rtti = _spine_rgb_timeline_get_rttiPtr - .asFunction(); - - void spine_rgb_timeline_set_frame( - spine_rgb_timeline self, - int frame, - double time, - double r, - double g, - double b, - ) { - return _spine_rgb_timeline_set_frame( - self, - frame, - time, - r, - g, - b, - ); - } - - late final _spine_rgb_timeline_set_framePtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_rgb_timeline, ffi.Int, ffi.Float, ffi.Float, - ffi.Float, ffi.Float)>>('spine_rgb_timeline_set_frame'); - late final _spine_rgb_timeline_set_frame = - _spine_rgb_timeline_set_framePtr.asFunction< - void Function( - spine_rgb_timeline, int, double, double, double, double)>(); - - void spine_rgb_timeline_apply( - spine_rgb_timeline self, - spine_skeleton skeleton, - double lastTime, - double time, - spine_array_event pEvents, - double alpha, - int blend, - int direction, - bool appliedPose, - ) { - return _spine_rgb_timeline_apply( - self, - skeleton, - lastTime, - time, - pEvents, - alpha, - blend, - direction, - appliedPose, - ); - } - - late final _spine_rgb_timeline_applyPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_rgb_timeline, - spine_skeleton, - ffi.Float, - ffi.Float, - spine_array_event, - ffi.Float, - ffi.Int32, - ffi.Int32, - ffi.Bool)>>('spine_rgb_timeline_apply'); - late final _spine_rgb_timeline_apply = - _spine_rgb_timeline_applyPtr.asFunction< - void Function(spine_rgb_timeline, spine_skeleton, double, double, - spine_array_event, double, int, int, bool)>(); - - void spine_rgb_timeline_set_linear( - spine_rgb_timeline self, - int frame, - ) { - return _spine_rgb_timeline_set_linear( - self, - frame, - ); - } - - late final _spine_rgb_timeline_set_linearPtr = _lookup< - ffi.NativeFunction>( - 'spine_rgb_timeline_set_linear'); - late final _spine_rgb_timeline_set_linear = _spine_rgb_timeline_set_linearPtr - .asFunction(); - - void spine_rgb_timeline_set_stepped( - spine_rgb_timeline self, - int frame, - ) { - return _spine_rgb_timeline_set_stepped( - self, - frame, - ); - } - - late final _spine_rgb_timeline_set_steppedPtr = _lookup< - ffi.NativeFunction>( - 'spine_rgb_timeline_set_stepped'); - late final _spine_rgb_timeline_set_stepped = - _spine_rgb_timeline_set_steppedPtr - .asFunction(); - - void spine_rgb_timeline_set_bezier( - spine_rgb_timeline self, - int bezier, - int frame, - double value, - double time1, - double value1, - double cx1, - double cy1, - double cx2, - double cy2, - double time2, - double value2, - ) { - return _spine_rgb_timeline_set_bezier( - self, - bezier, - frame, - value, - time1, - value1, - cx1, - cy1, - cx2, - cy2, - time2, - value2, - ); - } - - late final _spine_rgb_timeline_set_bezierPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_rgb_timeline, - ffi.Size, - ffi.Size, - ffi.Float, - ffi.Float, - ffi.Float, - ffi.Float, - ffi.Float, - ffi.Float, - ffi.Float, - ffi.Float, - ffi.Float)>>('spine_rgb_timeline_set_bezier'); - late final _spine_rgb_timeline_set_bezier = - _spine_rgb_timeline_set_bezierPtr.asFunction< - void Function(spine_rgb_timeline, int, int, double, double, double, - double, double, double, double, double, double)>(); - - double spine_rgb_timeline_get_bezier_value( - spine_rgb_timeline self, - double time, - int frame, - int valueOffset, - int i, - ) { - return _spine_rgb_timeline_get_bezier_value( - self, - time, - frame, - valueOffset, - i, - ); - } - - late final _spine_rgb_timeline_get_bezier_valuePtr = _lookup< - ffi.NativeFunction< - ffi.Float Function(spine_rgb_timeline, ffi.Float, ffi.Size, ffi.Size, - ffi.Size)>>('spine_rgb_timeline_get_bezier_value'); - late final _spine_rgb_timeline_get_bezier_value = - _spine_rgb_timeline_get_bezier_valuePtr.asFunction< - double Function(spine_rgb_timeline, double, int, int, int)>(); - - spine_array_float spine_rgb_timeline_get_curves( - spine_rgb_timeline self, - ) { - return _spine_rgb_timeline_get_curves( - self, - ); - } - - late final _spine_rgb_timeline_get_curvesPtr = _lookup< - ffi.NativeFunction>( - 'spine_rgb_timeline_get_curves'); - late final _spine_rgb_timeline_get_curves = _spine_rgb_timeline_get_curvesPtr - .asFunction(); - - int spine_rgb_timeline_get_frame_entries( - spine_rgb_timeline self, - ) { - return _spine_rgb_timeline_get_frame_entries( - self, - ); - } - - late final _spine_rgb_timeline_get_frame_entriesPtr = - _lookup>( - 'spine_rgb_timeline_get_frame_entries'); - late final _spine_rgb_timeline_get_frame_entries = - _spine_rgb_timeline_get_frame_entriesPtr - .asFunction(); - - int spine_rgb_timeline_get_frame_count( - spine_rgb_timeline self, - ) { - return _spine_rgb_timeline_get_frame_count( - self, - ); - } - - late final _spine_rgb_timeline_get_frame_countPtr = - _lookup>( - 'spine_rgb_timeline_get_frame_count'); - late final _spine_rgb_timeline_get_frame_count = - _spine_rgb_timeline_get_frame_countPtr - .asFunction(); - - spine_array_float spine_rgb_timeline_get_frames( - spine_rgb_timeline self, - ) { - return _spine_rgb_timeline_get_frames( - self, - ); - } - - late final _spine_rgb_timeline_get_framesPtr = _lookup< - ffi.NativeFunction>( - 'spine_rgb_timeline_get_frames'); - late final _spine_rgb_timeline_get_frames = _spine_rgb_timeline_get_framesPtr - .asFunction(); - - double spine_rgb_timeline_get_duration( - spine_rgb_timeline self, - ) { - return _spine_rgb_timeline_get_duration( - self, - ); - } - - late final _spine_rgb_timeline_get_durationPtr = - _lookup>( - 'spine_rgb_timeline_get_duration'); - late final _spine_rgb_timeline_get_duration = - _spine_rgb_timeline_get_durationPtr - .asFunction(); - - spine_array_property_id spine_rgb_timeline_get_property_ids( - spine_rgb_timeline self, - ) { - return _spine_rgb_timeline_get_property_ids( - self, - ); - } - - late final _spine_rgb_timeline_get_property_idsPtr = _lookup< - ffi.NativeFunction< - spine_array_property_id Function( - spine_rgb_timeline)>>('spine_rgb_timeline_get_property_ids'); - late final _spine_rgb_timeline_get_property_ids = - _spine_rgb_timeline_get_property_idsPtr - .asFunction(); - - int spine_rgb_timeline_get_slot_index( - spine_rgb_timeline self, - ) { - return _spine_rgb_timeline_get_slot_index( - self, - ); - } - - late final _spine_rgb_timeline_get_slot_indexPtr = - _lookup>( - 'spine_rgb_timeline_get_slot_index'); - late final _spine_rgb_timeline_get_slot_index = - _spine_rgb_timeline_get_slot_indexPtr - .asFunction(); - - void spine_rgb_timeline_set_slot_index( - spine_rgb_timeline self, - int inValue, - ) { - return _spine_rgb_timeline_set_slot_index( - self, - inValue, - ); - } - - late final _spine_rgb_timeline_set_slot_indexPtr = _lookup< - ffi.NativeFunction>( - 'spine_rgb_timeline_set_slot_index'); - late final _spine_rgb_timeline_set_slot_index = - _spine_rgb_timeline_set_slot_indexPtr - .asFunction(); - - spine_rtti spine_rgb_timeline_rtti() { - return _spine_rgb_timeline_rtti(); - } - - late final _spine_rgb_timeline_rttiPtr = - _lookup>( - 'spine_rgb_timeline_rtti'); - late final _spine_rgb_timeline_rtti = - _spine_rgb_timeline_rttiPtr.asFunction(); - spine_rgba2_timeline spine_rgba2_timeline_create( int frameCount, int bezierCount, @@ -31233,6 +31159,38 @@ class SpineFlutterBindings { void Function(spine_rgba2_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_rgba2_timeline_get_slot_index( + spine_rgba2_timeline self, + ) { + return _spine_rgba2_timeline_get_slot_index( + self, + ); + } + + late final _spine_rgba2_timeline_get_slot_indexPtr = + _lookup>( + 'spine_rgba2_timeline_get_slot_index'); + late final _spine_rgba2_timeline_get_slot_index = + _spine_rgba2_timeline_get_slot_indexPtr + .asFunction(); + + void spine_rgba2_timeline_set_slot_index( + spine_rgba2_timeline self, + int inValue, + ) { + return _spine_rgba2_timeline_set_slot_index( + self, + inValue, + ); + } + + late final _spine_rgba2_timeline_set_slot_indexPtr = _lookup< + ffi.NativeFunction>( + 'spine_rgba2_timeline_set_slot_index'); + late final _spine_rgba2_timeline_set_slot_index = + _spine_rgba2_timeline_set_slot_indexPtr + .asFunction(); + void spine_rgba2_timeline_set_linear( spine_rgba2_timeline self, int frame, @@ -31434,38 +31392,6 @@ class SpineFlutterBindings { _spine_rgba2_timeline_get_property_idsPtr .asFunction(); - int spine_rgba2_timeline_get_slot_index( - spine_rgba2_timeline self, - ) { - return _spine_rgba2_timeline_get_slot_index( - self, - ); - } - - late final _spine_rgba2_timeline_get_slot_indexPtr = - _lookup>( - 'spine_rgba2_timeline_get_slot_index'); - late final _spine_rgba2_timeline_get_slot_index = - _spine_rgba2_timeline_get_slot_indexPtr - .asFunction(); - - void spine_rgba2_timeline_set_slot_index( - spine_rgba2_timeline self, - int inValue, - ) { - return _spine_rgba2_timeline_set_slot_index( - self, - inValue, - ); - } - - late final _spine_rgba2_timeline_set_slot_indexPtr = _lookup< - ffi.NativeFunction>( - 'spine_rgba2_timeline_set_slot_index'); - late final _spine_rgba2_timeline_set_slot_index = - _spine_rgba2_timeline_set_slot_indexPtr - .asFunction(); - spine_rtti spine_rgba2_timeline_rtti() { return _spine_rgba2_timeline_rtti(); } @@ -31599,6 +31525,38 @@ class SpineFlutterBindings { void Function(spine_rgba_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_rgba_timeline_get_slot_index( + spine_rgba_timeline self, + ) { + return _spine_rgba_timeline_get_slot_index( + self, + ); + } + + late final _spine_rgba_timeline_get_slot_indexPtr = + _lookup>( + 'spine_rgba_timeline_get_slot_index'); + late final _spine_rgba_timeline_get_slot_index = + _spine_rgba_timeline_get_slot_indexPtr + .asFunction(); + + void spine_rgba_timeline_set_slot_index( + spine_rgba_timeline self, + int inValue, + ) { + return _spine_rgba_timeline_set_slot_index( + self, + inValue, + ); + } + + late final _spine_rgba_timeline_set_slot_indexPtr = _lookup< + ffi.NativeFunction>( + 'spine_rgba_timeline_set_slot_index'); + late final _spine_rgba_timeline_set_slot_index = + _spine_rgba_timeline_set_slot_indexPtr + .asFunction(); + void spine_rgba_timeline_set_linear( spine_rgba_timeline self, int frame, @@ -31798,38 +31756,6 @@ class SpineFlutterBindings { _spine_rgba_timeline_get_property_idsPtr .asFunction(); - int spine_rgba_timeline_get_slot_index( - spine_rgba_timeline self, - ) { - return _spine_rgba_timeline_get_slot_index( - self, - ); - } - - late final _spine_rgba_timeline_get_slot_indexPtr = - _lookup>( - 'spine_rgba_timeline_get_slot_index'); - late final _spine_rgba_timeline_get_slot_index = - _spine_rgba_timeline_get_slot_indexPtr - .asFunction(); - - void spine_rgba_timeline_set_slot_index( - spine_rgba_timeline self, - int inValue, - ) { - return _spine_rgba_timeline_set_slot_index( - self, - inValue, - ); - } - - late final _spine_rgba_timeline_set_slot_indexPtr = _lookup< - ffi.NativeFunction>( - 'spine_rgba_timeline_set_slot_index'); - late final _spine_rgba_timeline_set_slot_index = - _spine_rgba_timeline_set_slot_indexPtr - .asFunction(); - spine_rtti spine_rgba_timeline_rtti() { return _spine_rgba_timeline_rtti(); } @@ -31840,6 +31766,359 @@ class SpineFlutterBindings { late final _spine_rgba_timeline_rtti = _spine_rgba_timeline_rttiPtr.asFunction(); + spine_rgb_timeline spine_rgb_timeline_create( + int frameCount, + int bezierCount, + int slotIndex, + ) { + return _spine_rgb_timeline_create( + frameCount, + bezierCount, + slotIndex, + ); + } + + late final _spine_rgb_timeline_createPtr = _lookup< + ffi.NativeFunction< + spine_rgb_timeline Function( + ffi.Size, ffi.Size, ffi.Int)>>('spine_rgb_timeline_create'); + late final _spine_rgb_timeline_create = _spine_rgb_timeline_createPtr + .asFunction(); + + void spine_rgb_timeline_dispose( + spine_rgb_timeline self, + ) { + return _spine_rgb_timeline_dispose( + self, + ); + } + + late final _spine_rgb_timeline_disposePtr = + _lookup>( + 'spine_rgb_timeline_dispose'); + late final _spine_rgb_timeline_dispose = _spine_rgb_timeline_disposePtr + .asFunction(); + + spine_rtti spine_rgb_timeline_get_rtti( + spine_rgb_timeline self, + ) { + return _spine_rgb_timeline_get_rtti( + self, + ); + } + + late final _spine_rgb_timeline_get_rttiPtr = + _lookup>( + 'spine_rgb_timeline_get_rtti'); + late final _spine_rgb_timeline_get_rtti = _spine_rgb_timeline_get_rttiPtr + .asFunction(); + + void spine_rgb_timeline_set_frame( + spine_rgb_timeline self, + int frame, + double time, + double r, + double g, + double b, + ) { + return _spine_rgb_timeline_set_frame( + self, + frame, + time, + r, + g, + b, + ); + } + + late final _spine_rgb_timeline_set_framePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_rgb_timeline, ffi.Int, ffi.Float, ffi.Float, + ffi.Float, ffi.Float)>>('spine_rgb_timeline_set_frame'); + late final _spine_rgb_timeline_set_frame = + _spine_rgb_timeline_set_framePtr.asFunction< + void Function( + spine_rgb_timeline, int, double, double, double, double)>(); + + void spine_rgb_timeline_apply( + spine_rgb_timeline self, + spine_skeleton skeleton, + double lastTime, + double time, + spine_array_event pEvents, + double alpha, + int blend, + int direction, + bool appliedPose, + ) { + return _spine_rgb_timeline_apply( + self, + skeleton, + lastTime, + time, + pEvents, + alpha, + blend, + direction, + appliedPose, + ); + } + + late final _spine_rgb_timeline_applyPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_rgb_timeline, + spine_skeleton, + ffi.Float, + ffi.Float, + spine_array_event, + ffi.Float, + ffi.Int32, + ffi.Int32, + ffi.Bool)>>('spine_rgb_timeline_apply'); + late final _spine_rgb_timeline_apply = + _spine_rgb_timeline_applyPtr.asFunction< + void Function(spine_rgb_timeline, spine_skeleton, double, double, + spine_array_event, double, int, int, bool)>(); + + int spine_rgb_timeline_get_slot_index( + spine_rgb_timeline self, + ) { + return _spine_rgb_timeline_get_slot_index( + self, + ); + } + + late final _spine_rgb_timeline_get_slot_indexPtr = + _lookup>( + 'spine_rgb_timeline_get_slot_index'); + late final _spine_rgb_timeline_get_slot_index = + _spine_rgb_timeline_get_slot_indexPtr + .asFunction(); + + void spine_rgb_timeline_set_slot_index( + spine_rgb_timeline self, + int inValue, + ) { + return _spine_rgb_timeline_set_slot_index( + self, + inValue, + ); + } + + late final _spine_rgb_timeline_set_slot_indexPtr = _lookup< + ffi.NativeFunction>( + 'spine_rgb_timeline_set_slot_index'); + late final _spine_rgb_timeline_set_slot_index = + _spine_rgb_timeline_set_slot_indexPtr + .asFunction(); + + void spine_rgb_timeline_set_linear( + spine_rgb_timeline self, + int frame, + ) { + return _spine_rgb_timeline_set_linear( + self, + frame, + ); + } + + late final _spine_rgb_timeline_set_linearPtr = _lookup< + ffi.NativeFunction>( + 'spine_rgb_timeline_set_linear'); + late final _spine_rgb_timeline_set_linear = _spine_rgb_timeline_set_linearPtr + .asFunction(); + + void spine_rgb_timeline_set_stepped( + spine_rgb_timeline self, + int frame, + ) { + return _spine_rgb_timeline_set_stepped( + self, + frame, + ); + } + + late final _spine_rgb_timeline_set_steppedPtr = _lookup< + ffi.NativeFunction>( + 'spine_rgb_timeline_set_stepped'); + late final _spine_rgb_timeline_set_stepped = + _spine_rgb_timeline_set_steppedPtr + .asFunction(); + + void spine_rgb_timeline_set_bezier( + spine_rgb_timeline self, + int bezier, + int frame, + double value, + double time1, + double value1, + double cx1, + double cy1, + double cx2, + double cy2, + double time2, + double value2, + ) { + return _spine_rgb_timeline_set_bezier( + self, + bezier, + frame, + value, + time1, + value1, + cx1, + cy1, + cx2, + cy2, + time2, + value2, + ); + } + + late final _spine_rgb_timeline_set_bezierPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_rgb_timeline, + ffi.Size, + ffi.Size, + ffi.Float, + ffi.Float, + ffi.Float, + ffi.Float, + ffi.Float, + ffi.Float, + ffi.Float, + ffi.Float, + ffi.Float)>>('spine_rgb_timeline_set_bezier'); + late final _spine_rgb_timeline_set_bezier = + _spine_rgb_timeline_set_bezierPtr.asFunction< + void Function(spine_rgb_timeline, int, int, double, double, double, + double, double, double, double, double, double)>(); + + double spine_rgb_timeline_get_bezier_value( + spine_rgb_timeline self, + double time, + int frame, + int valueOffset, + int i, + ) { + return _spine_rgb_timeline_get_bezier_value( + self, + time, + frame, + valueOffset, + i, + ); + } + + late final _spine_rgb_timeline_get_bezier_valuePtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(spine_rgb_timeline, ffi.Float, ffi.Size, ffi.Size, + ffi.Size)>>('spine_rgb_timeline_get_bezier_value'); + late final _spine_rgb_timeline_get_bezier_value = + _spine_rgb_timeline_get_bezier_valuePtr.asFunction< + double Function(spine_rgb_timeline, double, int, int, int)>(); + + spine_array_float spine_rgb_timeline_get_curves( + spine_rgb_timeline self, + ) { + return _spine_rgb_timeline_get_curves( + self, + ); + } + + late final _spine_rgb_timeline_get_curvesPtr = _lookup< + ffi.NativeFunction>( + 'spine_rgb_timeline_get_curves'); + late final _spine_rgb_timeline_get_curves = _spine_rgb_timeline_get_curvesPtr + .asFunction(); + + int spine_rgb_timeline_get_frame_entries( + spine_rgb_timeline self, + ) { + return _spine_rgb_timeline_get_frame_entries( + self, + ); + } + + late final _spine_rgb_timeline_get_frame_entriesPtr = + _lookup>( + 'spine_rgb_timeline_get_frame_entries'); + late final _spine_rgb_timeline_get_frame_entries = + _spine_rgb_timeline_get_frame_entriesPtr + .asFunction(); + + int spine_rgb_timeline_get_frame_count( + spine_rgb_timeline self, + ) { + return _spine_rgb_timeline_get_frame_count( + self, + ); + } + + late final _spine_rgb_timeline_get_frame_countPtr = + _lookup>( + 'spine_rgb_timeline_get_frame_count'); + late final _spine_rgb_timeline_get_frame_count = + _spine_rgb_timeline_get_frame_countPtr + .asFunction(); + + spine_array_float spine_rgb_timeline_get_frames( + spine_rgb_timeline self, + ) { + return _spine_rgb_timeline_get_frames( + self, + ); + } + + late final _spine_rgb_timeline_get_framesPtr = _lookup< + ffi.NativeFunction>( + 'spine_rgb_timeline_get_frames'); + late final _spine_rgb_timeline_get_frames = _spine_rgb_timeline_get_framesPtr + .asFunction(); + + double spine_rgb_timeline_get_duration( + spine_rgb_timeline self, + ) { + return _spine_rgb_timeline_get_duration( + self, + ); + } + + late final _spine_rgb_timeline_get_durationPtr = + _lookup>( + 'spine_rgb_timeline_get_duration'); + late final _spine_rgb_timeline_get_duration = + _spine_rgb_timeline_get_durationPtr + .asFunction(); + + spine_array_property_id spine_rgb_timeline_get_property_ids( + spine_rgb_timeline self, + ) { + return _spine_rgb_timeline_get_property_ids( + self, + ); + } + + late final _spine_rgb_timeline_get_property_idsPtr = _lookup< + ffi.NativeFunction< + spine_array_property_id Function( + spine_rgb_timeline)>>('spine_rgb_timeline_get_property_ids'); + late final _spine_rgb_timeline_get_property_ids = + _spine_rgb_timeline_get_property_idsPtr + .asFunction(); + + spine_rtti spine_rgb_timeline_rtti() { + return _spine_rgb_timeline_rtti(); + } + + late final _spine_rgb_timeline_rttiPtr = + _lookup>( + 'spine_rgb_timeline_rtti'); + late final _spine_rgb_timeline_rtti = + _spine_rgb_timeline_rttiPtr.asFunction(); + spine_rotate_timeline spine_rotate_timeline_create( int frameCount, int bezierCount, @@ -31929,6 +32208,39 @@ class SpineFlutterBindings { void Function(spine_rotate_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_rotate_timeline_get_bone_index( + spine_rotate_timeline self, + ) { + return _spine_rotate_timeline_get_bone_index( + self, + ); + } + + late final _spine_rotate_timeline_get_bone_indexPtr = + _lookup>( + 'spine_rotate_timeline_get_bone_index'); + late final _spine_rotate_timeline_get_bone_index = + _spine_rotate_timeline_get_bone_indexPtr + .asFunction(); + + void spine_rotate_timeline_set_bone_index( + spine_rotate_timeline self, + int inValue, + ) { + return _spine_rotate_timeline_set_bone_index( + self, + inValue, + ); + } + + late final _spine_rotate_timeline_set_bone_indexPtr = _lookup< + ffi + .NativeFunction>( + 'spine_rotate_timeline_set_bone_index'); + late final _spine_rotate_timeline_set_bone_index = + _spine_rotate_timeline_set_bone_indexPtr + .asFunction(); + void spine_rotate_timeline_set_frame( spine_rotate_timeline self, int frame, @@ -32306,39 +32618,6 @@ class SpineFlutterBindings { _spine_rotate_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_rotate_timeline)>(); - int spine_rotate_timeline_get_bone_index( - spine_rotate_timeline self, - ) { - return _spine_rotate_timeline_get_bone_index( - self, - ); - } - - late final _spine_rotate_timeline_get_bone_indexPtr = - _lookup>( - 'spine_rotate_timeline_get_bone_index'); - late final _spine_rotate_timeline_get_bone_index = - _spine_rotate_timeline_get_bone_indexPtr - .asFunction(); - - void spine_rotate_timeline_set_bone_index( - spine_rotate_timeline self, - int inValue, - ) { - return _spine_rotate_timeline_set_bone_index( - self, - inValue, - ); - } - - late final _spine_rotate_timeline_set_bone_indexPtr = _lookup< - ffi - .NativeFunction>( - 'spine_rotate_timeline_set_bone_index'); - late final _spine_rotate_timeline_set_bone_index = - _spine_rotate_timeline_set_bone_indexPtr - .asFunction(); - spine_rtti spine_rotate_timeline_rtti() { return _spine_rotate_timeline_rtti(); } @@ -32497,6 +32776,38 @@ class SpineFlutterBindings { void Function(spine_scale_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_scale_timeline_get_bone_index( + spine_scale_timeline self, + ) { + return _spine_scale_timeline_get_bone_index( + self, + ); + } + + late final _spine_scale_timeline_get_bone_indexPtr = + _lookup>( + 'spine_scale_timeline_get_bone_index'); + late final _spine_scale_timeline_get_bone_index = + _spine_scale_timeline_get_bone_indexPtr + .asFunction(); + + void spine_scale_timeline_set_bone_index( + spine_scale_timeline self, + int inValue, + ) { + return _spine_scale_timeline_set_bone_index( + self, + inValue, + ); + } + + late final _spine_scale_timeline_set_bone_indexPtr = _lookup< + ffi.NativeFunction>( + 'spine_scale_timeline_set_bone_index'); + late final _spine_scale_timeline_set_bone_index = + _spine_scale_timeline_set_bone_indexPtr + .asFunction(); + void spine_scale_timeline_set_frame( spine_scale_timeline self, int frame, @@ -32521,24 +32832,6 @@ class SpineFlutterBindings { _spine_scale_timeline_set_framePtr.asFunction< void Function(spine_scale_timeline, int, double, double, double)>(); - double spine_scale_timeline_get_curve_value( - spine_scale_timeline self, - double time, - ) { - return _spine_scale_timeline_get_curve_value( - self, - time, - ); - } - - late final _spine_scale_timeline_get_curve_valuePtr = _lookup< - ffi - .NativeFunction>( - 'spine_scale_timeline_get_curve_value'); - late final _spine_scale_timeline_get_curve_value = - _spine_scale_timeline_get_curve_valuePtr - .asFunction(); - void spine_scale_timeline_set_linear( spine_scale_timeline self, int frame, @@ -32740,38 +33033,6 @@ class SpineFlutterBindings { _spine_scale_timeline_get_property_idsPtr .asFunction(); - int spine_scale_timeline_get_bone_index( - spine_scale_timeline self, - ) { - return _spine_scale_timeline_get_bone_index( - self, - ); - } - - late final _spine_scale_timeline_get_bone_indexPtr = - _lookup>( - 'spine_scale_timeline_get_bone_index'); - late final _spine_scale_timeline_get_bone_index = - _spine_scale_timeline_get_bone_indexPtr - .asFunction(); - - void spine_scale_timeline_set_bone_index( - spine_scale_timeline self, - int inValue, - ) { - return _spine_scale_timeline_set_bone_index( - self, - inValue, - ); - } - - late final _spine_scale_timeline_set_bone_indexPtr = _lookup< - ffi.NativeFunction>( - 'spine_scale_timeline_set_bone_index'); - late final _spine_scale_timeline_set_bone_index = - _spine_scale_timeline_set_bone_indexPtr - .asFunction(); - spine_rtti spine_scale_timeline_rtti() { return _spine_scale_timeline_rtti(); } @@ -32872,6 +33133,39 @@ class SpineFlutterBindings { void Function(spine_scale_x_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_scale_x_timeline_get_bone_index( + spine_scale_x_timeline self, + ) { + return _spine_scale_x_timeline_get_bone_index( + self, + ); + } + + late final _spine_scale_x_timeline_get_bone_indexPtr = + _lookup>( + 'spine_scale_x_timeline_get_bone_index'); + late final _spine_scale_x_timeline_get_bone_index = + _spine_scale_x_timeline_get_bone_indexPtr + .asFunction(); + + void spine_scale_x_timeline_set_bone_index( + spine_scale_x_timeline self, + int inValue, + ) { + return _spine_scale_x_timeline_set_bone_index( + self, + inValue, + ); + } + + late final _spine_scale_x_timeline_set_bone_indexPtr = _lookup< + ffi + .NativeFunction>( + 'spine_scale_x_timeline_set_bone_index'); + late final _spine_scale_x_timeline_set_bone_index = + _spine_scale_x_timeline_set_bone_indexPtr + .asFunction(); + void spine_scale_x_timeline_set_frame( spine_scale_x_timeline self, int frame, @@ -33249,39 +33543,6 @@ class SpineFlutterBindings { _spine_scale_x_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_scale_x_timeline)>(); - int spine_scale_x_timeline_get_bone_index( - spine_scale_x_timeline self, - ) { - return _spine_scale_x_timeline_get_bone_index( - self, - ); - } - - late final _spine_scale_x_timeline_get_bone_indexPtr = - _lookup>( - 'spine_scale_x_timeline_get_bone_index'); - late final _spine_scale_x_timeline_get_bone_index = - _spine_scale_x_timeline_get_bone_indexPtr - .asFunction(); - - void spine_scale_x_timeline_set_bone_index( - spine_scale_x_timeline self, - int inValue, - ) { - return _spine_scale_x_timeline_set_bone_index( - self, - inValue, - ); - } - - late final _spine_scale_x_timeline_set_bone_indexPtr = _lookup< - ffi - .NativeFunction>( - 'spine_scale_x_timeline_set_bone_index'); - late final _spine_scale_x_timeline_set_bone_index = - _spine_scale_x_timeline_set_bone_indexPtr - .asFunction(); - spine_rtti spine_scale_x_timeline_rtti() { return _spine_scale_x_timeline_rtti(); } @@ -33382,6 +33643,39 @@ class SpineFlutterBindings { void Function(spine_scale_y_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_scale_y_timeline_get_bone_index( + spine_scale_y_timeline self, + ) { + return _spine_scale_y_timeline_get_bone_index( + self, + ); + } + + late final _spine_scale_y_timeline_get_bone_indexPtr = + _lookup>( + 'spine_scale_y_timeline_get_bone_index'); + late final _spine_scale_y_timeline_get_bone_index = + _spine_scale_y_timeline_get_bone_indexPtr + .asFunction(); + + void spine_scale_y_timeline_set_bone_index( + spine_scale_y_timeline self, + int inValue, + ) { + return _spine_scale_y_timeline_set_bone_index( + self, + inValue, + ); + } + + late final _spine_scale_y_timeline_set_bone_indexPtr = _lookup< + ffi + .NativeFunction>( + 'spine_scale_y_timeline_set_bone_index'); + late final _spine_scale_y_timeline_set_bone_index = + _spine_scale_y_timeline_set_bone_indexPtr + .asFunction(); + void spine_scale_y_timeline_set_frame( spine_scale_y_timeline self, int frame, @@ -33759,39 +34053,6 @@ class SpineFlutterBindings { _spine_scale_y_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_scale_y_timeline)>(); - int spine_scale_y_timeline_get_bone_index( - spine_scale_y_timeline self, - ) { - return _spine_scale_y_timeline_get_bone_index( - self, - ); - } - - late final _spine_scale_y_timeline_get_bone_indexPtr = - _lookup>( - 'spine_scale_y_timeline_get_bone_index'); - late final _spine_scale_y_timeline_get_bone_index = - _spine_scale_y_timeline_get_bone_indexPtr - .asFunction(); - - void spine_scale_y_timeline_set_bone_index( - spine_scale_y_timeline self, - int inValue, - ) { - return _spine_scale_y_timeline_set_bone_index( - self, - inValue, - ); - } - - late final _spine_scale_y_timeline_set_bone_indexPtr = _lookup< - ffi - .NativeFunction>( - 'spine_scale_y_timeline_set_bone_index'); - late final _spine_scale_y_timeline_set_bone_index = - _spine_scale_y_timeline_set_bone_indexPtr - .asFunction(); - spine_rtti spine_scale_y_timeline_rtti() { return _spine_scale_y_timeline_rtti(); } @@ -34159,6 +34420,39 @@ class SpineFlutterBindings { _spine_sequence_timeline_get_attachmentPtr .asFunction(); + int spine_sequence_timeline_get_slot_index( + spine_sequence_timeline self, + ) { + return _spine_sequence_timeline_get_slot_index( + self, + ); + } + + late final _spine_sequence_timeline_get_slot_indexPtr = + _lookup>( + 'spine_sequence_timeline_get_slot_index'); + late final _spine_sequence_timeline_get_slot_index = + _spine_sequence_timeline_get_slot_indexPtr + .asFunction(); + + void spine_sequence_timeline_set_slot_index( + spine_sequence_timeline self, + int inValue, + ) { + return _spine_sequence_timeline_set_slot_index( + self, + inValue, + ); + } + + late final _spine_sequence_timeline_set_slot_indexPtr = _lookup< + ffi + .NativeFunction>( + 'spine_sequence_timeline_set_slot_index'); + late final _spine_sequence_timeline_set_slot_index = + _spine_sequence_timeline_set_slot_indexPtr + .asFunction(); + int spine_sequence_timeline_get_frame_entries( spine_sequence_timeline self, ) { @@ -34236,39 +34530,6 @@ class SpineFlutterBindings { _spine_sequence_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_sequence_timeline)>(); - int spine_sequence_timeline_get_slot_index( - spine_sequence_timeline self, - ) { - return _spine_sequence_timeline_get_slot_index( - self, - ); - } - - late final _spine_sequence_timeline_get_slot_indexPtr = - _lookup>( - 'spine_sequence_timeline_get_slot_index'); - late final _spine_sequence_timeline_get_slot_index = - _spine_sequence_timeline_get_slot_indexPtr - .asFunction(); - - void spine_sequence_timeline_set_slot_index( - spine_sequence_timeline self, - int inValue, - ) { - return _spine_sequence_timeline_set_slot_index( - self, - inValue, - ); - } - - late final _spine_sequence_timeline_set_slot_indexPtr = _lookup< - ffi - .NativeFunction>( - 'spine_sequence_timeline_set_slot_index'); - late final _spine_sequence_timeline_set_slot_index = - _spine_sequence_timeline_set_slot_indexPtr - .asFunction(); - spine_rtti spine_sequence_timeline_rtti() { return _spine_sequence_timeline_rtti(); } @@ -34367,6 +34628,38 @@ class SpineFlutterBindings { void Function(spine_shear_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_shear_timeline_get_bone_index( + spine_shear_timeline self, + ) { + return _spine_shear_timeline_get_bone_index( + self, + ); + } + + late final _spine_shear_timeline_get_bone_indexPtr = + _lookup>( + 'spine_shear_timeline_get_bone_index'); + late final _spine_shear_timeline_get_bone_index = + _spine_shear_timeline_get_bone_indexPtr + .asFunction(); + + void spine_shear_timeline_set_bone_index( + spine_shear_timeline self, + int inValue, + ) { + return _spine_shear_timeline_set_bone_index( + self, + inValue, + ); + } + + late final _spine_shear_timeline_set_bone_indexPtr = _lookup< + ffi.NativeFunction>( + 'spine_shear_timeline_set_bone_index'); + late final _spine_shear_timeline_set_bone_index = + _spine_shear_timeline_set_bone_indexPtr + .asFunction(); + void spine_shear_timeline_set_frame( spine_shear_timeline self, int frame, @@ -34391,24 +34684,6 @@ class SpineFlutterBindings { _spine_shear_timeline_set_framePtr.asFunction< void Function(spine_shear_timeline, int, double, double, double)>(); - double spine_shear_timeline_get_curve_value( - spine_shear_timeline self, - double time, - ) { - return _spine_shear_timeline_get_curve_value( - self, - time, - ); - } - - late final _spine_shear_timeline_get_curve_valuePtr = _lookup< - ffi - .NativeFunction>( - 'spine_shear_timeline_get_curve_value'); - late final _spine_shear_timeline_get_curve_value = - _spine_shear_timeline_get_curve_valuePtr - .asFunction(); - void spine_shear_timeline_set_linear( spine_shear_timeline self, int frame, @@ -34610,38 +34885,6 @@ class SpineFlutterBindings { _spine_shear_timeline_get_property_idsPtr .asFunction(); - int spine_shear_timeline_get_bone_index( - spine_shear_timeline self, - ) { - return _spine_shear_timeline_get_bone_index( - self, - ); - } - - late final _spine_shear_timeline_get_bone_indexPtr = - _lookup>( - 'spine_shear_timeline_get_bone_index'); - late final _spine_shear_timeline_get_bone_index = - _spine_shear_timeline_get_bone_indexPtr - .asFunction(); - - void spine_shear_timeline_set_bone_index( - spine_shear_timeline self, - int inValue, - ) { - return _spine_shear_timeline_set_bone_index( - self, - inValue, - ); - } - - late final _spine_shear_timeline_set_bone_indexPtr = _lookup< - ffi.NativeFunction>( - 'spine_shear_timeline_set_bone_index'); - late final _spine_shear_timeline_set_bone_index = - _spine_shear_timeline_set_bone_indexPtr - .asFunction(); - spine_rtti spine_shear_timeline_rtti() { return _spine_shear_timeline_rtti(); } @@ -34742,6 +34985,39 @@ class SpineFlutterBindings { void Function(spine_shear_x_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_shear_x_timeline_get_bone_index( + spine_shear_x_timeline self, + ) { + return _spine_shear_x_timeline_get_bone_index( + self, + ); + } + + late final _spine_shear_x_timeline_get_bone_indexPtr = + _lookup>( + 'spine_shear_x_timeline_get_bone_index'); + late final _spine_shear_x_timeline_get_bone_index = + _spine_shear_x_timeline_get_bone_indexPtr + .asFunction(); + + void spine_shear_x_timeline_set_bone_index( + spine_shear_x_timeline self, + int inValue, + ) { + return _spine_shear_x_timeline_set_bone_index( + self, + inValue, + ); + } + + late final _spine_shear_x_timeline_set_bone_indexPtr = _lookup< + ffi + .NativeFunction>( + 'spine_shear_x_timeline_set_bone_index'); + late final _spine_shear_x_timeline_set_bone_index = + _spine_shear_x_timeline_set_bone_indexPtr + .asFunction(); + void spine_shear_x_timeline_set_frame( spine_shear_x_timeline self, int frame, @@ -35119,39 +35395,6 @@ class SpineFlutterBindings { _spine_shear_x_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_shear_x_timeline)>(); - int spine_shear_x_timeline_get_bone_index( - spine_shear_x_timeline self, - ) { - return _spine_shear_x_timeline_get_bone_index( - self, - ); - } - - late final _spine_shear_x_timeline_get_bone_indexPtr = - _lookup>( - 'spine_shear_x_timeline_get_bone_index'); - late final _spine_shear_x_timeline_get_bone_index = - _spine_shear_x_timeline_get_bone_indexPtr - .asFunction(); - - void spine_shear_x_timeline_set_bone_index( - spine_shear_x_timeline self, - int inValue, - ) { - return _spine_shear_x_timeline_set_bone_index( - self, - inValue, - ); - } - - late final _spine_shear_x_timeline_set_bone_indexPtr = _lookup< - ffi - .NativeFunction>( - 'spine_shear_x_timeline_set_bone_index'); - late final _spine_shear_x_timeline_set_bone_index = - _spine_shear_x_timeline_set_bone_indexPtr - .asFunction(); - spine_rtti spine_shear_x_timeline_rtti() { return _spine_shear_x_timeline_rtti(); } @@ -35252,6 +35495,39 @@ class SpineFlutterBindings { void Function(spine_shear_y_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_shear_y_timeline_get_bone_index( + spine_shear_y_timeline self, + ) { + return _spine_shear_y_timeline_get_bone_index( + self, + ); + } + + late final _spine_shear_y_timeline_get_bone_indexPtr = + _lookup>( + 'spine_shear_y_timeline_get_bone_index'); + late final _spine_shear_y_timeline_get_bone_index = + _spine_shear_y_timeline_get_bone_indexPtr + .asFunction(); + + void spine_shear_y_timeline_set_bone_index( + spine_shear_y_timeline self, + int inValue, + ) { + return _spine_shear_y_timeline_set_bone_index( + self, + inValue, + ); + } + + late final _spine_shear_y_timeline_set_bone_indexPtr = _lookup< + ffi + .NativeFunction>( + 'spine_shear_y_timeline_set_bone_index'); + late final _spine_shear_y_timeline_set_bone_index = + _spine_shear_y_timeline_set_bone_indexPtr + .asFunction(); + void spine_shear_y_timeline_set_frame( spine_shear_y_timeline self, int frame, @@ -35629,39 +35905,6 @@ class SpineFlutterBindings { _spine_shear_y_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_shear_y_timeline)>(); - int spine_shear_y_timeline_get_bone_index( - spine_shear_y_timeline self, - ) { - return _spine_shear_y_timeline_get_bone_index( - self, - ); - } - - late final _spine_shear_y_timeline_get_bone_indexPtr = - _lookup>( - 'spine_shear_y_timeline_get_bone_index'); - late final _spine_shear_y_timeline_get_bone_index = - _spine_shear_y_timeline_get_bone_indexPtr - .asFunction(); - - void spine_shear_y_timeline_set_bone_index( - spine_shear_y_timeline self, - int inValue, - ) { - return _spine_shear_y_timeline_set_bone_index( - self, - inValue, - ); - } - - late final _spine_shear_y_timeline_set_bone_indexPtr = _lookup< - ffi - .NativeFunction>( - 'spine_shear_y_timeline_set_bone_index'); - late final _spine_shear_y_timeline_set_bone_index = - _spine_shear_y_timeline_set_bone_indexPtr - .asFunction(); - spine_rtti spine_shear_y_timeline_rtti() { return _spine_shear_y_timeline_rtti(); } @@ -37352,605 +37595,6 @@ class SpineFlutterBindings { _spine_skeleton_clipping_get_clipped_u_vsPtr .asFunction(); - spine_skeleton_data spine_skeleton_data_create() { - return _spine_skeleton_data_create(); - } - - late final _spine_skeleton_data_createPtr = - _lookup>( - 'spine_skeleton_data_create'); - late final _spine_skeleton_data_create = _spine_skeleton_data_createPtr - .asFunction(); - - void spine_skeleton_data_dispose( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_dispose( - self, - ); - } - - late final _spine_skeleton_data_disposePtr = - _lookup>( - 'spine_skeleton_data_dispose'); - late final _spine_skeleton_data_dispose = _spine_skeleton_data_disposePtr - .asFunction(); - - spine_bone_data spine_skeleton_data_find_bone( - spine_skeleton_data self, - ffi.Pointer boneName, - ) { - return _spine_skeleton_data_find_bone( - self, - boneName, - ); - } - - late final _spine_skeleton_data_find_bonePtr = _lookup< - ffi.NativeFunction< - spine_bone_data Function(spine_skeleton_data, - ffi.Pointer)>>('spine_skeleton_data_find_bone'); - late final _spine_skeleton_data_find_bone = - _spine_skeleton_data_find_bonePtr.asFunction< - spine_bone_data Function( - spine_skeleton_data, ffi.Pointer)>(); - - spine_slot_data spine_skeleton_data_find_slot( - spine_skeleton_data self, - ffi.Pointer slotName, - ) { - return _spine_skeleton_data_find_slot( - self, - slotName, - ); - } - - late final _spine_skeleton_data_find_slotPtr = _lookup< - ffi.NativeFunction< - spine_slot_data Function(spine_skeleton_data, - ffi.Pointer)>>('spine_skeleton_data_find_slot'); - late final _spine_skeleton_data_find_slot = - _spine_skeleton_data_find_slotPtr.asFunction< - spine_slot_data Function( - spine_skeleton_data, ffi.Pointer)>(); - - spine_skin spine_skeleton_data_find_skin( - spine_skeleton_data self, - ffi.Pointer skinName, - ) { - return _spine_skeleton_data_find_skin( - self, - skinName, - ); - } - - late final _spine_skeleton_data_find_skinPtr = _lookup< - ffi.NativeFunction< - spine_skin Function(spine_skeleton_data, - ffi.Pointer)>>('spine_skeleton_data_find_skin'); - late final _spine_skeleton_data_find_skin = - _spine_skeleton_data_find_skinPtr.asFunction< - spine_skin Function(spine_skeleton_data, ffi.Pointer)>(); - - spine_event_data spine_skeleton_data_find_event( - spine_skeleton_data self, - ffi.Pointer eventDataName, - ) { - return _spine_skeleton_data_find_event( - self, - eventDataName, - ); - } - - late final _spine_skeleton_data_find_eventPtr = _lookup< - ffi.NativeFunction< - spine_event_data Function(spine_skeleton_data, - ffi.Pointer)>>('spine_skeleton_data_find_event'); - late final _spine_skeleton_data_find_event = - _spine_skeleton_data_find_eventPtr.asFunction< - spine_event_data Function( - spine_skeleton_data, ffi.Pointer)>(); - - spine_animation spine_skeleton_data_find_animation( - spine_skeleton_data self, - ffi.Pointer animationName, - ) { - return _spine_skeleton_data_find_animation( - self, - animationName, - ); - } - - late final _spine_skeleton_data_find_animationPtr = _lookup< - ffi.NativeFunction< - spine_animation Function(spine_skeleton_data, - ffi.Pointer)>>('spine_skeleton_data_find_animation'); - late final _spine_skeleton_data_find_animation = - _spine_skeleton_data_find_animationPtr.asFunction< - spine_animation Function( - spine_skeleton_data, ffi.Pointer)>(); - - ffi.Pointer spine_skeleton_data_get_name( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_name( - self, - ); - } - - late final _spine_skeleton_data_get_namePtr = _lookup< - ffi - .NativeFunction Function(spine_skeleton_data)>>( - 'spine_skeleton_data_get_name'); - late final _spine_skeleton_data_get_name = _spine_skeleton_data_get_namePtr - .asFunction Function(spine_skeleton_data)>(); - - void spine_skeleton_data_set_name( - spine_skeleton_data self, - ffi.Pointer inValue, - ) { - return _spine_skeleton_data_set_name( - self, - inValue, - ); - } - - late final _spine_skeleton_data_set_namePtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_skeleton_data, - ffi.Pointer)>>('spine_skeleton_data_set_name'); - late final _spine_skeleton_data_set_name = _spine_skeleton_data_set_namePtr - .asFunction)>(); - - spine_array_bone_data spine_skeleton_data_get_bones( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_bones( - self, - ); - } - - late final _spine_skeleton_data_get_bonesPtr = _lookup< - ffi - .NativeFunction>( - 'spine_skeleton_data_get_bones'); - late final _spine_skeleton_data_get_bones = _spine_skeleton_data_get_bonesPtr - .asFunction(); - - spine_array_slot_data spine_skeleton_data_get_slots( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_slots( - self, - ); - } - - late final _spine_skeleton_data_get_slotsPtr = _lookup< - ffi - .NativeFunction>( - 'spine_skeleton_data_get_slots'); - late final _spine_skeleton_data_get_slots = _spine_skeleton_data_get_slotsPtr - .asFunction(); - - spine_array_skin spine_skeleton_data_get_skins( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_skins( - self, - ); - } - - late final _spine_skeleton_data_get_skinsPtr = _lookup< - ffi.NativeFunction>( - 'spine_skeleton_data_get_skins'); - late final _spine_skeleton_data_get_skins = _spine_skeleton_data_get_skinsPtr - .asFunction(); - - spine_skin spine_skeleton_data_get_default_skin( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_default_skin( - self, - ); - } - - late final _spine_skeleton_data_get_default_skinPtr = - _lookup>( - 'spine_skeleton_data_get_default_skin'); - late final _spine_skeleton_data_get_default_skin = - _spine_skeleton_data_get_default_skinPtr - .asFunction(); - - void spine_skeleton_data_set_default_skin( - spine_skeleton_data self, - spine_skin inValue, - ) { - return _spine_skeleton_data_set_default_skin( - self, - inValue, - ); - } - - late final _spine_skeleton_data_set_default_skinPtr = _lookup< - ffi - .NativeFunction>( - 'spine_skeleton_data_set_default_skin'); - late final _spine_skeleton_data_set_default_skin = - _spine_skeleton_data_set_default_skinPtr - .asFunction(); - - spine_array_event_data spine_skeleton_data_get_events( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_events( - self, - ); - } - - late final _spine_skeleton_data_get_eventsPtr = _lookup< - ffi.NativeFunction< - spine_array_event_data Function( - spine_skeleton_data)>>('spine_skeleton_data_get_events'); - late final _spine_skeleton_data_get_events = - _spine_skeleton_data_get_eventsPtr - .asFunction(); - - spine_array_animation spine_skeleton_data_get_animations( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_animations( - self, - ); - } - - late final _spine_skeleton_data_get_animationsPtr = _lookup< - ffi - .NativeFunction>( - 'spine_skeleton_data_get_animations'); - late final _spine_skeleton_data_get_animations = - _spine_skeleton_data_get_animationsPtr - .asFunction(); - - spine_array_constraint_data spine_skeleton_data_get_constraints( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_constraints( - self, - ); - } - - late final _spine_skeleton_data_get_constraintsPtr = _lookup< - ffi.NativeFunction< - spine_array_constraint_data Function( - spine_skeleton_data)>>('spine_skeleton_data_get_constraints'); - late final _spine_skeleton_data_get_constraints = - _spine_skeleton_data_get_constraintsPtr.asFunction< - spine_array_constraint_data Function(spine_skeleton_data)>(); - - double spine_skeleton_data_get_x( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_x( - self, - ); - } - - late final _spine_skeleton_data_get_xPtr = - _lookup>( - 'spine_skeleton_data_get_x'); - late final _spine_skeleton_data_get_x = _spine_skeleton_data_get_xPtr - .asFunction(); - - void spine_skeleton_data_set_x( - spine_skeleton_data self, - double inValue, - ) { - return _spine_skeleton_data_set_x( - self, - inValue, - ); - } - - late final _spine_skeleton_data_set_xPtr = _lookup< - ffi - .NativeFunction>( - '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 self, - ) { - return _spine_skeleton_data_get_y( - self, - ); - } - - late final _spine_skeleton_data_get_yPtr = - _lookup>( - 'spine_skeleton_data_get_y'); - late final _spine_skeleton_data_get_y = _spine_skeleton_data_get_yPtr - .asFunction(); - - void spine_skeleton_data_set_y( - spine_skeleton_data self, - double inValue, - ) { - return _spine_skeleton_data_set_y( - self, - inValue, - ); - } - - late final _spine_skeleton_data_set_yPtr = _lookup< - ffi - .NativeFunction>( - '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 self, - ) { - return _spine_skeleton_data_get_width( - self, - ); - } - - late final _spine_skeleton_data_get_widthPtr = - _lookup>( - 'spine_skeleton_data_get_width'); - late final _spine_skeleton_data_get_width = _spine_skeleton_data_get_widthPtr - .asFunction(); - - void spine_skeleton_data_set_width( - spine_skeleton_data self, - double inValue, - ) { - return _spine_skeleton_data_set_width( - self, - inValue, - ); - } - - late final _spine_skeleton_data_set_widthPtr = _lookup< - ffi - .NativeFunction>( - '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 self, - ) { - return _spine_skeleton_data_get_height( - self, - ); - } - - late final _spine_skeleton_data_get_heightPtr = - _lookup>( - 'spine_skeleton_data_get_height'); - late final _spine_skeleton_data_get_height = - _spine_skeleton_data_get_heightPtr - .asFunction(); - - void spine_skeleton_data_set_height( - spine_skeleton_data self, - double inValue, - ) { - return _spine_skeleton_data_set_height( - self, - inValue, - ); - } - - late final _spine_skeleton_data_set_heightPtr = _lookup< - ffi - .NativeFunction>( - 'spine_skeleton_data_set_height'); - late final _spine_skeleton_data_set_height = - _spine_skeleton_data_set_heightPtr - .asFunction(); - - double spine_skeleton_data_get_reference_scale( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_reference_scale( - self, - ); - } - - late final _spine_skeleton_data_get_reference_scalePtr = - _lookup>( - 'spine_skeleton_data_get_reference_scale'); - late final _spine_skeleton_data_get_reference_scale = - _spine_skeleton_data_get_reference_scalePtr - .asFunction(); - - void spine_skeleton_data_set_reference_scale( - spine_skeleton_data self, - double inValue, - ) { - return _spine_skeleton_data_set_reference_scale( - self, - inValue, - ); - } - - late final _spine_skeleton_data_set_reference_scalePtr = _lookup< - ffi - .NativeFunction>( - 'spine_skeleton_data_set_reference_scale'); - late final _spine_skeleton_data_set_reference_scale = - _spine_skeleton_data_set_reference_scalePtr - .asFunction(); - - ffi.Pointer spine_skeleton_data_get_version( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_version( - self, - ); - } - - late final _spine_skeleton_data_get_versionPtr = _lookup< - ffi - .NativeFunction Function(spine_skeleton_data)>>( - 'spine_skeleton_data_get_version'); - late final _spine_skeleton_data_get_version = - _spine_skeleton_data_get_versionPtr - .asFunction Function(spine_skeleton_data)>(); - - void spine_skeleton_data_set_version( - spine_skeleton_data self, - ffi.Pointer inValue, - ) { - return _spine_skeleton_data_set_version( - self, - inValue, - ); - } - - late final _spine_skeleton_data_set_versionPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_skeleton_data, - ffi.Pointer)>>('spine_skeleton_data_set_version'); - late final _spine_skeleton_data_set_version = - _spine_skeleton_data_set_versionPtr.asFunction< - void Function(spine_skeleton_data, ffi.Pointer)>(); - - ffi.Pointer spine_skeleton_data_get_hash( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_hash( - self, - ); - } - - late final _spine_skeleton_data_get_hashPtr = _lookup< - ffi - .NativeFunction Function(spine_skeleton_data)>>( - 'spine_skeleton_data_get_hash'); - late final _spine_skeleton_data_get_hash = _spine_skeleton_data_get_hashPtr - .asFunction Function(spine_skeleton_data)>(); - - void spine_skeleton_data_set_hash( - spine_skeleton_data self, - ffi.Pointer inValue, - ) { - return _spine_skeleton_data_set_hash( - self, - inValue, - ); - } - - late final _spine_skeleton_data_set_hashPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_skeleton_data, - ffi.Pointer)>>('spine_skeleton_data_set_hash'); - late final _spine_skeleton_data_set_hash = _spine_skeleton_data_set_hashPtr - .asFunction)>(); - - ffi.Pointer spine_skeleton_data_get_images_path( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_images_path( - self, - ); - } - - late final _spine_skeleton_data_get_images_pathPtr = _lookup< - ffi - .NativeFunction Function(spine_skeleton_data)>>( - 'spine_skeleton_data_get_images_path'); - late final _spine_skeleton_data_get_images_path = - _spine_skeleton_data_get_images_pathPtr - .asFunction Function(spine_skeleton_data)>(); - - void spine_skeleton_data_set_images_path( - spine_skeleton_data self, - ffi.Pointer inValue, - ) { - return _spine_skeleton_data_set_images_path( - self, - inValue, - ); - } - - late final _spine_skeleton_data_set_images_pathPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_skeleton_data, - ffi.Pointer)>>('spine_skeleton_data_set_images_path'); - late final _spine_skeleton_data_set_images_path = - _spine_skeleton_data_set_images_pathPtr.asFunction< - void Function(spine_skeleton_data, ffi.Pointer)>(); - - ffi.Pointer spine_skeleton_data_get_audio_path( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_audio_path( - self, - ); - } - - late final _spine_skeleton_data_get_audio_pathPtr = _lookup< - ffi - .NativeFunction Function(spine_skeleton_data)>>( - 'spine_skeleton_data_get_audio_path'); - late final _spine_skeleton_data_get_audio_path = - _spine_skeleton_data_get_audio_pathPtr - .asFunction Function(spine_skeleton_data)>(); - - void spine_skeleton_data_set_audio_path( - spine_skeleton_data self, - ffi.Pointer inValue, - ) { - return _spine_skeleton_data_set_audio_path( - self, - inValue, - ); - } - - late final _spine_skeleton_data_set_audio_pathPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_skeleton_data, - ffi.Pointer)>>('spine_skeleton_data_set_audio_path'); - late final _spine_skeleton_data_set_audio_path = - _spine_skeleton_data_set_audio_pathPtr.asFunction< - void Function(spine_skeleton_data, ffi.Pointer)>(); - - double spine_skeleton_data_get_fps( - spine_skeleton_data self, - ) { - return _spine_skeleton_data_get_fps( - self, - ); - } - - late final _spine_skeleton_data_get_fpsPtr = - _lookup>( - 'spine_skeleton_data_get_fps'); - late final _spine_skeleton_data_get_fps = _spine_skeleton_data_get_fpsPtr - .asFunction(); - - void spine_skeleton_data_set_fps( - spine_skeleton_data self, - double inValue, - ) { - return _spine_skeleton_data_set_fps( - self, - inValue, - ); - } - - late final _spine_skeleton_data_set_fpsPtr = _lookup< - ffi - .NativeFunction>( - 'spine_skeleton_data_set_fps'); - late final _spine_skeleton_data_set_fps = _spine_skeleton_data_set_fpsPtr - .asFunction(); - spine_skeleton_json spine_skeleton_json_create( spine_atlas atlas, ) { @@ -39051,6 +38695,39 @@ class SpineFlutterBindings { void Function(spine_slider_mix_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_slider_mix_timeline_get_constraint_index( + spine_slider_mix_timeline self, + ) { + return _spine_slider_mix_timeline_get_constraint_index( + self, + ); + } + + late final _spine_slider_mix_timeline_get_constraint_indexPtr = + _lookup>( + 'spine_slider_mix_timeline_get_constraint_index'); + late final _spine_slider_mix_timeline_get_constraint_index = + _spine_slider_mix_timeline_get_constraint_indexPtr + .asFunction(); + + void spine_slider_mix_timeline_set_constraint_index( + spine_slider_mix_timeline self, + int inValue, + ) { + return _spine_slider_mix_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_slider_mix_timeline_set_constraint_indexPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_slider_mix_timeline, + ffi.Int)>>('spine_slider_mix_timeline_set_constraint_index'); + late final _spine_slider_mix_timeline_set_constraint_index = + _spine_slider_mix_timeline_set_constraint_indexPtr + .asFunction(); + void spine_slider_mix_timeline_set_frame( spine_slider_mix_timeline self, int frame, @@ -39432,39 +39109,6 @@ class SpineFlutterBindings { _spine_slider_mix_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_slider_mix_timeline)>(); - int spine_slider_mix_timeline_get_constraint_index( - spine_slider_mix_timeline self, - ) { - return _spine_slider_mix_timeline_get_constraint_index( - self, - ); - } - - late final _spine_slider_mix_timeline_get_constraint_indexPtr = - _lookup>( - 'spine_slider_mix_timeline_get_constraint_index'); - late final _spine_slider_mix_timeline_get_constraint_index = - _spine_slider_mix_timeline_get_constraint_indexPtr - .asFunction(); - - void spine_slider_mix_timeline_set_constraint_index( - spine_slider_mix_timeline self, - int inValue, - ) { - return _spine_slider_mix_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_slider_mix_timeline_set_constraint_indexPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_slider_mix_timeline, - ffi.Int)>>('spine_slider_mix_timeline_set_constraint_index'); - late final _spine_slider_mix_timeline_set_constraint_index = - _spine_slider_mix_timeline_set_constraint_indexPtr - .asFunction(); - spine_rtti spine_slider_mix_timeline_rtti() { return _spine_slider_mix_timeline_rtti(); } @@ -39665,6 +39309,39 @@ class SpineFlutterBindings { void Function(spine_slider_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_slider_timeline_get_constraint_index( + spine_slider_timeline self, + ) { + return _spine_slider_timeline_get_constraint_index( + self, + ); + } + + late final _spine_slider_timeline_get_constraint_indexPtr = + _lookup>( + 'spine_slider_timeline_get_constraint_index'); + late final _spine_slider_timeline_get_constraint_index = + _spine_slider_timeline_get_constraint_indexPtr + .asFunction(); + + void spine_slider_timeline_set_constraint_index( + spine_slider_timeline self, + int inValue, + ) { + return _spine_slider_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_slider_timeline_set_constraint_indexPtr = _lookup< + ffi + .NativeFunction>( + 'spine_slider_timeline_set_constraint_index'); + late final _spine_slider_timeline_set_constraint_index = + _spine_slider_timeline_set_constraint_indexPtr + .asFunction(); + void spine_slider_timeline_set_frame( spine_slider_timeline self, int frame, @@ -40042,39 +39719,6 @@ class SpineFlutterBindings { _spine_slider_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_slider_timeline)>(); - int spine_slider_timeline_get_constraint_index( - spine_slider_timeline self, - ) { - return _spine_slider_timeline_get_constraint_index( - self, - ); - } - - late final _spine_slider_timeline_get_constraint_indexPtr = - _lookup>( - 'spine_slider_timeline_get_constraint_index'); - late final _spine_slider_timeline_get_constraint_index = - _spine_slider_timeline_get_constraint_indexPtr - .asFunction(); - - void spine_slider_timeline_set_constraint_index( - spine_slider_timeline self, - int inValue, - ) { - return _spine_slider_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_slider_timeline_set_constraint_indexPtr = _lookup< - ffi - .NativeFunction>( - 'spine_slider_timeline_set_constraint_index'); - late final _spine_slider_timeline_set_constraint_index = - _spine_slider_timeline_set_constraint_indexPtr - .asFunction(); - spine_rtti spine_slider_timeline_rtti() { return _spine_slider_timeline_rtti(); } @@ -40300,6 +39944,39 @@ class SpineFlutterBindings { void Function(spine_slot_curve_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_slot_curve_timeline_get_slot_index( + spine_slot_curve_timeline self, + ) { + return _spine_slot_curve_timeline_get_slot_index( + self, + ); + } + + late final _spine_slot_curve_timeline_get_slot_indexPtr = + _lookup>( + 'spine_slot_curve_timeline_get_slot_index'); + late final _spine_slot_curve_timeline_get_slot_index = + _spine_slot_curve_timeline_get_slot_indexPtr + .asFunction(); + + void spine_slot_curve_timeline_set_slot_index( + spine_slot_curve_timeline self, + int inValue, + ) { + return _spine_slot_curve_timeline_set_slot_index( + self, + inValue, + ); + } + + late final _spine_slot_curve_timeline_set_slot_indexPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_slot_curve_timeline, + ffi.Int)>>('spine_slot_curve_timeline_set_slot_index'); + late final _spine_slot_curve_timeline_set_slot_index = + _spine_slot_curve_timeline_set_slot_indexPtr + .asFunction(); + void spine_slot_curve_timeline_set_linear( spine_slot_curve_timeline self, int frame, @@ -40507,39 +40184,6 @@ class SpineFlutterBindings { _spine_slot_curve_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_slot_curve_timeline)>(); - int spine_slot_curve_timeline_get_slot_index( - spine_slot_curve_timeline self, - ) { - return _spine_slot_curve_timeline_get_slot_index( - self, - ); - } - - late final _spine_slot_curve_timeline_get_slot_indexPtr = - _lookup>( - 'spine_slot_curve_timeline_get_slot_index'); - late final _spine_slot_curve_timeline_get_slot_index = - _spine_slot_curve_timeline_get_slot_indexPtr - .asFunction(); - - void spine_slot_curve_timeline_set_slot_index( - spine_slot_curve_timeline self, - int inValue, - ) { - return _spine_slot_curve_timeline_set_slot_index( - self, - inValue, - ); - } - - late final _spine_slot_curve_timeline_set_slot_indexPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_slot_curve_timeline, - ffi.Int)>>('spine_slot_curve_timeline_set_slot_index'); - late final _spine_slot_curve_timeline_set_slot_index = - _spine_slot_curve_timeline_set_slot_indexPtr - .asFunction(); - spine_rtti spine_slot_curve_timeline_rtti() { return _spine_slot_curve_timeline_rtti(); } @@ -44327,6 +43971,43 @@ class SpineFlutterBindings { void Function(spine_transform_constraint_timeline, int, double, double, double, double, double, double, double)>(); + int spine_transform_constraint_timeline_get_constraint_index( + spine_transform_constraint_timeline self, + ) { + return _spine_transform_constraint_timeline_get_constraint_index( + self, + ); + } + + late final _spine_transform_constraint_timeline_get_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Int Function(spine_transform_constraint_timeline)>>( + 'spine_transform_constraint_timeline_get_constraint_index'); + late final _spine_transform_constraint_timeline_get_constraint_index = + _spine_transform_constraint_timeline_get_constraint_indexPtr + .asFunction(); + + void spine_transform_constraint_timeline_set_constraint_index( + spine_transform_constraint_timeline self, + int inValue, + ) { + return _spine_transform_constraint_timeline_set_constraint_index( + self, + inValue, + ); + } + + late final _spine_transform_constraint_timeline_set_constraint_indexPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + spine_transform_constraint_timeline, ffi.Int)>>( + 'spine_transform_constraint_timeline_set_constraint_index'); + late final _spine_transform_constraint_timeline_set_constraint_index = + _spine_transform_constraint_timeline_set_constraint_indexPtr.asFunction< + void Function(spine_transform_constraint_timeline, int)>(); + void spine_transform_constraint_timeline_set_linear( spine_transform_constraint_timeline self, int frame, @@ -44549,43 +44230,6 @@ class SpineFlutterBindings { spine_array_property_id Function( spine_transform_constraint_timeline)>(); - int spine_transform_constraint_timeline_get_constraint_index( - spine_transform_constraint_timeline self, - ) { - return _spine_transform_constraint_timeline_get_constraint_index( - self, - ); - } - - late final _spine_transform_constraint_timeline_get_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Int Function(spine_transform_constraint_timeline)>>( - 'spine_transform_constraint_timeline_get_constraint_index'); - late final _spine_transform_constraint_timeline_get_constraint_index = - _spine_transform_constraint_timeline_get_constraint_indexPtr - .asFunction(); - - void spine_transform_constraint_timeline_set_constraint_index( - spine_transform_constraint_timeline self, - int inValue, - ) { - return _spine_transform_constraint_timeline_set_constraint_index( - self, - inValue, - ); - } - - late final _spine_transform_constraint_timeline_set_constraint_indexPtr = - _lookup< - ffi.NativeFunction< - ffi.Void Function( - spine_transform_constraint_timeline, ffi.Int)>>( - 'spine_transform_constraint_timeline_set_constraint_index'); - late final _spine_transform_constraint_timeline_set_constraint_index = - _spine_transform_constraint_timeline_set_constraint_indexPtr.asFunction< - void Function(spine_transform_constraint_timeline, int)>(); - spine_rtti spine_transform_constraint_timeline_rtti() { return _spine_transform_constraint_timeline_rtti(); } @@ -44688,6 +44332,39 @@ class SpineFlutterBindings { void Function(spine_translate_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_translate_timeline_get_bone_index( + spine_translate_timeline self, + ) { + return _spine_translate_timeline_get_bone_index( + self, + ); + } + + late final _spine_translate_timeline_get_bone_indexPtr = + _lookup>( + 'spine_translate_timeline_get_bone_index'); + late final _spine_translate_timeline_get_bone_index = + _spine_translate_timeline_get_bone_indexPtr + .asFunction(); + + void spine_translate_timeline_set_bone_index( + spine_translate_timeline self, + int inValue, + ) { + return _spine_translate_timeline_set_bone_index( + self, + inValue, + ); + } + + late final _spine_translate_timeline_set_bone_indexPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_translate_timeline, + ffi.Int)>>('spine_translate_timeline_set_bone_index'); + late final _spine_translate_timeline_set_bone_index = + _spine_translate_timeline_set_bone_indexPtr + .asFunction(); + void spine_translate_timeline_set_frame( spine_translate_timeline self, int frame, @@ -44713,24 +44390,6 @@ class SpineFlutterBindings { void Function( spine_translate_timeline, int, double, double, double)>(); - double spine_translate_timeline_get_curve_value( - spine_translate_timeline self, - double time, - ) { - return _spine_translate_timeline_get_curve_value( - self, - time, - ); - } - - late final _spine_translate_timeline_get_curve_valuePtr = _lookup< - ffi.NativeFunction< - ffi.Float Function(spine_translate_timeline, - ffi.Float)>>('spine_translate_timeline_get_curve_value'); - late final _spine_translate_timeline_get_curve_value = - _spine_translate_timeline_get_curve_valuePtr - .asFunction(); - void spine_translate_timeline_set_linear( spine_translate_timeline self, int frame, @@ -44938,39 +44597,6 @@ class SpineFlutterBindings { _spine_translate_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_translate_timeline)>(); - int spine_translate_timeline_get_bone_index( - spine_translate_timeline self, - ) { - return _spine_translate_timeline_get_bone_index( - self, - ); - } - - late final _spine_translate_timeline_get_bone_indexPtr = - _lookup>( - 'spine_translate_timeline_get_bone_index'); - late final _spine_translate_timeline_get_bone_index = - _spine_translate_timeline_get_bone_indexPtr - .asFunction(); - - void spine_translate_timeline_set_bone_index( - spine_translate_timeline self, - int inValue, - ) { - return _spine_translate_timeline_set_bone_index( - self, - inValue, - ); - } - - late final _spine_translate_timeline_set_bone_indexPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_translate_timeline, - ffi.Int)>>('spine_translate_timeline_set_bone_index'); - late final _spine_translate_timeline_set_bone_index = - _spine_translate_timeline_set_bone_indexPtr - .asFunction(); - spine_rtti spine_translate_timeline_rtti() { return _spine_translate_timeline_rtti(); } @@ -45072,6 +44698,39 @@ class SpineFlutterBindings { void Function(spine_translate_x_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_translate_x_timeline_get_bone_index( + spine_translate_x_timeline self, + ) { + return _spine_translate_x_timeline_get_bone_index( + self, + ); + } + + late final _spine_translate_x_timeline_get_bone_indexPtr = + _lookup>( + 'spine_translate_x_timeline_get_bone_index'); + late final _spine_translate_x_timeline_get_bone_index = + _spine_translate_x_timeline_get_bone_indexPtr + .asFunction(); + + void spine_translate_x_timeline_set_bone_index( + spine_translate_x_timeline self, + int inValue, + ) { + return _spine_translate_x_timeline_set_bone_index( + self, + inValue, + ); + } + + late final _spine_translate_x_timeline_set_bone_indexPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_translate_x_timeline, + ffi.Int)>>('spine_translate_x_timeline_set_bone_index'); + late final _spine_translate_x_timeline_set_bone_index = + _spine_translate_x_timeline_set_bone_indexPtr + .asFunction(); + void spine_translate_x_timeline_set_frame( spine_translate_x_timeline self, int frame, @@ -45453,39 +45112,6 @@ class SpineFlutterBindings { _spine_translate_x_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_translate_x_timeline)>(); - int spine_translate_x_timeline_get_bone_index( - spine_translate_x_timeline self, - ) { - return _spine_translate_x_timeline_get_bone_index( - self, - ); - } - - late final _spine_translate_x_timeline_get_bone_indexPtr = - _lookup>( - 'spine_translate_x_timeline_get_bone_index'); - late final _spine_translate_x_timeline_get_bone_index = - _spine_translate_x_timeline_get_bone_indexPtr - .asFunction(); - - void spine_translate_x_timeline_set_bone_index( - spine_translate_x_timeline self, - int inValue, - ) { - return _spine_translate_x_timeline_set_bone_index( - self, - inValue, - ); - } - - late final _spine_translate_x_timeline_set_bone_indexPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_translate_x_timeline, - ffi.Int)>>('spine_translate_x_timeline_set_bone_index'); - late final _spine_translate_x_timeline_set_bone_index = - _spine_translate_x_timeline_set_bone_indexPtr - .asFunction(); - spine_rtti spine_translate_x_timeline_rtti() { return _spine_translate_x_timeline_rtti(); } @@ -45587,6 +45213,39 @@ class SpineFlutterBindings { void Function(spine_translate_y_timeline, spine_skeleton, double, double, spine_array_event, double, int, int, bool)>(); + int spine_translate_y_timeline_get_bone_index( + spine_translate_y_timeline self, + ) { + return _spine_translate_y_timeline_get_bone_index( + self, + ); + } + + late final _spine_translate_y_timeline_get_bone_indexPtr = + _lookup>( + 'spine_translate_y_timeline_get_bone_index'); + late final _spine_translate_y_timeline_get_bone_index = + _spine_translate_y_timeline_get_bone_indexPtr + .asFunction(); + + void spine_translate_y_timeline_set_bone_index( + spine_translate_y_timeline self, + int inValue, + ) { + return _spine_translate_y_timeline_set_bone_index( + self, + inValue, + ); + } + + late final _spine_translate_y_timeline_set_bone_indexPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(spine_translate_y_timeline, + ffi.Int)>>('spine_translate_y_timeline_set_bone_index'); + late final _spine_translate_y_timeline_set_bone_index = + _spine_translate_y_timeline_set_bone_indexPtr + .asFunction(); + void spine_translate_y_timeline_set_frame( spine_translate_y_timeline self, int frame, @@ -45968,39 +45627,6 @@ class SpineFlutterBindings { _spine_translate_y_timeline_get_property_idsPtr.asFunction< spine_array_property_id Function(spine_translate_y_timeline)>(); - int spine_translate_y_timeline_get_bone_index( - spine_translate_y_timeline self, - ) { - return _spine_translate_y_timeline_get_bone_index( - self, - ); - } - - late final _spine_translate_y_timeline_get_bone_indexPtr = - _lookup>( - 'spine_translate_y_timeline_get_bone_index'); - late final _spine_translate_y_timeline_get_bone_index = - _spine_translate_y_timeline_get_bone_indexPtr - .asFunction(); - - void spine_translate_y_timeline_set_bone_index( - spine_translate_y_timeline self, - int inValue, - ) { - return _spine_translate_y_timeline_set_bone_index( - self, - inValue, - ); - } - - late final _spine_translate_y_timeline_set_bone_indexPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(spine_translate_y_timeline, - ffi.Int)>>('spine_translate_y_timeline_set_bone_index'); - late final _spine_translate_y_timeline_set_bone_index = - _spine_translate_y_timeline_set_bone_indexPtr - .asFunction(); - spine_rtti spine_translate_y_timeline_rtti() { return _spine_translate_y_timeline_rtti(); } @@ -46428,68 +46054,17 @@ class SpineFlutterBindings { _spine_vertex_attachment_rttiPtr.asFunction(); } -final class spine_skeleton_data_result_wrapper extends ffi.Struct { - @ffi.Char() - external int _dummy; +/// mbstate_t is an opaque object to keep conversion state, during multibyte +/// stream conversions. The content must not be referenced by user programs. +final class __mbstate_t extends ffi.Union { + @ffi.Array.multi([128]) + external ffi.Array __mbstate8; + + /// for alignment + @ffi.LongLong() + external int _mbstateL; } -final class spine_bounds_wrapper extends ffi.Struct { - @ffi.Char() - external int _dummy; -} - -final class spine_vector_wrapper extends ffi.Struct { - @ffi.Char() - external int _dummy; -} - -final class spine_skeleton_drawable_wrapper extends ffi.Struct { - @ffi.Char() - external int _dummy; -} - -final class spine_animation_state_events_wrapper extends ffi.Struct { - @ffi.Char() - external int _dummy; -} - -final class spine_skin_entry_wrapper extends ffi.Struct { - @ffi.Char() - external int _dummy; -} - -final class spine_skin_entries_wrapper extends ffi.Struct { - @ffi.Char() - external int _dummy; -} - -final class spine_texture_loader_wrapper extends ffi.Struct { - @ffi.Char() - external int _dummy; -} - -typedef spine_bounds = ffi.Pointer; -typedef spine_vector = ffi.Pointer; - -/// Texture loader callbacks -typedef spine_texture_loader_load_func - = ffi.Pointer>; -typedef spine_texture_loader_load_funcFunction = ffi.Pointer Function( - ffi.Pointer path); -typedef spine_texture_loader_unload_func - = ffi.Pointer>; -typedef spine_texture_loader_unload_funcFunction = ffi.Void Function( - ffi.Pointer texture); -typedef Dartspine_texture_loader_unload_funcFunction = void Function( - ffi.Pointer texture); -typedef spine_skeleton_data_result - = ffi.Pointer; -typedef spine_skeleton_drawable = ffi.Pointer; -typedef spine_animation_state_events - = ffi.Pointer; -typedef spine_skin_entries = ffi.Pointer; -typedef spine_skin_entry = ffi.Pointer; - final class spine_alpha_timeline_wrapper extends ffi.Struct { @ffi.Char() external int _dummy; @@ -46625,11 +46200,6 @@ final class spine_curve_timeline1_wrapper extends ffi.Struct { external int _dummy; } -final class spine_curve_timeline2_wrapper extends ffi.Struct { - @ffi.Char() - external int _dummy; -} - final class spine_deform_timeline_wrapper extends ffi.Struct { @ffi.Char() external int _dummy; @@ -47455,14 +47025,77 @@ typedef spine_array_track_entry = ffi.Pointer; typedef spine_track_entry = ffi.Pointer; typedef spine_array_update = ffi.Pointer; typedef spine_update = ffi.Pointer; -typedef spine_alpha_timeline = ffi.Pointer; -typedef spine_rtti = ffi.Pointer; +typedef spine_atlas = ffi.Pointer; +typedef spine_skeleton_data = ffi.Pointer; + +final class spine_skeleton_data_result_wrapper extends ffi.Struct { + @ffi.Char() + external int _dummy; +} + +final class spine_bounds_wrapper extends ffi.Struct { + @ffi.Char() + external int _dummy; +} + +final class spine_vector_wrapper extends ffi.Struct { + @ffi.Char() + external int _dummy; +} + +final class spine_skeleton_drawable_wrapper extends ffi.Struct { + @ffi.Char() + external int _dummy; +} + +final class spine_animation_state_events_wrapper extends ffi.Struct { + @ffi.Char() + external int _dummy; +} + +final class spine_skin_entry_wrapper extends ffi.Struct { + @ffi.Char() + external int _dummy; +} + +final class spine_skin_entries_wrapper extends ffi.Struct { + @ffi.Char() + external int _dummy; +} + +final class spine_texture_loader_wrapper extends ffi.Struct { + @ffi.Char() + external int _dummy; +} + +typedef spine_bounds = ffi.Pointer; +typedef spine_vector = ffi.Pointer; + +/// Texture loader callbacks +typedef spine_texture_loader_load_func + = ffi.Pointer>; +typedef spine_texture_loader_load_funcFunction = ffi.Pointer Function( + ffi.Pointer path); +typedef spine_texture_loader_unload_func + = ffi.Pointer>; +typedef spine_texture_loader_unload_funcFunction = ffi.Void Function( + ffi.Pointer texture); +typedef Dartspine_texture_loader_unload_funcFunction = void Function( + ffi.Pointer texture); +typedef spine_skeleton_data_result + = ffi.Pointer; +typedef spine_skeleton_drawable = ffi.Pointer; +typedef spine_render_command = ffi.Pointer; typedef spine_skeleton = ffi.Pointer; typedef spine_animation_state = ffi.Pointer; typedef spine_animation_state_data = ffi.Pointer; -typedef spine_skeleton_data = ffi.Pointer; -typedef spine_atlas = ffi.Pointer; +typedef spine_animation_state_events + = ffi.Pointer; +typedef spine_skin_entries = ffi.Pointer; +typedef spine_skin_entry = ffi.Pointer; +typedef spine_alpha_timeline = ffi.Pointer; +typedef spine_rtti = ffi.Pointer; typedef spine_atlas_attachment_loader = ffi.Pointer; typedef spine_region_attachment = ffi.Pointer; @@ -47487,7 +47120,6 @@ typedef spine_constraint_timeline1 = ffi.Pointer; typedef spine_curve_timeline = ffi.Pointer; typedef spine_curve_timeline1 = ffi.Pointer; -typedef spine_curve_timeline2 = ffi.Pointer; typedef spine_deform_timeline = ffi.Pointer; typedef spine_draw_order_timeline = ffi.Pointer; @@ -47544,11 +47176,10 @@ typedef spine_physics_constraint_wind_timeline typedef spine_posed = ffi.Pointer; typedef spine_posed_active = ffi.Pointer; typedef spine_posed_data = ffi.Pointer; -typedef spine_render_command = ffi.Pointer; typedef spine_rgb2_timeline = ffi.Pointer; -typedef spine_rgb_timeline = ffi.Pointer; typedef spine_rgba2_timeline = ffi.Pointer; typedef spine_rgba_timeline = ffi.Pointer; +typedef spine_rgb_timeline = ffi.Pointer; typedef spine_rotate_timeline = ffi.Pointer; typedef spine_scale_timeline = ffi.Pointer; typedef spine_scale_x_timeline = ffi.Pointer; diff --git a/spine-flutter/lib/generated/texture_filter.dart b/spine-flutter/lib/generated/texture_filter.dart index 52bb265ea..34b7a3099 100644 --- a/spine-flutter/lib/generated/texture_filter.dart +++ b/spine-flutter/lib/generated/texture_filter.dart @@ -32,13 +32,13 @@ /// TextureFilter enum enum TextureFilter { unknown(0), - nearest(1), - linear(2), - mipMap(3), - mipMapNearestNearest(4), - mipMapLinearNearest(5), - mipMapNearestLinear(6), - mipMapLinearLinear(7); + nearest(0), + linear(0), + mipMap(0), + mipMapNearestNearest(0), + mipMapLinearNearest(0), + mipMapNearestLinear(0), + mipMapLinearLinear(0); const TextureFilter(this.value); final int value; @@ -49,4 +49,4 @@ enum TextureFilter { orElse: () => throw ArgumentError('Invalid TextureFilter value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/texture_region.dart b/spine-flutter/lib/generated/texture_region.dart index 00d8650e0..cc6b925a9 100644 --- a/spine-flutter/lib/generated/texture_region.dart +++ b/spine-flutter/lib/generated/texture_region.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; @@ -90,7 +90,8 @@ class TextureRegion implements Finalizable { } int get regionWidth { - final result = SpineBindings.bindings.spine_texture_region_get_region_width(_ptr); + final result = + SpineBindings.bindings.spine_texture_region_get_region_width(_ptr); return result; } @@ -99,7 +100,8 @@ class TextureRegion implements Finalizable { } int get regionHeight { - final result = SpineBindings.bindings.spine_texture_region_get_region_height(_ptr); + final result = + SpineBindings.bindings.spine_texture_region_get_region_height(_ptr); return result; } @@ -111,8 +113,4 @@ class TextureRegion implements Finalizable { final result = SpineBindings.bindings.spine_texture_region_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_texture_region_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/texture_wrap.dart b/spine-flutter/lib/generated/texture_wrap.dart index 5a33f1f71..108649e6d 100644 --- a/spine-flutter/lib/generated/texture_wrap.dart +++ b/spine-flutter/lib/generated/texture_wrap.dart @@ -32,8 +32,8 @@ /// TextureWrap enum enum TextureWrap { mirroredRepeat(0), - clampToEdge(1), - repeat(2); + clampToEdge(0), + repeat(0); const TextureWrap(this.value); final int value; @@ -44,4 +44,4 @@ enum TextureWrap { orElse: () => throw ArgumentError('Invalid TextureWrap value: $value'), ); } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/timeline.dart b/spine-flutter/lib/generated/timeline.dart index ef97b7a98..620d620f5 100644 --- a/spine-flutter/lib/generated/timeline.dart +++ b/spine-flutter/lib/generated/timeline.dart @@ -30,13 +30,13 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'skeleton.dart'; +import 'arrays.dart'; import 'mix_blend.dart'; import 'mix_direction.dart'; -import 'arrays.dart'; +import 'skeleton.dart'; /// Timeline wrapper abstract class Timeline implements Finalizable { @@ -52,12 +52,30 @@ abstract class Timeline implements Finalizable { return Rtti.fromPointer(result); } - void apply(Skeleton skeleton, double lastTime, double time, ArrayEvent pEvents, double alpha, MixBlend blend, MixDirection direction, bool appliedPose) { - SpineBindings.bindings.spine_timeline_apply(_ptr, skeleton.nativePtr.cast(), lastTime, time, pEvents.nativePtr.cast(), alpha, blend.value, direction.value, appliedPose); + void apply( + Skeleton skeleton, + double lastTime, + double time, + ArrayEvent pEvents, + double alpha, + MixBlend blend, + MixDirection direction, + bool appliedPose) { + SpineBindings.bindings.spine_timeline_apply( + _ptr, + skeleton.nativePtr.cast(), + lastTime, + time, + pEvents.nativePtr.cast(), + alpha, + blend.value, + direction.value, + appliedPose); } int get frameEntries { - final result = SpineBindings.bindings.spine_timeline_get_frame_entries(_ptr); + final result = + SpineBindings.bindings.spine_timeline_get_frame_entries(_ptr); return result; } @@ -85,8 +103,4 @@ abstract class Timeline implements Finalizable { final result = SpineBindings.bindings.spine_timeline_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/to_property.dart b/spine-flutter/lib/generated/to_property.dart index 8de45b8c4..800af1501 100644 --- a/spine-flutter/lib/generated/to_property.dart +++ b/spine-flutter/lib/generated/to_property.dart @@ -30,12 +30,12 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'transform_constraint_pose.dart'; -import 'skeleton.dart'; import 'bone_pose.dart'; +import 'skeleton.dart'; +import 'transform_constraint_pose.dart'; /// ToProperty wrapper abstract class ToProperty implements Finalizable { @@ -52,12 +52,21 @@ abstract class ToProperty implements Finalizable { } double mix(TransformConstraintPose pose) { - final result = SpineBindings.bindings.spine_to_property_mix(_ptr, pose.nativePtr.cast()); + final result = SpineBindings.bindings + .spine_to_property_mix(_ptr, pose.nativePtr.cast()); return result; } - void apply(Skeleton skeleton, TransformConstraintPose pose, BonePose bone, double value, bool local, bool additive) { - SpineBindings.bindings.spine_to_property_apply(_ptr, skeleton.nativePtr.cast(), pose.nativePtr.cast(), bone.nativePtr.cast(), value, local, additive); + void apply(Skeleton skeleton, TransformConstraintPose pose, BonePose bone, + double value, bool local, bool additive) { + SpineBindings.bindings.spine_to_property_apply( + _ptr, + skeleton.nativePtr.cast(), + pose.nativePtr.cast(), + bone.nativePtr.cast(), + value, + local, + additive); } static Rtti rttiStatic() { @@ -91,8 +100,4 @@ abstract class ToProperty implements Finalizable { set scale(double value) { SpineBindings.bindings.spine_to_property_set__scale(_ptr, value); } - - void dispose() { - SpineBindings.bindings.spine_to_property_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/to_rotate.dart b/spine-flutter/lib/generated/to_rotate.dart index f3c5fab39..f9d1429fb 100644 --- a/spine-flutter/lib/generated/to_rotate.dart +++ b/spine-flutter/lib/generated/to_rotate.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'to_property.dart'; @@ -48,9 +48,4 @@ class ToRotate extends ToProperty { final ptr = SpineBindings.bindings.spine_to_rotate_create(); return ToRotate.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_to_rotate_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/to_scale_x.dart b/spine-flutter/lib/generated/to_scale_x.dart index 325c78d43..22e7fe77b 100644 --- a/spine-flutter/lib/generated/to_scale_x.dart +++ b/spine-flutter/lib/generated/to_scale_x.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'to_property.dart'; @@ -48,9 +48,4 @@ class ToScaleX extends ToProperty { final ptr = SpineBindings.bindings.spine_to_scale_x_create(); return ToScaleX.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_to_scale_x_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/to_scale_y.dart b/spine-flutter/lib/generated/to_scale_y.dart index ad7abff02..350441d23 100644 --- a/spine-flutter/lib/generated/to_scale_y.dart +++ b/spine-flutter/lib/generated/to_scale_y.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'to_property.dart'; @@ -48,9 +48,4 @@ class ToScaleY extends ToProperty { final ptr = SpineBindings.bindings.spine_to_scale_y_create(); return ToScaleY.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_to_scale_y_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/to_shear_y.dart b/spine-flutter/lib/generated/to_shear_y.dart index c0eb374f8..cabf60b8f 100644 --- a/spine-flutter/lib/generated/to_shear_y.dart +++ b/spine-flutter/lib/generated/to_shear_y.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'to_property.dart'; @@ -48,9 +48,4 @@ class ToShearY extends ToProperty { final ptr = SpineBindings.bindings.spine_to_shear_y_create(); return ToShearY.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_to_shear_y_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/to_x.dart b/spine-flutter/lib/generated/to_x.dart index bec62dc80..b834aff6a 100644 --- a/spine-flutter/lib/generated/to_x.dart +++ b/spine-flutter/lib/generated/to_x.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'to_property.dart'; @@ -48,9 +48,4 @@ class ToX extends ToProperty { final ptr = SpineBindings.bindings.spine_to_x_create(); return ToX.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_to_x_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/to_y.dart b/spine-flutter/lib/generated/to_y.dart index 4135c0891..614500b63 100644 --- a/spine-flutter/lib/generated/to_y.dart +++ b/spine-flutter/lib/generated/to_y.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'to_property.dart'; @@ -48,9 +48,4 @@ class ToY extends ToProperty { final ptr = SpineBindings.bindings.spine_to_y_create(); return ToY.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_to_y_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/track_entry.dart b/spine-flutter/lib/generated/track_entry.dart index 089d2183f..35095620a 100644 --- a/spine-flutter/lib/generated/track_entry.dart +++ b/spine-flutter/lib/generated/track_entry.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'animation.dart'; import 'mix_blend.dart'; @@ -50,7 +50,8 @@ class TrackEntry implements Finalizable { } int get trackIndex { - final result = SpineBindings.bindings.spine_track_entry_get_track_index(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_get_track_index(_ptr); return result; } @@ -60,7 +61,8 @@ class TrackEntry implements Finalizable { } set animation(Animation value) { - SpineBindings.bindings.spine_track_entry_set_animation(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_track_entry_set_animation(_ptr, value.nativePtr.cast()); } TrackEntry get previous { @@ -78,7 +80,8 @@ class TrackEntry implements Finalizable { } bool get holdPrevious { - final result = SpineBindings.bindings.spine_track_entry_get_hold_previous(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_get_hold_previous(_ptr); return result; } @@ -96,7 +99,8 @@ class TrackEntry implements Finalizable { } bool get shortestRotation { - final result = SpineBindings.bindings.spine_track_entry_get_shortest_rotation(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_get_shortest_rotation(_ptr); return result; } @@ -114,7 +118,8 @@ class TrackEntry implements Finalizable { } double get trackTime { - final result = SpineBindings.bindings.spine_track_entry_get_track_time(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_get_track_time(_ptr); return result; } @@ -132,7 +137,8 @@ class TrackEntry implements Finalizable { } double get animationStart { - final result = SpineBindings.bindings.spine_track_entry_get_animation_start(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_get_animation_start(_ptr); return result; } @@ -141,7 +147,8 @@ class TrackEntry implements Finalizable { } double get animationEnd { - final result = SpineBindings.bindings.spine_track_entry_get_animation_end(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_get_animation_end(_ptr); return result; } @@ -150,7 +157,8 @@ class TrackEntry implements Finalizable { } double get animationLast { - final result = SpineBindings.bindings.spine_track_entry_get_animation_last(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_get_animation_last(_ptr); return result; } @@ -159,12 +167,14 @@ class TrackEntry implements Finalizable { } double get animationTime { - final result = SpineBindings.bindings.spine_track_entry_get_animation_time(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_get_animation_time(_ptr); return result; } double get timeScale { - final result = SpineBindings.bindings.spine_track_entry_get_time_scale(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_get_time_scale(_ptr); return result; } @@ -182,7 +192,8 @@ class TrackEntry implements Finalizable { } double get eventThreshold { - final result = SpineBindings.bindings.spine_track_entry_get_event_threshold(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_get_event_threshold(_ptr); return result; } @@ -191,30 +202,36 @@ class TrackEntry implements Finalizable { } double get mixAttachmentThreshold { - final result = SpineBindings.bindings.spine_track_entry_get_mix_attachment_threshold(_ptr); + final result = SpineBindings.bindings + .spine_track_entry_get_mix_attachment_threshold(_ptr); return result; } set mixAttachmentThreshold(double value) { - SpineBindings.bindings.spine_track_entry_set_mix_attachment_threshold(_ptr, value); + SpineBindings.bindings + .spine_track_entry_set_mix_attachment_threshold(_ptr, value); } double get alphaAttachmentThreshold { - final result = SpineBindings.bindings.spine_track_entry_get_alpha_attachment_threshold(_ptr); + final result = SpineBindings.bindings + .spine_track_entry_get_alpha_attachment_threshold(_ptr); return result; } set alphaAttachmentThreshold(double value) { - SpineBindings.bindings.spine_track_entry_set_alpha_attachment_threshold(_ptr, value); + SpineBindings.bindings + .spine_track_entry_set_alpha_attachment_threshold(_ptr, value); } double get mixDrawOrderThreshold { - final result = SpineBindings.bindings.spine_track_entry_get_mix_draw_order_threshold(_ptr); + final result = SpineBindings.bindings + .spine_track_entry_get_mix_draw_order_threshold(_ptr); return result; } set mixDrawOrderThreshold(double value) { - SpineBindings.bindings.spine_track_entry_set_mix_draw_order_threshold(_ptr, value); + SpineBindings.bindings + .spine_track_entry_set_mix_draw_order_threshold(_ptr, value); } TrackEntry get next { @@ -237,7 +254,8 @@ class TrackEntry implements Finalizable { } double get mixDuration { - final result = SpineBindings.bindings.spine_track_entry_get_mix_duration(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_get_mix_duration(_ptr); return result; } @@ -251,7 +269,8 @@ class TrackEntry implements Finalizable { } TrackEntry get mixingFrom { - final result = SpineBindings.bindings.spine_track_entry_get_mixing_from(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_get_mixing_from(_ptr); return TrackEntry.fromPointer(result); } @@ -265,16 +284,18 @@ class TrackEntry implements Finalizable { } double get trackComplete { - final result = SpineBindings.bindings.spine_track_entry_get_track_complete(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_get_track_complete(_ptr); return result; } bool get isEmptyAnimation { - final result = SpineBindings.bindings.spine_track_entry_is_empty_animation(_ptr); + final result = + SpineBindings.bindings.spine_track_entry_is_empty_animation(_ptr); return result; } - bool wasApplied() { + bool get wasApplied { final result = SpineBindings.bindings.spine_track_entry_was_applied(_ptr); return result; } @@ -284,15 +305,18 @@ class TrackEntry implements Finalizable { return result; } - set mixDuration1(double value) { + Pointer get rendererObject { + final result = + SpineBindings.bindings.spine_track_entry_get_renderer_object(_ptr); + return result; + } + + set setMixDuration(double value) { SpineBindings.bindings.spine_track_entry_set_mix_duration_1(_ptr, value); } void setMixDuration2(double mixDuration, double delay) { - SpineBindings.bindings.spine_track_entry_set_mix_duration_2(_ptr, mixDuration, delay); + SpineBindings.bindings + .spine_track_entry_set_mix_duration_2(_ptr, mixDuration, delay); } - - void dispose() { - SpineBindings.bindings.spine_track_entry_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/transform_constraint.dart b/spine-flutter/lib/generated/transform_constraint.dart index 4c0d472cd..346ae4c9a 100644 --- a/spine-flutter/lib/generated/transform_constraint.dart +++ b/spine-flutter/lib/generated/transform_constraint.dart @@ -30,110 +30,122 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'skeleton.dart'; -import 'physics.dart'; +import 'arrays.dart'; import 'bone.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'; -import 'arrays.dart'; /// TransformConstraint wrapper -class TransformConstraint implements Finalizable { +class TransformConstraint extends PosedActive implements Posed, Constraint { final Pointer _ptr; - TransformConstraint.fromPointer(this._ptr); + TransformConstraint.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls + @override Pointer get nativePtr => _ptr; factory TransformConstraint(TransformConstraintData data, Skeleton skeleton) { - final ptr = SpineBindings.bindings.spine_transform_constraint_create(data.nativePtr.cast(), skeleton.nativePtr.cast()); + final ptr = SpineBindings.bindings.spine_transform_constraint_create( + data.nativePtr.cast(), skeleton.nativePtr.cast()); return TransformConstraint.fromPointer(ptr); } + @override Rtti get rtti { - final result = SpineBindings.bindings.spine_transform_constraint_get_rtti(_ptr); + final result = + SpineBindings.bindings.spine_transform_constraint_get_rtti(_ptr); return Rtti.fromPointer(result); } 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); } + @override void update(Skeleton skeleton, Physics physics) { - SpineBindings.bindings.spine_transform_constraint_update(_ptr, skeleton.nativePtr.cast(), physics.value); + 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()); + 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); + final result = SpineBindings.bindings + .spine_transform_constraint_is_source_active(_ptr); return result; } 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); } Bone get source { - final result = SpineBindings.bindings.spine_transform_constraint_get_source(_ptr); + final result = + SpineBindings.bindings.spine_transform_constraint_get_source(_ptr); return Bone.fromPointer(result); } 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); + 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); + 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); + 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); + final result = SpineBindings.bindings + .spine_transform_constraint_is_pose_equal_to_applied(_ptr); return result; } - bool get isActive { - final result = SpineBindings.bindings.spine_transform_constraint_is_active(_ptr); - return result; - } - - set active(bool value) { - SpineBindings.bindings.spine_transform_constraint_set_active(_ptr, value); - } - static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_transform_constraint_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_transform_constraint_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/transform_constraint_data.dart b/spine-flutter/lib/generated/transform_constraint_data.dart index 4c087687f..a9bf6526e 100644 --- a/spine-flutter/lib/generated/transform_constraint_data.dart +++ b/spine-flutter/lib/generated/transform_constraint_data.dart @@ -31,173 +31,215 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'constraint.dart'; -import 'skeleton.dart'; -import 'bone_data.dart'; -import 'transform_constraint_pose.dart'; import 'arrays.dart'; +import 'bone_data.dart'; +import 'constraint.dart'; +import 'constraint_data.dart'; +import 'ik_constraint.dart'; +import 'path_constraint.dart'; +import 'physics_constraint.dart'; +import 'posed_data.dart'; +import 'skeleton.dart'; +import 'slider.dart'; +import 'transform_constraint.dart'; +import 'transform_constraint_pose.dart'; /// TransformConstraintData wrapper -class TransformConstraintData implements Finalizable { +class TransformConstraintData extends PosedData implements ConstraintData { final Pointer _ptr; - TransformConstraintData.fromPointer(this._ptr); + TransformConstraintData.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls + @override Pointer get nativePtr => _ptr; factory TransformConstraintData(String name) { - final ptr = SpineBindings.bindings.spine_transform_constraint_data_create(name.toNativeUtf8().cast()); + final ptr = SpineBindings.bindings.spine_transform_constraint_data_create( + name.toNativeUtf8().cast()); return TransformConstraintData.fromPointer(ptr); } + @override Rtti get rtti { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_rtti(_ptr); + final result = + SpineBindings.bindings.spine_transform_constraint_data_get_rtti(_ptr); return Rtti.fromPointer(result); } + @override Constraint createMethod(Skeleton skeleton) { - final result = SpineBindings.bindings.spine_transform_constraint_data_create_method(_ptr, skeleton.nativePtr.cast()); - throw UnsupportedError('Cannot instantiate abstract class Constraint from pointer - no concrete subclasses found'); + final result = SpineBindings.bindings + .spine_transform_constraint_data_create_method( + _ptr, skeleton.nativePtr.cast()); + final rtti = SpineBindings.bindings.spine_constraint_get_rtti(result); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); + switch (className) { + case 'spine_ik_constraint': + return IkConstraint.fromPointer(result.cast()); + case 'spine_path_constraint': + return PathConstraint.fromPointer(result.cast()); + case 'spine_physics_constraint': + return PhysicsConstraint.fromPointer(result.cast()); + case 'spine_slider': + return Slider.fromPointer(result.cast()); + case 'spine_transform_constraint': + return TransformConstraint.fromPointer(result.cast()); + default: + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Constraint'); + } } ArrayBoneData get bones { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_bones(_ptr); + final result = + SpineBindings.bindings.spine_transform_constraint_data_get_bones(_ptr); return ArrayBoneData.fromPointer(result); } BoneData get source { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_source(_ptr); + final result = + SpineBindings.bindings.spine_transform_constraint_data_get_source(_ptr); return BoneData.fromPointer(result); } set source(BoneData value) { - SpineBindings.bindings.spine_transform_constraint_data_set_source(_ptr, value.nativePtr.cast()); + SpineBindings.bindings.spine_transform_constraint_data_set_source( + _ptr, value.nativePtr.cast()); } double get offsetRotation { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_offset_rotation(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_data_get_offset_rotation(_ptr); return result; } set offsetRotation(double value) { - SpineBindings.bindings.spine_transform_constraint_data_set_offset_rotation(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_data_set_offset_rotation(_ptr, value); } double get offsetX { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_offset_x(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_data_get_offset_x(_ptr); return result; } set offsetX(double value) { - SpineBindings.bindings.spine_transform_constraint_data_set_offset_x(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_data_set_offset_x(_ptr, value); } double get offsetY { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_offset_y(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_data_get_offset_y(_ptr); return result; } set offsetY(double value) { - SpineBindings.bindings.spine_transform_constraint_data_set_offset_y(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_data_set_offset_y(_ptr, value); } double get offsetScaleX { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_offset_scale_x(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_data_get_offset_scale_x(_ptr); return result; } set offsetScaleX(double value) { - SpineBindings.bindings.spine_transform_constraint_data_set_offset_scale_x(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_data_set_offset_scale_x(_ptr, value); } double get offsetScaleY { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_offset_scale_y(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_data_get_offset_scale_y(_ptr); return result; } set offsetScaleY(double value) { - SpineBindings.bindings.spine_transform_constraint_data_set_offset_scale_y(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_data_set_offset_scale_y(_ptr, value); } double get offsetShearY { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_offset_shear_y(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_data_get_offset_shear_y(_ptr); return result; } set offsetShearY(double value) { - SpineBindings.bindings.spine_transform_constraint_data_set_offset_shear_y(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_data_set_offset_shear_y(_ptr, value); } bool get localSource { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_local_source(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_data_get_local_source(_ptr); return result; } set localSource(bool value) { - SpineBindings.bindings.spine_transform_constraint_data_set_local_source(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_data_set_local_source(_ptr, value); } bool get localTarget { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_local_target(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_data_get_local_target(_ptr); return result; } set localTarget(bool value) { - SpineBindings.bindings.spine_transform_constraint_data_set_local_target(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_data_set_local_target(_ptr, value); } bool get additive { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_additive(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_data_get_additive(_ptr); return result; } set additive(bool value) { - SpineBindings.bindings.spine_transform_constraint_data_set_additive(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_data_set_additive(_ptr, value); } bool get clamp { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_clamp(_ptr); + final result = + SpineBindings.bindings.spine_transform_constraint_data_get_clamp(_ptr); return result; } set clamp(bool value) { - SpineBindings.bindings.spine_transform_constraint_data_set_clamp(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_data_set_clamp(_ptr, value); } ArrayFromProperty get properties { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_properties(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_data_get_properties(_ptr); return ArrayFromProperty.fromPointer(result); } - String get name { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_name(_ptr); - return result.cast().toDartString(); - } - - bool get skinRequired { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_skin_required(_ptr); - return result; - } - TransformConstraintPose get setupPose { - final result = SpineBindings.bindings.spine_transform_constraint_data_get_setup_pose(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_data_get_setup_pose(_ptr); return TransformConstraintPose.fromPointer(result); } - set skinRequired(bool value) { - SpineBindings.bindings.spine_transform_constraint_data_set_skin_required(_ptr, value); - } - static Rtti rttiStatic() { - final result = SpineBindings.bindings.spine_transform_constraint_data_rtti(); + final result = + SpineBindings.bindings.spine_transform_constraint_data_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_transform_constraint_data_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/transform_constraint_pose.dart b/spine-flutter/lib/generated/transform_constraint_pose.dart index 69b4ab94b..0fa09c5e6 100644 --- a/spine-flutter/lib/generated/transform_constraint_pose.dart +++ b/spine-flutter/lib/generated/transform_constraint_pose.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; /// TransformConstraintPose wrapper @@ -48,64 +48,73 @@ class TransformConstraintPose implements Finalizable { } void set(TransformConstraintPose pose) { - SpineBindings.bindings.spine_transform_constraint_pose_set(_ptr, pose.nativePtr.cast()); + SpineBindings.bindings + .spine_transform_constraint_pose_set(_ptr, pose.nativePtr.cast()); } double get mixRotate { - final result = SpineBindings.bindings.spine_transform_constraint_pose_get_mix_rotate(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_pose_get_mix_rotate(_ptr); return result; } set mixRotate(double value) { - SpineBindings.bindings.spine_transform_constraint_pose_set_mix_rotate(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_pose_set_mix_rotate(_ptr, value); } double get mixX { - final result = SpineBindings.bindings.spine_transform_constraint_pose_get_mix_x(_ptr); + final result = + SpineBindings.bindings.spine_transform_constraint_pose_get_mix_x(_ptr); return result; } set mixX(double value) { - SpineBindings.bindings.spine_transform_constraint_pose_set_mix_x(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_pose_set_mix_x(_ptr, value); } double get mixY { - final result = SpineBindings.bindings.spine_transform_constraint_pose_get_mix_y(_ptr); + final result = + SpineBindings.bindings.spine_transform_constraint_pose_get_mix_y(_ptr); return result; } set mixY(double value) { - SpineBindings.bindings.spine_transform_constraint_pose_set_mix_y(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_pose_set_mix_y(_ptr, value); } double get mixScaleX { - final result = SpineBindings.bindings.spine_transform_constraint_pose_get_mix_scale_x(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_pose_get_mix_scale_x(_ptr); return result; } set mixScaleX(double value) { - SpineBindings.bindings.spine_transform_constraint_pose_set_mix_scale_x(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_pose_set_mix_scale_x(_ptr, value); } double get mixScaleY { - final result = SpineBindings.bindings.spine_transform_constraint_pose_get_mix_scale_y(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_pose_get_mix_scale_y(_ptr); return result; } set mixScaleY(double value) { - SpineBindings.bindings.spine_transform_constraint_pose_set_mix_scale_y(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_pose_set_mix_scale_y(_ptr, value); } double get mixShearY { - final result = SpineBindings.bindings.spine_transform_constraint_pose_get_mix_shear_y(_ptr); + final result = SpineBindings.bindings + .spine_transform_constraint_pose_get_mix_shear_y(_ptr); return result; } set mixShearY(double value) { - SpineBindings.bindings.spine_transform_constraint_pose_set_mix_shear_y(_ptr, value); + SpineBindings.bindings + .spine_transform_constraint_pose_set_mix_shear_y(_ptr, value); } - - void dispose() { - SpineBindings.bindings.spine_transform_constraint_pose_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/transform_constraint_timeline.dart b/spine-flutter/lib/generated/transform_constraint_timeline.dart index d1a0dbde3..4a862372f 100644 --- a/spine-flutter/lib/generated/transform_constraint_timeline.dart +++ b/spine-flutter/lib/generated/transform_constraint_timeline.dart @@ -30,40 +30,47 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; +import 'constraint_timeline.dart'; import 'curve_timeline.dart'; /// TransformConstraintTimeline wrapper -class TransformConstraintTimeline extends CurveTimeline { +class TransformConstraintTimeline extends CurveTimeline + implements ConstraintTimeline { final Pointer _ptr; - TransformConstraintTimeline.fromPointer(this._ptr) : super.fromPointer(_ptr.cast()); + TransformConstraintTimeline.fromPointer(this._ptr) + : super.fromPointer(_ptr.cast()); /// Get the native pointer for FFI calls @override Pointer get nativePtr => _ptr; - factory TransformConstraintTimeline(int frameCount, int bezierCount, int transformConstraintIndex) { - final ptr = SpineBindings.bindings.spine_transform_constraint_timeline_create(frameCount, bezierCount, transformConstraintIndex); + factory TransformConstraintTimeline( + int frameCount, int bezierCount, int transformConstraintIndex) { + final ptr = SpineBindings.bindings + .spine_transform_constraint_timeline_create( + frameCount, bezierCount, transformConstraintIndex); return TransformConstraintTimeline.fromPointer(ptr); } - void setFrame(int frame, double time, double mixRotate, double mixX, double mixY, double mixScaleX, double mixScaleY, double mixShearY) { - SpineBindings.bindings.spine_transform_constraint_timeline_set_frame(_ptr, frame, time, mixRotate, mixX, mixY, mixScaleX, mixScaleY, mixShearY); - } - - int get constraintIndex { - final result = SpineBindings.bindings.spine_transform_constraint_timeline_get_constraint_index(_ptr); - return result; - } - - set constraintIndex(int value) { - SpineBindings.bindings.spine_transform_constraint_timeline_set_constraint_index(_ptr, value); + void setFrame(int frame, double time, double mixRotate, double mixX, + double mixY, double mixScaleX, double mixScaleY, double mixShearY) { + SpineBindings.bindings.spine_transform_constraint_timeline_set_frame(_ptr, + frame, time, mixRotate, mixX, mixY, mixScaleX, mixScaleY, mixShearY); } @override - void dispose() { - SpineBindings.bindings.spine_transform_constraint_timeline_dispose(_ptr); + int get constraintIndex { + final result = SpineBindings.bindings + .spine_transform_constraint_timeline_get_constraint_index(_ptr); + return result; } -} \ No newline at end of file + + @override + set constraintIndex(int value) { + SpineBindings.bindings + .spine_transform_constraint_timeline_set_constraint_index(_ptr, value); + } +} diff --git a/spine-flutter/lib/generated/translate_timeline.dart b/spine-flutter/lib/generated/translate_timeline.dart index 8416120aa..b200e7b3d 100644 --- a/spine-flutter/lib/generated/translate_timeline.dart +++ b/spine-flutter/lib/generated/translate_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'bone_timeline2.dart'; @@ -45,12 +45,8 @@ class TranslateTimeline extends BoneTimeline2 { Pointer get nativePtr => _ptr; factory TranslateTimeline(int frameCount, int bezierCount, int boneIndex) { - final ptr = SpineBindings.bindings.spine_translate_timeline_create(frameCount, bezierCount, boneIndex); + final ptr = SpineBindings.bindings + .spine_translate_timeline_create(frameCount, bezierCount, boneIndex); return TranslateTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_translate_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/translate_x_timeline.dart b/spine-flutter/lib/generated/translate_x_timeline.dart index ac9bf4b69..664c01ac4 100644 --- a/spine-flutter/lib/generated/translate_x_timeline.dart +++ b/spine-flutter/lib/generated/translate_x_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'bone_timeline1.dart'; @@ -45,12 +45,8 @@ class TranslateXTimeline extends BoneTimeline1 { Pointer get nativePtr => _ptr; factory TranslateXTimeline(int frameCount, int bezierCount, int boneIndex) { - final ptr = SpineBindings.bindings.spine_translate_x_timeline_create(frameCount, bezierCount, boneIndex); + final ptr = SpineBindings.bindings + .spine_translate_x_timeline_create(frameCount, bezierCount, boneIndex); return TranslateXTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_translate_x_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/translate_y_timeline.dart b/spine-flutter/lib/generated/translate_y_timeline.dart index 682c37d88..7491afac3 100644 --- a/spine-flutter/lib/generated/translate_y_timeline.dart +++ b/spine-flutter/lib/generated/translate_y_timeline.dart @@ -30,7 +30,7 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; import 'bone_timeline1.dart'; @@ -45,12 +45,8 @@ class TranslateYTimeline extends BoneTimeline1 { Pointer get nativePtr => _ptr; factory TranslateYTimeline(int frameCount, int bezierCount, int boneIndex) { - final ptr = SpineBindings.bindings.spine_translate_y_timeline_create(frameCount, bezierCount, boneIndex); + final ptr = SpineBindings.bindings + .spine_translate_y_timeline_create(frameCount, bezierCount, boneIndex); return TranslateYTimeline.fromPointer(ptr); } - - @override - void dispose() { - SpineBindings.bindings.spine_translate_y_timeline_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/update.dart b/spine-flutter/lib/generated/update.dart index d0f22426a..033e9bf15 100644 --- a/spine-flutter/lib/generated/update.dart +++ b/spine-flutter/lib/generated/update.dart @@ -30,36 +30,18 @@ // AUTO GENERATED FILE, DO NOT EDIT. import 'dart:ffi'; -import 'spine_flutter_bindings_generated.dart'; import '../spine_bindings.dart'; import 'rtti.dart'; -import 'skeleton.dart'; import 'physics.dart'; +import 'skeleton.dart'; /// Update wrapper -abstract class Update implements Finalizable { - final Pointer _ptr; - - Update.fromPointer(this._ptr); - - /// Get the native pointer for FFI calls - Pointer get nativePtr => _ptr; - - Rtti get rtti { - final result = SpineBindings.bindings.spine_update_get_rtti(_ptr); - return Rtti.fromPointer(result); - } - - void update(Skeleton skeleton, Physics physics) { - SpineBindings.bindings.spine_update_update(_ptr, skeleton.nativePtr.cast(), physics.value); - } - +abstract class Update { + Pointer get nativePtr; + Rtti get rtti; + void update(Skeleton skeleton, Physics physics); static Rtti rttiStatic() { final result = SpineBindings.bindings.spine_update_rtti(); return Rtti.fromPointer(result); } - - void dispose() { - SpineBindings.bindings.spine_update_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/generated/vertex_attachment.dart b/spine-flutter/lib/generated/vertex_attachment.dart index a4873599c..94e8e962f 100644 --- a/spine-flutter/lib/generated/vertex_attachment.dart +++ b/spine-flutter/lib/generated/vertex_attachment.dart @@ -31,18 +31,18 @@ import 'dart:ffi'; import 'package:ffi/ffi.dart'; -import 'spine_flutter_bindings_generated.dart'; +import 'spine_dart_bindings_generated.dart'; import '../spine_bindings.dart'; +import 'arrays.dart'; import 'attachment.dart'; -import 'skeleton.dart'; -import 'slot.dart'; -import 'point_attachment.dart'; -import 'region_attachment.dart'; import 'bounding_box_attachment.dart'; import 'clipping_attachment.dart'; import 'mesh_attachment.dart'; import 'path_attachment.dart'; -import 'arrays.dart'; +import 'point_attachment.dart'; +import 'region_attachment.dart'; +import 'skeleton.dart'; +import 'slot.dart'; /// VertexAttachment wrapper abstract class VertexAttachment extends Attachment { @@ -60,41 +60,47 @@ abstract class VertexAttachment extends Attachment { } ArrayInt get bones { - final result = SpineBindings.bindings.spine_vertex_attachment_get_bones(_ptr); + final result = + SpineBindings.bindings.spine_vertex_attachment_get_bones(_ptr); return ArrayInt.fromPointer(result); } set bones(ArrayInt value) { - SpineBindings.bindings.spine_vertex_attachment_set_bones(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_vertex_attachment_set_bones(_ptr, value.nativePtr.cast()); } ArrayFloat get vertices { - final result = SpineBindings.bindings.spine_vertex_attachment_get_vertices(_ptr); + final result = + SpineBindings.bindings.spine_vertex_attachment_get_vertices(_ptr); return ArrayFloat.fromPointer(result); } set vertices(ArrayFloat value) { - SpineBindings.bindings.spine_vertex_attachment_set_vertices(_ptr, value.nativePtr.cast()); + SpineBindings.bindings + .spine_vertex_attachment_set_vertices(_ptr, value.nativePtr.cast()); } int get worldVerticesLength { - final result = SpineBindings.bindings.spine_vertex_attachment_get_world_vertices_length(_ptr); + final result = SpineBindings.bindings + .spine_vertex_attachment_get_world_vertices_length(_ptr); return result; } set worldVerticesLength(int value) { - SpineBindings.bindings.spine_vertex_attachment_set_world_vertices_length(_ptr, value); + SpineBindings.bindings + .spine_vertex_attachment_set_world_vertices_length(_ptr, value); } Attachment get timelineAttachment { - final result = SpineBindings.bindings.spine_vertex_attachment_get_timeline_attachment(_ptr); + final result = SpineBindings.bindings + .spine_vertex_attachment_get_timeline_attachment(_ptr); final rtti = SpineBindings.bindings.spine_attachment_get_rtti(result); - final className = SpineBindings.bindings.spine_rtti_get_class_name(rtti).cast().toDartString(); + final className = SpineBindings.bindings + .spine_rtti_get_class_name(rtti) + .cast() + .toDartString(); switch (className) { - case 'spine_point_attachment': - return PointAttachment.fromPointer(result.cast()); - case 'spine_region_attachment': - return RegionAttachment.fromPointer(result.cast()); case 'spine_bounding_box_attachment': return BoundingBoxAttachment.fromPointer(result.cast()); case 'spine_clipping_attachment': @@ -103,25 +109,36 @@ abstract class VertexAttachment extends Attachment { return MeshAttachment.fromPointer(result.cast()); case 'spine_path_attachment': return PathAttachment.fromPointer(result.cast()); + case 'spine_point_attachment': + return PointAttachment.fromPointer(result.cast()); + case 'spine_region_attachment': + return RegionAttachment.fromPointer(result.cast()); default: - throw UnsupportedError('Unknown concrete type: $className for abstract class Attachment'); + throw UnsupportedError( + 'Unknown concrete type: $className for abstract class Attachment'); } } set timelineAttachment(Attachment value) { - SpineBindings.bindings.spine_vertex_attachment_set_timeline_attachment(_ptr, value.nativePtr.cast()); + SpineBindings.bindings.spine_vertex_attachment_set_timeline_attachment( + _ptr, value.nativePtr.cast()); } void copyTo(VertexAttachment other) { - SpineBindings.bindings.spine_vertex_attachment_copy_to(_ptr, other.nativePtr.cast()); + SpineBindings.bindings + .spine_vertex_attachment_copy_to(_ptr, other.nativePtr.cast()); } - void computeWorldVertices(Skeleton skeleton, Slot slot, int start, int count, ArrayFloat worldVertices, int offset, int stride) { - SpineBindings.bindings.spine_vertex_attachment_compute_world_vertices_2(_ptr, skeleton.nativePtr.cast(), slot.nativePtr.cast(), start, count, worldVertices.nativePtr.cast(), offset, stride); + void computeWorldVertices(Skeleton skeleton, Slot slot, int start, int count, + ArrayFloat worldVertices, int offset, int stride) { + SpineBindings.bindings.spine_vertex_attachment_compute_world_vertices_2( + _ptr, + skeleton.nativePtr.cast(), + slot.nativePtr.cast(), + start, + count, + worldVertices.nativePtr.cast(), + offset, + stride); } - - @override - void dispose() { - SpineBindings.bindings.spine_vertex_attachment_dispose(_ptr); - } -} \ No newline at end of file +} diff --git a/spine-flutter/lib/new_extensions.dart b/spine-flutter/lib/new_extensions.dart new file mode 100644 index 000000000..dd4b77244 --- /dev/null +++ b/spine-flutter/lib/new_extensions.dart @@ -0,0 +1,67 @@ +import 'dart:ffi'; +import 'package:ffi/ffi.dart'; +import 'generated/atlas.dart'; +import 'generated/skeleton_data.dart'; +import 'spine_bindings.dart'; + +// Atlas Extensions +extension AtlasExtensions on Atlas { + /// Creates an Atlas from atlas data string (without loading images) + static Atlas fromString(String atlasData) { + final atlasDataNative = atlasData.toNativeUtf8(); + final atlasPtr = SpineBindings.bindings.spine_atlas_load(atlasDataNative.cast()); + malloc.free(atlasDataNative); + return Atlas.fromPointer(atlasPtr); + } + + /// Dispose the atlas and free its memory + void dispose() { + SpineBindings.bindings.spine_atlas_dispose(nativePtr.cast()); + } +} + +// Skeleton Data Result wrapper +class SkeletonDataResult { + final String? error; + final SkeletonData? skeletonData; + final Pointer? _resultPtr; + + SkeletonDataResult._(this.error, this.skeletonData, this._resultPtr); + + void dispose() { + if (_resultPtr != null) { + SpineBindings.bindings.spine_skeleton_data_result_dispose(_resultPtr!.cast()); + } + } +} + +// Skeleton Data Extensions +extension SkeletonDataExtensions on SkeletonData { + /// Load skeleton data from JSON string + static SkeletonDataResult fromJson(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(), + pathNative.cast() + ); + + 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().toDartString(); + return SkeletonDataResult._(error, null, resultPtr); + } + + // Get skeleton data + final skeletonDataPtr = SpineBindings.bindings.spine_skeleton_data_result_get_data(resultPtr.cast()); + final skeletonData = SkeletonData.fromPointer(skeletonDataPtr); + + return SkeletonDataResult._(null, skeletonData, resultPtr); + } +} \ No newline at end of file diff --git a/spine-flutter/lib/spine_bindings.dart b/spine-flutter/lib/spine_bindings.dart index c4949936f..4f14150ce 100644 --- a/spine-flutter/lib/spine_bindings.dart +++ b/spine-flutter/lib/spine_bindings.dart @@ -27,17 +27,17 @@ // SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // *****************************************************************************/ -import 'generated/spine_flutter_bindings_generated.dart'; +import 'generated/spine_dart_bindings_generated.dart'; /// Global bindings instance for all spine-flutter classes class SpineBindings { - static late SpineFlutterBindings _bindings; + static late SpineDartBindings _bindings; /// Initialize the global bindings - static void init(SpineFlutterBindings bindings) { + static void init(SpineDartBindings bindings) { _bindings = bindings; } /// Get the global bindings instance - static SpineFlutterBindings get bindings => _bindings; + static SpineDartBindings get bindings => _bindings; } \ No newline at end of file diff --git a/spine-flutter/lib/init.dart b/spine-flutter/lib/spine_dart_init.dart similarity index 82% rename from spine-flutter/lib/init.dart rename to spine-flutter/lib/spine_dart_init.dart index bcf364f1b..677c3355c 100644 --- a/spine-flutter/lib/init.dart +++ b/spine-flutter/lib/spine_dart_init.dart @@ -35,7 +35,12 @@ import 'package:ffi/ffi.dart'; const String _libName = 'spine_flutter'; final DynamicLibrary _dylib = () { if (Platform.isMacOS || Platform.isIOS) { - return DynamicLibrary.open('$_libName.framework/$_libName'); + try { + return DynamicLibrary.open('$_libName.framework/$_libName'); + } catch (e) { + // Fallback for macOS where the library might not be in a framework + return DynamicLibrary.open('$_libName.dylib'); + } } if (Platform.isAndroid || Platform.isLinux) { return DynamicLibrary.open('lib$_libName.so'); @@ -46,17 +51,18 @@ final DynamicLibrary _dylib = () { throw UnsupportedError('Unknown platform: ${Platform.operatingSystem}'); }(); -class SpineFlutterFFI { +class SpineDartFFI { DynamicLibrary dylib; Allocator allocator; - SpineFlutterFFI(this.dylib, this.allocator); + SpineDartFFI(this.dylib, this.allocator); } -Future initSpineFlutterFFI(bool useStaticLinkage) async { +Future initSpineDartFFI(bool useStaticLinkage) async { if (useStaticLinkage) { - return SpineFlutterFFI(DynamicLibrary.process(), malloc); + return SpineDartFFI(DynamicLibrary.process(), malloc); } else { - return SpineFlutterFFI(_dylib, malloc); + return SpineDartFFI(_dylib, malloc); } } + diff --git a/spine-flutter/lib/init_web.dart b/spine-flutter/lib/spine_dart_init_web.dart similarity index 92% rename from spine-flutter/lib/init_web.dart rename to spine-flutter/lib/spine_dart_init_web.dart index 142f00a62..4744d4109 100644 --- a/spine-flutter/lib/init_web.dart +++ b/spine-flutter/lib/spine_dart_init_web.dart @@ -33,18 +33,18 @@ import 'package:inject_js/inject_js.dart' as js; import 'package:web_ffi_fork/web_ffi.dart'; import 'package:web_ffi_fork/web_ffi_modules.dart'; -import 'generated/spine_flutter_bindings_generated.dart'; +import 'generated/spine_dart_bindings_generated.dart'; Module? _module; -class SpineFlutterFFI { +class SpineDartFFI { final DynamicLibrary dylib; final Allocator allocator; - SpineFlutterFFI(this.dylib, this.allocator); + SpineDartFFI(this.dylib, this.allocator); } -Future initSpineFlutterFFI(bool useStaticLinkage) async { +Future initSpineDartFFI(bool useStaticLinkage) async { if (_module == null) { Memory.init(); @@ -90,16 +90,19 @@ Future initSpineFlutterFFI(bool useStaticLinkage) async { registerOpaqueType(); registerOpaqueType(); - await js.importLibrary('assets/packages/spine_flutter/lib/assets/libspine_flutter.js'); + await js.importLibrary( + 'assets/packages/spine_flutter/lib/assets/libspine_flutter.js'); Uint8List wasmBinaries = (await rootBundle.load( 'packages/spine_flutter/lib/assets/libspine_flutter.wasm', - )).buffer.asUint8List(); + )) + .buffer + .asUint8List(); _module = await EmscriptenModule.compile(wasmBinaries, 'libspine_flutter'); } Module? m = _module; if (m != null) { final dylib = DynamicLibrary.fromModule(m); - return SpineFlutterFFI(dylib, dylib.boundMemory); + return SpineDartFFI(dylib, dylib.boundMemory); } else { throw Exception("Couldn't load libspine-flutter.js/.wasm"); } diff --git a/spine-flutter/lib/spine_flutter.dart b/spine-flutter/lib/spine_flutter.dart index ab1b27f7d..7ad3650ad 100644 --- a/spine-flutter/lib/spine_flutter.dart +++ b/spine-flutter/lib/spine_flutter.dart @@ -1,178 +1,54 @@ -// ****************************************************************************** -// Spine Runtimes License Agreement -// Last updated July 28, 2023. Replaces all prior versions. -// -// Copyright (c) 2013-2023, 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. -// *****************************************************************************/ +/// 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. +library; -// AUTO GENERATED FILE, DO NOT EDIT. +import 'generated/spine_dart_bindings_generated.dart'; +import 'spine_bindings.dart'; +import 'spine_dart_init.dart' if (dart.library.html) 'spine_flutter_init_web.dart'; -// Export all generated types +// Export generated classes +export 'generated/spine_dart.dart'; -export 'native_array.dart'; +// Export extensions +export 'new_extensions.dart'; -// Enums -export 'generated/attachment_type.dart'; -export 'generated/blend_mode.dart'; -export 'generated/event_type.dart'; -export 'generated/format.dart'; -export 'generated/inherit.dart'; -export 'generated/mix_blend.dart'; -export 'generated/mix_direction.dart'; -export 'generated/physics.dart'; -export 'generated/position_mode.dart'; -export 'generated/property.dart'; -export 'generated/rotate_mode.dart'; -export 'generated/sequence_mode.dart'; -export 'generated/spacing_mode.dart'; -export 'generated/texture_filter.dart'; -export 'generated/texture_wrap.dart'; +Future initSpineFlutter({bool useStaticLinkage = false, bool enableMemoryDebugging = false}) async { + final ffi = await initSpineDartFFI(useStaticLinkage); + final bindings = SpineDartBindings(ffi.dylib); + if (enableMemoryDebugging) bindings.spine_enable_debug_extension(true); -// Classes -export 'generated/alpha_timeline.dart'; -export 'generated/animation.dart'; -export 'generated/animation_state.dart'; -export 'generated/animation_state_data.dart'; -export 'generated/atlas.dart'; -export 'generated/atlas_attachment_loader.dart'; -export 'generated/atlas_page.dart'; -export 'generated/atlas_region.dart'; -export 'generated/attachment.dart'; -export 'generated/attachment_loader.dart'; -export 'generated/attachment_timeline.dart'; -export 'generated/bone.dart'; -export 'generated/bone_data.dart'; -export 'generated/bone_local.dart'; -export 'generated/bone_pose.dart'; -export 'generated/bone_timeline.dart'; -export 'generated/bone_timeline1.dart'; -export 'generated/bone_timeline2.dart'; -export 'generated/bounding_box_attachment.dart'; -export 'generated/clipping_attachment.dart'; -export 'generated/color.dart'; -export 'generated/constraint.dart'; -export 'generated/constraint_data.dart'; -export 'generated/constraint_timeline.dart'; -export 'generated/constraint_timeline1.dart'; -export 'generated/curve_timeline.dart'; -export 'generated/curve_timeline1.dart'; -export 'generated/curve_timeline2.dart'; -export 'generated/deform_timeline.dart'; -export 'generated/draw_order_timeline.dart'; -export 'generated/event.dart'; -export 'generated/event_data.dart'; -export 'generated/event_queue_entry.dart'; -export 'generated/event_timeline.dart'; -export 'generated/from_property.dart'; -export 'generated/from_rotate.dart'; -export 'generated/from_scale_x.dart'; -export 'generated/from_scale_y.dart'; -export 'generated/from_shear_y.dart'; -export 'generated/from_x.dart'; -export 'generated/from_y.dart'; -export 'generated/ik_constraint.dart'; -export 'generated/ik_constraint_data.dart'; -export 'generated/ik_constraint_pose.dart'; -export 'generated/ik_constraint_timeline.dart'; -export 'generated/inherit_timeline.dart'; -export 'generated/linked_mesh.dart'; -export 'generated/mesh_attachment.dart'; -export 'generated/path_attachment.dart'; -export 'generated/path_constraint.dart'; -export 'generated/path_constraint_data.dart'; -export 'generated/path_constraint_mix_timeline.dart'; -export 'generated/path_constraint_pose.dart'; -export 'generated/path_constraint_position_timeline.dart'; -export 'generated/path_constraint_spacing_timeline.dart'; -export 'generated/physics_constraint.dart'; -export 'generated/physics_constraint_damping_timeline.dart'; -export 'generated/physics_constraint_data.dart'; -export 'generated/physics_constraint_gravity_timeline.dart'; -export 'generated/physics_constraint_inertia_timeline.dart'; -export 'generated/physics_constraint_mass_timeline.dart'; -export 'generated/physics_constraint_mix_timeline.dart'; -export 'generated/physics_constraint_pose.dart'; -export 'generated/physics_constraint_reset_timeline.dart'; -export 'generated/physics_constraint_strength_timeline.dart'; -export 'generated/physics_constraint_timeline.dart'; -export 'generated/physics_constraint_wind_timeline.dart'; -export 'generated/point_attachment.dart'; -export 'generated/polygon.dart'; -export 'generated/posed.dart'; -export 'generated/posed_active.dart'; -export 'generated/posed_data.dart'; -export 'generated/region_attachment.dart'; -export 'generated/render_command.dart'; -export 'generated/rgb2_timeline.dart'; -export 'generated/rgba2_timeline.dart'; -export 'generated/rgba_timeline.dart'; -export 'generated/rgb_timeline.dart'; -export 'generated/rotate_timeline.dart'; -export 'generated/rtti.dart'; -export 'generated/scale_timeline.dart'; -export 'generated/scale_x_timeline.dart'; -export 'generated/scale_y_timeline.dart'; -export 'generated/sequence.dart'; -export 'generated/sequence_timeline.dart'; -export 'generated/shear_timeline.dart'; -export 'generated/shear_x_timeline.dart'; -export 'generated/shear_y_timeline.dart'; -export 'generated/skeleton.dart'; -export 'generated/skeleton_binary.dart'; -export 'generated/skeleton_bounds.dart'; -export 'generated/skeleton_clipping.dart'; -export 'generated/skeleton_data.dart'; -export 'generated/skeleton_json.dart'; -export 'generated/skeleton_renderer.dart'; -export 'generated/skin.dart'; -export 'generated/slider.dart'; -export 'generated/slider_data.dart'; -export 'generated/slider_mix_timeline.dart'; -export 'generated/slider_pose.dart'; -export 'generated/slider_timeline.dart'; -export 'generated/slot.dart'; -export 'generated/slot_curve_timeline.dart'; -export 'generated/slot_data.dart'; -export 'generated/slot_pose.dart'; -export 'generated/slot_timeline.dart'; -export 'generated/texture_region.dart'; -export 'generated/timeline.dart'; -export 'generated/to_property.dart'; -export 'generated/to_rotate.dart'; -export 'generated/to_scale_x.dart'; -export 'generated/to_scale_y.dart'; -export 'generated/to_shear_y.dart'; -export 'generated/to_x.dart'; -export 'generated/to_y.dart'; -export 'generated/track_entry.dart'; -export 'generated/transform_constraint.dart'; -export 'generated/transform_constraint_data.dart'; -export 'generated/transform_constraint_pose.dart'; -export 'generated/transform_constraint_timeline.dart'; -export 'generated/translate_timeline.dart'; -export 'generated/translate_x_timeline.dart'; -export 'generated/translate_y_timeline.dart'; -export 'generated/update.dart'; -export 'generated/vertex_attachment.dart'; \ No newline at end of file + // Initialize the global bindings for generated code + SpineBindings.init(bindings); + + return; +} + +int majorVersion() => SpineBindings.bindings.spine_major_version(); + +int minorVersion() => SpineBindings.bindings.spine_minor_version(); + +void reportLeaks() => SpineBindings.bindings.spine_report_leaks(); \ No newline at end of file diff --git a/spine-flutter/lib/spine_flutter_init.dart b/spine-flutter/lib/spine_flutter_init.dart deleted file mode 100644 index f8dcbcedc..000000000 --- a/spine-flutter/lib/spine_flutter_init.dart +++ /dev/null @@ -1,37 +0,0 @@ -// ****************************************************************************** -// Spine Runtimes License Agreement -// Last updated July 28, 2023. Replaces all prior versions. -// -// Copyright (c) 2013-2023, 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. -// *****************************************************************************/ - -import 'generated/spine_flutter_bindings_generated.dart'; - -/// Initialize all spine-flutter classes with the provided bindings. -/// This must be called once before using any spine-flutter classes. -void initializeSpineFlutter(SpineFlutterBindings bindings) { - // This will be generated by the code generator - // For now, this is a placeholder -} \ No newline at end of file diff --git a/spine-flutter/setup.sh b/spine-flutter/setup.sh index 5dbecbe33..2446b942d 100755 --- a/spine-flutter/setup.sh +++ b/spine-flutter/setup.sh @@ -10,8 +10,36 @@ log_title "Spine Flutter Setup" log_detail "CocoaPods requires all source files to be under the same folder hierarchy" log_detail "as the podspec file resides in. Copying spine-cpp sources to platform folders." +# Clean destination directories +log_action "Cleaning destination directories" +rm -rf ios/Classes/spine-c ios/Classes/spine-cpp +rm -rf macos/Classes/spine-c macos/Classes/spine-cpp +rm -rf src/spine-c src/spine-cpp +log_ok + +log_action "Copying spine-c to iOS Classes" +mkdir -p ios/Classes/spine-c +if CP_OUTPUT=$(cp -r ../spine-c/src ../spine-c/include ios/Classes/spine-c/ 2>&1); then + log_ok +else + log_fail + log_error_output "$CP_OUTPUT" + exit 1 +fi + log_action "Copying spine-cpp to iOS Classes" -if CP_OUTPUT=$(rsync -r --exclude='.cache' --exclude='build' ../spine-cpp ../spine-c ios/Classes 2>&1); then +mkdir -p ios/Classes/spine-cpp +if CP_OUTPUT=$(cp -r ../spine-cpp/src ../spine-cpp/include ios/Classes/spine-cpp/ 2>&1); then + log_ok +else + log_fail + log_error_output "$CP_OUTPUT" + exit 1 +fi + +log_action "Copying spine-c to macOS Classes" +mkdir -p macos/Classes/spine-c +if CP_OUTPUT=$(cp -r ../spine-c/src ../spine-c/include macos/Classes/spine-c/ 2>&1); then log_ok else log_fail @@ -20,7 +48,18 @@ else fi log_action "Copying spine-cpp to macOS Classes" -if CP_OUTPUT=$(rsync -r --exclude='.cache' --exclude='build' ../spine-cpp ../spine-c macos/Classes 2>&1); then +mkdir -p macos/Classes/spine-cpp +if CP_OUTPUT=$(cp -r ../spine-cpp/src ../spine-cpp/include macos/Classes/spine-cpp/ 2>&1); then + log_ok +else + log_fail + log_error_output "$CP_OUTPUT" + exit 1 +fi + +log_action "Copying spine-c to src directory" +mkdir -p src/spine-c +if CP_OUTPUT=$(cp -r ../spine-c/src ../spine-c/include src/spine-c/ 2>&1); then log_ok else log_fail @@ -29,7 +68,8 @@ else fi log_action "Copying spine-cpp to src directory" -if CP_OUTPUT=$(rsync -r --exclude='.cache' --exclude='build' ../spine-cpp ../spine-c src 2>&1); then +mkdir -p src/spine-cpp +if CP_OUTPUT=$(cp -r ../spine-cpp/src ../spine-cpp/include src/spine-cpp/ 2>&1); then log_ok else log_fail diff --git a/spine-flutter/spine_flutter.dart b/spine-flutter/spine_flutter.dart deleted file mode 100644 index 760a2c6f9..000000000 --- a/spine-flutter/spine_flutter.dart +++ /dev/null @@ -1,181 +0,0 @@ -// -// 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. - -// Export all generated types - -export 'native_array.dart'; - -// Enums -export 'generated/attachment_type.dart'; -export 'generated/blend_mode.dart'; -export 'generated/event_type.dart'; -export 'generated/format.dart'; -export 'generated/inherit.dart'; -export 'generated/mix_blend.dart'; -export 'generated/mix_direction.dart'; -export 'generated/physics.dart'; -export 'generated/position_mode.dart'; -export 'generated/property.dart'; -export 'generated/rotate_mode.dart'; -export 'generated/sequence_mode.dart'; -export 'generated/spacing_mode.dart'; -export 'generated/texture_filter.dart'; -export 'generated/texture_wrap.dart'; - -// Classes -export 'generated/alpha_timeline.dart'; -export 'generated/animation.dart'; -export 'generated/animation_state.dart'; -export 'generated/animation_state_data.dart'; -export 'generated/atlas.dart'; -export 'generated/atlas_attachment_loader.dart'; -export 'generated/atlas_page.dart'; -export 'generated/atlas_region.dart'; -export 'generated/attachment.dart'; -export 'generated/attachment_loader.dart'; -export 'generated/attachment_timeline.dart'; -export 'generated/bone.dart'; -export 'generated/bone_data.dart'; -export 'generated/bone_local.dart'; -export 'generated/bone_pose.dart'; -export 'generated/bone_timeline.dart'; -export 'generated/bone_timeline1.dart'; -export 'generated/bone_timeline2.dart'; -export 'generated/bounding_box_attachment.dart'; -export 'generated/clipping_attachment.dart'; -export 'generated/color.dart'; -export 'generated/constraint.dart'; -export 'generated/constraint_data.dart'; -export 'generated/constraint_timeline.dart'; -export 'generated/constraint_timeline1.dart'; -export 'generated/curve_timeline.dart'; -export 'generated/curve_timeline1.dart'; -export 'generated/curve_timeline2.dart'; -export 'generated/deform_timeline.dart'; -export 'generated/draw_order_timeline.dart'; -export 'generated/event.dart'; -export 'generated/event_data.dart'; -export 'generated/event_queue_entry.dart'; -export 'generated/event_timeline.dart'; -export 'generated/from_property.dart'; -export 'generated/from_rotate.dart'; -export 'generated/from_scale_x.dart'; -export 'generated/from_scale_y.dart'; -export 'generated/from_shear_y.dart'; -export 'generated/from_x.dart'; -export 'generated/from_y.dart'; -export 'generated/ik_constraint.dart'; -export 'generated/ik_constraint_data.dart'; -export 'generated/ik_constraint_pose.dart'; -export 'generated/ik_constraint_timeline.dart'; -export 'generated/inherit_timeline.dart'; -export 'generated/linked_mesh.dart'; -export 'generated/mesh_attachment.dart'; -export 'generated/path_attachment.dart'; -export 'generated/path_constraint.dart'; -export 'generated/path_constraint_data.dart'; -export 'generated/path_constraint_mix_timeline.dart'; -export 'generated/path_constraint_pose.dart'; -export 'generated/path_constraint_position_timeline.dart'; -export 'generated/path_constraint_spacing_timeline.dart'; -export 'generated/physics_constraint.dart'; -export 'generated/physics_constraint_damping_timeline.dart'; -export 'generated/physics_constraint_data.dart'; -export 'generated/physics_constraint_gravity_timeline.dart'; -export 'generated/physics_constraint_inertia_timeline.dart'; -export 'generated/physics_constraint_mass_timeline.dart'; -export 'generated/physics_constraint_mix_timeline.dart'; -export 'generated/physics_constraint_pose.dart'; -export 'generated/physics_constraint_reset_timeline.dart'; -export 'generated/physics_constraint_strength_timeline.dart'; -export 'generated/physics_constraint_timeline.dart'; -export 'generated/physics_constraint_wind_timeline.dart'; -export 'generated/point_attachment.dart'; -export 'generated/polygon.dart'; -export 'generated/posed.dart'; -export 'generated/posed_active.dart'; -export 'generated/posed_data.dart'; -export 'generated/region_attachment.dart'; -export 'generated/render_command.dart'; -export 'generated/rgb2_timeline.dart'; -export 'generated/rgba2_timeline.dart'; -export 'generated/rgba_timeline.dart'; -export 'generated/rgb_timeline.dart'; -export 'generated/rotate_timeline.dart'; -export 'generated/rtti.dart'; -export 'generated/scale_timeline.dart'; -export 'generated/scale_x_timeline.dart'; -export 'generated/scale_y_timeline.dart'; -export 'generated/sequence.dart'; -export 'generated/sequence_timeline.dart'; -export 'generated/shear_timeline.dart'; -export 'generated/shear_x_timeline.dart'; -export 'generated/shear_y_timeline.dart'; -export 'generated/skeleton.dart'; -export 'generated/skeleton_binary.dart'; -export 'generated/skeleton_bounds.dart'; -export 'generated/skeleton_clipping.dart'; -export 'generated/skeleton_data.dart'; -export 'generated/skeleton_json.dart'; -export 'generated/skeleton_renderer.dart'; -export 'generated/skin.dart'; -export 'generated/slider.dart'; -export 'generated/slider_data.dart'; -export 'generated/slider_mix_timeline.dart'; -export 'generated/slider_pose.dart'; -export 'generated/slider_timeline.dart'; -export 'generated/slot.dart'; -export 'generated/slot_curve_timeline.dart'; -export 'generated/slot_data.dart'; -export 'generated/slot_pose.dart'; -export 'generated/slot_timeline.dart'; -export 'generated/texture_region.dart'; -export 'generated/timeline.dart'; -export 'generated/to_property.dart'; -export 'generated/to_rotate.dart'; -export 'generated/to_scale_x.dart'; -export 'generated/to_scale_y.dart'; -export 'generated/to_shear_y.dart'; -export 'generated/to_x.dart'; -export 'generated/to_y.dart'; -export 'generated/track_entry.dart'; -export 'generated/transform_constraint.dart'; -export 'generated/transform_constraint_data.dart'; -export 'generated/transform_constraint_pose.dart'; -export 'generated/transform_constraint_timeline.dart'; -export 'generated/translate_timeline.dart'; -export 'generated/translate_x_timeline.dart'; -export 'generated/translate_y_timeline.dart'; -export 'generated/update.dart'; -export 'generated/vertex_attachment.dart'; - -// Arrays -export 'generated/arrays.dart'; \ No newline at end of file diff --git a/spine-flutter/src/CMakeLists.txt b/spine-flutter/src/CMakeLists.txt index 25ead650c..0b1a2250a 100644 --- a/spine-flutter/src/CMakeLists.txt +++ b/spine-flutter/src/CMakeLists.txt @@ -5,17 +5,19 @@ cmake_minimum_required(VERSION 3.10) project(pine_flutter_library VERSION 0.0.1) -file(GLOB SPINE_SOURCES "spine-cpp/src/**/*.cpp") -file(GLOB SPINE_LITE_SOURCES "spine-c/*.cpp") +file(GLOB_RECURSE SPINE_SOURCES "spine-cpp/src/**/*.cpp") +file(GLOB_RECURSE SPINE_C_SOURCES "spine-c/src/*.cpp") add_library(spine_flutter SHARED ${SPINE_SOURCES} - ${SPINE_LITE_SOURCES} + ${SPINE_C_SOURCES} ) set_target_properties(spine_flutter PROPERTIES PUBLIC_HEADER spine-cpp-lite/spine_flutter.h OUTPUT_NAME "spine_flutter" + CXX_STANDARD 11 + CXX_STANDARD_REQUIRED ON ) target_include_directories(spine_flutter PUBLIC spine-cpp/include spine-c/include spine-c/src spine-c/src/generated) target_compile_definitions(spine_flutter PUBLIC DART_SHARED_LIB) \ No newline at end of file diff --git a/spine-flutter/test/bin/headless_test.dart b/spine-flutter/test/bin/headless_test.dart new file mode 100644 index 000000000..63f33d953 --- /dev/null +++ b/spine-flutter/test/bin/headless_test.dart @@ -0,0 +1,38 @@ +import 'dart:io'; +import 'package:spine_flutter/spine_flutter.dart'; + +void main() async { + print('Testing atlas and skeleton data loading...'); + + // Initialize with debug extension enabled + await initSpineFlutter(enableMemoryDebugging: true); + + // Load atlas + final atlasData = File('../example/assets/spineboy.atlas').readAsStringSync(); + final atlas = AtlasExtensions.fromString(atlasData); + + print('Atlas loaded successfully'); + print('Number of regions: ${atlas.regions.length}'); + + // Load skeleton data + final skeletonJson = File('../example/assets/spineboy-pro.json').readAsStringSync(); + final skeletonDataResult = SkeletonDataExtensions.fromJson(atlas, skeletonJson); + + if (skeletonDataResult.error != null) { + print('Error loading skeleton: ${skeletonDataResult.error}'); + } else { + print('Skeleton data loaded successfully'); + final skeletonData = skeletonDataResult.skeletonData!; + print('Number of bones: ${skeletonData.bones.length}'); + print('Number of slots: ${skeletonData.slots.length}'); + print('Number of animations: ${skeletonData.animations.length}'); + } + + // Cleanup + skeletonDataResult.dispose(); + atlas.dispose(); + + // Report memory leaks + reportLeaks(); + print('Test complete'); +} \ No newline at end of file diff --git a/spine-flutter/test/build.sh b/spine-flutter/test/build.sh new file mode 100755 index 000000000..f9c2176d6 --- /dev/null +++ b/spine-flutter/test/build.sh @@ -0,0 +1,46 @@ +#!/bin/bash +set -e + +cd "$(dirname "$0")" + +# Source logging utilities +source ../../formatters/logging/logging.sh + +log_title "Spine Flutter Test Build" + +# Create and clean build directory +log_action "Setting up build directory" +mkdir -p build +cd build +rm -rf * +log_ok + +# Configure and build using CMake with Ninja +log_action "Configuring CMake" +if CMAKE_OUTPUT=$(cmake -G Ninja ../../src 2>&1); then + log_ok +else + log_fail + log_error_output "$CMAKE_OUTPUT" + exit 1 +fi + +log_action "Building native library" +if BUILD_OUTPUT=$(cmake --build . 2>&1); then + log_ok +else + log_fail + log_error_output "$BUILD_OUTPUT" + exit 1 +fi + +log_action "Copying library to test directory" +if CP_OUTPUT=$(cp libspine_flutter.dylib ../spine_flutter.dylib 2>&1); then + log_ok +else + log_fail + log_error_output "$CP_OUTPUT" + exit 1 +fi + +log_summary "✓ Build completed successfully" \ No newline at end of file diff --git a/spine-flutter/test/pubspec.lock b/spine-flutter/test/pubspec.lock new file mode 100644 index 000000000..a8e752978 --- /dev/null +++ b/spine-flutter/test/pubspec.lock @@ -0,0 +1,182 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" + url: "https://pub.dev" + source: hosted + version: "2.13.0" + characters: + dependency: transitive + description: + name: characters + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + collection: + dependency: transitive + description: + name: collection + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + url: "https://pub.dev" + source: hosted + version: "1.19.1" + crypto: + dependency: transitive + description: + name: crypto + sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" + url: "https://pub.dev" + source: hosted + version: "3.0.6" + ffi: + dependency: "direct main" + description: + name: ffi + sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + flutter: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + http: + dependency: transitive + description: + name: http + sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b" + url: "https://pub.dev" + source: hosted + version: "1.4.0" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" + source: hosted + version: "4.1.2" + inject_js: + dependency: transitive + description: + name: inject_js + sha256: "849eacfd4b7e9182a7e743843a820d74bf1abcb692bdbe09e34ef0f753ad7227" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + js: + dependency: transitive + description: + name: js + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" + source: hosted + version: "0.6.7" + lints: + dependency: "direct dev" + description: + name: lints + sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + url: "https://pub.dev" + source: hosted + version: "3.0.0" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + url: "https://pub.dev" + source: hosted + version: "0.11.1" + meta: + dependency: transitive + description: + name: meta + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + url: "https://pub.dev" + source: hosted + version: "1.16.0" + path: + dependency: transitive + description: + name: path + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + source_span: + dependency: transitive + description: + name: source_span + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + url: "https://pub.dev" + source: hosted + version: "1.10.1" + spine_flutter: + dependency: "direct main" + description: + path: ".." + relative: true + source: path + version: "4.2.36" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + url: "https://pub.dev" + source: hosted + version: "1.4.1" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + url: "https://pub.dev" + source: hosted + version: "1.2.2" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + web: + dependency: transitive + description: + name: web + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + web_ffi_fork: + dependency: transitive + description: + name: web_ffi_fork + sha256: "557b3008bb3c8547ee63eac6e53c0ebebb443da9d7558b3f1b98e1ed59989a11" + url: "https://pub.dev" + source: hosted + version: "0.7.5" +sdks: + dart: ">=3.7.0 <4.0.0" diff --git a/spine-flutter/test/pubspec.yaml b/spine-flutter/test/pubspec.yaml new file mode 100644 index 000000000..c380c0c3c --- /dev/null +++ b/spine-flutter/test/pubspec.yaml @@ -0,0 +1,16 @@ +name: spine_test +description: A simple CLI app to test spine_flutter library + +environment: + sdk: ^3.0.0 + +dependencies: + ffi: ^2.0.0 + spine_flutter: ^4.2.36 + +dev_dependencies: + lints: ^3.0.0 + +dependency_overrides: + spine_flutter: + path: ../ \ No newline at end of file