NSLayoutManagerDelegate

Trait NSLayoutManagerDelegate 

Source
pub unsafe trait NSLayoutManagerDelegate: NSObjectProtocol {
    // Provided methods
    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

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 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
Source§

impl<T> ImplementedBy<T> for dyn NSLayoutManagerDelegate

Implementations on Foreign Types§

Source§

impl<T> NSLayoutManagerDelegate for ProtocolObject<T>

Implementors§