Skip to main content

NSLayoutManagerDelegate

Trait NSLayoutManagerDelegate 

Source
pub unsafe trait NSLayoutManagerDelegate: NSObjectProtocol {
Show 13 methods // Provided methods unsafe fn layoutManager_shouldGenerateGlyphs_properties_characterIndexes_font_forGlyphRange( &self, layout_manager: &NSLayoutManager, glyphs: NonNull<CGGlyph>, props: NonNull<NSGlyphProperty>, char_indexes: NonNull<NSUInteger>, a_font: &NSFont, glyph_range: NSRange, ) -> NSUInteger where Self: Sized + Message { ... } fn layoutManager_lineSpacingAfterGlyphAtIndex_withProposedLineFragmentRect( &self, layout_manager: &NSLayoutManager, glyph_index: NSUInteger, rect: NSRect, ) -> CGFloat where Self: Sized + Message { ... } fn layoutManager_paragraphSpacingBeforeGlyphAtIndex_withProposedLineFragmentRect( &self, layout_manager: &NSLayoutManager, glyph_index: NSUInteger, rect: NSRect, ) -> CGFloat where Self: Sized + Message { ... } fn layoutManager_paragraphSpacingAfterGlyphAtIndex_withProposedLineFragmentRect( &self, layout_manager: &NSLayoutManager, glyph_index: NSUInteger, rect: NSRect, ) -> CGFloat where Self: Sized + Message { ... } fn layoutManager_shouldUseAction_forControlCharacterAtIndex( &self, layout_manager: &NSLayoutManager, action: NSControlCharacterAction, char_index: NSUInteger, ) -> NSControlCharacterAction where Self: Sized + Message { ... } fn layoutManager_shouldBreakLineByWordBeforeCharacterAtIndex( &self, layout_manager: &NSLayoutManager, char_index: NSUInteger, ) -> bool where Self: Sized + Message { ... } fn layoutManager_shouldBreakLineByHyphenatingBeforeCharacterAtIndex( &self, layout_manager: &NSLayoutManager, char_index: NSUInteger, ) -> bool where Self: Sized + Message { ... } fn layoutManager_boundingBoxForControlGlyphAtIndex_forTextContainer_proposedLineFragment_glyphPosition_characterIndex( &self, layout_manager: &NSLayoutManager, glyph_index: NSUInteger, text_container: &NSTextContainer, proposed_rect: NSRect, glyph_position: NSPoint, char_index: NSUInteger, ) -> NSRect where Self: Sized + Message { ... } unsafe fn layoutManager_shouldSetLineFragmentRect_lineFragmentUsedRect_baselineOffset_inTextContainer_forGlyphRange( &self, layout_manager: &NSLayoutManager, line_fragment_rect: NonNull<NSRect>, line_fragment_used_rect: NonNull<NSRect>, baseline_offset: NonNull<CGFloat>, text_container: &NSTextContainer, glyph_range: NSRange, ) -> bool where Self: Sized + Message { ... } fn layoutManagerDidInvalidateLayout(&self, sender: &NSLayoutManager) where Self: Sized + Message { ... } fn layoutManager_didCompleteLayoutForTextContainer_atEnd( &self, layout_manager: &NSLayoutManager, text_container: Option<&NSTextContainer>, layout_finished_flag: bool, ) where Self: Sized + Message { ... } fn layoutManager_textContainer_didChangeGeometryFromSize( &self, layout_manager: &NSLayoutManager, text_container: &NSTextContainer, old_size: NSSize, ) where Self: Sized + Message { ... } unsafe fn layoutManager_shouldUseTemporaryAttributes_forDrawingToScreen_atCharacterIndex_effectiveRange( &self, layout_manager: &NSLayoutManager, attrs: &NSDictionary<NSAttributedStringKey, AnyObject>, to_screen: bool, char_index: NSUInteger, effective_char_range: NSRangePointer, ) -> Option<Retained<NSDictionary<NSAttributedStringKey, AnyObject>>> where Self: Sized + Message { ... }
}
Available on crate feature NSLayoutManager only.
Expand description

Provided Methods§

Source

unsafe fn layoutManager_shouldGenerateGlyphs_properties_characterIndexes_font_forGlyphRange( &self, layout_manager: &NSLayoutManager, glyphs: NonNull<CGGlyph>, props: NonNull<NSGlyphProperty>, char_indexes: NonNull<NSUInteger>, a_font: &NSFont, glyph_range: NSRange, ) -> NSUInteger
where Self: Sized + Message,

Available on Apple and crate feature NSFont and crate feature objc2-core-graphics only.

********************** Glyph generation ***********************

§Safety
  • glyphs must be a valid pointer.
  • props must be a valid pointer.
  • char_indexes must be a valid pointer.
