implementAsBlocking static method

NSWritingToolsCoordinatorDelegate implementAsBlocking({
  1. required void writingToolsCoordinator_requestsContextsForScope_completion_(
    1. NSWritingToolsCoordinator,
    2. NSWritingToolsCoordinatorContextScope,
    3. ObjCBlock<Void Function(NSArray)>
    ),
  2. required void writingToolsCoordinator_replaceRange_inContext_proposedText_reason_animationParameters_completion_(
    1. NSWritingToolsCoordinator,
    2. NSRange,
    3. NSWritingToolsCoordinatorContext,
    4. NSAttributedString,
    5. NSWritingToolsCoordinatorTextReplacementReason,
    6. NSWritingToolsCoordinatorAnimationParameters?,
    7. ObjCBlock<Void Function(NSAttributedString?)>,
    ),
  3. required void writingToolsCoordinator_selectRanges_inContext_completion_(
    1. NSWritingToolsCoordinator,
    2. NSArray,
    3. NSWritingToolsCoordinatorContext,
    4. ObjCBlock<Void Function()>,
    ),
  4. required void writingToolsCoordinator_requestsBoundingBezierPathsForRange_inContext_completion_(
    1. NSWritingToolsCoordinator,
    2. NSRange,
    3. NSWritingToolsCoordinatorContext,
    4. ObjCBlock<Void Function(NSArray)>,
    ),
  5. required void writingToolsCoordinator_requestsUnderlinePathsForRange_inContext_completion_(
    1. NSWritingToolsCoordinator,
    2. NSRange,
    3. NSWritingToolsCoordinatorContext,
    4. ObjCBlock<Void Function(NSArray)>,
    ),
  6. required void writingToolsCoordinator_prepareForTextAnimation_forRange_inContext_completion_(
    1. NSWritingToolsCoordinator,
    2. NSWritingToolsCoordinatorTextAnimation,
    3. NSRange,
    4. NSWritingToolsCoordinatorContext,
    5. ObjCBlock<Void Function()>,
    ),
  7. required void writingToolsCoordinator_requestsPreviewForTextAnimation_ofRange_inContext_completion_(
    1. NSWritingToolsCoordinator,
    2. NSWritingToolsCoordinatorTextAnimation,
    3. NSRange,
    4. NSWritingToolsCoordinatorContext,
    5. ObjCBlock<Void Function(NSArray?)>,
    ),
  8. required void writingToolsCoordinator_requestsPreviewForRect_inContext_completion_(
    1. NSWritingToolsCoordinator,
    2. NSRect,
    3. NSWritingToolsCoordinatorContext,
    4. ObjCBlock<Void Function(NSTextPreview?)>,
    ),
  9. required void writingToolsCoordinator_finishTextAnimation_forRange_inContext_completion_(
    1. NSWritingToolsCoordinator,
    2. NSWritingToolsCoordinatorTextAnimation,
    3. NSRange,
    4. NSWritingToolsCoordinatorContext,
    5. ObjCBlock<Void Function()>,
    ),
  10. void writingToolsCoordinator_requestsSingleContainerSubrangesOfRange_inContext_completion_(
    1. NSWritingToolsCoordinator,
    2. NSRange,
    3. NSWritingToolsCoordinatorContext,
    4. ObjCBlock<Void Function(NSArray)>,
    )?,
  11. void writingToolsCoordinator_requestsDecorationContainerViewForRange_inContext_completion_(
    1. NSWritingToolsCoordinator,
    2. NSRange,
    3. NSWritingToolsCoordinatorContext,
    4. ObjCBlock<Void Function(NSView)>,
    )?,
  12. void writingToolsCoordinator_willChangeToState_completion_(
    1. NSWritingToolsCoordinator,
    2. NSWritingToolsCoordinatorState,
    3. ObjCBlock<Void Function()>
    )?,
  13. void writingToolsCoordinator_requestsRangeInContextWithIdentifierForPoint_completion_(
    1. NSWritingToolsCoordinator,
    2. NSPoint,
    3. ObjCBlock<Void Function(NSRange, NSUUID)>
    )?,
  14. bool $keepIsolateAlive = true,
})

