2 * @defgroup Access Access
9 #define ELM_ACCESS_TYPE 0 /* when reading out widget or item
10 * this is read first */
11 #define ELM_ACCESS_INFO 1 /* next read is info - this is
13 #define ELM_ACCESS_STATE 2 /* if there is a state (eg checkbox)
14 * then read state out */
15 #define ELM_ACCESS_CONTEXT_INFO 3 /* to give contextual information */
17 typedef char *(*Elm_Access_Info_Cb)(void *data, Evas_Object *obj);
18 typedef void (*Elm_Access_Activate_Cb)(void *data, Evas_Object *part_obj, Elm_Object_Item *item);
21 * @brief Register evas object as an accessible object.
24 * @param obj The evas object to register as an accessible object.
25 * @param parent The elementary object which is used for creating
30 EAPI Evas_Object *elm_access_object_register(Evas_Object *obj, Evas_Object *parent);
33 * @brief Unregister accessible object.
36 * @param obj The Evas object to unregister accessible object.
40 EAPI void elm_access_object_unregister(Evas_Object *obj);
43 * @brief Get an accessible object of the evas object.
46 * @param obj The evas object.
47 * @return Accessible object of the evas object or NULL for any error
51 EAPI Evas_Object *elm_access_object_get(const Evas_Object *obj);
54 * @brief Set text to give information for specific type.
57 * @param obj Accessible object.
58 * @param type The type of content that will be read
59 * @param text The text information that will be read
61 * @see elm_access_info_cb_set
64 EAPI void elm_access_info_set(Evas_Object *obj, int type, const char *text);
67 * @brief Set text to give information for specific type.
70 * @param obj Accessible object.
71 * @param type The type of content that will be read
73 * @see elm_access_info_cb_set
76 EAPI char *elm_access_info_get(const Evas_Object *obj, int type);
79 * @brief Set content callback to give information for specific type.
82 * @param obj Accessible object.
83 * @param type The type of content that will be read
84 * @param func The function to be called when the content is read
85 * @param data The data pointer to be passed to @p func
87 * The type would be one of ELM_ACCESS_TYPE, ELM_ACCESS_INFO,
88 * ELM_ACCESS_STATE, ELM_ACCESS_CONTEXT_INFO.
90 * In the case of button widget, the content of ELM_ACCESS_TYPE would be
91 * "button". The label of button such as "ok", "cancel" is for ELM_ACCESS_INFO.
92 * If the button is disabled, content of ELM_ACCESS_STATE would be "disabled".
93 * And if there is contextual information, use ELM_ACCESS_CONTEXT_INFO.
97 EAPI void elm_access_info_cb_set(Evas_Object *obj, int type, Elm_Access_Info_Cb func, const void *data);
100 * @brief Set activate callback to activate highlight object.
103 * @param obj Accessible object.
104 * @param func The function to be called when the activate gesture is detected
105 * @param data The data pointer to be passed to @p func
109 EAPI void elm_access_activate_cb_set(Evas_Object *obj, Elm_Access_Activate_Cb func, void *data);
112 * @brief Read out text information directly.
115 * @param text The text information that will be read
117 * This function will not free the @p text internally.
121 EAPI void elm_access_say(const char *text);
124 * @brief Give the highlight to the object directly.
127 * @param obj The object that will have the highlight and its information be read.
129 * The object should be an elementary object or an access object.
131 * @see elm_access_object_get
134 EAPI void elm_access_highlight_set(Evas_Object* obj);
136 //TODO: remvoe below - use elm_access_text_set(); or elm_access_cb_set();
137 EINA_DEPRECATED EAPI void elm_access_external_info_set(Evas_Object *obj, const char *text);
138 EINA_DEPRECATED EAPI char *elm_access_external_info_get(const Evas_Object *obj);