Source

fn layoutManager_lineSpacingAfterGlyphAtIndex_withProposedLineFragmentRect( &self, layout_manager: &NSLayoutManager, glyph_index: NSUInteger, rect: NSRect, ) -> CGFloat
where Self: Sized + Message,

Available on crate feature objc2-core-foundation only.

********************** Line layout ***********************

Source

fn layoutManager_paragraphSpacingBeforeGlyphAtIndex_withProposedLineFragmentRect( &self, layout_manager: &NSLayoutManager, glyph_index: NSUInteger, rect: NSRect, ) -> CGFloat
where Self: Sized + Message,

Available on crate feature objc2-core-foundation only.
Source

fn layoutManager_paragraphSpacingAfterGlyphAtIndex_withProposedLineFragmentRect( &self, layout_manager: &NSLayoutManager, glyph_index: NSUInteger, rect: NSRect, ) -> CGFloat
where Self: Sized + Message,

Available on crate feature objc2-core-foundation only.
Source

fn layoutManager_shouldUseAction_forControlCharacterAtIndex( &self, layout_manager: &NSLayoutManager, action: NSControlCharacterAction, char_index: NSUInteger, ) -> NSControlCharacterAction
where Self: Sized + Message,

Source

fn layoutManager_shouldBreakLineByWordBeforeCharacterAtIndex( &self, layout_manager: &NSLayoutManager, char_index: NSUInteger, ) -> bool
where Self: Sized + Message,

Source

fn layoutManager_shouldBreakLineByHyphenatingBeforeCharacterAtIndex( &self, layout_manager: &NSLayoutManager, char_index: NSUInteger, ) -> bool
where Self: Sized + Message,

Source

fn layoutManager_boundingBoxForControlGlyphAtIndex_forTextContainer_proposedLineFragment_glyphPosition_characterIndex( &self, layout_manager: &NSLayoutManager, glyph_index: NSUInteger, text_container: &NSTextContainer, proposed_rect: NSRect, glyph_position: NSPoint, char_index: NSUInteger, ) -> NSRect
where Self: Sized + Message,

Available on crate feature NSTextContainer only.
Source

unsafe fn layoutManager_shouldSetLineFragmentRect_lineFragmentUsedRect_baselineOffset_inTextContainer_forGlyphRange( &self, layout_manager: &NSLayoutManager, line_fragment_rect: NonNull<NSRect>, line_fragment_used_rect: NonNull<NSRect>, baseline_offset: NonNull<CGFloat>, text_container: &NSTextContainer, glyph_range: NSRange, ) -> bool
where Self: Sized + Message,

Available on crate features NSTextContainer and objc2-core-foundation only.
§Safety
  • line_fragment_rect must be a valid pointer.
  • line_fragment_used_rect must be a valid pointer.
  • baseline_offset must be a valid pointer.
Source

fn layoutManagerDidInvalidateLayout(&self, sender: &NSLayoutManager)
where Self: Sized + Message,

********************** Layout processing ***********************

Source

fn layoutManager_didCompleteLayoutForTextContainer_atEnd( &self, layout_manager: &NSLayoutManager, text_container: Option<&NSTextContainer>, layout_finished_flag: bool, )
where Self: Sized + Message,

Available on crate feature NSTextContainer only.
Source

fn layoutManager_textContainer_didChangeGeometryFromSize( &self, layout_manager: &NSLayoutManager, text_container: &NSTextContainer, old_size: NSSize, )
where Self: Sized + Message,

Available on crate feature NSTextContainer only.
Source

unsafe fn layoutManager_shouldUseTemporaryAttributes_forDrawingToScreen_atCharacterIndex_effectiveRange( &self, layout_manager: &NSLayoutManager, attrs: &NSDictionary<NSAttributedStringKey, AnyObject>, to_screen: bool, char_index: NSUInteger, effective_char_range: NSRangePointer, ) -> Option<Retained<NSDictionary<NSAttributedStringKey, AnyObject>>>
where Self: Sized + Message,

§Safety
  • attrs generic should be of the correct type.
  • effective_char_range must be a valid pointer or null.

Trait Implementations§

Source§

impl<T> ImplementedBy<T> for dyn NSLayoutManagerDelegate

Source§

impl ProtocolType for dyn NSLayoutManagerDelegate

Source§

const NAME: &'static str = "NSLayoutManagerDelegate"

The name of the Objective-C protocol that this type represents. Read more
Source§

fn protocol() -> Option<&'static AnyProtocol>

Get a reference to the Objective-C protocol object that this type represents. Read more

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T> NSLayoutManagerDelegate for ProtocolObject<T>

Implementors§