Android APIs
public final class

CursorAnchorInfo

extends Object
implements Parcelable
java.lang.Object
   ↳ android.view.inputmethod.CursorAnchorInfo

Class Overview

Positional information about the text insertion point and characters in the composition string.

This class encapsulates locations of the text insertion point and the composition string in the screen coordinates so that IMEs can render their UI components near where the text is actually inserted.

Summary

Nested Classes
class CursorAnchorInfo.Builder Builder for CursorAnchorInfo
Constants
int FLAG_HAS_INVISIBLE_REGION Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the insertion marker or character bounds have at least one invisible (clipped) region.
int FLAG_HAS_VISIBLE_REGION Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the insertion marker or character bounds have at least one visible region.
int FLAG_IS_RTL Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the insertion marker or character bounds is placed at right-to-left (RTL) character.
[Expand]
Inherited Constants
From interface android.os.Parcelable
Fields
public static final Creator<CursorAnchorInfo> CREATOR Used to make this class parcelable.
Public Constructors
CursorAnchorInfo(Parcel source)
Public Methods
int describeContents()
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
boolean equals(Object obj)
Compares this instance with the specified object and indicates if they are equal.
RectF getCharacterBounds(int index)
Returns a new instance of RectF that indicates the location of the character specified with the index.
int getCharacterBoundsFlags(int index)
Returns the flags associated with the character bounds specified with the index.
CharSequence getComposingText()
Returns the entire composing text.
int getComposingTextStart()
Returns the index where the composing text starts.
float getInsertionMarkerBaseline()
Returns the vertical baseline position of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.
float getInsertionMarkerBottom()
Returns the vertical bottom position of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.
int getInsertionMarkerFlags()
Returns the flag of the insertion marker.
float getInsertionMarkerHorizontal()
Returns the horizontal start of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.
float getInsertionMarkerTop()
Returns the vertical top position of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.
Matrix getMatrix()
Returns a new instance of Matrix that indicates the transformation matrix that is to be applied other positional data in this class.
int getSelectionEnd()
Returns the index where the selection ends.
int getSelectionStart()
Returns the index where the selection starts.
int hashCode()
Returns an integer hash code for this object.
String toString()
Returns a string containing a concise, human-readable description of this object.
void writeToParcel(Parcel dest, int flags)
Used to package this object into a Parcel.
[Expand]
Inherited Methods
From class java.lang.Object
From interface android.os.Parcelable

Constants

public static final int FLAG_HAS_INVISIBLE_REGION

Added in API level 21

Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the insertion marker or character bounds have at least one invisible (clipped) region.

Constant Value: 2 (0x00000002)

public static final int FLAG_HAS_VISIBLE_REGION

Added in API level 21

Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the insertion marker or character bounds have at least one visible region.

Constant Value: 1 (0x00000001)

public static final int FLAG_IS_RTL

Added in API level 21

Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the insertion marker or character bounds is placed at right-to-left (RTL) character.

Constant Value: 4 (0x00000004)

Fields

public static final Creator<CursorAnchorInfo> CREATOR

Added in API level 21

Used to make this class parcelable.

Public Constructors

public CursorAnchorInfo (Parcel source)

Added in API level 21

Public Methods

public int describeContents ()

Added in API level 21

Describe the kinds of special objects contained in this Parcelable's marshalled representation.

Returns
  • a bitmask indicating the set of special object types marshalled by the Parcelable.

public boolean equals (Object obj)

Added in API level 21

Compares this instance with the specified object and indicates if they are equal. In order to be equal, o must represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be reflexive, symmetric, and transitive. Also, no object reference other than null is equal to null.

The default implementation returns true only if this == o. See Writing a correct equals method if you intend implementing your own equals method.

The general contract for the equals and hashCode() methods is that if equals returns true for any two objects, then hashCode() must return the same value for these objects. This means that subclasses of Object usually override either both methods or neither of them.

Parameters
obj the object to compare this instance with.
Returns
  • true if the specified object is equal to this Object; false otherwise.

public RectF getCharacterBounds (int index)

Added in API level 21

Returns a new instance of RectF that indicates the location of the character specified with the index.

Parameters
index index of the character in a Java chars.
Returns
  • the character bounds in local coordinates as a new instance of RectF.

public int getCharacterBoundsFlags (int index)

Added in API level 21

Returns the flags associated with the character bounds specified with the index.

Parameters
index index of the character in a Java chars.
Returns
  • 0 if no flag is specified.

public CharSequence getComposingText ()

Added in API level 21

Returns the entire composing text.

Returns
  • null if there is no composition.

public int getComposingTextStart ()

Added in API level 21

Returns the index where the composing text starts.

Returns
  • -1 if there is no composing text.

public float getInsertionMarkerBaseline ()

Added in API level 21

Returns the vertical baseline position of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.

Returns

public float getInsertionMarkerBottom ()

Added in API level 21

Returns the vertical bottom position of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.

Returns
  • y coordinate that is compatible with getLineBottom(int). java.lang.Float.NaN if not specified.

public int getInsertionMarkerFlags ()

Added in API level 21

Returns the flag of the insertion marker.

Returns
  • the flag of the insertion marker. 0 if no flag is specified.

public float getInsertionMarkerHorizontal ()

Added in API level 21

Returns the horizontal start of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.

Returns
  • x coordinate that is compatible with getPrimaryHorizontal(int). Pay special care to RTL/LTR handling. java.lang.Float.NaN if not specified.

public float getInsertionMarkerTop ()

Added in API level 21

Returns the vertical top position of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.

Returns
  • y coordinate that is compatible with getLineTop(int). java.lang.Float.NaN if not specified.

public Matrix getMatrix ()

Added in API level 21

Returns a new instance of Matrix that indicates the transformation matrix that is to be applied other positional data in this class.

Returns
  • a new instance (copy) of the transformation matrix.

public int getSelectionEnd ()

Added in API level 21

Returns the index where the selection ends.

Returns
  • -1 if there is no selection.

public int getSelectionStart ()

Added in API level 21

Returns the index where the selection starts.

Returns
  • -1 if there is no selection.

public int hashCode ()

Added in API level 21

Returns an integer hash code for this object. By contract, any two objects for which equals(Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

Note that hash values must not change over time unless information used in equals comparisons also changes.

See Writing a correct hashCode method if you intend implementing your own hashCode method.

Returns
  • this object's hash code.

public String toString ()

Added in API level 21

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:

   getClass().getName() + '@' + Integer.toHexString(hashCode())

See Writing a useful toString method if you intend implementing your own toString method.

Returns
  • a printable representation of this object.

public void writeToParcel (Parcel dest, int flags)

Added in API level 21

Used to package this object into a Parcel.

Parameters
dest The Parcel to be written.
flags The flags used for parceling.