efl_ui_textpath: fix a center align but that doesn't happen at text_set().

When textpath obj has a new text data, it must update center align position
based on the new text length. Previously, it missed that logic.

@fix
This commit is contained in:
Hermet Park 2019-06-24 21:29:14 +09:00
parent 127209ce2b
commit fa30eb6205
1 changed files with 15 additions and 14 deletions

View File

@ -563,20 +563,6 @@ _efl_ui_textpath_efl_gfx_path_commit(Eo *obj, Efl_Ui_Textpath_Data *pd)
_sizing_eval(pd);
}
static Eina_Bool
_textpath_text_set_internal(Eo *obj, Efl_Ui_Textpath_Data *pd, const char *part, const char *text)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
Eina_Bool ret = EINA_TRUE;
if (!text) text = "";
ret = edje_object_part_text_set(pd->text_obj, part, text);
_ellipsis_set(pd, obj);
_sizing_eval(pd);
return ret;
}
static void
_path_start_angle_adjust(Eo *obj, Efl_Ui_Textpath_Data *pd)
{
@ -650,6 +636,21 @@ _path_start_angle_adjust(Eo *obj, Efl_Ui_Textpath_Data *pd)
_path_data_get(obj, pd);
}
static Eina_Bool
_textpath_text_set_internal(Eo *obj, Efl_Ui_Textpath_Data *pd, const char *part, const char *text)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
Eina_Bool ret = EINA_TRUE;
if (!text) text = "";
ret = edje_object_part_text_set(pd->text_obj, part, text);
_ellipsis_set(pd, obj);
_path_start_angle_adjust(obj, pd);
_sizing_eval(pd);
return ret;
}
EOLIAN static void
_efl_ui_textpath_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Efl_Ui_Textpath_Data *pd)
{