Summary: This is required to support the animation of focus highlight object in case of item looping (genlist/gengrid/list).
Reviewers: seoz, woohyun, raster
Reviewed By: raster
Subscribers: anand.km, seoz
Differential Revision: https://phab.enlightenment.org/D1136
_elm_win_focus_highlight_start(top);
}
+void
+_elm_widget_focus_highlight_signal_emit(Evas_Object *obj, const char *emission, const char *source)
+{
+ Evas_Object *top = elm_widget_top_get(obj);
+
+ if (top && eo_isa(top, ELM_WIN_CLASS))
+ _elm_win_focus_highlight_signal_emit(top, emission, source);
+}
+
+void
+_elm_widget_focus_highlight_signal_callback_add(Evas_Object *obj, const char *emission,
+ const char *source, Edje_Signal_Cb _focus_highlight_signal_cb,
+ void *data)
+{
+ Evas_Object *top = elm_widget_top_get(obj);
+
+ if (top && eo_isa(top, ELM_WIN_CLASS))
+ _elm_win_focus_highlight_signal_callback_add(top, emission, source, _focus_highlight_signal_cb, data);
+}
+
+void
+_elm_widget_focus_highlight_signal_callback_del(Evas_Object *obj, const char *emission,
+ const char *source,
+ Edje_Signal_Cb _focus_highlight_signal_cb)
+{
+ Evas_Object *top = elm_widget_top_get(obj);
+
+ if (top && eo_isa(top, ELM_WIN_CLASS))
+ _elm_win_focus_highlight_signal_callback_del(obj, emission, source, _focus_highlight_signal_cb);
+}
+
EAPI Eina_Bool
elm_widget_focus_highlight_enabled_get(const Evas_Object *obj)
{
void _elm_widget_highlight_in_theme_update(Eo *obj);
void _elm_win_focus_highlight_start(Evas_Object *obj);
void _elm_win_focus_highlight_in_theme_update(Evas_Object *obj, Eina_Bool in_theme);
+void _elm_widget_focus_highlight_signal_emit(Evas_Object *obj, const char *emission, const char *source);
+void _elm_win_focus_highlight_signal_emit(Evas_Object *obj, const char *emission, const char *source);
+void _elm_widget_focus_highlight_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb _focus_highlight_signal_cb, void *data);
+void _elm_win_focus_highlight_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb _focus_highlight_signal_cb, void *data);
+void _elm_widget_focus_highlight_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb _focus_highlight_signal_cb);
+void _elm_widget_focus_highlight_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb _focus_highlight_signal_cb);
+void _elm_win_focus_highlight_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb _focus_highlight_signal_cb);
EAPI void _elm_access_clear(Elm_Access_Info *ac);
EAPI void _elm_access_text_set(Elm_Access_Info *ac, int type, const char *text);
}
void
+_elm_win_focus_highlight_signal_emit(Evas_Object *obj, const char *emission, const char *source)
+{
+ ELM_WIN_DATA_GET(obj, sd);
+ if (sd->focus_highlight.enabled)
+ edje_object_signal_emit(sd->focus_highlight.fobj, emission, source);
+}
+
+void
+_elm_win_focus_highlight_signal_callback_add(Evas_Object *obj, const char *emission,
+ const char *source, Edje_Signal_Cb _focus_highlight_signal_cb,
+ void *data)
+{
+ ELM_WIN_DATA_GET(obj, sd);
+ if (sd->focus_highlight.enabled && sd->focus_highlight.fobj)
+ edje_object_signal_callback_add(sd->focus_highlight.fobj, emission, source, _focus_highlight_signal_cb, data);
+}
+
+void
+_elm_win_focus_highlight_signal_callback_del(Evas_Object *obj, const char *emission,
+ const char *source, Edje_Signal_Cb _focus_highlight_signal_cb)
+{
+ ELM_WIN_DATA_GET(obj, sd);
+ if (sd->focus_highlight.enabled && sd->focus_highlight.fobj)
+ edje_object_signal_callback_del(sd->focus_highlight.fobj, emission, source, _focus_highlight_signal_cb);
+}
+
+void
_elm_win_focus_highlight_start(Evas_Object *obj)
{
ELM_WIN_DATA_GET(obj, sd);