Builds an object that implements the NSWritingToolsCoordinatorDelegate protocol. To implement multiple protocols, use addToBuilder or objc.ObjCProtocolBuilder directly. All methods that can be implemented as blocking listeners will be.

If $keepIsolateAlive is true, this protocol will keep this isolate alive until it is garbage collected by both Dart and ObjC.

Implementation

static NSWritingToolsCoordinatorDelegate implementAsBlocking({
  required void Function(
    NSWritingToolsCoordinator,
    NSWritingToolsCoordinatorContextScope,
    objc.ObjCBlock<ffi.Void Function(objc.NSArray)>,
  )
  writingToolsCoordinator_requestsContextsForScope_completion_,
  required void Function(
    NSWritingToolsCoordinator,
    NSRange,
    NSWritingToolsCoordinatorContext,
    NSAttributedString,
    NSWritingToolsCoordinatorTextReplacementReason,
    NSWritingToolsCoordinatorAnimationParameters?,
    objc.ObjCBlock<ffi.Void Function(NSAttributedString?)>,
  )
  writingToolsCoordinator_replaceRange_inContext_proposedText_reason_animationParameters_completion_,
  required void Function(
    NSWritingToolsCoordinator,
    objc.NSArray,
    NSWritingToolsCoordinatorContext,
    objc.ObjCBlock<ffi.Void Function()>,
  )
  writingToolsCoordinator_selectRanges_inContext_completion_,
  required void Function(
    NSWritingToolsCoordinator,
    NSRange,
    NSWritingToolsCoordinatorContext,
    objc.ObjCBlock<ffi.Void Function(objc.NSArray)>,
  )
  writingToolsCoordinator_requestsBoundingBezierPathsForRange_inContext_completion_,
  required void Function(
    NSWritingToolsCoordinator,
    NSRange,
    NSWritingToolsCoordinatorContext,
    objc.ObjCBlock<ffi.Void Function(objc.NSArray)>,
  )
  writingToolsCoordinator_requestsUnderlinePathsForRange_inContext_completion_,
  required void Function(
    NSWritingToolsCoordinator,
    NSWritingToolsCoordinatorTextAnimation,
    NSRange,
    NSWritingToolsCoordinatorContext,
    objc.ObjCBlock<ffi.Void Function()>,
  )
  writingToolsCoordinator_prepareForTextAnimation_forRange_inContext_completion_,
  required void Function(
    NSWritingToolsCoordinator,
    NSWritingToolsCoordinatorTextAnimation,
    NSRange,
    NSWritingToolsCoordinatorContext,
    objc.ObjCBlock<ffi.Void Function(objc.NSArray?)>,
  )
  writingToolsCoordinator_requestsPreviewForTextAnimation_ofRange_inContext_completion_,
  required void Function(
    NSWritingToolsCoordinator,
    NSRect,
    NSWritingToolsCoordinatorContext,
    objc.ObjCBlock<ffi.Void Function(NSTextPreview?)>,
  )
  writingToolsCoordinator_requestsPreviewForRect_inContext_completion_,
  required void Function(
    NSWritingToolsCoordinator,
    NSWritingToolsCoordinatorTextAnimation,
    NSRange,
    NSWritingToolsCoordinatorContext,
    objc.ObjCBlock<ffi.Void Function()>,
  )
  writingToolsCoordinator_finishTextAnimation_forRange_inContext_completion_,
  void Function(
    NSWritingToolsCoordinator,
    NSRange,
    NSWritingToolsCoordinatorContext,
    objc.ObjCBlock<ffi.Void Function(objc.NSArray)>,
  )?
  writingToolsCoordinator_requestsSingleContainerSubrangesOfRange_inContext_completion_,
  void Function(
    NSWritingToolsCoordinator,
    NSRange,
    NSWritingToolsCoordinatorContext,
    objc.ObjCBlock<ffi.Void Function(NSView)>,
  )?
  writingToolsCoordinator_requestsDecorationContainerViewForRange_inContext_completion_,
  void Function(
    NSWritingToolsCoordinator,
    NSWritingToolsCoordinatorState,
    objc.ObjCBlock<ffi.Void Function()>,
  )?
  writingToolsCoordinator_willChangeToState_completion_,
  void Function(
    NSWritingToolsCoordinator,
    NSPoint,
    objc.ObjCBlock<ffi.Void Function(objc.NSRange, NSUUID)>,
  )?
  writingToolsCoordinator_requestsRangeInContextWithIdentifierForPoint_completion_,
  bool $keepIsolateAlive = true,
}) {
  final builder = objc.ObjCProtocolBuilder(
    debugName: 'NSWritingToolsCoordinatorDelegate',
  );
  NSWritingToolsCoordinatorDelegate
      .writingToolsCoordinator_requestsContextsForScope_completion_
      .implementAsBlocking(
        builder,
        writingToolsCoordinator_requestsContextsForScope_completion_,
      );
  NSWritingToolsCoordinatorDelegate
      .writingToolsCoordinator_replaceRange_inContext_proposedText_reason_animationParameters_completion_
      .implementAsBlocking(
        builder,
        writingToolsCoordinator_replaceRange_inContext_proposedText_reason_animationParameters_completion_,
      );
  NSWritingToolsCoordinatorDelegate
      .writingToolsCoordinator_selectRanges_inContext_completion_
      .implementAsBlocking(
        builder,
        writingToolsCoordinator_selectRanges_inContext_completion_,
      );
  NSWritingToolsCoordinatorDelegate
      .writingToolsCoordinator_requestsBoundingBezierPathsForRange_inContext_completion_
      .implementAsBlocking(
        builder,
        writingToolsCoordinator_requestsBoundingBezierPathsForRange_inContext_completion_,
      );
  NSWritingToolsCoordinatorDelegate
      .writingToolsCoordinator_requestsUnderlinePathsForRange_inContext_completion_
      .implementAsBlocking(
        builder,
        writingToolsCoordinator_requestsUnderlinePathsForRange_inContext_completion_,
      );
  NSWritingToolsCoordinatorDelegate
      .writingToolsCoordinator_prepareForTextAnimation_forRange_inContext_completion_
      .implementAsBlocking(
        builder,
        writingToolsCoordinator_prepareForTextAnimation_forRange_inContext_completion_,
      );
  NSWritingToolsCoordinatorDelegate
      .writingToolsCoordinator_requestsPreviewForTextAnimation_ofRange_inContext_completion_
      .implementAsBlocking(
        builder,
        writingToolsCoordinator_requestsPreviewForTextAnimation_ofRange_inContext_completion_,
      );
  NSWritingToolsCoordinatorDelegate
      .writingToolsCoordinator_requestsPreviewForRect_inContext_completion_
      .implementAsBlocking(
        builder,
        writingToolsCoordinator_requestsPreviewForRect_inContext_completion_,
      );
  NSWritingToolsCoordinatorDelegate
      .writingToolsCoordinator_finishTextAnimation_forRange_inContext_completion_
      .implementAsBlocking(
        builder,
        writingToolsCoordinator_finishTextAnimation_forRange_inContext_completion_,
      );
  NSWritingToolsCoordinatorDelegate
      .writingToolsCoordinator_requestsSingleContainerSubrangesOfRange_inContext_completion_
      .implementAsBlocking(
        builder,
        writingToolsCoordinator_requestsSingleContainerSubrangesOfRange_inContext_completion_,
      );
  NSWritingToolsCoordinatorDelegate
      .writingToolsCoordinator_requestsDecorationContainerViewForRange_inContext_completion_
      .implementAsBlocking(
        builder,
        writingToolsCoordinator_requestsDecorationContainerViewForRange_inContext_completion_,
      );
  NSWritingToolsCoordinatorDelegate
      .writingToolsCoordinator_willChangeToState_completion_
      .implementAsBlocking(
        builder,
        writingToolsCoordinator_willChangeToState_completion_,
      );
  NSWritingToolsCoordinatorDelegate
      .writingToolsCoordinator_requestsRangeInContextWithIdentifierForPoint_completion_
      .implementAsBlocking(
        builder,
        writingToolsCoordinator_requestsRangeInContextWithIdentifierForPoint_completion_,
      );
  builder.addProtocol($protocol);
  return NSWritingToolsCoordinatorDelegate.castFrom(
    builder.build(keepIsolateAlive: $keepIsolateAlive),
  );
}