Cursor API
Deletes a single character from position pointed by given cursor.
void efl_text_cursor_char_delete(Eo *obj, Efl_Text_Cursor_Cursor *cur);
Advances to the next character
void efl_text_cursor_char_next(Eo *obj, Efl_Text_Cursor_Cursor *cur);
Advances to the previous character
void efl_text_cursor_char_prev(Eo *obj, Efl_Text_Cursor_Cursor *cur);
Set cursor coordinates according to grapheme clusters. It does not allow to put a cursor to the middle of a grapheme cluster.
void efl_text_cursor_cluster_coord_set(Eo *obj, Efl_Text_Cursor_Cursor *cur, int x, int y);
Advances to the next grapheme cluster
void efl_text_cursor_cluster_next(Eo *obj, Efl_Text_Cursor_Cursor *cur);
Advances to the previous grapheme cluster
void efl_text_cursor_cluster_prev(Eo *obj, Efl_Text_Cursor_Cursor *cur);
Compare two cursors
int efl_text_cursor_compare(Eo *obj, const Efl_Text_Cursor_Cursor *cur1, const Efl_Text_Cursor_Cursor *cur2);
cursor_content (get)
Eina_Unicode efl_text_cursor_content_get(const Eo *obj, const Efl_Text_Cursor_Cursor *cur);
Set cursor coordinates
void efl_text_cursor_coord_set(Eo *obj, Efl_Text_Cursor_Cursor *cur, int x, int y);
Copy existing cursor
void efl_text_cursor_copy(Eo *obj, Efl_Text_Cursor_Cursor *dst, const Efl_Text_Cursor_Cursor *src);
Check if two cursors are equal
Eina_Bool efl_text_cursor_equal(Eo *obj, const Efl_Text_Cursor_Cursor *cur1, const Efl_Text_Cursor_Cursor *cur2);
Free existing cursor
void efl_text_cursor_free(Eo *obj, Efl_Text_Cursor_Cursor *cur);
cursor_geometry (get)
Eina_Bool efl_text_cursor_geometry_get(const Eo *obj, const Efl_Text_Cursor_Cursor *cur, Efl_Text_Cursor_Type ctype, int *cx, int *cy, int *cw, int *ch, int *cx2, int *cy2, int *cw2, int *ch2);
Advance to current line first character
void efl_text_cursor_line_char_first(Eo *obj, Efl_Text_Cursor_Cursor *cur);
Advance to current line last character
void efl_text_cursor_line_char_last(Eo *obj, Efl_Text_Cursor_Cursor *cur);
Jump the cursor by the given number of lines
void efl_text_cursor_line_jump_by(Eo *obj, Efl_Text_Cursor_Cursor *cur, int by);
Create new cursor
Efl_Text_Cursor_Cursor *efl_text_cursor_new(Eo *obj);
Advances to the first character in this paragraph
void efl_text_cursor_paragraph_char_first(Eo *obj, Efl_Text_Cursor_Cursor *cur);
Advances to the last character in this paragraph
void efl_text_cursor_paragraph_char_last(Eo *obj, Efl_Text_Cursor_Cursor *cur);
Advance to current paragraph first character
void efl_text_cursor_paragraph_first(Eo *obj, Efl_Text_Cursor_Cursor *cur);
Advance to current paragraph last character
void efl_text_cursor_paragraph_last(Eo *obj, Efl_Text_Cursor_Cursor *cur);
Advances to the start of the next text node
void efl_text_cursor_paragraph_next(Eo *obj, Efl_Text_Cursor_Cursor *cur);
Advances to the end of the previous text node
void efl_text_cursor_paragraph_prev(Eo *obj, Efl_Text_Cursor_Cursor *cur);
cursor_position (get, set)
Cursor position
int efl_text_cursor_position_get(const Eo *obj, Efl_Text_Cursor_Cursor *cur); void efl_text_cursor_position_set(Eo *obj, Efl_Text_Cursor_Cursor *cur, int position);
Adds text to the current cursor position and set the cursor to *after* the start of the text just added.
int efl_text_cursor_text_insert(Eo *obj, Efl_Text_Cursor_Cursor *cur, const char *text);
Advance to current word end
void efl_text_cursor_word_end(Eo *obj, Efl_Text_Cursor_Cursor *cur);
Advance to current word start
void efl_text_cursor_word_start(Eo *obj, Efl_Text_Cursor_Cursor *cur);
text_cursor (get)
Efl_Text_Cursor_Cursor *efl_text_cursor_get(const Eo *obj, Efl_Text_Cursor_Get_Type get_type);