#define ELM_WIDGET_PROTECTED
#define ELM_WIDGET_ITEM_PROTECTED
#define EFL_UI_L10N_PROTECTED
+#define EFL_ACCESS_COMPONENT_PROTECTED
#include <Elementary.h>
#include "elm_priv.h"
return &atspi_actions[0];
}
+//TIZEN_ONLY(20230119) : fix accessible_at_point getter
+EOLIAN static Eo *
+_elm_hoversel_efl_access_component_accessible_at_point_get(const Eo *obj, Elm_Hoversel_Data *sd, Eina_Bool screen_coords, int x, int y)
+{
+ Evas_Coord wx, wy, ww, wh;
+ int ee_x, ee_y;
+
+ if (screen_coords)
+ {
+ Ecore_Evas *ee = ecore_evas_ecore_evas_get(evas_object_evas_get(obj));
+ if (!ee) return NULL;
+ ecore_evas_geometry_get(ee, &ee_x, &ee_y, NULL, NULL);
+ x -= ee_x;
+ y -= ee_y;
+ }
+
+ Elm_Object_Item *eo_item;
+ Eina_List *l;
+ EINA_LIST_FOREACH(sd->items, l, eo_item)
+ {
+ ELM_HOVERSEL_ITEM_DATA_GET(eo_item, it);
+ evas_object_geometry_get(VIEW(it), &wx, &wy, &ww, &wh);
+ Efl_Access_State_Set ss = efl_access_object_state_set_get(VIEW(it));
+ Eina_Bool is_item_showing = !!STATE_TYPE_GET(ss, EFL_ACCESS_STATE_TYPE_SHOWING);
+ if (is_item_showing && !((x > wx + ww) || (y > wy + wh) || (x < wx - ww) || (y < wy - wh)))
+ return VIEW(it);
+ }
+
+ return NULL;
+}
+//
+
EOLIAN void
_elm_hoversel_auto_update_set(Eo *obj EINA_UNUSED, Elm_Hoversel_Data *sd, Eina_Bool auto_update)
{
const Efl_Access_Action_Data *_elm_hoversel_efl_access_widget_action_elm_actions_get(const Eo *obj, Elm_Hoversel_Data *pd);
+Efl_Object *_elm_hoversel_efl_access_component_accessible_at_point_get(const Eo *obj, Elm_Hoversel_Data *pd, Eina_Bool screen_coords, int x, int y);
+
static Eina_Bool
_elm_hoversel_class_initializer(Efl_Class *klass)
EFL_OBJECT_OP_FUNC(efl_ui_widget_input_event_handler, _elm_hoversel_efl_ui_widget_widget_input_event_handler),
EFL_OBJECT_OP_FUNC(efl_ui_autorepeat_enabled_set, _elm_hoversel_efl_ui_autorepeat_autorepeat_enabled_set),
EFL_OBJECT_OP_FUNC(efl_access_widget_action_elm_actions_get, _elm_hoversel_efl_access_widget_action_elm_actions_get),
+ EFL_OBJECT_OP_FUNC(efl_access_component_accessible_at_point_get, _elm_hoversel_efl_access_component_accessible_at_point_get),
ELM_HOVERSEL_EXTRA_OPS
);
opsp = &ops;