enable setting output directory for recording

This commit is contained in:
Nick Fisher
2023-11-20 22:59:50 +08:00
parent 5c1be3d047
commit 660395a40e
8 changed files with 83 additions and 25 deletions

View File

@@ -498,4 +498,9 @@ abstract class FilamentController {
/// This will impact performance; handle with care.
///
Future setRecording(bool recording);
///
/// Sets the output directory where recorded PNGs will be placed.
///
Future setRecordingOutputDirectory(String outputDirectory);
}

View File

@@ -1212,4 +1212,11 @@ class FilamentControllerFFI extends FilamentController {
Future setRecording(bool recording) async {
set_recording(_viewer!, recording);
}
@override
Future setRecordingOutputDirectory(String outputDir) async {
var pathPtr = outputDir.toNativeUtf8(allocator: calloc);
set_recording_output_directory(_viewer!, pathPtr.cast<Char>());
calloc.free(pathPtr);
}
}

View File

@@ -753,6 +753,14 @@ external void set_recording(
bool recording,
);
@ffi.Native<ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Char>)>(
symbol: 'set_recording_output_directory',
assetId: 'flutter_filament_plugin')
external void set_recording_output_directory(
ffi.Pointer<ffi.Void> viewer,
ffi.Pointer<ffi.Char> outputDirectory,
);
@ffi.Native<ffi.Void Function()>(
symbol: 'ios_dummy', assetId: 'flutter_filament_plugin')
external void ios_dummy();