InputMethodRequests defines the requests that a text editing node
has to handle in order to work with input methods. The node can
implement this interface itself or use a separate object that
implements it. The object implementing this interface must be
returned from the node's getInputMethodRequests method.
Gets the location of a specified offset in the current composed text,
or of the selection in committed text. This information is, for example,
used to position the candidate window near the composed text, or a
composition window near the location where committed text will be
offset - the offset within the composed text, if there is
composed text; null otherwise
a point representing the screen location of the offset
Gets the offset within the composed text for the specified absolute x
and y coordinates on the screen. This information is used, for example
to handle mouse clicks and the mouse cursor. The offset is relative to
the composed text, so offset 0 indicates the beginning of the composed
Gets the latest committed text from the text editing node and removes
it from the node's text body. This is used for the "Undo Commit"
feature in some input methods, where the committed text reverts to
its previous composed state. The composed text will be sent to the
node using an InputMethodEvent.
Gets the currently selected text from the text editing node. This may
be used for a variety of purposes. One of them is the "Reconvert"
feature in some input methods. In this case, the input method will
typically send an input method event to replace the selected text
with composed text. Depending on the input method's capabilities,
this may be the original composed text for the selected text, the
latest composed text entered anywhere in the text, or a version of
the text that's converted back from the selected text.
the latest committed text, or null when the "Undo Commit"
feature is not supported