addToBuilderAsBlocking static method

void addToBuilderAsBlocking(
  1. ObjCProtocolBuilder builder, {
  2. NSDragOperation draggingEntered_(
    1. NSDraggingInfo
    )?,
  3. NSDragOperation draggingUpdated_(
    1. NSDraggingInfo
    )?,
  4. void draggingExited_(
    1. NSDraggingInfo?
    )?,
  5. bool prepareForDragOperation_(
    1. NSDraggingInfo
    )?,
  6. bool performDragOperation_(
    1. NSDraggingInfo
    )?,
  7. void concludeDragOperation_(
    1. NSDraggingInfo?
    )?,
  8. void draggingEnded_(
    1. NSDraggingInfo
    )?,
  9. bool wantsPeriodicDraggingUpdates()?,
  10. void updateDraggingItemsForDrag_(
    1. NSDraggingInfo?
    )?,
  11. bool $keepIsolateAlive = true,
})

Adds the implementation of the NSDraggingDestination protocol to an existing objc.ObjCProtocolBuilder. All methods that can be implemented as blocking listeners will be.

Note: You cannot call this method after you have called builder.build.

Implementation

static void addToBuilderAsBlocking(
  objc.ObjCProtocolBuilder builder, {
  NSDragOperation Function(NSDraggingInfo)? draggingEntered_,
  NSDragOperation Function(NSDraggingInfo)? draggingUpdated_,
  void Function(NSDraggingInfo?)? draggingExited_,
  bool Function(NSDraggingInfo)? prepareForDragOperation_,
  bool Function(NSDraggingInfo)? performDragOperation_,
  void Function(NSDraggingInfo?)? concludeDragOperation_,
  void Function(NSDraggingInfo)? draggingEnded_,
  bool Function()? wantsPeriodicDraggingUpdates,
  void Function(NSDraggingInfo?)? updateDraggingItemsForDrag_,
  bool $keepIsolateAlive = true,
}) {
  NSDraggingDestination.draggingEntered_.implement(builder, draggingEntered_);
  NSDraggingDestination.draggingUpdated_.implement(builder, draggingUpdated_);
  NSDraggingDestination.draggingExited_.implementAsBlocking(
    builder,
    draggingExited_,
  );
  NSDraggingDestination.prepareForDragOperation_.implement(
    builder,
    prepareForDragOperation_,
  );
  NSDraggingDestination.performDragOperation_.implement(
    builder,
    performDragOperation_,
  );
  NSDraggingDestination.concludeDragOperation_.implementAsBlocking(
    builder,
    concludeDragOperation_,
  );
  NSDraggingDestination.draggingEnded_.implementAsBlocking(
    builder,
    draggingEnded_,
  );
  NSDraggingDestination.wantsPeriodicDraggingUpdates.implement(
    builder,
    wantsPeriodicDraggingUpdates,
  );
  NSDraggingDestination.updateDraggingItemsForDrag_.implementAsBlocking(
    builder,
    updateDraggingItemsForDrag_,
  );
  builder.addProtocol($protocol);
}