public static final class CursorAnchorInfo.Builder extends Object
CursorAnchorInfo
. This class is not designed to be thread-safe.Constructor and Description |
---|
Builder() |
Modifier and Type | Method and Description |
---|---|
CursorAnchorInfo.Builder |
addCharacterBounds(int index,
float left,
float top,
float right,
float bottom,
int flags)
Adds the bounding box of the character specified with the index.
|
CursorAnchorInfo |
build() |
void |
reset()
Resets the internal state so that this instance can be reused to build another
instance of
CursorAnchorInfo . |
CursorAnchorInfo.Builder |
setComposingText(int composingTextStart,
CharSequence composingText)
Sets the text range of the composing text.
|
CursorAnchorInfo.Builder |
setInsertionMarkerLocation(float horizontalPosition,
float lineTop,
float lineBaseline,
float lineBottom,
int flags)
Sets the location of the text insertion point (zero width cursor) as a rectangle in
local coordinates.
|
CursorAnchorInfo.Builder |
setMatrix(Matrix matrix)
Sets the matrix that transforms local coordinates into screen coordinates.
|
CursorAnchorInfo.Builder |
setSelectionRange(int newStart,
int newEnd)
Sets the text range of the selection.
|
public CursorAnchorInfo.Builder setSelectionRange(int newStart, int newEnd)
public CursorAnchorInfo.Builder setComposingText(int composingTextStart, CharSequence composingText)
composingTextStart
- index where the composing text starts.composingText
- the entire composing text.public CursorAnchorInfo.Builder setInsertionMarkerLocation(float horizontalPosition, float lineTop, float lineBaseline, float lineBottom, int flags)
horizontalPosition
- horizontal position of the insertion marker, in the local
coordinates that will be transformed with the transformation matrix when rendered on the
screen. This should be calculated or compatible with
Layout.getPrimaryHorizontal(int)
.lineTop
- vertical position of the insertion marker, in the local coordinates that
will be transformed with the transformation matrix when rendered on the screen. This
should be calculated or compatible with Layout.getLineTop(int)
.lineBaseline
- vertical position of the insertion marker, in the local coordinates
that will be transformed with the transformation matrix when rendered on the screen. This
should be calculated or compatible with Layout.getLineBaseline(int)
.lineBottom
- vertical position of the insertion marker, in the local coordinates
that will be transformed with the transformation matrix when rendered on the screen. This
should be calculated or compatible with Layout.getLineBottom(int)
.flags
- flags of the insertion marker. See CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION
for
example.public CursorAnchorInfo.Builder addCharacterBounds(int index, float left, float top, float right, float bottom, int flags)
index
- index of the character in Java chars units. Must be specified in
ascending order across successive calls.left
- x coordinate of the left edge of the character in local coordinates.top
- y coordinate of the top edge of the character in local coordinates.right
- x coordinate of the right edge of the character in local coordinates.bottom
- y coordinate of the bottom edge of the character in local coordinates.flags
- flags for this character bounds. See CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION
,
CursorAnchorInfo.FLAG_HAS_INVISIBLE_REGION
and CursorAnchorInfo.FLAG_IS_RTL
. These flags must be
specified when necessary.IllegalArgumentException
- If the index is a negative value, or not greater than
all of the previously called indices.public CursorAnchorInfo.Builder setMatrix(Matrix matrix)
matrix
- transformation matrix from local coordinates into screen coordinates. null
is interpreted as an identity matrix.public CursorAnchorInfo build()
CursorAnchorInfo
using parameters in this CursorAnchorInfo.Builder
.IllegalArgumentException
- if one or more positional parameters are specified but
the coordinate transformation matrix is not provided via setMatrix(Matrix)
.public void reset()
CursorAnchorInfo
.