implement static method
NSAccessibilityLayoutItem
implement({
- void setAccessibilityFrame_()?,
- required CGRect accessibilityFrame(),
- required ObjCObjectBase? accessibilityParent(),
- bool isAccessibilityFocused()?,
- NSString accessibilityIdentifier()?,
- bool $keepIsolateAlive = true,
override
Builds an object that implements the NSAccessibilityLayoutItem 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 NSAccessibilityLayoutItem implement({
void Function(NSRect)? setAccessibilityFrame_,
required NSRect Function() accessibilityFrame,
required objc.ObjCObjectBase? Function() accessibilityParent,
bool Function()? isAccessibilityFocused,
objc.NSString Function()? accessibilityIdentifier,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSAccessibilityLayoutItem',
);
NSAccessibilityLayoutItem.setAccessibilityFrame_.implement(
builder,
setAccessibilityFrame_,
);
NSAccessibilityLayoutItem.accessibilityFrame.implement(
builder,
accessibilityFrame,
);
NSAccessibilityLayoutItem.accessibilityParent.implement(
builder,
accessibilityParent,
);
NSAccessibilityLayoutItem.isAccessibilityFocused.implement(
builder,
isAccessibilityFocused,
);
NSAccessibilityLayoutItem.accessibilityIdentifier.implement(
builder,
accessibilityIdentifier,
);
builder.addProtocol($protocol);
return NSAccessibilityLayoutItem.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}