public final class CursorAnchorInfo extends Object implements Parcelable
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.
Modifier and Type | Class and Description |
---|---|
static class |
CursorAnchorInfo.Builder
Builder for
CursorAnchorInfo . |
Parcelable.ClassLoaderCreator<T>, Parcelable.Creator<T>
Modifier and Type | Field and Description |
---|---|
static Parcelable.Creator<CursorAnchorInfo> |
CREATOR
Used to make this class parcelable.
|
static int |
FLAG_HAS_INVISIBLE_REGION
Flag for
getInsertionMarkerFlags() and getCharacterBoundsFlags(int) : the
insertion marker or character bounds have at least one invisible (clipped) region. |
static int |
FLAG_HAS_VISIBLE_REGION
Flag for
getInsertionMarkerFlags() and getCharacterBoundsFlags(int) : the
insertion marker or character bounds have at least one visible region. |
static int |
FLAG_IS_RTL
Flag for
getInsertionMarkerFlags() and getCharacterBoundsFlags(int) : the
insertion marker or character bounds is placed at right-to-left (RTL) character. |
CONTENTS_FILE_DESCRIPTOR, PARCELABLE_ELIDE_DUPLICATES, PARCELABLE_WRITE_RETURN_VALUE
Constructor and Description |
---|
CursorAnchorInfo(Parcel source) |
Modifier and Type | Method and Description |
---|---|
int |
describeContents()
Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation.
|
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this one.
|
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 a hash code value for the object.
|
String |
toString()
Returns a string representation of the object.
|
void |
writeToParcel(Parcel dest,
int flags)
Used to package this object into a
Parcel . |
public static final int FLAG_HAS_VISIBLE_REGION
getInsertionMarkerFlags()
and getCharacterBoundsFlags(int)
: the
insertion marker or character bounds have at least one visible region.public static final int FLAG_HAS_INVISIBLE_REGION
getInsertionMarkerFlags()
and getCharacterBoundsFlags(int)
: the
insertion marker or character bounds have at least one invisible (clipped) region.public static final int FLAG_IS_RTL
getInsertionMarkerFlags()
and getCharacterBoundsFlags(int)
: the
insertion marker or character bounds is placed at right-to-left (RTL) character.public static final Parcelable.Creator<CursorAnchorInfo> CREATOR
public CursorAnchorInfo(Parcel source)
public void writeToParcel(Parcel dest, int flags)
Parcel
.writeToParcel
in interface Parcelable
dest
- The Parcel
to be written.flags
- The flags used for parceling.public int hashCode()
Object
HashMap
.
The general contract of hashCode
is:
hashCode
method
must consistently return the same integer, provided no information
used in equals
comparisons on the object is modified.
This integer need not remain consistent from one execution of an
application to another execution of the same application.
equals(Object)
method, then calling the hashCode
method on each of
the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode
method on each of the
two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results
for unequal objects may improve the performance of hash tables.
As much as is reasonably practical, the hashCode method defined by
class Object
does return distinct integers for distinct
objects. (This is typically implemented by converting the internal
address of the object into an integer, but this implementation
technique is not required by the
JavaTM programming language.)
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
Object
The equals
method implements an equivalence relation
on non-null object references:
x
, x.equals(x)
should return
true
.
x
and y
, x.equals(y)
should return true
if and only if
y.equals(x)
returns true
.
x
, y
, and z
, if
x.equals(y)
returns true
and
y.equals(z)
returns true
, then
x.equals(z)
should return true
.
x
and y
, multiple invocations of
x.equals(y)
consistently return true
or consistently return false
, provided no
information used in equals
comparisons on the
objects is modified.
x
,
x.equals(null)
should return false
.
The equals
method for class Object
implements
the most discriminating possible equivalence relation on objects;
that is, for any non-null reference values x
and
y
, this method returns true
if and only
if x
and y
refer to the same object
(x == y
has the value true
).
Note that it is generally necessary to override the hashCode
method whenever this method is overridden, so as to maintain the
general contract for the hashCode
method, which states
that equal objects must have equal hash codes.
equals
in class Object
obj
- the reference object with which to compare.true
if this object is the same as the obj
argument; false
otherwise.Object.hashCode()
,
HashMap
public String toString()
Object
toString
method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@
', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
public int getSelectionStart()
-1
if there is no selection.public int getSelectionEnd()
-1
if there is no selection.public int getComposingTextStart()
-1
if there is no composing text.public CharSequence getComposingText()
null
if there is no composition.public int getInsertionMarkerFlags()
0
if no flag is specified.public float getInsertionMarkerHorizontal()
getMatrix()
when rendered on the screen.Layout.getPrimaryHorizontal(int)
.
Pay special care to RTL/LTR handling.
java.lang.Float.NaN
if not specified.Layout.getPrimaryHorizontal(int)
public float getInsertionMarkerTop()
getMatrix()
when rendered on the screen.Layout.getLineTop(int)
.
java.lang.Float.NaN
if not specified.public float getInsertionMarkerBaseline()
getMatrix()
when rendered on the screen.Layout.getLineBaseline(int)
.
java.lang.Float.NaN
if not specified.public float getInsertionMarkerBottom()
getMatrix()
when rendered on the screen.Layout.getLineBottom(int)
.
java.lang.Float.NaN
if not specified.public RectF getCharacterBounds(int index)
RectF
that indicates the location of the character
specified with the index.index
- index of the character in a Java chars.RectF
.public int getCharacterBoundsFlags(int index)
index
- index of the character in a Java chars.0
if no flag is specified.public Matrix getMatrix()
Matrix
that indicates the transformation
matrix that is to be applied other positional data in this class.public int describeContents()
Parcelable
Parcelable.writeToParcel(Parcel, int)
,
the return value of this method must include the
Parcelable.CONTENTS_FILE_DESCRIPTOR
bit.describeContents
in interface Parcelable
Parcelable.CONTENTS_FILE_DESCRIPTOR