#[repr(C)]pub struct NSLayoutManager { /* private fields */ }
NSLayoutManager
only.Expand description
Implementations§
Source§impl NSLayoutManager
impl NSLayoutManager
Sourcepub unsafe fn init(this: Allocated<Self>) -> Retained<Self>
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>
************************** Initialization ***************************
pub unsafe fn initWithCoder( this: Allocated<Self>, coder: &NSCoder, ) -> Option<Retained<Self>>
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 **************************
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
.
pub unsafe fn replaceTextStorage(&self, new_text_storage: &NSTextStorage)
NSTextStorage
only.Sourcepub unsafe fn textContainers(&self) -> Retained<NSArray<NSTextContainer>>
Available on crate feature NSTextContainer
only.
pub unsafe fn textContainers(&self) -> Retained<NSArray<NSTextContainer>>
NSTextContainer
only.************************** Text containers ***************************
pub unsafe fn addTextContainer(&self, container: &NSTextContainer)
NSTextContainer
only.pub unsafe fn insertTextContainer_atIndex( &self, container: &NSTextContainer, index: NSUInteger, )
NSTextContainer
only.pub unsafe fn removeTextContainerAtIndex(&self, index: NSUInteger)
pub unsafe fn textContainerChangedGeometry(&self, container: &NSTextContainer)
NSTextContainer
only.pub unsafe fn textContainerChangedTextView(&self, container: &NSTextContainer)
NSTextContainer
only.Sourcepub unsafe fn delegate(
&self,
) -> Option<Retained<ProtocolObject<dyn NSLayoutManagerDelegate>>>
pub unsafe fn delegate( &self, ) -> Option<Retained<ProtocolObject<dyn NSLayoutManagerDelegate>>>
************************** Delegate ***************************
Sourcepub unsafe fn setDelegate(
&self,
delegate: Option<&ProtocolObject<dyn NSLayoutManagerDelegate>>,
)
pub unsafe fn setDelegate( &self, delegate: Option<&ProtocolObject<dyn NSLayoutManagerDelegate>>, )
This is a weak property.
Setter for delegate
.
Sourcepub unsafe fn showsInvisibleCharacters(&self) -> bool
pub unsafe fn showsInvisibleCharacters(&self) -> bool
********************* Global layout manager options **********************
Sourcepub unsafe fn setShowsInvisibleCharacters(
&self,
shows_invisible_characters: bool,
)
pub unsafe fn setShowsInvisibleCharacters( &self, shows_invisible_characters: bool, )
Setter for showsInvisibleCharacters
.
pub unsafe fn showsControlCharacters(&self) -> bool
Sourcepub unsafe fn setShowsControlCharacters(&self, shows_control_characters: bool)
pub unsafe fn setShowsControlCharacters(&self, shows_control_characters: bool)
Setter for showsControlCharacters
.
pub unsafe fn usesDefaultHyphenation(&self) -> bool
Sourcepub unsafe fn setUsesDefaultHyphenation(&self, uses_default_hyphenation: bool)
pub unsafe fn setUsesDefaultHyphenation(&self, uses_default_hyphenation: bool)
Setter for usesDefaultHyphenation
.
pub unsafe fn usesFontLeading(&self) -> bool
Sourcepub unsafe fn setUsesFontLeading(&self, uses_font_leading: bool)
pub unsafe fn setUsesFontLeading(&self, uses_font_leading: bool)
Setter for usesFontLeading
.
pub unsafe fn allowsNonContiguousLayout(&self) -> bool
Sourcepub unsafe fn setAllowsNonContiguousLayout(
&self,
allows_non_contiguous_layout: bool,
)
pub unsafe fn setAllowsNonContiguousLayout( &self, allows_non_contiguous_layout: bool, )
Setter for allowsNonContiguousLayout
.
pub unsafe fn hasNonContiguousLayout(&self) -> bool
pub unsafe fn limitsLayoutForSuspiciousContents(&self) -> bool
Sourcepub unsafe fn setLimitsLayoutForSuspiciousContents(
&self,
limits_layout_for_suspicious_contents: bool,
)
pub unsafe fn setLimitsLayoutForSuspiciousContents( &self, limits_layout_for_suspicious_contents: bool, )
Setter for limitsLayoutForSuspiciousContents
.
pub unsafe fn backgroundLayoutEnabled(&self) -> bool
Sourcepub unsafe fn setBackgroundLayoutEnabled(&self, background_layout_enabled: bool)
pub unsafe fn setBackgroundLayoutEnabled(&self, background_layout_enabled: bool)
Setter for backgroundLayoutEnabled
.
pub unsafe fn defaultAttachmentScaling(&self) -> NSImageScaling
NSCell
only.Sourcepub unsafe fn setDefaultAttachmentScaling(
&self,
default_attachment_scaling: NSImageScaling,
)
Available on crate feature NSCell
only.
pub unsafe fn setDefaultAttachmentScaling( &self, default_attachment_scaling: NSImageScaling, )
NSCell
only.Setter for defaultAttachmentScaling
.
Sourcepub unsafe fn typesetter(&self) -> Retained<NSTypesetter>
Available on crate feature NSTypesetter
only.
pub unsafe fn typesetter(&self) -> Retained<NSTypesetter>
NSTypesetter
only.********************* Typesetter **********************
Sourcepub unsafe fn setTypesetter(&self, typesetter: &NSTypesetter)
Available on crate feature NSTypesetter
only.
pub unsafe fn setTypesetter(&self, typesetter: &NSTypesetter)
NSTypesetter
only.Setter for typesetter
.
pub unsafe fn typesetterBehavior(&self) -> NSTypesetterBehavior
Sourcepub unsafe fn setTypesetterBehavior(
&self,
typesetter_behavior: NSTypesetterBehavior,
)
pub unsafe 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 *************************
pub unsafe fn invalidateLayoutForCharacterRange_actualCharacterRange( &self, char_range: NSRange, actual_char_range: NSRangePointer, )
pub unsafe fn invalidateDisplayForCharacterRange(&self, char_range: NSRange)
pub unsafe fn invalidateDisplayForGlyphRange(&self, glyph_range: NSRange)
pub unsafe 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 unsafe fn ensureGlyphsForCharacterRange(&self, char_range: NSRange)
pub unsafe fn ensureGlyphsForCharacterRange(&self, char_range: NSRange)
********************** Causing glyph generation and layout ***********************
pub unsafe fn ensureGlyphsForGlyphRange(&self, glyph_range: NSRange)
pub unsafe fn ensureLayoutForCharacterRange(&self, char_range: NSRange)
pub unsafe fn ensureLayoutForGlyphRange(&self, glyph_range: NSRange)
pub unsafe fn ensureLayoutForTextContainer(&self, container: &NSTextContainer)
NSTextContainer
only.pub unsafe fn ensureLayoutForBoundingRect_inTextContainer( &self, bounds: NSRect, container: &NSTextContainer, )
NSTextContainer
only.Sourcepub unsafe fn setGlyphs_properties_characterIndexes_font_forGlyphRange(
&self,
glyphs: NonNull<CGGlyph>,
props: NonNull<NSGlyphProperty>,
char_indexes: NonNull<NSUInteger>,
a_font: &NSFont,
glyph_range: NSRange,
)
Available on crate feature NSFont
and crate feature objc2-core-graphics
and Apple only.
pub unsafe fn setGlyphs_properties_characterIndexes_font_forGlyphRange( &self, glyphs: NonNull<CGGlyph>, props: NonNull<NSGlyphProperty>, char_indexes: NonNull<NSUInteger>, a_font: &NSFont, glyph_range: NSRange, )
NSFont
and crate feature objc2-core-graphics
and Apple only.********************** Set glyphs and glyph properties ***********************
Sourcepub unsafe fn numberOfGlyphs(&self) -> NSUInteger
pub unsafe fn numberOfGlyphs(&self) -> NSUInteger
********************** Get glyphs and glyph properties ***********************
pub unsafe fn CGGlyphAtIndex_isValidIndex( &self, glyph_index: NSUInteger, is_valid_index: *mut Bool, ) -> CGGlyph
objc2-core-graphics
and Apple only.pub unsafe fn CGGlyphAtIndex(&self, glyph_index: NSUInteger) -> CGGlyph
objc2-core-graphics
and Apple only.pub unsafe fn isValidGlyphIndex(&self, glyph_index: NSUInteger) -> bool
pub unsafe fn propertyForGlyphAtIndex( &self, glyph_index: NSUInteger, ) -> NSGlyphProperty
pub unsafe fn characterIndexForGlyphAtIndex( &self, glyph_index: NSUInteger, ) -> NSUInteger
pub unsafe fn glyphIndexForCharacterAtIndex( &self, char_index: NSUInteger, ) -> NSUInteger
pub unsafe fn getGlyphsInRange_glyphs_properties_characterIndexes_bidiLevels( &self, glyph_range: NSRange, glyph_buffer: *mut CGGlyph, props: *mut NSGlyphProperty, char_index_buffer: *mut NSUInteger, bidi_level_buffer: *mut c_uchar, ) -> NSUInteger
objc2-core-graphics
and Apple only.pub unsafe fn setTextContainer_forGlyphRange( &self, container: &NSTextContainer, glyph_range: NSRange, )
NSTextContainer
only.pub unsafe fn setLineFragmentRect_forGlyphRange_usedRect( &self, fragment_rect: NSRect, glyph_range: NSRange, used_rect: NSRect, )
pub unsafe fn setExtraLineFragmentRect_usedRect_textContainer( &self, fragment_rect: NSRect, used_rect: NSRect, container: &NSTextContainer, )
NSTextContainer
only.pub unsafe fn setLocation_forStartOfGlyphRange( &self, location: NSPoint, glyph_range: NSRange, )
pub unsafe fn setNotShownAttribute_forGlyphAtIndex( &self, flag: bool, glyph_index: NSUInteger, )
pub unsafe fn setDrawsOutsideLineFragment_forGlyphAtIndex( &self, flag: bool, glyph_index: NSUInteger, )
pub unsafe 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 ***********************
pub unsafe fn firstUnlaidCharacterIndex(&self) -> NSUInteger
pub unsafe fn firstUnlaidGlyphIndex(&self) -> NSUInteger
pub unsafe fn textContainerForGlyphAtIndex_effectiveRange( &self, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, ) -> Option<Retained<NSTextContainer>>
NSTextContainer
only.pub unsafe fn textContainerForGlyphAtIndex_effectiveRange_withoutAdditionalLayout( &self, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, flag: bool, ) -> Option<Retained<NSTextContainer>>
NSTextContainer
only.pub unsafe fn usedRectForTextContainer( &self, container: &NSTextContainer, ) -> NSRect
NSTextContainer
only.pub unsafe fn lineFragmentRectForGlyphAtIndex_effectiveRange( &self, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, ) -> NSRect
pub unsafe fn lineFragmentRectForGlyphAtIndex_effectiveRange_withoutAdditionalLayout( &self, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, flag: bool, ) -> NSRect
pub unsafe fn lineFragmentUsedRectForGlyphAtIndex_effectiveRange( &self, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, ) -> NSRect
pub unsafe fn lineFragmentUsedRectForGlyphAtIndex_effectiveRange_withoutAdditionalLayout( &self, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, flag: bool, ) -> NSRect
pub unsafe fn extraLineFragmentRect(&self) -> NSRect
pub unsafe fn extraLineFragmentUsedRect(&self) -> NSRect
pub unsafe fn extraLineFragmentTextContainer( &self, ) -> Option<Retained<NSTextContainer>>
NSTextContainer
only.pub unsafe fn locationForGlyphAtIndex(&self, glyph_index: NSUInteger) -> NSPoint
pub unsafe fn notShownAttributeForGlyphAtIndex( &self, glyph_index: NSUInteger, ) -> bool
pub unsafe fn drawsOutsideLineFragmentForGlyphAtIndex( &self, glyph_index: NSUInteger, ) -> bool
pub unsafe fn attachmentSizeForGlyphAtIndex( &self, glyph_index: NSUInteger, ) -> NSSize
pub unsafe 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 ***********************
pub unsafe fn characterRangeForGlyphRange_actualGlyphRange( &self, glyph_range: NSRange, actual_glyph_range: NSRangePointer, ) -> NSRange
pub unsafe fn glyphRangeForTextContainer( &self, container: &NSTextContainer, ) -> NSRange
NSTextContainer
only.pub unsafe fn rangeOfNominallySpacedGlyphsContainingIndex( &self, glyph_index: NSUInteger, ) -> NSRange
pub unsafe fn boundingRectForGlyphRange_inTextContainer( &self, glyph_range: NSRange, container: &NSTextContainer, ) -> NSRect
NSTextContainer
only.pub unsafe fn glyphRangeForBoundingRect_inTextContainer( &self, bounds: NSRect, container: &NSTextContainer, ) -> NSRange
NSTextContainer
only.pub unsafe fn glyphRangeForBoundingRectWithoutAdditionalLayout_inTextContainer( &self, bounds: NSRect, container: &NSTextContainer, ) -> NSRange
NSTextContainer
only.pub unsafe fn glyphIndexForPoint_inTextContainer_fractionOfDistanceThroughGlyph( &self, point: NSPoint, container: &NSTextContainer, partial_fraction: *mut CGFloat, ) -> NSUInteger
NSTextContainer
and objc2-core-foundation
only.pub unsafe fn glyphIndexForPoint_inTextContainer( &self, point: NSPoint, container: &NSTextContainer, ) -> NSUInteger
NSTextContainer
only.pub unsafe fn fractionOfDistanceThroughGlyphForPoint_inTextContainer( &self, point: NSPoint, container: &NSTextContainer, ) -> CGFloat
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.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.pub unsafe fn enumerateLineFragmentsForGlyphRange_usingBlock( &self, glyph_range: NSRange, block: &DynBlock<dyn Fn(NSRect, NSRect, NonNull<NSTextContainer>, NSRange, NonNull<Bool>)>, )
NSTextContainer
and block2
only.pub unsafe 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 unsafe fn drawBackgroundForGlyphRange_atPoint(
&self,
glyphs_to_show: NSRange,
origin: NSPoint,
)
pub unsafe fn drawBackgroundForGlyphRange_atPoint( &self, glyphs_to_show: NSRange, origin: NSPoint, )
********************** Drawing support ***********************
pub unsafe fn drawGlyphsForGlyphRange_atPoint( &self, glyphs_to_show: NSRange, origin: NSPoint, )
pub unsafe fn showCGGlyphs_positions_count_font_textMatrix_attributes_inContext( &self, glyphs: NonNull<CGGlyph>, positions: NonNull<CGPoint>, glyph_count: NSInteger, font: &NSFont, text_matrix: CGAffineTransform, attributes: &NSDictionary<NSAttributedStringKey, AnyObject>, cg_context: &CGContext, )
NSFont
and crate feature objc2-core-foundation
and crate feature objc2-core-graphics
and Apple only.pub unsafe fn fillBackgroundRectArray_count_forCharacterRange_color( &self, rect_array: NonNull<NSRect>, rect_count: NSUInteger, char_range: NSRange, color: &NSColor, )
NSColor
only.pub unsafe 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 unsafe 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 unsafe 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 unsafe 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 unsafe fn showAttachmentCell_inRect_characterIndex( &self, cell: &NSCell, rect: NSRect, attachment_index: NSUInteger, )
NSCell
only.Sourcepub unsafe fn setLayoutRect_forTextBlock_glyphRange(
&self,
rect: NSRect,
block: &NSTextBlock,
glyph_range: NSRange,
)
Available on crate feature NSTextTable
only.
pub unsafe fn setLayoutRect_forTextBlock_glyphRange( &self, rect: NSRect, block: &NSTextBlock, glyph_range: NSRange, )
NSTextTable
only.************************ Block information *************************
pub unsafe fn setBoundsRect_forTextBlock_glyphRange( &self, rect: NSRect, block: &NSTextBlock, glyph_range: NSRange, )
NSTextTable
only.pub unsafe fn layoutRectForTextBlock_glyphRange( &self, block: &NSTextBlock, glyph_range: NSRange, ) -> NSRect
NSTextTable
only.pub unsafe fn boundsRectForTextBlock_glyphRange( &self, block: &NSTextBlock, glyph_range: NSRange, ) -> NSRect
NSTextTable
only.pub unsafe fn layoutRectForTextBlock_atIndex_effectiveRange( &self, block: &NSTextBlock, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, ) -> NSRect
NSTextTable
only.pub unsafe fn boundsRectForTextBlock_atIndex_effectiveRange( &self, block: &NSTextBlock, glyph_index: NSUInteger, effective_glyph_range: NSRangePointer, ) -> NSRect
NSTextTable
only.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 ***********************
pub unsafe fn setTemporaryAttributes_forCharacterRange( &self, attrs: &NSDictionary<NSAttributedStringKey, AnyObject>, char_range: NSRange, )
pub unsafe fn addTemporaryAttributes_forCharacterRange( &self, attrs: &NSDictionary<NSAttributedStringKey, AnyObject>, char_range: NSRange, )
pub unsafe fn removeTemporaryAttribute_forCharacterRange( &self, attr_name: &NSAttributedStringKey, char_range: NSRange, )
pub unsafe fn temporaryAttribute_atCharacterIndex_effectiveRange( &self, attr_name: &NSAttributedStringKey, location: NSUInteger, range: NSRangePointer, ) -> Option<Retained<AnyObject>>
pub unsafe fn temporaryAttribute_atCharacterIndex_longestEffectiveRange_inRange( &self, attr_name: &NSAttributedStringKey, location: NSUInteger, range: NSRangePointer, range_limit: NSRange, ) -> Option<Retained<AnyObject>>
pub unsafe fn temporaryAttributesAtCharacterIndex_longestEffectiveRange_inRange( &self, location: NSUInteger, range: NSRangePointer, range_limit: NSRange, ) -> Retained<NSDictionary<NSAttributedStringKey, AnyObject>>
pub unsafe fn addTemporaryAttribute_value_forCharacterRange( &self, attr_name: &NSAttributedStringKey, value: &AnyObject, char_range: NSRange, )
Sourcepub unsafe fn defaultLineHeightForFont(&self, the_font: &NSFont) -> CGFloat
Available on crate features NSFont
and objc2-core-foundation
only.
pub unsafe fn defaultLineHeightForFont(&self, the_font: &NSFont) -> CGFloat
NSFont
and objc2-core-foundation
only.***************************** Font metrics *****************************
pub unsafe 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 unsafe 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 unsafe 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 unsafe 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 unsafe fn layoutManagerOwnsFirstResponderInWindow(
&self,
window: &NSWindow,
) -> bool
Available on crate features NSResponder
and NSWindow
only.
pub unsafe fn layoutManagerOwnsFirstResponderInWindow( &self, window: &NSWindow, ) -> bool
NSResponder
and NSWindow
only.********************** First responder support ***********************
pub unsafe fn firstTextView( &self, mtm: MainThreadMarker, ) -> Option<Retained<NSTextView>>
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.Source§impl NSLayoutManager
NSLayoutManagerDeprecated.
impl NSLayoutManager
NSLayoutManagerDeprecated.
pub unsafe fn glyphAtIndex_isValidIndex( &self, glyph_index: NSUInteger, is_valid_index: *mut Bool, ) -> NSGlyph
NSFont
only.pub unsafe fn glyphAtIndex(&self, glyph_index: NSUInteger) -> NSGlyph
NSFont
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.pub unsafe fn rectArrayForGlyphRange_withinSelectedGlyphRange_inTextContainer_rectCount( &self, glyph_range: NSRange, sel_glyph_range: NSRange, container: &NSTextContainer, rect_count: NonNull<NSUInteger>, ) -> NSRectArray
NSTextContainer
only.pub unsafe fn usesScreenFonts(&self) -> bool
Sourcepub unsafe fn setUsesScreenFonts(&self, uses_screen_fonts: bool)
👎Deprecated
pub unsafe fn setUsesScreenFonts(&self, uses_screen_fonts: bool)
Setter for usesScreenFonts
.
pub unsafe fn substituteFontForFont( &self, original_font: &NSFont, ) -> Retained<NSFont>
NSFont
only.pub unsafe fn insertGlyphs_length_forStartingGlyphAtIndex_characterIndex( &self, glyphs: NonNull<NSGlyph>, length: NSUInteger, glyph_index: NSUInteger, char_index: NSUInteger, )
NSFont
only.pub unsafe fn insertGlyph_atGlyphIndex_characterIndex( &self, glyph: NSGlyph, glyph_index: NSUInteger, char_index: NSUInteger, )
NSFont
only.pub unsafe fn replaceGlyphAtIndex_withGlyph( &self, glyph_index: NSUInteger, new_glyph: NSGlyph, )
NSFont
only.pub unsafe fn deleteGlyphsInRange(&self, glyph_range: NSRange)
pub unsafe fn setCharacterIndex_forGlyphAtIndex( &self, char_index: NSUInteger, glyph_index: NSUInteger, )
pub unsafe fn setIntAttribute_value_forGlyphAtIndex( &self, attribute_tag: NSInteger, val: NSInteger, glyph_index: NSUInteger, )
pub unsafe fn invalidateGlyphsOnLayoutInvalidationForGlyphRange( &self, glyph_range: NSRange, )
pub unsafe fn intAttribute_forGlyphAtIndex( &self, attribute_tag: NSInteger, glyph_index: NSUInteger, ) -> NSInteger
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.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.pub unsafe fn getGlyphs_range( &self, glyph_array: *mut NSGlyph, glyph_range: NSRange, ) -> NSUInteger
NSFont
only.pub unsafe fn invalidateLayoutForCharacterRange_isSoft_actualCharacterRange( &self, char_range: NSRange, flag: bool, actual_char_range: NSRangePointer, )
pub unsafe fn textStorage_edited_range_changeInLength_invalidatedRange( &self, str: &NSTextStorage, edited_mask: NSTextStorageEditedOptions, new_char_range: NSRange, delta: NSInteger, invalidated_char_range: NSRange, )
NSTextStorage
only.pub unsafe fn setLocations_startingGlyphIndexes_count_forGlyphRange( &self, locations: NSPointArray, glyph_indexes: NonNull<NSUInteger>, count: NSUInteger, glyph_range: NSRange, )
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.pub unsafe fn showCGGlyphs_positions_count_font_matrix_attributes_inContext( &self, glyphs: NonNull<CGGlyph>, positions: NonNull<NSPoint>, glyph_count: NSUInteger, font: &NSFont, text_matrix: &NSAffineTransform, attributes: &NSDictionary<NSAttributedStringKey, AnyObject>, graphics_context: &NSGraphicsContext, )
NSFont
and crate feature NSGraphicsContext
and crate feature objc2-core-graphics
and Apple only.pub unsafe fn hyphenationFactor(&self) -> c_float
Sourcepub unsafe fn setHyphenationFactor(&self, hyphenation_factor: c_float)
👎Deprecated: Please use usesDefaultHyphenation or -[NSParagraphStyle hyphenationFactor] instead.
pub unsafe fn setHyphenationFactor(&self, hyphenation_factor: c_float)
Setter for hyphenationFactor
.
Source§impl NSLayoutManager
NSGlyphGeneration.
impl NSLayoutManager
NSGlyphGeneration.
pub unsafe fn glyphGenerator(&self) -> Retained<NSGlyphGenerator>
NSGlyphGenerator
only.Sourcepub unsafe fn setGlyphGenerator(&self, glyph_generator: &NSGlyphGenerator)
Available on crate feature NSGlyphGenerator
only.
pub unsafe 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 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§unsafe fn setIntAttribute_value_forGlyphAtIndex(
&self,
attribute_tag: NSInteger,
val: NSInteger,
glyph_index: NSUInteger,
)
unsafe fn setIntAttribute_value_forGlyphAtIndex( &self, attribute_tag: NSInteger, val: NSInteger, glyph_index: NSUInteger, )
NSGlyphGenerator
only.Source§unsafe fn attributedString(&self) -> Retained<NSAttributedString>
unsafe fn attributedString(&self) -> Retained<NSAttributedString>
NSGlyphGenerator
only.Source§unsafe fn layoutOptions(&self) -> NSUInteger
unsafe 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