2 * @defgroup Access Access
9 enum _Elm_Access_Info_Type
11 ELM_ACCESS_INFO_FIRST = -1,
12 ELM_ACCESS_INFO, /* next read is info - this is
14 ELM_ACCESS_TYPE, /* when reading out widget or item
15 * this is read first */
16 ELM_ACCESS_STATE, /* if there is a state (eg checkbox)
17 * then read state out */
18 ELM_ACCESS_CONTEXT_INFO, /* to give contextual information */
23 * @typedef Elm_Access_Info_Type
25 typedef enum _Elm_Access_Info_Type Elm_Access_Info_Type;
27 typedef char *(*Elm_Access_Info_Cb)(void *data, Evas_Object *obj);
28 typedef void (*Elm_Access_Activate_Cb)(void *data, Evas_Object *part_obj, Elm_Object_Item *item);
31 * @brief Register evas object as an accessible object.
34 * @param obj The evas object to register as an accessible object.
35 * @param parent The elementary object which is used for creating
40 EAPI Evas_Object *elm_access_object_register(Evas_Object *obj, Evas_Object *parent);
43 * @brief Unregister accessible object.
46 * @param obj The Evas object to unregister accessible object.
50 EAPI void elm_access_object_unregister(Evas_Object *obj);
53 * @brief Get an accessible object of the evas object.
56 * @param obj The evas object.
57 * @return Accessible object of the evas object or NULL for any error
61 EAPI Evas_Object *elm_access_object_get(const Evas_Object *obj);
64 * @brief Set text to give information for specific type.
67 * @param obj Accessible object.
68 * @param type The type of content that will be read
69 * @param text The text information that will be read
71 * @see elm_access_info_cb_set
74 EAPI void elm_access_info_set(Evas_Object *obj, int type, const char *text);
77 * @brief Set text to give information for specific type.
80 * @param obj Accessible object.
81 * @param type The type of content that will be read
83 * @see elm_access_info_cb_set
86 EAPI char *elm_access_info_get(const Evas_Object *obj, int type);
89 * @brief Set content callback to give information for specific type.
92 * @param obj Accessible object.
93 * @param type The type of content that will be read
94 * @param func The function to be called when the content is read
95 * @param data The data pointer to be passed to @p func
97 * The type would be one of ELM_ACCESS_TYPE, ELM_ACCESS_INFO,
98 * ELM_ACCESS_STATE, ELM_ACCESS_CONTEXT_INFO.
100 * In the case of button widget, the content of ELM_ACCESS_TYPE would be
101 * "button". The label of button such as "ok", "cancel" is for ELM_ACCESS_INFO.
102 * If the button is disabled, content of ELM_ACCESS_STATE would be "disabled".
103 * And if there is contextual information, use ELM_ACCESS_CONTEXT_INFO.
107 EAPI void elm_access_info_cb_set(Evas_Object *obj, int type, Elm_Access_Info_Cb func, const void *data);
110 * @brief Set activate callback to activate highlight object.
113 * @param obj Accessible object.
114 * @param func The function to be called when the activate gesture is detected
115 * @param data The data pointer to be passed to @p func
119 EAPI void elm_access_activate_cb_set(Evas_Object *obj, Elm_Access_Activate_Cb func, void *data);
122 * @brief Read out text information directly.
125 * @param text The text information that will be read
127 * This function will not free the @p text internally.
131 EAPI void elm_access_say(const char *text);
134 * @brief Give the highlight to the object directly.
137 * @param obj The object that will have the highlight and its information be read.
139 * The object should be an elementary object or an access object.
141 * @see elm_access_object_get
144 EAPI void elm_access_highlight_set(Evas_Object* obj);
146 //TODO: remvoe below - use elm_access_text_set(); or elm_access_cb_set();
147 EINA_DEPRECATED EAPI void elm_access_external_info_set(Evas_Object *obj, const char *text);
148 EINA_DEPRECATED EAPI char *elm_access_external_info_get(const Evas_Object *obj);