addToBuilderAsBlocking static method
void
addToBuilderAsBlocking(
- ObjCProtocolBuilder builder, {
- DartNSUInteger layoutManager_shouldGenerateGlyphs_properties_characterIndexes_font_forGlyphRange_()?,
- DartCGFloat layoutManager_lineSpacingAfterGlyphAtIndex_withProposedLineFragmentRect_()?,
- DartCGFloat layoutManager_paragraphSpacingBeforeGlyphAtIndex_withProposedLineFragmentRect_()?,
- DartCGFloat layoutManager_paragraphSpacingAfterGlyphAtIndex_withProposedLineFragmentRect_()?,
- NSControlCharacterAction layoutManager_shouldUseAction_forControlCharacterAtIndex_()?,
- bool layoutManager_shouldBreakLineByWordBeforeCharacterAtIndex_()?,
- bool layoutManager_shouldBreakLineByHyphenatingBeforeCharacterAtIndex_()?,
- NSRect layoutManager_boundingBoxForControlGlyphAtIndex_forTextContainer_proposedLineFragment_glyphPosition_characterIndex_()?,
- bool layoutManager_shouldSetLineFragmentRect_lineFragmentUsedRect_baselineOffset_inTextContainer_forGlyphRange_()?,
- void layoutManagerDidInvalidateLayout_()?,
- void layoutManager_didCompleteLayoutForTextContainer_atEnd_()?,
- void layoutManager_textContainer_didChangeGeometryFromSize_()?,
- NSDictionary? layoutManager_shouldUseTemporaryAttributes_forDrawingToScreen_atCharacterIndex_effectiveRange_(
- NSLayoutManager,
- NSDictionary,
- bool,
- DartNSUInteger,
- NSRangePointer,
- bool $keepIsolateAlive = true,
Adds the implementation of the NSLayoutManagerDelegate protocol to an existing
objc.ObjCProtocolBuilder. All methods that can be implemented as blocking
listeners will be.
Note: You cannot call this method after you have called builder.build.
Implementation
static void addToBuilderAsBlocking(
objc.ObjCProtocolBuilder builder, {
DartNSUInteger Function(
NSLayoutManager,
ffi.Pointer<CGGlyph>,
ffi.Pointer<NSInteger>,
ffi.Pointer<NSUInteger>,
NSFont,
NSRange,
)?
layoutManager_shouldGenerateGlyphs_properties_characterIndexes_font_forGlyphRange_,
DartCGFloat Function(NSLayoutManager, DartNSUInteger, NSRect)?
layoutManager_lineSpacingAfterGlyphAtIndex_withProposedLineFragmentRect_,
DartCGFloat Function(NSLayoutManager, DartNSUInteger, NSRect)?
layoutManager_paragraphSpacingBeforeGlyphAtIndex_withProposedLineFragmentRect_,
DartCGFloat Function(NSLayoutManager, DartNSUInteger, NSRect)?
layoutManager_paragraphSpacingAfterGlyphAtIndex_withProposedLineFragmentRect_,
NSControlCharacterAction Function(
NSLayoutManager,
NSControlCharacterAction,
DartNSUInteger,
)?
layoutManager_shouldUseAction_forControlCharacterAtIndex_,
bool Function(NSLayoutManager, DartNSUInteger)?
layoutManager_shouldBreakLineByWordBeforeCharacterAtIndex_,
bool Function(NSLayoutManager, DartNSUInteger)?
layoutManager_shouldBreakLineByHyphenatingBeforeCharacterAtIndex_,
NSRect Function(
NSLayoutManager,
DartNSUInteger,
NSTextContainer,
NSRect,
NSPoint,
DartNSUInteger,
)?
layoutManager_boundingBoxForControlGlyphAtIndex_forTextContainer_proposedLineFragment_glyphPosition_characterIndex_,
bool Function(
NSLayoutManager,
ffi.Pointer<NSRect>,
ffi.Pointer<NSRect>,
ffi.Pointer<CGFloat>,
NSTextContainer,
NSRange,
)?
layoutManager_shouldSetLineFragmentRect_lineFragmentUsedRect_baselineOffset_inTextContainer_forGlyphRange_,
void Function(NSLayoutManager)? layoutManagerDidInvalidateLayout_,
void Function(NSLayoutManager, NSTextContainer?, bool)?
layoutManager_didCompleteLayoutForTextContainer_atEnd_,
void Function(NSLayoutManager, NSTextContainer, NSSize)?
layoutManager_textContainer_didChangeGeometryFromSize_,
objc.NSDictionary? Function(
NSLayoutManager,
objc.NSDictionary,
bool,
DartNSUInteger,
NSRangePointer,
)?
layoutManager_shouldUseTemporaryAttributes_forDrawingToScreen_atCharacterIndex_effectiveRange_,
bool $keepIsolateAlive = true,
}) {
NSLayoutManagerDelegate
.layoutManager_shouldGenerateGlyphs_properties_characterIndexes_font_forGlyphRange_
.implement(
builder,
layoutManager_shouldGenerateGlyphs_properties_characterIndexes_font_forGlyphRange_,
);
NSLayoutManagerDelegate
.layoutManager_lineSpacingAfterGlyphAtIndex_withProposedLineFragmentRect_
.implement(
builder,
layoutManager_lineSpacingAfterGlyphAtIndex_withProposedLineFragmentRect_,
);
NSLayoutManagerDelegate
.layoutManager_paragraphSpacingBeforeGlyphAtIndex_withProposedLineFragmentRect_
.implement(
builder,
layoutManager_paragraphSpacingBeforeGlyphAtIndex_withProposedLineFragmentRect_,
);
NSLayoutManagerDelegate
.layoutManager_paragraphSpacingAfterGlyphAtIndex_withProposedLineFragmentRect_
.implement(
builder,
layoutManager_paragraphSpacingAfterGlyphAtIndex_withProposedLineFragmentRect_,
);
NSLayoutManagerDelegate
.layoutManager_shouldUseAction_forControlCharacterAtIndex_
.implement(
builder,
layoutManager_shouldUseAction_forControlCharacterAtIndex_,
);
NSLayoutManagerDelegate
.layoutManager_shouldBreakLineByWordBeforeCharacterAtIndex_
.implement(
builder,
layoutManager_shouldBreakLineByWordBeforeCharacterAtIndex_,
);
NSLayoutManagerDelegate
.layoutManager_shouldBreakLineByHyphenatingBeforeCharacterAtIndex_
.implement(
builder,
layoutManager_shouldBreakLineByHyphenatingBeforeCharacterAtIndex_,
);
NSLayoutManagerDelegate
.layoutManager_boundingBoxForControlGlyphAtIndex_forTextContainer_proposedLineFragment_glyphPosition_characterIndex_
.implement(
builder,
layoutManager_boundingBoxForControlGlyphAtIndex_forTextContainer_proposedLineFragment_glyphPosition_characterIndex_,
);
NSLayoutManagerDelegate
.layoutManager_shouldSetLineFragmentRect_lineFragmentUsedRect_baselineOffset_inTextContainer_forGlyphRange_
.implement(
builder,
layoutManager_shouldSetLineFragmentRect_lineFragmentUsedRect_baselineOffset_inTextContainer_forGlyphRange_,
);
NSLayoutManagerDelegate.layoutManagerDidInvalidateLayout_
.implementAsBlocking(builder, layoutManagerDidInvalidateLayout_);
NSLayoutManagerDelegate
.layoutManager_didCompleteLayoutForTextContainer_atEnd_
.implementAsBlocking(
builder,
layoutManager_didCompleteLayoutForTextContainer_atEnd_,
);
NSLayoutManagerDelegate
.layoutManager_textContainer_didChangeGeometryFromSize_
.implementAsBlocking(
builder,
layoutManager_textContainer_didChangeGeometryFromSize_,
);
NSLayoutManagerDelegate
.layoutManager_shouldUseTemporaryAttributes_forDrawingToScreen_atCharacterIndex_effectiveRange_
.implement(
builder,
layoutManager_shouldUseTemporaryAttributes_forDrawingToScreen_atCharacterIndex_effectiveRange_,
);
builder.addProtocol($protocol);
}