pub struct NSLayoutManager { /* private fields */ }NSLayoutManager only.Expand description
Implementations§
Source§impl NSLayoutManager
impl NSLayoutManager
Sourcepub fn init(this: Allocated<Self>) -> Retained<Self>
pub fn init(this: Allocated<Self>) -> Retained<Self>
************************** Initialization ***************************
Sourcepub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>
pub unsafe fn initWithCoder( this: Allocated<Self>, coder: &NSCoder, ) -> Option<Retained<Self>>
§Safety
coder possibly has further requirements.
Sourcepub unsafe fn textStorage(&self) -> Option<Retained<NSTextStorage>>
Available on crate feature NSTextStorage only.
pub unsafe fn textStorage(&self) -> Option<Retained<NSTextStorage>>
NSTextStorage only.************************* Text storage **************************
§Safety
This is not retained internally, you must ensure the object is still alive.
Sourcepub unsafe fn setTextStorage(&self, text_storage: Option<&NSTextStorage>)
Available on crate feature NSTextStorage only.
pub unsafe fn setTextStorage(&self, text_storage: Option<&NSTextStorage>)
NSTextStorage only.Setter for textStorage.
§Safety
This is unretained, you must ensure the object is kept alive while in use.
pub fn replaceTextStorage(&self, new_text_storage: &NSTextStorage)
NSTextStorage only.Sourcepub fn textContainers(&self) -> Retained<NSArray<NSTextContainer>>
Available on crate feature NSTextContainer only.
pub fn textContainers(&self) -> Retained<NSArray<NSTextContainer>>
NSTextContainer only.************************** Text containers ***************************
pub fn addTextContainer(&self, container: &NSTextContainer)
NSTextContainer only.pub fn insertTextContainer_atIndex( &self, container: &NSTextContainer, index: NSUInteger, )
NSTextContainer only.pub fn removeTextContainerAtIndex(&self, index: NSUInteger)
pub fn textContainerChangedGeometry(&self, container: &NSTextContainer)
NSTextContainer only.pub fn textContainerChangedTextView(&self, container: &NSTextContainer)
NSTextContainer only.Sourcepub fn delegate(
&self,
) -> Option<Retained<ProtocolObject<dyn NSLayoutManagerDelegate>>>
pub fn delegate( &self, ) -> Option<Retained<ProtocolObject<dyn NSLayoutManagerDelegate>>>
************************** Delegate ***************************
Sourcepub fn setDelegate(
&self,
delegate: Option<&ProtocolObject<dyn NSLayoutManagerDelegate>>,
)
pub fn setDelegate( &self, delegate: Option<&ProtocolObject<dyn NSLayoutManagerDelegate>>, )
Setter for delegate.
This is a weak property.
Sourcepub fn showsInvisibleCharacters(&self) -> bool
pub fn showsInvisibleCharacters(&self) -> bool
********************* Global layout manager options **********************
Sourcepub fn setShowsInvisibleCharacters(&self, shows_invisible_characters: bool)
pub fn setShowsInvisibleCharacters(&self, shows_invisible_characters: bool)
Setter for showsInvisibleCharacters.
pub fn showsControlCharacters(&self) -> bool
Sourcepub fn setShowsControlCharacters(&self, shows_control_characters: bool)
pub fn setShowsControlCharacters(&self, shows_control_characters: bool)
Setter for showsControlCharacters.
pub fn usesDefaultHyphenation(&self) -> bool
Sourcepub fn setUsesDefaultHyphenation(&self, uses_default_hyphenation: bool)
pub fn setUsesDefaultHyphenation(&self, uses_default_hyphenation: bool)
Setter for usesDefaultHyphenation.
pub fn usesFontLeading(&self) -> bool
Sourcepub fn setUsesFontLeading(&self, uses_font_leading: bool)
pub fn setUsesFontLeading(&self, uses_font_leading: bool)
Setter for usesFontLeading.
pub fn allowsNonContiguousLayout(&self) -> bool
Sourcepub fn setAllowsNonContiguousLayout(&self, allows_non_contiguous_layout: bool)
pub fn setAllowsNonContiguousLayout(&self, allows_non_contiguous_layout: bool)
Setter for allowsNonContiguousLayout.
pub fn hasNonContiguousLayout(&self) -> bool
pub fn limitsLayoutForSuspiciousContents(&self) -> bool
Sourcepub fn setLimitsLayoutForSuspiciousContents(
&self,
limits_layout_for_suspicious_contents: bool,
)
pub fn setLimitsLayoutForSuspiciousContents( &self, limits_layout_for_suspicious_contents: bool, )
Setter for limitsLayoutForSuspiciousContents.
pub fn backgroundLayoutEnabled(&self) -> bool
Sourcepub fn setBackgroundLayoutEnabled(&self, background_layout_enabled: bool)
pub fn setBackgroundLayoutEnabled(&self, background_layout_enabled: bool)
Setter for backgroundLayoutEnabled.
pub fn defaultAttachmentScaling(&self) -> NSImageScaling
NSCell only.Sourcepub fn setDefaultAttachmentScaling(
&self,
default_attachment_scaling: NSImageScaling,
)
Available on crate feature NSCell only.
pub fn setDefaultAttachmentScaling( &self, default_attachment_scaling: NSImageScaling, )
NSCell only.Setter for defaultAttachmentScaling.
Sourcepub fn typesetter(&self) -> Retained<NSTypesetter>
Available on crate feature NSTypesetter only.
pub fn typesetter(&self) -> Retained<NSTypesetter>
NSTypesetter only.********************* Typesetter **********************
Sourcepub fn setTypesetter(&self, typesetter: &NSTypesetter)
Available on crate feature NSTypesetter only.
pub fn setTypesetter(&self, typesetter: &NSTypesetter)
NSTypesetter only.Setter for typesetter.
pub fn typesetterBehavior(&self) -> NSTypesetterBehavior
Sourcepub fn setTypesetterBehavior(&self, typesetter_behavior: NSTypesetterBehavior)
pub fn setTypesetterBehavior(&self, typesetter_behavior: NSTypesetterBehavior)
Setter for typesetterBehavior.
Sourcepub unsafe fn invalidateGlyphsForCharacterRange_changeInLength_actualCharacterRange(
&self,
char_range: NSRange,
delta: NSInteger,
actual_char_range: NSRangePointer,
)
pub unsafe fn invalidateGlyphsForCharacterRange_changeInLength_actualCharacterRange( &self, char_range: NSRange, delta: NSInteger, actual_char_range: NSRangePointer, )
************************ Invalidation *************************
§Safety
actual_char_range must be a valid pointer or null.
Sourcepub unsafe fn invalidateLayoutForCharacterRange_actualCharacterRange(
&self,
char_range: NSRange,
actual_char_range: NSRangePointer,
)
pub unsafe fn invalidateLayoutForCharacterRange_actualCharacterRange( &self, char_range: NSRange, actual_char_range: NSRangePointer, )
§Safety
actual_char_range must be a valid pointer or null.
pub fn invalidateDisplayForCharacterRange(&self, char_range: NSRange)
pub fn invalidateDisplayForGlyphRange(&self, glyph_range: NSRange)
pub fn processEditingForTextStorage_edited_range_changeInLength_invalidatedRange( &self, text_storage: &NSTextStorage, edit_mask: NSTextStorageEditActions, new_char_range: NSRange, delta: NSInteger, invalidated_char_range: NSRange, )
NSTextStorage only.Sourcepub fn ensureGlyphsForCharacterRange(&self, char_range: NSRange)
pub fn ensureGlyphsForCharacterRange(&self, char_range: NSRange)
********************** Causing glyph generation and layout ***********************
pub fn ensureGlyphsForGlyphRange(&self, glyph_range: NSRange)
pub fn ensureLayoutForCharacterRange(&self, char_range: NSRange)
pub fn ensureLayoutForGlyphRange(&self, glyph_range: NSRange)
pub fn ensureLayoutForTextContainer(&self, container: &NSTextContainer)
NSTextContainer only.pub fn ensureLayoutForBoundingRect_inTextContainer( &self, bounds: NSRect, container: &NSTextContainer, )
NSTextContainer only.Sourcepub fn numberOfGlyphs(&self) -> NSUInteger
pub fn numberOfGlyphs(&self) -> NSUInteger
********************** Get glyphs and glyph properties ***********************
pub fn isValidGlyphIndex(&self, glyph_index: NSUInteger) -> bool
pub fn propertyForGlyphAtIndex( &self, glyph_index: NSUInteger, ) -> NSGlyphProperty
pub fn characterIndexForGlyphAtIndex( &self, glyph_index: NSUInteger, ) -> NSUInteger
pub fn glyphIndexForCharacterAtIndex( &self, char_index: NSUInteger, ) -> NSUInteger
pub fn setTextContainer_forGlyphRange( &self, container: &NSTextContainer, glyph_range: NSRange, )
NSTextContainer only.pub fn setLineFragmentRect_forGlyphRange_usedRect( &self, fragment_rect: NSRect, glyph_range: NSRange, used_rect: NSRect, )
pub fn setExtraLineFragmentRect_usedRect_textContainer( &self, fragment_rect: NSRect, used_rect: NSRect, container: &NSTextContainer, )
NSTextContainer only.pub fn setLocation_forStartOfGlyphRange( &self, location: NSPoint, glyph_range: NSRange, )
pub fn setNotShownAttribute_forGlyphAtIndex( &self, flag: bool, glyph_index: NSUInteger, )
pub fn setDrawsOutsideLineFragment_forGlyphAtIndex( &self, flag: bool, glyph_index: NSUInteger, )
pub fn setAttachmentSize_forGlyphRange( &self, attachment_size: NSSize, glyph_range: NSRange, )
Sourcepub unsafe fn getFirstUnlaidCharacterIndex_glyphIndex(
&self,
char_index: *mut NSUInteger,
glyph_index: *mut NSUInteger,
)
pub unsafe fn getFirstUnlaidCharacterIndex_glyphIndex( &self, char_index: *mut NSUInteger, glyph_index: *mut NSUInteger, )
********************** Get layout information ***********************
§Safety
char_indexmust be a valid pointer or null.glyph_indexmust be a valid pointer or null.
pub fn firstUnlaidCharacterIndex(&self) -> NSUInteger
pub fn firstUnlaidGlyphIndex(&self) -> NSUInteger
Sourcepub unsafe fn textContainerForGlyphAtIndex_effectiveRange(
&self,
glyph_index: NSUInteger,
effective_glyph_range: NSRangePointer,
) -> Option<Retained<NSTextContainer>>
Available on crate feature NSTextContainer only.
pub unsafe fn textContainerForGlyphAtIndex_effectiveRange( &self, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, ) -> Option<Retained<NSTextContainer>>
NSTextContainer only.§Safety
effective_glyph_range must be a valid pointer or null.
Sourcepub unsafe fn textContainerForGlyphAtIndex_effectiveRange_withoutAdditionalLayout(
&self,
glyph_index: NSUInteger,
effective_glyph_range: NSRangePointer,
flag: bool,
) -> Option<Retained<NSTextContainer>>
Available on crate feature NSTextContainer only.
pub unsafe fn textContainerForGlyphAtIndex_effectiveRange_withoutAdditionalLayout( &self, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, flag: bool, ) -> Option<Retained<NSTextContainer>>
NSTextContainer only.§Safety
effective_glyph_range must be a valid pointer or null.
pub fn usedRectForTextContainer(&self, container: &NSTextContainer) -> NSRect
NSTextContainer only.Sourcepub unsafe fn lineFragmentRectForGlyphAtIndex_effectiveRange(
&self,
glyph_index: NSUInteger,
effective_glyph_range: NSRangePointer,
) -> NSRect
pub unsafe fn lineFragmentRectForGlyphAtIndex_effectiveRange( &self, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, ) -> NSRect
§Safety
effective_glyph_range must be a valid pointer or null.
Sourcepub unsafe fn lineFragmentRectForGlyphAtIndex_effectiveRange_withoutAdditionalLayout(
&self,
glyph_index: NSUInteger,
effective_glyph_range: NSRangePointer,
flag: bool,
) -> NSRect
pub unsafe fn lineFragmentRectForGlyphAtIndex_effectiveRange_withoutAdditionalLayout( &self, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, flag: bool, ) -> NSRect
§Safety
effective_glyph_range must be a valid pointer or null.
Sourcepub unsafe fn lineFragmentUsedRectForGlyphAtIndex_effectiveRange(
&self,
glyph_index: NSUInteger,
effective_glyph_range: NSRangePointer,
) -> NSRect
pub unsafe fn lineFragmentUsedRectForGlyphAtIndex_effectiveRange( &self, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, ) -> NSRect
§Safety
effective_glyph_range must be a valid pointer or null.
Sourcepub unsafe fn lineFragmentUsedRectForGlyphAtIndex_effectiveRange_withoutAdditionalLayout(
&self,
glyph_index: NSUInteger,
effective_glyph_range: NSRangePointer,
flag: bool,
) -> NSRect
pub unsafe fn lineFragmentUsedRectForGlyphAtIndex_effectiveRange_withoutAdditionalLayout( &self, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, flag: bool, ) -> NSRect
§Safety
effective_glyph_range must be a valid pointer or null.
pub fn extraLineFragmentRect(&self) -> NSRect
pub fn extraLineFragmentUsedRect(&self) -> NSRect
pub fn extraLineFragmentTextContainer( &self, ) -> Option<Retained<NSTextContainer>>
NSTextContainer only.pub fn locationForGlyphAtIndex(&self, glyph_index: NSUInteger) -> NSPoint
pub fn notShownAttributeForGlyphAtIndex(&self, glyph_index: NSUInteger) -> bool
pub fn drawsOutsideLineFragmentForGlyphAtIndex( &self, glyph_index: NSUInteger, ) -> bool
pub fn attachmentSizeForGlyphAtIndex(&self, glyph_index: NSUInteger) -> NSSize
pub fn truncatedGlyphRangeInLineFragmentForGlyphAtIndex( &self, glyph_index: NSUInteger, ) -> NSRange
Sourcepub unsafe fn glyphRangeForCharacterRange_actualCharacterRange(
&self,
char_range: NSRange,
actual_char_range: NSRangePointer,
) -> NSRange
pub unsafe fn glyphRangeForCharacterRange_actualCharacterRange( &self, char_range: NSRange, actual_char_range: NSRangePointer, ) -> NSRange
********************** More sophisticated queries ***********************
§Safety
actual_char_range must be a valid pointer or null.
Sourcepub unsafe fn characterRangeForGlyphRange_actualGlyphRange(
&self,
glyph_range: NSRange,
actual_glyph_range: NSRangePointer,
) -> NSRange
pub unsafe fn characterRangeForGlyphRange_actualGlyphRange( &self, glyph_range: NSRange, actual_glyph_range: NSRangePointer, ) -> NSRange
§Safety
actual_glyph_range must be a valid pointer or null.
pub fn glyphRangeForTextContainer(&self, container: &NSTextContainer) -> NSRange
NSTextContainer only.pub fn rangeOfNominallySpacedGlyphsContainingIndex( &self, glyph_index: NSUInteger, ) -> NSRange
pub fn boundingRectForGlyphRange_inTextContainer( &self, glyph_range: NSRange, container: &NSTextContainer, ) -> NSRect
NSTextContainer only.pub fn glyphRangeForBoundingRect_inTextContainer( &self, bounds: NSRect, container: &NSTextContainer, ) -> NSRange
NSTextContainer only.pub fn glyphRangeForBoundingRectWithoutAdditionalLayout_inTextContainer( &self, bounds: NSRect, container: &NSTextContainer, ) -> NSRange
NSTextContainer only.Sourcepub unsafe fn glyphIndexForPoint_inTextContainer_fractionOfDistanceThroughGlyph(
&self,
point: NSPoint,
container: &NSTextContainer,
partial_fraction: *mut CGFloat,
) -> NSUInteger
Available on crate features NSTextContainer and objc2-core-foundation only.
pub unsafe fn glyphIndexForPoint_inTextContainer_fractionOfDistanceThroughGlyph( &self, point: NSPoint, container: &NSTextContainer, partial_fraction: *mut CGFloat, ) -> NSUInteger
NSTextContainer and objc2-core-foundation only.§Safety
partial_fraction must be a valid pointer or null.
pub fn glyphIndexForPoint_inTextContainer( &self, point: NSPoint, container: &NSTextContainer, ) -> NSUInteger
NSTextContainer only.pub fn fractionOfDistanceThroughGlyphForPoint_inTextContainer( &self, point: NSPoint, container: &NSTextContainer, ) -> CGFloat
NSTextContainer and objc2-core-foundation only.Sourcepub unsafe fn characterIndexForPoint_inTextContainer_fractionOfDistanceBetweenInsertionPoints(
&self,
point: NSPoint,
container: &NSTextContainer,
partial_fraction: *mut CGFloat,
) -> NSUInteger
Available on crate features NSTextContainer and objc2-core-foundation only.
pub unsafe fn characterIndexForPoint_inTextContainer_fractionOfDistanceBetweenInsertionPoints( &self, point: NSPoint, container: &NSTextContainer, partial_fraction: *mut CGFloat, ) -> NSUInteger
NSTextContainer and objc2-core-foundation only.§Safety
partial_fraction must be a valid pointer or null.
Sourcepub unsafe fn getLineFragmentInsertionPointsForCharacterAtIndex_alternatePositions_inDisplayOrder_positions_characterIndexes(
&self,
char_index: NSUInteger,
a_flag: bool,
d_flag: bool,
positions: *mut CGFloat,
char_indexes: *mut NSUInteger,
) -> NSUInteger
Available on crate feature objc2-core-foundation only.
pub unsafe fn getLineFragmentInsertionPointsForCharacterAtIndex_alternatePositions_inDisplayOrder_positions_characterIndexes( &self, char_index: NSUInteger, a_flag: bool, d_flag: bool, positions: *mut CGFloat, char_indexes: *mut NSUInteger, ) -> NSUInteger
objc2-core-foundation only.§Safety
positionsmust be a valid pointer or null.char_indexesmust be a valid pointer or null.
pub fn enumerateLineFragmentsForGlyphRange_usingBlock( &self, glyph_range: NSRange, block: &DynBlock<dyn Fn(NSRect, NSRect, NonNull<NSTextContainer>, NSRange, NonNull<Bool>)>, )
NSTextContainer and block2 only.pub fn enumerateEnclosingRectsForGlyphRange_withinSelectedGlyphRange_inTextContainer_usingBlock( &self, glyph_range: NSRange, selected_range: NSRange, text_container: &NSTextContainer, block: &DynBlock<dyn Fn(NSRect, NonNull<Bool>)>, )
NSTextContainer and block2 only.Sourcepub fn drawBackgroundForGlyphRange_atPoint(
&self,
glyphs_to_show: NSRange,
origin: NSPoint,
)
pub fn drawBackgroundForGlyphRange_atPoint( &self, glyphs_to_show: NSRange, origin: NSPoint, )
********************** Drawing support ***********************
pub fn drawGlyphsForGlyphRange_atPoint( &self, glyphs_to_show: NSRange, origin: NSPoint, )
Sourcepub unsafe fn fillBackgroundRectArray_count_forCharacterRange_color(
&self,
rect_array: NonNull<NSRect>,
rect_count: NSUInteger,
char_range: NSRange,
color: &NSColor,
)
Available on crate feature NSColor only.
pub unsafe fn fillBackgroundRectArray_count_forCharacterRange_color( &self, rect_array: NonNull<NSRect>, rect_count: NSUInteger, char_range: NSRange, color: &NSColor, )
NSColor only.§Safety
rect_array must be a valid pointer.
pub fn drawUnderlineForGlyphRange_underlineType_baselineOffset_lineFragmentRect_lineFragmentGlyphRange_containerOrigin( &self, glyph_range: NSRange, underline_val: NSUnderlineStyle, baseline_offset: CGFloat, line_rect: NSRect, line_glyph_range: NSRange, container_origin: NSPoint, )
NSAttributedString and objc2-core-foundation only.pub fn underlineGlyphRange_underlineType_lineFragmentRect_lineFragmentGlyphRange_containerOrigin( &self, glyph_range: NSRange, underline_val: NSUnderlineStyle, line_rect: NSRect, line_glyph_range: NSRange, container_origin: NSPoint, )
NSAttributedString only.pub fn drawStrikethroughForGlyphRange_strikethroughType_baselineOffset_lineFragmentRect_lineFragmentGlyphRange_containerOrigin( &self, glyph_range: NSRange, strikethrough_val: NSUnderlineStyle, baseline_offset: CGFloat, line_rect: NSRect, line_glyph_range: NSRange, container_origin: NSPoint, )
NSAttributedString and objc2-core-foundation only.pub fn strikethroughGlyphRange_strikethroughType_lineFragmentRect_lineFragmentGlyphRange_containerOrigin( &self, glyph_range: NSRange, strikethrough_val: NSUnderlineStyle, line_rect: NSRect, line_glyph_range: NSRange, container_origin: NSPoint, )
NSAttributedString only.pub fn showAttachmentCell_inRect_characterIndex( &self, cell: &NSCell, rect: NSRect, attachment_index: NSUInteger, )
NSCell only.Sourcepub fn setLayoutRect_forTextBlock_glyphRange(
&self,
rect: NSRect,
block: &NSTextBlock,
glyph_range: NSRange,
)
Available on crate feature NSTextTable only.
pub fn setLayoutRect_forTextBlock_glyphRange( &self, rect: NSRect, block: &NSTextBlock, glyph_range: NSRange, )
NSTextTable only.************************ Block information *************************
pub fn setBoundsRect_forTextBlock_glyphRange( &self, rect: NSRect, block: &NSTextBlock, glyph_range: NSRange, )
NSTextTable only.pub fn layoutRectForTextBlock_glyphRange( &self, block: &NSTextBlock, glyph_range: NSRange, ) -> NSRect
NSTextTable only.pub fn boundsRectForTextBlock_glyphRange( &self, block: &NSTextBlock, glyph_range: NSRange, ) -> NSRect
NSTextTable only.Sourcepub unsafe fn layoutRectForTextBlock_atIndex_effectiveRange(
&self,
block: &NSTextBlock,
glyph_index: NSUInteger,
effective_glyph_range: NSRangePointer,
) -> NSRect
Available on crate feature NSTextTable only.
pub unsafe fn layoutRectForTextBlock_atIndex_effectiveRange( &self, block: &NSTextBlock, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, ) -> NSRect
NSTextTable only.§Safety
effective_glyph_range must be a valid pointer or null.
Sourcepub unsafe fn boundsRectForTextBlock_atIndex_effectiveRange(
&self,
block: &NSTextBlock,
glyph_index: NSUInteger,
effective_glyph_range: NSRangePointer,
) -> NSRect
Available on crate feature NSTextTable only.
pub unsafe fn boundsRectForTextBlock_atIndex_effectiveRange( &self, block: &NSTextBlock, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, ) -> NSRect
NSTextTable only.§Safety
effective_glyph_range must be a valid pointer or null.
Sourcepub unsafe fn temporaryAttributesAtCharacterIndex_effectiveRange(
&self,
char_index: NSUInteger,
effective_char_range: NSRangePointer,
) -> Retained<NSDictionary<NSAttributedStringKey, AnyObject>>
pub unsafe fn temporaryAttributesAtCharacterIndex_effectiveRange( &self, char_index: NSUInteger, effective_char_range: NSRangePointer, ) -> Retained<NSDictionary<NSAttributedStringKey, AnyObject>>
********************** Temporary attribute support ***********************
§Safety
effective_char_range must be a valid pointer or null.
Sourcepub unsafe fn setTemporaryAttributes_forCharacterRange(
&self,
attrs: &NSDictionary<NSAttributedStringKey, AnyObject>,
char_range: NSRange,
)
pub unsafe fn setTemporaryAttributes_forCharacterRange( &self, attrs: &NSDictionary<NSAttributedStringKey, AnyObject>, char_range: NSRange, )
§Safety
attrs generic should be of the correct type.
Sourcepub unsafe fn addTemporaryAttributes_forCharacterRange(
&self,
attrs: &NSDictionary<NSAttributedStringKey, AnyObject>,
char_range: NSRange,
)
pub unsafe fn addTemporaryAttributes_forCharacterRange( &self, attrs: &NSDictionary<NSAttributedStringKey, AnyObject>, char_range: NSRange, )
§Safety
attrs generic should be of the correct type.
pub fn removeTemporaryAttribute_forCharacterRange( &self, attr_name: &NSAttributedStringKey, char_range: NSRange, )
Sourcepub unsafe fn temporaryAttribute_atCharacterIndex_effectiveRange(
&self,
attr_name: &NSAttributedStringKey,
location: NSUInteger,
range: NSRangePointer,
) -> Option<Retained<AnyObject>>
pub unsafe fn temporaryAttribute_atCharacterIndex_effectiveRange( &self, attr_name: &NSAttributedStringKey, location: NSUInteger, range: NSRangePointer, ) -> Option<Retained<AnyObject>>
§Safety
range must be a valid pointer or null.
Sourcepub unsafe fn temporaryAttribute_atCharacterIndex_longestEffectiveRange_inRange(
&self,
attr_name: &NSAttributedStringKey,
location: NSUInteger,
range: NSRangePointer,
range_limit: NSRange,
) -> Option<Retained<AnyObject>>
pub unsafe fn temporaryAttribute_atCharacterIndex_longestEffectiveRange_inRange( &self, attr_name: &NSAttributedStringKey, location: NSUInteger, range: NSRangePointer, range_limit: NSRange, ) -> Option<Retained<AnyObject>>
§Safety
range must be a valid pointer or null.
Sourcepub unsafe fn temporaryAttributesAtCharacterIndex_longestEffectiveRange_inRange(
&self,
location: NSUInteger,
range: NSRangePointer,
range_limit: NSRange,
) -> Retained<NSDictionary<NSAttributedStringKey, AnyObject>>
pub unsafe fn temporaryAttributesAtCharacterIndex_longestEffectiveRange_inRange( &self, location: NSUInteger, range: NSRangePointer, range_limit: NSRange, ) -> Retained<NSDictionary<NSAttributedStringKey, AnyObject>>
§Safety
range must be a valid pointer or null.
Sourcepub unsafe fn addTemporaryAttribute_value_forCharacterRange(
&self,
attr_name: &NSAttributedStringKey,
value: &AnyObject,
char_range: NSRange,
)
pub unsafe fn addTemporaryAttribute_value_forCharacterRange( &self, attr_name: &NSAttributedStringKey, value: &AnyObject, char_range: NSRange, )
§Safety
value should be of the correct type.
Sourcepub fn defaultLineHeightForFont(&self, the_font: &NSFont) -> CGFloat
Available on crate features NSFont and objc2-core-foundation only.
pub fn defaultLineHeightForFont(&self, the_font: &NSFont) -> CGFloat
NSFont and objc2-core-foundation only.***************************** Font metrics *****************************
pub fn defaultBaselineOffsetForFont(&self, the_font: &NSFont) -> CGFloat
NSFont and objc2-core-foundation only.Source§impl NSLayoutManager
Methods declared on superclass NSObject.
impl NSLayoutManager
Methods declared on superclass NSObject.
Source§impl NSLayoutManager
NSTextViewSupport.
impl NSLayoutManager
NSTextViewSupport.
Sourcepub fn rulerMarkersForTextView_paragraphStyle_ruler(
&self,
view: &NSTextView,
style: &NSParagraphStyle,
ruler: &NSRulerView,
) -> Retained<NSArray<NSRulerMarker>>
Available on crate features NSParagraphStyle and NSResponder and NSRulerMarker and NSRulerView and NSText and NSTextView and NSView only.
pub fn rulerMarkersForTextView_paragraphStyle_ruler( &self, view: &NSTextView, style: &NSParagraphStyle, ruler: &NSRulerView, ) -> Retained<NSArray<NSRulerMarker>>
NSParagraphStyle and NSResponder and NSRulerMarker and NSRulerView and NSText and NSTextView and NSView only.*************************** Ruler support ****************************
pub fn rulerAccessoryViewForTextView_paragraphStyle_ruler_enabled( &self, view: &NSTextView, style: &NSParagraphStyle, ruler: &NSRulerView, is_enabled: bool, ) -> Option<Retained<NSView>>
NSParagraphStyle and NSResponder and NSRulerView and NSText and NSTextView and NSView only.Sourcepub fn layoutManagerOwnsFirstResponderInWindow(&self, window: &NSWindow) -> bool
Available on crate features NSResponder and NSWindow only.
pub fn layoutManagerOwnsFirstResponderInWindow(&self, window: &NSWindow) -> bool
NSResponder and NSWindow only.********************** First responder support ***********************
Sourcepub unsafe fn firstTextView(
&self,
mtm: MainThreadMarker,
) -> Option<Retained<NSTextView>>
Available on crate features NSResponder and NSText and NSTextView and NSView only.
pub unsafe fn firstTextView( &self, mtm: MainThreadMarker, ) -> Option<Retained<NSTextView>>
NSResponder and NSText and NSTextView and NSView only.§Safety
This is not retained internally, you must ensure the object is still alive.
Sourcepub unsafe fn textViewForBeginningOfSelection(
&self,
mtm: MainThreadMarker,
) -> Option<Retained<NSTextView>>
Available on crate features NSResponder and NSText and NSTextView and NSView only.
pub unsafe fn textViewForBeginningOfSelection( &self, mtm: MainThreadMarker, ) -> Option<Retained<NSTextView>>
NSResponder and NSText and NSTextView and NSView only.§Safety
This is not retained internally, you must ensure the object is still alive.
Source§impl NSLayoutManager
NSLayoutManagerDeprecated.
impl NSLayoutManager
NSLayoutManagerDeprecated.
Sourcepub unsafe fn glyphAtIndex_isValidIndex(
&self,
glyph_index: NSUInteger,
is_valid_index: *mut Bool,
) -> NSGlyph
Available on crate feature NSFont only.
pub unsafe fn glyphAtIndex_isValidIndex( &self, glyph_index: NSUInteger, is_valid_index: *mut Bool, ) -> NSGlyph
NSFont only.§Safety
is_valid_index must be a valid pointer or null.
pub fn glyphAtIndex(&self, glyph_index: NSUInteger) -> NSGlyph
NSFont only.Sourcepub unsafe fn rectArrayForCharacterRange_withinSelectedCharacterRange_inTextContainer_rectCount(
&self,
char_range: NSRange,
sel_char_range: NSRange,
container: &NSTextContainer,
rect_count: NonNull<NSUInteger>,
) -> NSRectArray
Available on crate feature NSTextContainer only.
pub unsafe fn rectArrayForCharacterRange_withinSelectedCharacterRange_inTextContainer_rectCount( &self, char_range: NSRange, sel_char_range: NSRange, container: &NSTextContainer, rect_count: NonNull<NSUInteger>, ) -> NSRectArray
NSTextContainer only.§Safety
rect_count must be a valid pointer.
Sourcepub unsafe fn rectArrayForGlyphRange_withinSelectedGlyphRange_inTextContainer_rectCount(
&self,
glyph_range: NSRange,
sel_glyph_range: NSRange,
container: &NSTextContainer,
rect_count: NonNull<NSUInteger>,
) -> NSRectArray
Available on crate feature NSTextContainer only.
pub unsafe fn rectArrayForGlyphRange_withinSelectedGlyphRange_inTextContainer_rectCount( &self, glyph_range: NSRange, sel_glyph_range: NSRange, container: &NSTextContainer, rect_count: NonNull<NSUInteger>, ) -> NSRectArray
NSTextContainer only.§Safety
rect_count must be a valid pointer.
pub fn usesScreenFonts(&self) -> bool
Sourcepub fn setUsesScreenFonts(&self, uses_screen_fonts: bool)
👎Deprecated
pub fn setUsesScreenFonts(&self, uses_screen_fonts: bool)
Setter for usesScreenFonts.
pub fn substituteFontForFont(&self, original_font: &NSFont) -> Retained<NSFont>
NSFont only.Sourcepub unsafe fn insertGlyphs_length_forStartingGlyphAtIndex_characterIndex(
&self,
glyphs: NonNull<NSGlyph>,
length: NSUInteger,
glyph_index: NSUInteger,
char_index: NSUInteger,
)
👎Deprecated: Use -setGlyphs:properties:characterIndexes:font:forGlyphRange insteadAvailable on crate feature NSFont only.
pub unsafe fn insertGlyphs_length_forStartingGlyphAtIndex_characterIndex( &self, glyphs: NonNull<NSGlyph>, length: NSUInteger, glyph_index: NSUInteger, char_index: NSUInteger, )
NSFont only.§Safety
glyphs must be a valid pointer.
pub fn insertGlyph_atGlyphIndex_characterIndex( &self, glyph: NSGlyph, glyph_index: NSUInteger, char_index: NSUInteger, )
NSFont only.pub fn replaceGlyphAtIndex_withGlyph( &self, glyph_index: NSUInteger, new_glyph: NSGlyph, )
NSFont only.pub fn deleteGlyphsInRange(&self, glyph_range: NSRange)
pub fn setCharacterIndex_forGlyphAtIndex( &self, char_index: NSUInteger, glyph_index: NSUInteger, )
pub fn setIntAttribute_value_forGlyphAtIndex( &self, attribute_tag: NSInteger, val: NSInteger, glyph_index: NSUInteger, )
pub fn invalidateGlyphsOnLayoutInvalidationForGlyphRange( &self, glyph_range: NSRange, )
pub fn intAttribute_forGlyphAtIndex( &self, attribute_tag: NSInteger, glyph_index: NSUInteger, ) -> NSInteger
Sourcepub unsafe fn getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits(
&self,
glyph_range: NSRange,
glyph_buffer: *mut NSGlyph,
char_index_buffer: *mut NSUInteger,
inscribe_buffer: *mut NSGlyphInscription,
elastic_buffer: *mut Bool,
) -> NSUInteger
👎Deprecated: Use -getGlyphsInRange:glyphs:properties:characterIndexes:bidiLevels: insteadAvailable on crate feature NSFont only.
pub unsafe fn getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits( &self, glyph_range: NSRange, glyph_buffer: *mut NSGlyph, char_index_buffer: *mut NSUInteger, inscribe_buffer: *mut NSGlyphInscription, elastic_buffer: *mut Bool, ) -> NSUInteger
NSFont only.§Safety
glyph_buffermust be a valid pointer or null.char_index_buffermust be a valid pointer or null.inscribe_buffermust be a valid pointer or null.elastic_buffermust be a valid pointer or null.
Sourcepub unsafe fn getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels(
&self,
glyph_range: NSRange,
glyph_buffer: *mut NSGlyph,
char_index_buffer: *mut NSUInteger,
inscribe_buffer: *mut NSGlyphInscription,
elastic_buffer: *mut Bool,
bidi_level_buffer: *mut c_uchar,
) -> NSUInteger
👎Deprecated: Use -getGlyphsInRange:glyphs:properties:characterIndexes:bidiLevels: insteadAvailable on crate feature NSFont only.
pub unsafe fn getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels( &self, glyph_range: NSRange, glyph_buffer: *mut NSGlyph, char_index_buffer: *mut NSUInteger, inscribe_buffer: *mut NSGlyphInscription, elastic_buffer: *mut Bool, bidi_level_buffer: *mut c_uchar, ) -> NSUInteger
NSFont only.§Safety
glyph_buffermust be a valid pointer or null.char_index_buffermust be a valid pointer or null.inscribe_buffermust be a valid pointer or null.elastic_buffermust be a valid pointer or null.bidi_level_buffermust be a valid pointer or null.
Sourcepub unsafe fn getGlyphs_range(
&self,
glyph_array: *mut NSGlyph,
glyph_range: NSRange,
) -> NSUInteger
👎Deprecated: Use -getGlyphsInRange:glyphs:properties:characterIndexes:bidiLevels: insteadAvailable on crate feature NSFont only.
pub unsafe fn getGlyphs_range( &self, glyph_array: *mut NSGlyph, glyph_range: NSRange, ) -> NSUInteger
NSFont only.§Safety
glyph_array must be a valid pointer or null.
Sourcepub unsafe fn invalidateLayoutForCharacterRange_isSoft_actualCharacterRange(
&self,
char_range: NSRange,
flag: bool,
actual_char_range: NSRangePointer,
)
👎Deprecated: Use -invalidateLayoutForCharacterRange:actualCharacterRange: instead
pub unsafe fn invalidateLayoutForCharacterRange_isSoft_actualCharacterRange( &self, char_range: NSRange, flag: bool, actual_char_range: NSRangePointer, )
§Safety
actual_char_range must be a valid pointer or null.
pub fn textStorage_edited_range_changeInLength_invalidatedRange( &self, str: &NSTextStorage, edited_mask: NSTextStorageEditedOptions, new_char_range: NSRange, delta: NSInteger, invalidated_char_range: NSRange, )
NSTextStorage only.Sourcepub unsafe fn setLocations_startingGlyphIndexes_count_forGlyphRange(
&self,
locations: NSPointArray,
glyph_indexes: NonNull<NSUInteger>,
count: NSUInteger,
glyph_range: NSRange,
)
👎Deprecated: Use -setLocation:forStartOfGlyphRange: instead
pub unsafe fn setLocations_startingGlyphIndexes_count_forGlyphRange( &self, locations: NSPointArray, glyph_indexes: NonNull<NSUInteger>, count: NSUInteger, glyph_range: NSRange, )
§Safety
locationsmust be a valid pointer.glyph_indexesmust be a valid pointer.
Sourcepub unsafe fn showPackedGlyphs_length_glyphRange_atPoint_font_color_printingAdjustment(
&self,
glyphs: NonNull<c_char>,
glyph_len: NSUInteger,
glyph_range: NSRange,
point: NSPoint,
font: &NSFont,
color: &NSColor,
printing_adjustment: NSSize,
)
👎Deprecated: Use -showCGGlyphs:positions:count:font:matrix:attributes:inContext: insteadAvailable on crate features NSColor and NSFont only.
pub unsafe fn showPackedGlyphs_length_glyphRange_atPoint_font_color_printingAdjustment( &self, glyphs: NonNull<c_char>, glyph_len: NSUInteger, glyph_range: NSRange, point: NSPoint, font: &NSFont, color: &NSColor, printing_adjustment: NSSize, )
NSColor and NSFont only.§Safety
glyphs must be a valid pointer.
pub fn hyphenationFactor(&self) -> c_float
Sourcepub fn setHyphenationFactor(&self, hyphenation_factor: c_float)
👎Deprecated: Please use usesDefaultHyphenation or -[NSParagraphStyle hyphenationFactor] instead.
pub fn setHyphenationFactor(&self, hyphenation_factor: c_float)
Setter for hyphenationFactor.
Source§impl NSLayoutManager
NSGlyphGeneration.
impl NSLayoutManager
NSGlyphGeneration.
pub fn glyphGenerator(&self) -> Retained<NSGlyphGenerator>
NSGlyphGenerator only.Sourcepub fn setGlyphGenerator(&self, glyph_generator: &NSGlyphGenerator)
Available on crate feature NSGlyphGenerator only.
pub fn setGlyphGenerator(&self, glyph_generator: &NSGlyphGenerator)
NSGlyphGenerator only.Setter for glyphGenerator.
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
Available on crate feature NSAccessibilityConstants only.
pub fn class(&self) -> &'static AnyClass
NSAccessibilityConstants only.Dynamically find the class of this object.
§Panics
May panic if the object is invalid (which may be the case for objects
returned from unavailable init/new methods).
§Example
Check that an instance of NSObject has the precise class NSObject.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load instead.Available on crate feature NSAccessibilityConstants only.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load instead.NSAccessibilityConstants only.Use Ivar::load instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T.
See Ivar::load_ptr for details surrounding this.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Available on crate feature NSAccessibilityConstants only.
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
NSAccessibilityConstants only.Attempt to downcast the object to a class of type T.
This is the reference-variant. Use Retained::downcast if you want
to convert a retained object to another type.
§Mutable classes
Some classes have immutable and mutable variants, such as NSString
and NSMutableString.
When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.
So using this method to convert a NSString to a NSMutableString,
while not unsound, is generally frowned upon unless you created the
string yourself, or the API explicitly documents the string to be
mutable.
See Apple’s documentation on mutability and on
isKindOfClass: for more details.
§Generic classes
Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.
You can, however, safely downcast to generic collections where all the
type-parameters are AnyObject.
§Panics
This works internally by calling isKindOfClass:. That means that the
object must have the instance method of that name, and an exception
will be thrown (if CoreFoundation is linked) or the process will abort
if that is not the case. In the vast majority of cases, you don’t need
to worry about this, since both root objects NSObject and
NSProxy implement this method.
§Examples
Cast an NSString back and forth from NSObject.
use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};
let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();Try (and fail) to cast an NSObject to an NSString.
use objc2_foundation::{NSObject, NSString};
let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());Try to cast to an array of strings.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.
Downcast when processing each element instead.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
for elem in arr {
if let Some(data) = elem.downcast_ref::<NSString>() {
// handle `data`
}
}Trait Implementations§
Source§impl AsRef<AnyObject> for NSLayoutManager
impl AsRef<AnyObject> for NSLayoutManager
Source§impl AsRef<NSLayoutManager> for NSLayoutManager
impl AsRef<NSLayoutManager> for NSLayoutManager
Source§impl AsRef<NSObject> for NSLayoutManager
impl AsRef<NSObject> for NSLayoutManager
Source§impl Borrow<AnyObject> for NSLayoutManager
impl Borrow<AnyObject> for NSLayoutManager
Source§impl Borrow<NSObject> for NSLayoutManager
impl Borrow<NSObject> for NSLayoutManager
Source§impl ClassType for NSLayoutManager
impl ClassType for NSLayoutManager
Source§const NAME: &'static str = "NSLayoutManager"
const NAME: &'static str = "NSLayoutManager"
Source§type ThreadKind = <<NSLayoutManager as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<NSLayoutManager as ClassType>::Super as ClassType>::ThreadKind
Source§impl Debug for NSLayoutManager
impl Debug for NSLayoutManager
Source§impl DefaultRetained for NSLayoutManager
impl DefaultRetained for NSLayoutManager
Source§impl Deref for NSLayoutManager
impl Deref for NSLayoutManager
Source§impl Hash for NSLayoutManager
impl Hash for NSLayoutManager
Source§impl Message for NSLayoutManager
impl Message for NSLayoutManager
Source§impl NSCoding for NSLayoutManager
impl NSCoding for NSLayoutManager
Source§impl NSGlyphStorage for NSLayoutManager
impl NSGlyphStorage for NSLayoutManager
Source§unsafe fn insertGlyphs_length_forStartingGlyphAtIndex_characterIndex(
&self,
glyphs: NonNull<NSGlyph>,
length: NSUInteger,
glyph_index: NSUInteger,
char_index: NSUInteger,
)
unsafe fn insertGlyphs_length_forStartingGlyphAtIndex_characterIndex( &self, glyphs: NonNull<NSGlyph>, length: NSUInteger, glyph_index: NSUInteger, char_index: NSUInteger, )
NSGlyphGenerator and NSFont only.Source§fn setIntAttribute_value_forGlyphAtIndex(
&self,
attribute_tag: NSInteger,
val: NSInteger,
glyph_index: NSUInteger,
)
fn setIntAttribute_value_forGlyphAtIndex( &self, attribute_tag: NSInteger, val: NSInteger, glyph_index: NSUInteger, )
NSGlyphGenerator only.Source§fn attributedString(&self) -> Retained<NSAttributedString>
fn attributedString(&self) -> Retained<NSAttributedString>
NSGlyphGenerator only.Source§fn layoutOptions(&self) -> NSUInteger
fn layoutOptions(&self) -> NSUInteger
NSGlyphGenerator only.Source§impl NSObjectProtocol for NSLayoutManager
impl NSObjectProtocol for NSLayoutManager
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass directly, or cast your objects with AnyObject::downcast_ref