implement static method

NSGestureRecognizerDelegate implement({
  1. bool gestureRecognizer_shouldAttemptToRecognizeWithEvent_(
    1. NSGestureRecognizer,
    2. NSEvent
    )?,
  2. bool gestureRecognizerShouldBegin_(
    1. NSGestureRecognizer
    )?,
  3. bool gestureRecognizer_shouldRecognizeSimultaneouslyWithGestureRecognizer_(
    1. NSGestureRecognizer,
    2. NSGestureRecognizer
    )?,
  4. bool gestureRecognizer_shouldRequireFailureOfGestureRecognizer_(
    1. NSGestureRecognizer,
    2. NSGestureRecognizer
    )?,
  5. bool gestureRecognizer_shouldBeRequiredToFailByGestureRecognizer_(
    1. NSGestureRecognizer,
    2. NSGestureRecognizer
    )?,
  6. bool gestureRecognizer_shouldReceiveTouch_(
    1. NSGestureRecognizer,
    2. NSTouch
    )?,
  7. bool $keepIsolateAlive = true,
})

Builds an object that implements the NSGestureRecognizerDelegate protocol. To implement multiple protocols, use addToBuilder or objc.ObjCProtocolBuilder directly.

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

Implementation

static NSGestureRecognizerDelegate implement({
  bool Function(NSGestureRecognizer, NSEvent)?
  gestureRecognizer_shouldAttemptToRecognizeWithEvent_,
  bool Function(NSGestureRecognizer)? gestureRecognizerShouldBegin_,
  bool Function(NSGestureRecognizer, NSGestureRecognizer)?
  gestureRecognizer_shouldRecognizeSimultaneouslyWithGestureRecognizer_,
  bool Function(NSGestureRecognizer, NSGestureRecognizer)?
  gestureRecognizer_shouldRequireFailureOfGestureRecognizer_,
  bool Function(NSGestureRecognizer, NSGestureRecognizer)?
  gestureRecognizer_shouldBeRequiredToFailByGestureRecognizer_,
  bool Function(NSGestureRecognizer, NSTouch)?
  gestureRecognizer_shouldReceiveTouch_,
  bool $keepIsolateAlive = true,
}) {
  final builder = objc.ObjCProtocolBuilder(
    debugName: 'NSGestureRecognizerDelegate',
  );
  NSGestureRecognizerDelegate
      .gestureRecognizer_shouldAttemptToRecognizeWithEvent_
      .implement(
        builder,
        gestureRecognizer_shouldAttemptToRecognizeWithEvent_,
      );
  NSGestureRecognizerDelegate.gestureRecognizerShouldBegin_.implement(
    builder,
    gestureRecognizerShouldBegin_,
  );
  NSGestureRecognizerDelegate
      .gestureRecognizer_shouldRecognizeSimultaneouslyWithGestureRecognizer_
      .implement(
        builder,
        gestureRecognizer_shouldRecognizeSimultaneouslyWithGestureRecognizer_,
      );
  NSGestureRecognizerDelegate
      .gestureRecognizer_shouldRequireFailureOfGestureRecognizer_
      .implement(
        builder,
        gestureRecognizer_shouldRequireFailureOfGestureRecognizer_,
      );
  NSGestureRecognizerDelegate
      .gestureRecognizer_shouldBeRequiredToFailByGestureRecognizer_
      .implement(
        builder,
        gestureRecognizer_shouldBeRequiredToFailByGestureRecognizer_,
      );
  NSGestureRecognizerDelegate.gestureRecognizer_shouldReceiveTouch_.implement(
    builder,
    gestureRecognizer_shouldReceiveTouch_,
  );
  builder.addProtocol($protocol);
  return NSGestureRecognizerDelegate.castFrom(
    builder.build(keepIsolateAlive: $keepIsolateAlive),
  );
}