Contents

getLineFragmentInsertionPoints(forCharacterAt:alternatePositions:inDisplayOrder:positions:characterIndexes:)

Returns insertion points in bulk for a specified line fragment.

Declaration

func getLineFragmentInsertionPoints(forCharacterAt charIndex: Int, alternatePositions aFlag: Bool, inDisplayOrder dFlag: Bool, positions: UnsafeMutablePointer<CGFloat>?, characterIndexes charIndexes: UnsafeMutablePointer<Int>?) -> Int

Parameters

  • charIndex:

    The character index of one character within the line fragment.

  • aFlag:

    If True, returns alternate, rather than primary, insertion points.

  • dFlag:

    If True, returns insertion points in display, rather than logical, order.

  • positions:

    On output, the positions of the insertion points, in the order specified.

  • charIndexes:

    On output, the indexes of the characters corresponding to the returned insertion points.

Return Value

The number of insertion points returned.

Discussion

The method allows clients to obtain all insertion points for a line fragment in one call. Each pointer passed in should either be NULL or else point to sufficient memory to hold as many elements as there are insertion points in the line fragment (which cannot be more than the number of characters + 1). The returned positions indicate a transverse offset relative to the line fragment rectangle’s origin. Internal caching is used to ensure that repeated calls to this method for the same line fragment (possibly with differing values for other arguments) are not significantly more expensive than a single call.

See Also

Performing advanced layout queries