lineFragmentUsedRect(forGlyphAt:effectiveRange:)
Returns the usage rectangle for the line fragment and (optionally) returns the entire range of glyphs in that fragment.
Declaration
func lineFragmentUsedRect(forGlyphAt glyphIndex: Int, effectiveRange effectiveGlyphRange: NSRangePointer?) -> CGRectParameters
- glyphIndex:
The glyph for which to return the line fragment used rectangle.
- effectiveGlyphRange:
If not
NULL, on output, the range for all glyphs in the line fragment.
Return Value
The used rectangle for the line fragment in which the given glyph is laid out.
Discussion
This method causes glyph generation and layout for the line fragment containing the specified glyph, or if noncontiguous layout is not enabled, up to and including that line fragment.
Line fragment used rectangles are always in container coordinates.
Overriding this method is not recommended. If the line fragment used rectangle needs to be modified, that should be done at the typesetter level or by calling setLineFragmentRect(_:forGlyphRange:usedRect:).
See Also
Related Documentation
Getting layout information
attachmentSize(forGlyphAt:)drawsOutsideLineFragment(forGlyphAt:)extraLineFragmentRectextraLineFragmentTextContainerextraLineFragmentUsedRectfirstUnlaidCharacterIndex()firstUnlaidGlyphIndex()getFirstUnlaidCharacterIndex(_:glyphIndex:)lineFragmentRect(forGlyphAt:effectiveRange:)lineFragmentRect(forGlyphAt:effectiveRange:withoutAdditionalLayout:)lineFragmentUsedRect(forGlyphAt:effectiveRange:withoutAdditionalLayout:)location(forGlyphAt:)notShownAttribute(forGlyphAt:)truncatedGlyphRange(inLineFragmentForGlyphAt:)