implementAsBlocking static method
Builds an object that implements the CALayoutManager 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 CALayoutManager implementAsBlocking({
objc.CGSize Function(CALayer)? preferredSizeOfLayer_,
void Function(CALayer)? invalidateLayoutOfLayer_,
void Function(CALayer)? layoutSublayersOfLayer_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(debugName: 'CALayoutManager');
CALayoutManager.preferredSizeOfLayer_.implement(
builder,
preferredSizeOfLayer_,
);
CALayoutManager.invalidateLayoutOfLayer_.implementAsBlocking(
builder,
invalidateLayoutOfLayer_,
);
CALayoutManager.layoutSublayersOfLayer_.implementAsBlocking(
builder,
layoutSublayersOfLayer_,
);
builder.addProtocol($protocol);
return CALayoutManager.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}