//TIZEN_ONLY(20160623): atspi: moved highlight when object is out of screen
static void _move_outed_signal_send(void *data, const Efl_Event *event);
//
+//TIZEN_ONLY(20220927): atspi: send scroll started/finished event
+static void _scroll_started_signal_send(void *data, const Efl_Event *event);
+static void _scroll_finished_signal_send(void *data, const Efl_Event *event);
+//
// bridge private methods
//TIZEN_ONLY(20171108): make atspi_proxy work
{ EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_REMOVED, _text_text_removed_send },
{ EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_SELECTION_CHANGED, _text_selection_changed_send },
//TIZEN_ONLY(20160623): atspi: moved highlight when object is out of screen
- { EFL_ACCESS_OBJECT_EVENT_MOVE_OUTED, _move_outed_signal_send}
+ { EFL_ACCESS_OBJECT_EVENT_MOVE_OUTED, _move_outed_signal_send },
+ //
+ //TIZEN_ONLY(20220927): atspi: send scroll started/finished event
+ { EFL_ACCESS_OBJECT_EVENT_OBJECT_SCROLL_STARTED, _scroll_started_signal_send },
+ { EFL_ACCESS_OBJECT_EVENT_OBJECT_SCROLL_FINISHED, _scroll_finished_signal_send }
//
};
ATSPI_OBJECT_EVENT_TEXT_CARET_MOVED,
ATSPI_OBJECT_EVENT_ATTRIBUTES_CHANGED,
//TIZEN_ONLY(20160623): atspi: moved highlight when object is out of screen
- ATSPI_OBJECT_EVENT_MOVE_OUTED
+ ATSPI_OBJECT_EVENT_MOVE_OUTED,
+ //
+ //TIZEN_ONLY(20220927): atspi: send scroll started/finished event
+ ATSPI_OBJECT_EVENT_SCROLL_STARTED,
+ ATSPI_OBJECT_EVENT_SCROLL_FINISHED
//
};
//TIZEN_ONLY(20160623): atspi: moved highlight when object is out of screen
[ATSPI_OBJECT_EVENT_MOVE_OUTED] = {"MoveOuted", ELDBUS_ARGS({"siiv(i)", NULL}), 0},
//
+ //TIZEN_ONLY(20220927): atspi: send scroll started/finished event
+ [ATSPI_OBJECT_EVENT_SCROLL_STARTED] = {"ScrollStarted", ELDBUS_ARGS({"siiv(so)", NULL}), 0},
+ [ATSPI_OBJECT_EVENT_SCROLL_FINISHED] = {"ScrollFinished", ELDBUS_ARGS({"siiv(so)", NULL}), 0},
+ //
{NULL, ELDBUS_ARGS({NULL, NULL}), 0}
};
else if (!strcmp(tokens[1], "MoveOuted"))
STATE_TYPE_SET(pd->object_broadcast_mask, ATSPI_OBJECT_EVENT_MOVE_OUTED);
//
+ //TIZEN_ONLY(20220927): atspi: send scroll started/finished event
+ else if (!strcmp(tokens[1], "ScrollStarted"))
+ STATE_TYPE_SET(pd->object_broadcast_mask, ATSPI_OBJECT_EVENT_SCROLL_STARTED);
+ else if (!strcmp(tokens[1], "ScrollFinished"))
+ STATE_TYPE_SET(pd->object_broadcast_mask, ATSPI_OBJECT_EVENT_SCROLL_FINISHED);
+ //
}
else if (!strcmp(tokens[0], "Window"))
{
}
//
+//TIZEN_ONLY(20220927): atspi: send scroll started/finished event
+static void
+_scroll_started_signal_send(void *data, const Efl_Event *event)
+{
+ ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(data, pd);
+
+ if (!STATE_TYPE_GET(pd->object_broadcast_mask, ATSPI_OBJECT_EVENT_SCROLL_STARTED))
+ {
+ efl_event_callback_stop(event->object);
+ return;
+ }
+ _bridge_signal_send(data, event->object, ATSPI_DBUS_INTERFACE_EVENT_OBJECT,
+ &_event_obj_signals[ATSPI_OBJECT_EVENT_SCROLL_STARTED], "", 0, 0, NULL);
+}
+
+static void
+_scroll_finished_signal_send(void *data, const Efl_Event *event)
+{
+ ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(data, pd);
+
+ if (!STATE_TYPE_GET(pd->object_broadcast_mask, ATSPI_OBJECT_EVENT_SCROLL_FINISHED))
+ {
+ efl_event_callback_stop(event->object);
+ return;
+ }
+ _bridge_signal_send(data, event->object, ATSPI_DBUS_INTERFACE_EVENT_OBJECT,
+ &_event_obj_signals[ATSPI_OBJECT_EVENT_SCROLL_FINISHED], "", 0, 0, NULL);
+}
+//
+
static unsigned int
_window_activated_detail_value_add(Eo *obj)
{