Eldbus_Connection *conn = NULL;
Eldbus_Service_Interface *iface = NULL;
Eina_Bool is_slider;
+Eina_Bool is_screen_reader_support;
int highlighted_object_x, highlighted_object_y;
EAPI E_Module_Api e_modapi =
static Eldbus_Message *_sc_enable(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg);
static Eldbus_Message *_is_slider(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg);
static Eldbus_Message *_highlighted_object_info(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg);
+static Eldbus_Message *_is_screen_reader_support(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg);
static const Eldbus_Method methods[] = {
{ "ScreenReaderEnabled", ELDBUS_ARGS({"b", "bool"}), ELDBUS_ARGS({"b", "bool"}),
{ "HighlightedObjectInfo", ELDBUS_ARGS({"i", "int"}, {"i", "int"}), NULL,
_highlighted_object_info
},
+ { "IsScreenReaderSupport", ELDBUS_ARGS({"b", "bool"}), NULL,
+ _is_screen_reader_support
+ },
{ }
};
}
static Eldbus_Message *
+_is_screen_reader_support(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg)
+{
+ if (!eldbus_message_arguments_get(msg, "b", &is_screen_reader_support))
+ ERROR("eldbus_message_arguments_get() error\n");
+
+ DEBUG("screen reader support :%d", is_screen_reader_support);
+ return NULL;
+}
+
+static Eldbus_Message *
_highlighted_object_info(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg)
{
if (!eldbus_message_arguments_get(msg, "ii", &highlighted_object_x, &highlighted_object_y))
static Eina_Bool
_event_filter(void *data, void *loop_data, int type, void *event)
{
+ if (!is_screen_reader_support)
+ {
+ DEBUG("screen reader is not supported");
+ return EINA_TRUE;
+ }
+
if (type == ECORE_EVENT_MOUSE_BUTTON_DOWN)
{
return _mouse_button_down(type, event);
return;
}
is_slider = EINA_FALSE;
+ is_screen_reader_support = EINA_TRUE;
highlighted_object_x = -1;
highlighted_object_y = -1;
scrolling = EINA_FALSE;