implement static method

CTAdaptiveImageProviding implement({
  1. required CGImageRef imageForProposedSize_scaleFactor_imageOffset_imageSize_(
    1. CGSize,
    2. DartCGFloat,
    3. Pointer<CGPoint>,
    4. Pointer<CGSize>,
    ),
  2. bool $keepIsolateAlive = true,
})

Builds an object that implements the CTAdaptiveImageProviding 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 CTAdaptiveImageProviding implement({
  required CGImageRef Function(
    objc.CGSize,
    DartCGFloat,
    ffi.Pointer<objc.CGPoint>,
    ffi.Pointer<objc.CGSize>,
  )
  imageForProposedSize_scaleFactor_imageOffset_imageSize_,
  bool $keepIsolateAlive = true,
}) {
  final builder = objc.ObjCProtocolBuilder(
    debugName: 'CTAdaptiveImageProviding',
  );
  CTAdaptiveImageProviding
      .imageForProposedSize_scaleFactor_imageOffset_imageSize_
      .implement(
        builder,
        imageForProposedSize_scaleFactor_imageOffset_imageSize_,
      );
  builder.addProtocol($protocol);
  return CTAdaptiveImageProviding.castFrom(
    builder.build(keepIsolateAlive: $keepIsolateAlive),
  );
}