withFloatCallback function

Future<double> withFloatCallback(
  1. dynamic func(
    1. Pointer<NativeFunction<Void Function(Float)>>
    )
)

Implementation

Future<double> withFloatCallback(
    Function(Pointer<NativeFunction<Void Function(Float)>>) func) async {
  final completer = Completer<double>();
  // ignore: prefer_function_declarations_over_variables
  void Function(double) callback = (double result) {
    completer.complete(result);
  };
  final nativeCallable =
      NativeCallable<Void Function(Float)>.listener(callback);
  func.call(nativeCallable.nativeFunction);
  await completer.future;
  nativeCallable.close();
  return completer.future;
}