[ATSPI]: When scroll happens due to flick, drag, inform screen-reader to do the reading.
authorShilpa Singh <shilpa.singh@samsung.com>
Mon, 4 Dec 2017 13:58:05 +0000 (19:28 +0530)
committerJiyoun Park <jy0703.park@samsung.com>
Thu, 21 Dec 2017 11:33:39 +0000 (20:33 +0900)
Change-Id: I8eb6f2b06fdcf34b81eb889bee904aafb09ad044

src/lib/elementary/elm_gengrid.c
src/lib/elementary/elm_genlist.c
src/lib/elementary/elm_list.c
src/lib/elementary/elm_scroller.c

index 4795542..170d4da 100644 (file)
@@ -3691,7 +3691,7 @@ _scroll_animate_stop_cb(Evas_Object *obj,
 {
    efl_event_callback_legacy_call(obj, EFL_UI_EVENT_SCROLL_ANIM_STOP, NULL);
    //TIZEN_ONLY: Let the screen-reader know when scroll animation ends
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         int x = 0, y = 0, w = 0, h = 0;
         elm_interface_scrollable_content_region_get(obj, &x, &y, &w, &h);
@@ -3712,6 +3712,14 @@ _scroll_drag_stop_cb(Evas_Object *obj,
                      void *data EINA_UNUSED)
 {
    efl_event_callback_legacy_call(obj, EFL_UI_EVENT_SCROLL_DRAG_STOP, NULL);
+   //TIZEN_ONLY: Let the screen-reader know when drag ends
+    if (_elm_atspi_enabled())
+      {
+         int x = 0, y = 0, w = 0, h = 0;
+         elm_interface_scrollable_content_region_get(obj, &x, &y, &w, &h);
+         efl_access_bounds_changed_signal_emit(obj, x, y, w, h);
+      }
+    //
 }
 
 static void
index 85c40da..e9ecdc7 100644 (file)
@@ -5426,7 +5426,7 @@ _scroll_animate_stop_cb(Evas_Object *obj,
 {
    efl_event_callback_legacy_call(obj, EFL_UI_EVENT_SCROLL_ANIM_STOP, NULL);
    //TIZEN_ONLY: Let the screen-reader know when scroll animation ends
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         int x = 0, y = 0, w = 0, h = 0;
         elm_interface_scrollable_content_region_get(obj, &x, &y, &w, &h);
@@ -5454,6 +5454,14 @@ _scroll_drag_stop_cb(Evas_Object *obj,
                      void *data EINA_UNUSED)
 {
    efl_event_callback_legacy_call(obj, EFL_UI_EVENT_SCROLL_DRAG_STOP, NULL);
+   //TIZEN_ONLY: Let the screen-reader know when scroll animation ends
+   if (_elm_atspi_enabled())
+     {
+        int x = 0, y = 0, w = 0, h = 0;
+        elm_interface_scrollable_content_region_get(obj, &x, &y, &w, &h);
+        efl_access_bounds_changed_signal_emit(obj, x, y, w, h);
+     }
+   //
 }
 
 static void
index 695a984..1b75b2a 100644 (file)
@@ -1526,7 +1526,21 @@ _scroll_animate_stop_cb(Evas_Object *obj,
                         void *data EINA_UNUSED)
 {
    //TIZEN_ONLY: Let the screen-reader know when scroll animation ends
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
+     {
+        int x = 0, y = 0, w = 0, h = 0;
+        elm_interface_scrollable_content_region_get(obj, &x, &y, &w, &h);
+        efl_access_bounds_changed_signal_emit(obj, x, y, w, h);
+     }
+   //
+}
+
+static void
+_scroll_drag_stop_cb(Evas_Object *obj,
+                        void *data EINA_UNUSED)
+{
+   //TIZEN_ONLY: Let the screen-reader know when scroll animation ends
+   if (_elm_atspi_enabled())
      {
         int x = 0, y = 0, w = 0, h = 0;
         elm_interface_scrollable_content_region_get(obj, &x, &y, &w, &h);
@@ -2408,7 +2422,8 @@ _elm_list_efl_canvas_group_group_add(Eo *obj, Elm_List_Data *priv)
    elm_interface_scrollable_edge_top_cb_set(obj, _edge_top_cb);
    elm_interface_scrollable_edge_bottom_cb_set(obj, _edge_bottom_cb);
    //TIZEN_ONLY: Let the screen-reader know when scroll animation ends
-   elm_interface_scrollable_animate_stop_cb_set(obj, _scroll_animate_stop_cb),
+   elm_interface_scrollable_animate_stop_cb_set(obj, _scroll_animate_stop_cb);
+   elm_interface_scrollable_drag_stop_cb_set(obj, _scroll_drag_stop_cb);
    //
    elm_interface_scrollable_content_min_limit_cb_set(obj, _elm_list_content_min_limit_cb);
    elm_interface_scrollable_objects_set(obj, wd->resize_obj, priv->hit_rect);
index db85447..30b3316 100644 (file)
@@ -522,7 +522,7 @@ _scroll_anim_stop_cb(Evas_Object *obj,
    efl_event_callback_legacy_call
      (obj, EFL_UI_EVENT_SCROLL_ANIM_STOP, NULL);
    //TIZEN_ONLY: Let the screen-reader know when scroll animation ends
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         int x = 0, y = 0, w = 0, h = 0;
         elm_interface_scrollable_content_region_get(obj, &x, &y, &w, &h);
@@ -537,6 +537,14 @@ _scroll_drag_start_cb(Evas_Object *obj,
 {
    efl_event_callback_legacy_call
      (obj, EFL_UI_EVENT_SCROLL_DRAG_START, NULL);
+   //TIZEN_ONLY: Let the screen-reader know when scroll animation ends
+   if (_elm_atspi_enabled())
+     {
+        int x = 0, y = 0, w = 0, h = 0;
+        elm_interface_scrollable_content_region_get(obj, &x, &y, &w, &h);
+        efl_access_bounds_changed_signal_emit(obj, x, y, w, h);
+     }
+   //
 }
 
 static void