In the past, highlight clear cleared all highlight in the window. When a user calls
highlight_grab manually, highlight_clear on highlighted object causes all highlight
to disappear. So we modify it to clear the object specified in highlight_clear.
@tizen_fix
orignal patch:
52e6f940c73b6d12b0a8866821ef32badb724f66
Change-Id: Ibbe8570ece706f68bef3a6e647c6cfb204b145d4
}
void
-_elm_win_object_set_accessibility_highlight(Evas_Object *win, Evas_Object *obj)
+_elm_win_object_set_accessibility_highlight(Evas_Object *win, Evas_Object *obj, Eina_Bool visible)
{
if (!win) return;
ELM_WIN_DATA_GET(win, sd);
- _elm_win_accessibility_highlight_hide(sd->obj);
- // TIZEN_ONLY(20171117) Accessibility frame follows parent item on scroll event
- _elm_win_accessibility_highlight_callbacks_del(sd);
- //
- if (obj)
+ if (visible || sd->accessibility_highlight.cur.target == obj)
{
- _elm_win_accessibility_highlight_init(sd, obj);
- _elm_win_accessibility_highlight_show(win);
+ _elm_win_accessibility_highlight_hide(sd->obj);
+ // TIZEN_ONLY(20171117) Accessibility frame follows parent item on scroll event
+ _elm_win_accessibility_highlight_callbacks_del(sd);
+ //
}
- else
+ if (visible)
{
- _elm_win_accessibility_highlight_hide(win);
+ _elm_win_accessibility_highlight_init(sd, obj);
+ _elm_win_accessibility_highlight_show(win);
}
}
//
_accessibility_currently_highlighted_obj = obj;
}
- if (visible)
+ if (elm_widget_access_highlight_in_theme_get(obj))
{
- if (elm_widget_access_highlight_in_theme_get(obj))
+ if (visible)
elm_widget_signal_emit(obj, "elm,action,access_highlight,show", "elm");
- else
- _elm_win_object_set_accessibility_highlight(win, obj);
+ else
+ elm_widget_signal_emit(obj, "elm,action,access_highlight,hide", "elm");
}
else
{
- if (elm_widget_access_highlight_in_theme_get(obj))
- elm_widget_signal_emit(obj, "elm,action,access_highlight,hide", "elm");
- else
- _elm_win_object_set_accessibility_highlight(win, NULL);
+ _elm_win_object_set_accessibility_highlight(win, obj, visible);
}
// if (!visible && (obj == _elm_win_accessibility_highlight_get(win)))
// void _elm_win_accessibility_highlight_set(Evas_Object *win, Evas_Object *obj);
// Evas_Object *_elm_win_accessibility_highlight_get(Evas_Object *win);
// //
-void _elm_win_object_set_accessibility_highlight(Evas_Object *win, Evas_Object *obj);
+void _elm_win_object_set_accessibility_highlight(Evas_Object *win, Evas_Object *obj, Eina_Bool visible);
// TIZEN_ONLY(20171114): atspi: expose highlight information on atspi
void *_elm_object_accessibility_currently_highlighted_get();
//