summaryrefslogtreecommitdiff
path: root/legacy/elementary/src/lib/elm_access.c
diff options
context:
space:
mode:
authorShinwoo Kim <kimcinoo.efl@gmail.com>2012-11-30 11:50:52 +0000
committerShinwoo Kim <kimcinoo.efl@gmail.com>2012-11-30 11:50:52 +0000
commit80d7b56b1f3e08d5a12183db337ec97c26cd4a3b (patch)
treef1bd14a5108691c1dadb0e20845d1d8369a4fb4a /legacy/elementary/src/lib/elm_access.c
parentafef01a765f659162d799a3686b762aa432c6c19 (diff)
[access] enhance access features
1. add access lines for ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_READ 2. add _elm_access_highlight_cycle(); becase there is a case that highlight object would be different with focused object after user moves finger to specific object which does not have focus currently. SVN revision: 79884
Diffstat (limited to 'legacy/elementary/src/lib/elm_access.c')
-rw-r--r--legacy/elementary/src/lib/elm_access.c35
1 files changed, 32 insertions, 3 deletions
diff --git a/legacy/elementary/src/lib/elm_access.c b/legacy/elementary/src/lib/elm_access.c
index d725ef8..ced08f0 100644
--- a/legacy/elementary/src/lib/elm_access.c
+++ b/legacy/elementary/src/lib/elm_access.c
@@ -229,7 +229,18 @@ _access_obj_hilight_resize_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Ob
229 evas_object_resize(o, w, h); 229 evas_object_resize(o, w, h);
230} 230}
231 231
232static Evas_Object *
233_access_highlight_object_get(Evas_Object *obj)
234{
235 Evas_Object *o, *ho;
236
237 o = evas_object_name_find(evas_object_evas_get(obj), "_elm_access_disp");
238 if (!o) return NULL;
232 239
240 ho = evas_object_data_get(o, "_elm_access_target");
241
242 return ho;
243}
233 244
234//-------------------------------------------------------------------------// 245//-------------------------------------------------------------------------//
235EAPI void 246EAPI void
@@ -299,9 +310,27 @@ _elm_access_activate_callback_set(Elm_Access_Info *ac,
299EAPI void 310EAPI void
300_elm_access_highlight_object_activate(Evas_Object *obj, Elm_Activate act) 311_elm_access_highlight_object_activate(Evas_Object *obj, Elm_Activate act)
301{ 312{
302 Evas_Object *highlight_obj; 313 Evas_Object *highlight;
303 highlight_obj = elm_widget_focused_object_get(obj); 314
304 elm_widget_activate(highlight_obj, act); 315 highlight = _access_highlight_object_get(obj);
316 if (!highlight) return;
317
318 elm_widget_activate(highlight, act);
319}
320
321EAPI void
322_elm_access_highlight_cycle(Evas_Object *obj, Elm_Focus_Direction dir)
323{
324 Evas_Object *highlight, *focused;
325
326 highlight = _access_highlight_object_get(obj);
327 focused = elm_widget_focused_object_get(obj);
328
329 if (highlight && (highlight != focused))
330 elm_object_focus_set(highlight, EINA_TRUE);
331
332 /* use focus cycle to read next, previous object */
333 elm_widget_focus_cycle(obj, dir);
305} 334}
306 335
307EAPI char * 336EAPI char *