image_idx = (image_idx + 1) % IMAGES_SZ;
efl_text_cursor_item_insert(en,
- efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN),
+ efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_TYPE_MAIN),
images[image_idx], "size=32x32");
printf("Inserted image: key = %s\n", images[image_idx]);
}
_on_factory_bt_emoticon_clicked(void *data, const Efl_Event *event EINA_UNUSED)
{
Evas_Object *en = data;
- efl_text_cursor_item_insert(en, efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN),
+ efl_text_cursor_item_insert(en, efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_TYPE_MAIN),
"emoticon/evil-laugh", "size=32x32");
}
efl_text_font_set(en, "Sans", 14);
efl_text_normal_color_set(en, 255, 255, 255, 255);
- main_cur = efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN);
+ main_cur = efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
cur = efl_text_cursor_new(en);
efl_text_cursor_position_set(en, cur, 2);
edje_object_part_text_cursor_geometry_get(const Edje_Object *obj, const char * part, int *x, int *y, int *w, int *h)
{
efl_text_cursor_geometry_get(efl_part(obj, part),
- efl_text_cursor_get(efl_part(obj, part), EFL_TEXT_CURSOR_GET_MAIN),
+ efl_text_cursor_get(efl_part(obj, part), EFL_TEXT_CURSOR_GET_TYPE_MAIN),
EFL_TEXT_CURSOR_TYPE_BEFORE,
x, y, w, h, NULL, NULL, NULL, NULL
);
enum Efl.Text_Cursor_Get_Type {
[[All available cursor states]]
- legacy: efl_text_cursor_get;
default = 0, [[Main cursor state (alias to "main")]]
main, [[Main cursor state]]
selection_begin, [[Selection begin cursor state]]
enum Efl.Text_Cursor_Type
{
[[Text cursor types]]
- legacy: efl_text_cursor_type;
before, [[Cursor type before]]
under [[Cursor type under]]
}
@since 1.18
]]
get {
- legacy: null;
return: ptr(Efl.Text_Cursor_Cursor); [[Text cursor object]]
}
keys {
}
@property cursor_position {
[[Cursor position]]
- set { legacy: null; }
- get { legacy: null; }
+ set { }
+ get { }
values {
position: int; [[Cursor position]]
}
@property cursor_content {
[[The content of the cursor (the character under the cursor)]]
get {
- legacy: null;
}
values {
content: Eina.Unicode; [[The unicode codepoint of the character]]
In this case $true is returned and $cx2, $cy2, $cw2, $ch2 are set.
]]
get {
- legacy: null;
return: bool; [[ $true if split cursor, $false otherwise.]]
}
keys {
}
cursor_new {
[[Create new cursor]]
- legacy: null;
return: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
cursor_free {
[[Free existing cursor]]
- legacy: null;
params {
cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_equal {
[[Check if two cursors are equal]]
- legacy: null;
params {
@cref cur1: Efl.Text_Cursor_Cursor; [[Cursor 1 object]]
@cref cur2: Efl.Text_Cursor_Cursor; [[Cursor 2 object]]
}
cursor_compare {
[[Compare two cursors]]
- legacy: null;
params {
@cref cur1: Efl.Text_Cursor_Cursor; [[Cursor 1 object]]
@cref cur2: Efl.Text_Cursor_Cursor; [[Cursor 2 object]]
}
cursor_copy {
[[Copy existing cursor]]
- legacy: null;
params {
/* @out */ dst: ptr(Efl.Text_Cursor_Cursor); [[Destination cursor]]
@cref src: Efl.Text_Cursor_Cursor; [[Source cursor]]
}
cursor_char_next {
[[Advances to the next character]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_char_prev {
[[Advances to the previous character]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_cluster_next {
[[Advances to the next grapheme cluster]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_cluster_prev {
[[Advances to the previous grapheme cluster]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_paragraph_char_first {
[[Advances to the first character in this paragraph]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_paragraph_char_last {
[[Advances to the last character in this paragraph]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_word_start {
[[Advance to current word start]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_word_end {
[[Advance to current word end]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_line_char_first {
[[Advance to current line first character]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_line_char_last {
[[Advance to current line last character]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_paragraph_first {
[[Advance to current paragraph first character]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_paragraph_last {
[[Advance to current paragraph last character]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_paragraph_next {
[[Advances to the start of the next text node]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_paragraph_prev {
[[Advances to the end of the previous text node]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
}
cursor_line_jump_by {
[[Jump the cursor by the given number of lines]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
by: int; [[Number of lines]]
}
cursor_coord_set {
[[Set cursor coordinates]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
@in x: int; [[X coord to set by.]]
[[Set cursor coordinates according to grapheme clusters.
It does not allow to put a cursor to the middle of a grapheme cluster.
]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
@in x: int; [[X coord to set by.]]
[[Adds text to the current cursor position and set the cursor to
*after* the start of the text just added.
]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
@in text: string; [[Text to append (UTF-8 format).]]
}
cursor_char_delete {
[[Deletes a single character from position pointed by given cursor.]]
- legacy: null;
params {
/* @inout */ cur: ptr(Efl.Text_Cursor_Cursor); [[Cursor object]]
}
_entry_imf_retrieve_surrounding_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, char **text, int *cursor_pos)
{
Efl_Canvas_Text *obj = data;
- Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
const char *str;
if (text)
_entry_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, void *event_info EINA_UNUSED)
{
Efl_Canvas_Text *obj = data;
- Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS);
int cursor_pos;
int preedit_start_pos, preedit_end_pos;
_entry_imf_event_delete_surrounding_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, void *event_info)
{
Efl_Canvas_Text *obj = data;
- Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS);
Ecore_IMF_Event_Delete_Surrounding *ev = event_info;
Evas_Textblock_Cursor *del_start, *del_end;
_entry_imf_event_selection_set_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, void *event_info)
{
Efl_Canvas_Text *obj = data;
- Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS);
Ecore_IMF_Event_Selection *ev = event_info;
if (!en->imf_context) return;
- cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
ecore_imf_context_focus_in(en->imf_context);
_entry_imf_cursor_info_set(obj, cur, en);
#endif
/* FIXME: Maybe allow selctions to happen even when not editable. */
if (!en->editable) return;
- cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
old_cur_pos = evas_textblock_cursor_pos_get(cur);
if (old_cur_pos < 0) return;
Evas_Coord cx, cy;
Evas_Event_Mouse_Down *ev = event_info;
Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS);
- Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
Evas_Textblock_Cursor *tc = NULL;
Eina_Bool dosel = EINA_FALSE;
Eina_Bool shift;
{
Evas_Coord cx, cy;
Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS);
- Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
Evas_Event_Mouse_Up *ev = event_info;
if ((!ev) || (ev->button != 1)) return;
{
Evas_Coord cx, cy;
Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS);
- Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ Efl_Text_Cursor_Cursor *cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
Evas_Event_Mouse_Move *ev = event_info;
Evas_Coord x, y, w, h;
Evas_Textblock_Cursor *tc;
{
efl_canvas_text_range_delete(obj, start, end);
}
- cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ cur = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
info.insert = EINA_TRUE;
info.position = efl_text_cursor_position_get(obj, cur);
info.length = len;
x = y = w = h = 0;
Efl_Text_Cursor_Cursor *main_cur =
- efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
efl_text_cursor_geometry_get(obj, main_cur,
EFL_TEXT_CURSOR_TYPE_BEFORE,
Eina_Rect r = {};
efl_text_cursor_geometry_get(obj,
- efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN),
+ efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN),
EFL_TEXT_CURSOR_TYPE_BEFORE,
&r.x, &r.y, &r.w, &r.h,
NULL, NULL, NULL, NULL);
pos = efl_gfx_entity_position_get(sd->text_obj);
efl_text_cursor_geometry_get(obj,
- efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN),
+ efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN),
EFL_TEXT_CURSOR_TYPE_BEFORE,
&cx, &cy, &cw, &ch,
NULL, NULL, NULL, NULL);
/* Get the cursors */
efl_text_interactive_selection_cursors_get(text_obj, &sel_start, &sel_end);
- main_cur = efl_text_cursor_get(text_obj, EFL_TEXT_CURSOR_GET_MAIN);
+ main_cur = efl_text_cursor_get(text_obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
start_pos = efl_text_cursor_position_get(text_obj, sel_start);
end_pos = efl_text_cursor_position_get(text_obj, sel_end);
/* Set the main cursor. */
efl_text_cursor_position_set(sd->text_obj,
- efl_text_cursor_get(sd->text_obj, EFL_TEXT_CURSOR_GET_MAIN), pos);
+ efl_text_cursor_get(sd->text_obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN), pos);
ELM_SAFE_FREE(sd->longpress_timer, ecore_timer_del);
sd->long_pressed = EINA_FALSE;
Eo *text_obj = sd->text_obj;
efl_text_interactive_selection_cursors_get(text_obj, &sel_start, &sel_end);
- main_cur = efl_text_cursor_get(text_obj, EFL_TEXT_CURSOR_GET_MAIN);
+ main_cur = efl_text_cursor_get(text_obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
start_pos = efl_text_cursor_position_get(text_obj, sel_start);
end_pos = efl_text_cursor_position_get(text_obj, sel_end);
efl_text_cursor_coord_set(sd->text_obj, sd->sel_handler_cursor, cx, cy);
pos = efl_text_cursor_position_get(sd->text_obj, sd->sel_handler_cursor);
/* Set the main cursor. */
- efl_text_cursor_position_set(sd->text_obj, efl_text_cursor_get(data, EFL_TEXT_CURSOR_GET_MAIN), pos);
+ efl_text_cursor_position_set(sd->text_obj, efl_text_cursor_get(data, EFL_TEXT_CURSOR_GET_TYPE_MAIN), pos);
ELM_SAFE_FREE(sd->longpress_timer, ecore_timer_del);
sd->long_pressed = EINA_FALSE;
}
static void
_efl_ui_text_entry_insert(Eo *obj, Efl_Ui_Text_Data *sd, const char *entry)
{
- Efl_Text_Cursor_Cursor *cur_obj = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ Efl_Text_Cursor_Cursor *cur_obj = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
efl_text_cursor_text_insert(obj, cur_obj, entry);
sd->text_changed = EINA_TRUE;
elm_layout_sizing_eval(obj);
EOLIAN static int
_efl_ui_text_efl_access_text_caret_offset_get(const Eo *obj, Efl_Ui_Text_Data *_pd EINA_UNUSED)
{
- return efl_text_cursor_position_get(obj, efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN));
+ return efl_text_cursor_position_get(obj, efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN));
}
EOLIAN static Eina_Bool
_efl_ui_text_efl_access_text_caret_offset_set(Eo *obj, Efl_Ui_Text_Data *_pd EINA_UNUSED, int offset)
{
- efl_text_cursor_position_set(obj, efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN), offset);
+ efl_text_cursor_position_set(obj, efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN), offset);
return EINA_TRUE;
}
EOLIAN static Eina_Bool
_efl_ui_text_efl_access_editable_text_insert(Eo *obj, Efl_Ui_Text_Data *pd, const char *string, int position)
{
- Efl_Text_Cursor_Cursor *cur_obj = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ Efl_Text_Cursor_Cursor *cur_obj = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
efl_text_cursor_position_set(obj, cur_obj, position);
_efl_ui_text_entry_insert(obj, pd, string);
EOLIAN static Eina_Bool
_efl_ui_text_efl_access_editable_text_paste(Eo *obj, Efl_Ui_Text_Data *_pd EINA_UNUSED, int position)
{
- Efl_Text_Cursor_Cursor *cur_obj = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN);
+ Efl_Text_Cursor_Cursor *cur_obj = efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
efl_text_cursor_position_set(obj, cur_obj, position);
efl_ui_text_selection_paste(obj);
return EINA_TRUE;
xx = yy = ww = hh = -1;
off =_decoration_calc_offset(sd);
bidi_cursor = efl_text_cursor_geometry_get(obj,
- efl_text_cursor_get(text_obj, EFL_TEXT_CURSOR_GET_MAIN),
+ efl_text_cursor_get(text_obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN),
EFL_TEXT_CURSOR_TYPE_BEFORE, &xx, &yy, &ww, &hh, &xx2, &yy2,
NULL, NULL);
if (ww < 1) ww = 1;
EOLIAN static Efl_Text_Cursor_Cursor *
_efl_canvas_text_efl_text_cursor_text_cursor_get(const Eo *eo_obj EINA_UNUSED, Efl_Canvas_Text_Data *o, Efl_Text_Cursor_Get_Type get_type)
{
- if (get_type > EFL_TEXT_CURSOR_GET_MAIN)
+ if (get_type > EFL_TEXT_CURSOR_GET_TYPE_MAIN)
{
ERR("Unsupported cursor types other than main!");
}
EAPI Efl_Text_Cursor_Cursor *
evas_object_textblock_cursor_get(const Evas_Object *eo_obj EINA_UNUSED)
{
- return efl_text_cursor_get(eo_obj, EFL_TEXT_CURSOR_GET_MAIN);
+ return efl_text_cursor_get(eo_obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
}
EOLIAN static Efl_Text_Cursor_Cursor *