mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 01:36:02 +08:00
[flutter] Closes #2438, support static linking of native libraries.
This commit is contained in:
parent
9c9bcb9428
commit
0e00ce4f07
@ -53,6 +53,10 @@ class SpineFlutterFFI {
|
|||||||
SpineFlutterFFI(this.dylib, this.allocator);
|
SpineFlutterFFI(this.dylib, this.allocator);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<SpineFlutterFFI> initSpineFlutterFFI() async {
|
Future<SpineFlutterFFI> initSpineFlutterFFI(bool useStaticLinkage) async {
|
||||||
|
if (useStaticLinkage) {
|
||||||
|
return SpineFlutterFFI(DynamicLibrary.process(), malloc);
|
||||||
|
} else {
|
||||||
return SpineFlutterFFI(_dylib, malloc);
|
return SpineFlutterFFI(_dylib, malloc);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,7 +44,7 @@ class SpineFlutterFFI {
|
|||||||
SpineFlutterFFI(this.dylib, this.allocator);
|
SpineFlutterFFI(this.dylib, this.allocator);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<SpineFlutterFFI> initSpineFlutterFFI() async {
|
Future<SpineFlutterFFI> initSpineFlutterFFI(bool useStaticLinkage) async {
|
||||||
if (_module == null) {
|
if (_module == null) {
|
||||||
Memory.init();
|
Memory.init();
|
||||||
|
|
||||||
|
|||||||
@ -50,8 +50,8 @@ export 'spine_widget.dart';
|
|||||||
late SpineFlutterBindings _bindings;
|
late SpineFlutterBindings _bindings;
|
||||||
late Allocator _allocator;
|
late Allocator _allocator;
|
||||||
|
|
||||||
Future<void> initSpineFlutter({bool enableMemoryDebugging = false}) async {
|
Future<void> initSpineFlutter({bool useStaticLinkage = false, bool enableMemoryDebugging = false}) async {
|
||||||
final ffi = await initSpineFlutterFFI();
|
final ffi = await initSpineFlutterFFI(useStaticLinkage);
|
||||||
_bindings = SpineFlutterBindings(ffi.dylib);
|
_bindings = SpineFlutterBindings(ffi.dylib);
|
||||||
_allocator = ffi.allocator;
|
_allocator = ffi.allocator;
|
||||||
if (enableMemoryDebugging) _bindings.spine_enable_debug_extension(-1);
|
if (enableMemoryDebugging) _bindings.spine_enable_debug_extension(-1);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user