implement static method
NSSpringLoadingDestination
implement({
- required void springLoadingActivated_draggingInfo_(),
- required void springLoadingHighlightChanged_(),
- NSSpringLoadingOptions springLoadingEntered_()?,
- NSSpringLoadingOptions springLoadingUpdated_()?,
- void springLoadingExited_()?,
- void draggingEnded_()?,
- bool $keepIsolateAlive = true,
Builds an object that implements the NSSpringLoadingDestination 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 NSSpringLoadingDestination implement({
required void Function(bool, NSDraggingInfo)
springLoadingActivated_draggingInfo_,
required void Function(NSDraggingInfo) springLoadingHighlightChanged_,
NSSpringLoadingOptions Function(NSDraggingInfo)? springLoadingEntered_,
NSSpringLoadingOptions Function(NSDraggingInfo)? springLoadingUpdated_,
void Function(NSDraggingInfo)? springLoadingExited_,
void Function(NSDraggingInfo)? draggingEnded_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSSpringLoadingDestination',
);
NSSpringLoadingDestination.springLoadingActivated_draggingInfo_.implement(
builder,
springLoadingActivated_draggingInfo_,
);
NSSpringLoadingDestination.springLoadingHighlightChanged_.implement(
builder,
springLoadingHighlightChanged_,
);
NSSpringLoadingDestination.springLoadingEntered_.implement(
builder,
springLoadingEntered_,
);
NSSpringLoadingDestination.springLoadingUpdated_.implement(
builder,
springLoadingUpdated_,
);
NSSpringLoadingDestination.springLoadingExited_.implement(
builder,
springLoadingExited_,
);
NSSpringLoadingDestination.draggingEnded_.implement(
builder,
draggingEnded_,
);
builder.addProtocol($protocol);
return NSSpringLoadingDestination.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}