implementAsBlocking static method

NSCollectionLayoutVisibleItem implementAsBlocking({
  1. required double alpha(),
  2. required void setAlpha_(
    1. double
    ),
  3. required int zIndex(),
  4. required void setZIndex_(
    1. DartThreadID threadDeleted
    ),
  5. required bool isHidden(),
  6. required void setHidden_(
    1. bool restartFlag
    ),
  7. required CGPoint center(),
  8. required void setCenter_(
    1. CGPoint point
    ),
  9. required DartCADynamicRange name(),
  10. required NSIndexPath indexPath(),
  11. required CGRect frame(),
  12. required CGRect bounds(),
  13. required NSCollectionElementCategory representedElementCategory(),
  14. required NSString? representedElementKind(),
  15. bool $keepIsolateAlive = true,
})

Builds an object that implements the NSCollectionLayoutVisibleItem 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 NSCollectionLayoutVisibleItem implementAsBlocking({
  required DartCFTimeInterval Function() alpha,
  required void Function(DartCFTimeInterval) setAlpha_,
  required DartNSInteger Function() zIndex,
  required void Function(DartNSInteger) setZIndex_,
  required bool Function() isHidden,
  required void Function(bool) setHidden_,
  required NSPoint Function() center,
  required void Function(NSPoint) setCenter_,
  required objc.NSString Function() name,
  required NSIndexPath Function() indexPath,
  required NSRect Function() frame,
  required NSRect Function() bounds,
  required NSCollectionElementCategory Function() representedElementCategory,
  required DartNSUserInterfaceItemIdentifier? Function()
  representedElementKind,
  bool $keepIsolateAlive = true,
}) {
  final builder = objc.ObjCProtocolBuilder(
    debugName: 'NSCollectionLayoutVisibleItem',
  );
  NSCollectionLayoutVisibleItem.alpha.implement(builder, alpha);
  NSCollectionLayoutVisibleItem.setAlpha_.implementAsBlocking(
    builder,
    setAlpha_,
  );
  NSCollectionLayoutVisibleItem.zIndex.implement(builder, zIndex);
  NSCollectionLayoutVisibleItem.setZIndex_.implementAsBlocking(
    builder,
    setZIndex_,
  );
  NSCollectionLayoutVisibleItem.isHidden.implement(builder, isHidden);
  NSCollectionLayoutVisibleItem.setHidden_.implementAsBlocking(
    builder,
    setHidden_,
  );
  NSCollectionLayoutVisibleItem.center.implement(builder, center);
  NSCollectionLayoutVisibleItem.setCenter_.implementAsBlocking(
    builder,
    setCenter_,
  );
  NSCollectionLayoutVisibleItem.name.implement(builder, name);
  NSCollectionLayoutVisibleItem.indexPath.implement(builder, indexPath);
  NSCollectionLayoutVisibleItem.frame.implement(builder, frame);
  NSCollectionLayoutVisibleItem.bounds.implement(builder, bounds);
  NSCollectionLayoutVisibleItem.representedElementCategory.implement(
    builder,
    representedElementCategory,
  );
  NSCollectionLayoutVisibleItem.representedElementKind.implement(
    builder,
    representedElementKind,
  );
  builder.addProtocol($protocol);
  return NSCollectionLayoutVisibleItem.castFrom(
    builder.build(keepIsolateAlive: $keepIsolateAlive),
  );
}