diff --git a/thermion_dart/lib/src/viewer/src/ffi/src/callbacks.dart b/thermion_dart/lib/src/viewer/src/ffi/src/callbacks.dart index 24d9212d..8e3b5c78 100644 --- a/thermion_dart/lib/src/viewer/src/ffi/src/callbacks.dart +++ b/thermion_dart/lib/src/viewer/src/ffi/src/callbacks.dart @@ -68,6 +68,20 @@ Future withBoolCallback( return completer.future; } +Future withFloatCallback( + Function(Pointer>) func) async { + final completer = Completer(); + // ignore: prefer_function_declarations_over_variables + void Function(double) callback = (double result) { + completer.complete(result); + }; + final nativeCallable = NativeCallable.listener(callback); + func.call(nativeCallable.nativeFunction); + await completer.future; + nativeCallable.close(); + return completer.future; +} + Future withIntCallback( Function(Pointer>) func) async { final completer = Completer();