implementAsBlocking static method
NSUserInterfaceCompression
implementAsBlocking({
- required void compressWithPrioritizedCompressionOptions_(
- NSArray constraints$1
- required NSSize minimumSizeWithPrioritizedCompressionOptions_(
- NSArray
- required NSUserInterfaceCompressionOptions activeCompressionOptions(),
- bool $keepIsolateAlive = true,
Builds an object that implements the NSUserInterfaceCompression 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 NSUserInterfaceCompression implementAsBlocking({
required void Function(objc.NSArray)
compressWithPrioritizedCompressionOptions_,
required NSSize Function(objc.NSArray)
minimumSizeWithPrioritizedCompressionOptions_,
required NSUserInterfaceCompressionOptions Function()
activeCompressionOptions,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSUserInterfaceCompression',
);
NSUserInterfaceCompression.compressWithPrioritizedCompressionOptions_
.implementAsBlocking(
builder,
compressWithPrioritizedCompressionOptions_,
);
NSUserInterfaceCompression.minimumSizeWithPrioritizedCompressionOptions_
.implement(builder, minimumSizeWithPrioritizedCompressionOptions_);
NSUserInterfaceCompression.activeCompressionOptions.implement(
builder,
activeCompressionOptions,
);
builder.addProtocol($protocol);
return NSUserInterfaceCompression.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}