summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYossi Kantor <yossi.kantor@samsung.com>2014-04-06 13:42:36 +0300
committerDaniel Zaoui <daniel.zaoui@samsung.com>2014-04-23 15:44:17 +0300
commitd7ff6085c2a098099471b4617bfe6400a6b91243 (patch)
tree0eec0531c0f01ff5afee34b7b3f310f329f0e89d
parentf442c21c0455928a14e14e298ebe0abd6b82bfce (diff)
Eolian: Legacy integration of Edje
-rw-r--r--src/Makefile_Edje.am8
-rw-r--r--src/lib/edje/Edje_Eo.h2294
-rw-r--r--src/lib/edje/Edje_Legacy.h2588
3 files changed, 43 insertions, 4847 deletions
diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am
index c0e261e..467ace5 100644
--- a/src/Makefile_Edje.am
+++ b/src/Makefile_Edje.am
@@ -4,8 +4,10 @@
4BUILT_SOURCES += \ 4BUILT_SOURCES += \
5 lib/edje/edje.eo.c \ 5 lib/edje/edje.eo.c \
6 lib/edje/edje.eo.h \ 6 lib/edje/edje.eo.h \
7 lib/edje/edje.eo.legacy.h \
7 lib/edje/edje_edit.eo.c \ 8 lib/edje/edje_edit.eo.c \
8 lib/edje/edje_edit.eo.h 9 lib/edje/edje_edit.eo.h \
10 lib/edje/edje_edit.eo.legacy.h
9 11
10 12
11edjeeolianfilesdir = $(datadir)/eolian/include/edje-@VMAJ@ 13edjeeolianfilesdir = $(datadir)/eolian/include/edje-@VMAJ@
@@ -39,7 +41,9 @@ lib/edje/Edje_Edit.h
39 41
40nodist_installed_edjemainheaders_DATA = \ 42nodist_installed_edjemainheaders_DATA = \
41 lib/edje/edje.eo.h \ 43 lib/edje/edje.eo.h \
42 lib/edje/edje_edit.eo.h 44 lib/edje/edje_edit.eo.h \
45 lib/edje/edje.eo.legacy.h \
46 lib/edje/edje_edit.eo.legacy.h
43 47
44lib_edje_libedje_la_SOURCES = \ 48lib_edje_libedje_la_SOURCES = \
45lib/edje/edje_private.h \ 49lib/edje/edje_private.h \
diff --git a/src/lib/edje/Edje_Eo.h b/src/lib/edje/Edje_Eo.h
index 9078fcc..fec56d9 100644
--- a/src/lib/edje/Edje_Eo.h
+++ b/src/lib/edje/Edje_Eo.h
@@ -1,2294 +1,2 @@
1#include "edje.eo.h" 1#include "edje.eo.h"
2#if 0 2#include "edje_edit.eo.h" \ No newline at end of file
3#define EDJE_OBJ_CLASS edje_object_class_get()
4
5const Eo_Class *edje_object_class_get(void) EINA_CONST;
6
7extern EAPI Eo_Op EDJE_OBJ_BASE_ID;
8
9enum
10{
11 EDJE_OBJ_SUB_ID_SCALE_SET,
12 EDJE_OBJ_SUB_ID_SCALE_GET,
13 EDJE_OBJ_SUB_ID_MIRRORED_GET,
14 EDJE_OBJ_SUB_ID_MIRRORED_SET,
15 EDJE_OBJ_SUB_ID_DATA_GET,
16 EDJE_OBJ_SUB_ID_FREEZE,
17 EDJE_OBJ_SUB_ID_THAW,
18 EDJE_OBJ_SUB_ID_COLOR_CLASS_SET,
19 EDJE_OBJ_SUB_ID_COLOR_CLASS_GET,
20 EDJE_OBJ_SUB_ID_TEXT_CLASS_SET,
21 EDJE_OBJ_SUB_ID_PART_EXISTS,
22 EDJE_OBJ_SUB_ID_PART_OBJECT_GET,
23 EDJE_OBJ_SUB_ID_PART_GEOMETRY_GET,
24 EDJE_OBJ_SUB_ID_ITEM_PROVIDER_SET,
25 EDJE_OBJ_SUB_ID_TEXT_CHANGE_CB_SET,
26 EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PUSH,
27 EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_POP,
28 EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PEEK,
29 EDJE_OBJ_SUB_ID_PART_TEXT_SET,
30 EDJE_OBJ_SUB_ID_PART_TEXT_GET,
31 EDJE_OBJ_SUB_ID_PART_TEXT_ESCAPED_SET,
32 EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_SET,
33 EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_GET,
34 EDJE_OBJ_SUB_ID_PART_TEXT_SELECTION_GET,
35 EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_NONE,
36 EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALL,
37 EDJE_OBJ_SUB_ID_PART_TEXT_INSERT,
38 EDJE_OBJ_SUB_ID_PART_TEXT_APPEND,
39 EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_LIST_GET,
40 EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_GEOMETRY_GET,
41 EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_LIST_GET,
42 EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_GEOMETRY_GET,
43 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_GEOMETRY_GET,
44 EDJE_OBJ_SUB_ID_PART_TEXT_USER_INSERT,
45 EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALLOW_SET,
46 EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ABORT,
47 EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_BEGIN,
48 EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_EXTEND,
49 EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_GET,
50 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_NEXT,
51 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_PREV,
52 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_UP,
53 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_DOWN,
54 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_BEGIN_SET,
55 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_END_SET,
56 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COPY,
57 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_BEGIN_SET,
58 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_END_SET,
59 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COORD_SET,
60 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_FORMAT_GET,
61 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_VISIBLE_FORMAT_GET,
62 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_CONTENT_GET,
63 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_SET,
64 EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_GET,
65 EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_RESET,
66 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_SET,
67 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_GET,
68 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_VARIATION_SET,
69 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_VARIATION_GET,
70 EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_SET,
71 EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_GET,
72 EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_SET,
73 EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_GET,
74 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_SET,
75 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_GET,
76 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW,
77 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_HIDE,
78 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_SET,
79 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_GET,
80 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_SET,
81 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_GET,
82 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_SET,
83 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_GET,
84 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_SET,
85 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_GET,
86 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW_ON_DEMAND_SET,
87 EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW_ON_DEMAND_GET,
88 EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_ADD,
89 EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL,
90 EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL_FULL,
91 EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_ADD,
92 EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL,
93 EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL_FULL,
94 EDJE_OBJ_SUB_ID_PART_SWALLOW,
95 EDJE_OBJ_SUB_ID_PART_UNSWALLOW,
96 EDJE_OBJ_SUB_ID_PART_SWALLOW_GET,
97 EDJE_OBJ_SUB_ID_SIZE_MIN_GET,
98 EDJE_OBJ_SUB_ID_SIZE_MAX_GET,
99 EDJE_OBJ_SUB_ID_CALC_FORCE,
100 EDJE_OBJ_SUB_ID_SIZE_MIN_CALC,
101 EDJE_OBJ_SUB_ID_PARTS_EXTENDS_CALC,
102 EDJE_OBJ_SUB_ID_SIZE_MIN_RESTRICTED_CALC,
103 EDJE_OBJ_SUB_ID_PART_STATE_GET,
104 EDJE_OBJ_SUB_ID_PART_DRAG_DIR_GET,
105 EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_SET,
106 EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_GET,
107 EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_SET,
108 EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_GET,
109 EDJE_OBJ_SUB_ID_PART_DRAG_STEP_SET,
110 EDJE_OBJ_SUB_ID_PART_DRAG_STEP_GET,
111 EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_SET,
112 EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_GET,
113 EDJE_OBJ_SUB_ID_PART_DRAG_STEP,
114 EDJE_OBJ_SUB_ID_PART_DRAG_PAGE,
115 EDJE_OBJ_SUB_ID_PART_BOX_APPEND,
116 EDJE_OBJ_SUB_ID_PART_BOX_PREPEND,
117 EDJE_OBJ_SUB_ID_PART_BOX_INSERT_BEFORE,
118 EDJE_OBJ_SUB_ID_PART_BOX_INSERT_AT,
119 EDJE_OBJ_SUB_ID_PART_BOX_REMOVE,
120 EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_AT,
121 EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_ALL,
122 EDJE_OBJ_SUB_ID_ACCESS_PART_LIST_GET,
123 EDJE_OBJ_SUB_ID_PART_TABLE_CHILD_GET,
124 EDJE_OBJ_SUB_ID_PART_TABLE_PACK,
125 EDJE_OBJ_SUB_ID_PART_TABLE_UNPACK,
126 EDJE_OBJ_SUB_ID_PART_TABLE_COL_ROW_SIZE_GET,
127 EDJE_OBJ_SUB_ID_PART_TABLE_CLEAR,
128 EDJE_OBJ_SUB_ID_PERSPECTIVE_SET,
129 EDJE_OBJ_SUB_ID_PERSPECTIVE_GET,
130 EDJE_OBJ_SUB_ID_PRELOAD,
131 EDJE_OBJ_SUB_ID_UPDATE_HINTS_SET,
132 EDJE_OBJ_SUB_ID_UPDATE_HINTS_GET,
133
134 EDJE_OBJ_SUB_ID_PART_EXTERNAL_OBJECT_GET,
135 EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_SET,
136 EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_GET,
137 EDJE_OBJ_SUB_ID_PART_EXTERNAL_CONTENT_GET,
138 EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_TYPE_GET,
139
140 EDJE_OBJ_SUB_ID_FILE_SET,
141 EDJE_OBJ_SUB_ID_MMAP_SET,
142 EDJE_OBJ_SUB_ID_FILE_GET,
143 EDJE_OBJ_SUB_ID_LOAD_ERROR_GET,
144
145 EDJE_OBJ_SUB_ID_MESSAGE_SEND,
146 EDJE_OBJ_SUB_ID_MESSAGE_HANDLER_SET,
147 EDJE_OBJ_SUB_ID_MESSAGE_SIGNAL_PROCESS,
148
149 EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_ADD,
150 EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL,
151 EDJE_OBJ_SUB_ID_SIGNAL_EMIT,
152 EDJE_OBJ_SUB_ID_PLAY_SET,
153 EDJE_OBJ_SUB_ID_PLAY_GET,
154 EDJE_OBJ_SUB_ID_ANIMATION_SET,
155 EDJE_OBJ_SUB_ID_ANIMATION_GET,
156
157 EDJE_OBJ_SUB_ID_LAST
158};
159
160#define EDJE_OBJ_ID(sub_id) (EDJE_OBJ_BASE_ID + sub_id)
161
162/**
163 * @ingroup Edje_Object_Scale
164 *
165 * @{
166 */
167
168/**
169 * @def edje_obj_scale_set
170 * @since 1.8
171 *
172 * @brief Set the scaling factor for a given Edje object.
173 *
174 * @param[in] scale
175 * @param[out] ret
176 *
177 * @see edje_object_scale_set
178 */
179#define edje_obj_scale_set(scale, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SCALE_SET), EO_TYPECHECK(double, scale), EO_TYPECHECK(Eina_Bool *, ret)
180
181/**
182 * @def edje_obj_scale_get
183 * @since 1.8
184 *
185 * @brief Get a given Edje object's scaling factor.
186 *
187 * @param[out] ret
188 *
189 * @see edje_object_scale_get
190 */
191#define edje_obj_scale_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SCALE_GET), EO_TYPECHECK(double *, ret)
192
193/**
194 * @}
195 */
196
197/**
198 * @ingroup Edje_Text_Entry
199 *
200 * @{
201 */
202
203/**
204 * @def edje_obj_mirrored_get
205 * @since 1.8
206 *
207 * @brief Get the RTL orientation for this object.
208 *
209 * @param[out] ret
210 *
211 * @see edje_object_mirrored_get
212 */
213#define edje_obj_mirrored_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MIRRORED_GET), EO_TYPECHECK(Eina_Bool *, ret)
214
215/**
216 * @def edje_obj_mirrored_set
217 * @since 1.8
218 *
219 * @brief Set the RTL orientation for this object.
220 *
221 * @param[in] rtl
222 *
223 * @see edje_object_mirrored_set
224 */
225#define edje_obj_mirrored_set(rtl) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MIRRORED_SET), EO_TYPECHECK(Eina_Bool, rtl)
226
227/**
228 * @def edje_obj_item_provider_set
229 * @since 1.8
230 *
231 * @brief Set the function that provides item objects for named items in an edje entry text
232 *
233 * @param[in] func
234 * @param[in] data
235 *
236 * @see edje_object_item_provider_set
237 */
238#define edje_obj_item_provider_set(func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ITEM_PROVIDER_SET), EO_TYPECHECK(Edje_Item_Provider_Cb, func), EO_TYPECHECK(void *, data)
239
240/**
241 * @def edje_obj_part_text_imf_context_reset
242 * @since 1.8
243 *
244 * @brief Reset the input method context if needed.
245 *
246 * @param[in] part
247 *
248 * @see edje_object_part_text_imf_context_reset
249 */
250#define edje_obj_part_text_imf_context_reset(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_RESET), EO_TYPECHECK(const char *, part)
251
252/**
253 * @def edje_obj_part_text_imf_context_get
254 * @since 1.8
255 *
256 * @brief Get the input method context in entry.
257 *
258 * @param[in] part
259 * @param[out] ret
260 *
261 * @see edje_object_part_text_imf_context_get
262 */
263#define edje_obj_part_text_imf_context_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(void **, ret)
264
265/**
266 * @def edje_obj_part_text_input_panel_layout_set
267 * @since 1.8
268 *
269 * @brief Set the layout of the input panel.
270 *
271 * @param[in] part
272 * @param[in] layout
273 *
274 * @see edje_object_part_text_input_panel_layout_set
275 */
276#define edje_obj_part_text_input_panel_layout_set(part, layout) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Layout, layout)
277
278/**
279 * @def edje_obj_part_text_input_panel_layout_get
280 * @since 1.8
281 *
282 * @brief Get the layout of the input panel.
283 *
284 * @param[in] part
285 * @param[out] ret
286 *
287 * @see edje_object_part_text_input_panel_layout_get
288 */
289#define edje_obj_part_text_input_panel_layout_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Layout *, ret)
290
291/**
292 * @def edje_obj_part_text_input_panel_variation_get
293 * @since 1.8
294 *
295 * @brief Get the layout variation of the input panel.
296 *
297 * @param[in] part
298 * @param[out] ret
299 *
300 * @see edje_object_part_text_input_panel_variation_get
301 */
302#define edje_obj_part_text_input_panel_layout_variation_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_VARIATION_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(int *, ret)
303
304/**
305 * @def edje_obj_part_text_input_panel_variation_set
306 * @since 1.8
307 *
308 * @brief Set the layout variation of the input panel.
309 *
310 * @param[in] part
311 * @param[in] variation
312 *
313 * @see edje_object_part_text_input_panel_variation_get
314 */
315#define edje_obj_part_text_input_panel_layout_variation_set(part, variation) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_VARIATION_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(int, variation)
316
317/**
318 * @def edje_obj_part_text_autocapital_type_set
319 * @since 1.8
320 *
321 * @brief Set the autocapitalization type on the immodule.
322 *
323 * @param[in] part
324 * @param[in] autocapital_type
325 *
326 * @see edje_object_part_text_autocapital_type_set
327 */
328#define edje_obj_part_text_autocapital_type_set(part, autocapital_type) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Autocapital_Type, autocapital_type)
329
330/**
331 * @def edje_obj_part_text_autocapital_type_get
332 * @since 1.8
333 *
334 * @brief Retrieves the autocapitalization type
335 *
336 * @param[in] part
337 * @param[out] ret
338 *
339 * @see edje_object_part_text_autocapital_type_get
340 */
341#define edje_obj_part_text_autocapital_type_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Autocapital_Type *, ret)
342
343/**
344 * @def edje_obj_part_text_prediction_allow_set
345 * @since 1.8
346 *
347 * @brief Set whether the prediction is allowed or not.
348 *
349 * @param[in] part
350 * @param[in] prediction
351 *
352 * @see edje_object_part_text_prediction_allow_set
353 */
354#define edje_obj_part_text_prediction_allow_set(part, prediction) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, prediction)
355
356/**
357 * @def edje_obj_part_text_prediction_allow_get
358 * @since 1.8
359 *
360 * @brief Get whether the prediction is allowed or not.
361 *
362 * @param[in] part
363 * @param[out] ret
364 *
365 * @see edje_object_part_text_prediction_allow_get
366 */
367#define edje_obj_part_text_prediction_allow_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool *, ret)
368
369/**
370 * @def edje_obj_part_text_input_panel_enabled_set
371 * @since 1.8
372 *
373 * @brief Sets the attribute to show the input panel automatically.
374 *
375 * @param[in] part
376 * @param[in] enabled
377 *
378 * @see edje_object_part_text_input_panel_enabled_set
379 */
380#define edje_obj_part_text_input_panel_enabled_set(part, enabled) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, enabled)
381
382/**
383 * @def edje_obj_part_text_input_panel_enabled_get
384 * @since 1.8
385 *
386 * @brief Retrieve the attribute to show the input panel automatically.
387 *
388 * @param[in] part
389 * @param[out] ret
390 *
391 * @see edje_object_part_text_input_panel_enabled_get
392 */
393#define edje_obj_part_text_input_panel_enabled_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_ENABLED_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool *, ret)
394
395/**
396 * @def edje_obj_part_text_input_panel_show
397 * @since 1.8
398 *
399 * @brief Show the input panel (virtual keyboard) based on the input panel property such as layout, autocapital types, and so on.
400 *
401 * @param[in] part
402 *
403 * @see edje_object_part_text_input_panel_show
404 */
405#define edje_obj_part_text_input_panel_show(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW), EO_TYPECHECK(const char *, part)
406
407/**
408 * @def edje_obj_part_text_input_panel_hide
409 * @since 1.8
410 *
411 * @brief Hide the input panel (virtual keyboard).
412 *
413 * @param[in] part
414 *
415 * @see edje_object_part_text_input_panel_hide
416 */
417#define edje_obj_part_text_input_panel_hide(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_HIDE), EO_TYPECHECK(const char *, part)
418
419/**
420 * @def edje_obj_part_text_input_panel_language_set
421 * @since 1.8
422 *
423 * Set the language mode of the input panel.
424 *
425 * @param[in] part
426 * @param[in] lang
427 *
428 * @see edje_object_part_text_input_panel_language_set
429 */
430#define edje_obj_part_text_input_panel_language_set(part, lang) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Lang, lang)
431
432/**
433 * @def edje_obj_part_text_input_panel_language_get
434 * @since 1.8
435 *
436 * Get the language mode of the input panel.
437 *
438 * @param[in] part
439 * @param[out] ret
440 *
441 * @see edje_object_part_text_input_panel_language_get
442 */
443#define edje_obj_part_text_input_panel_language_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LANGUAGE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Lang *, ret)
444
445/**
446 * @def edje_obj_part_text_input_panel_imdata_set
447 * @since 1.8
448 *
449 * Set the input panel-specific data to deliver to the input panel.
450 *
451 * @param[in] part
452 * @param[in] data
453 * @param[in] len
454 *
455 * @see edje_object_part_text_input_panel_imdata_set
456 */
457#define edje_obj_part_text_input_panel_imdata_set(part, data, len) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const void *, data), EO_TYPECHECK(int, len)
458
459/**
460 * @def edje_obj_part_text_input_panel_imdata_get
461 * @since 1.8
462 *
463 * Get the specific data of the current active input panel.
464 *
465 * @param[in] part
466 * @param[in] data
467 * @param[in] len
468 *
469 * @see edje_object_part_text_input_panel_imdata_get
470 */
471#define edje_obj_part_text_input_panel_imdata_get(part, data, len) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_IMDATA_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(void *, data), EO_TYPECHECK(int *, len)
472
473/**
474 * @def edje_obj_part_text_input_panel_return_key_type_set
475 * @since 1.8
476 *
477 * Set the "return" key type. This type is used to set string or icon on the "return" key of the input panel.
478 *
479 * @param[in] part
480 * @param[out] return_key_type
481 *
482 * @see edje_object_part_text_input_panel_return_key_type_set
483 */
484#define edje_obj_part_text_input_panel_return_key_type_set(part, return_key_type) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Return_Key_Type, return_key_type)
485
486/**
487 * @def edje_obj_part_text_input_panel_return_key_type_get
488 * @since 1.8
489 *
490 * Get the "return" key type.
491 *
492 * @param[in] part
493 * @param[out] ret
494 *
495 * @see edje_object_part_text_input_panel_return_key_type_get
496 */
497#define edje_obj_part_text_input_panel_return_key_type_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_TYPE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Return_Key_Type *, ret)
498
499/**
500 * @def edje_obj_part_text_input_panel_return_key_disabled_set
501 * @since 1.8
502 *
503 * Set the return key on the input panel to be disabled.
504 *
505 * @param[in] part
506 * @param[in] disabled
507 *
508 * @see edje_object_part_text_input_panel_return_key_disabled_set
509 */
510#define edje_obj_part_text_input_panel_return_key_disabled_set(part, disabled) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, disabled)
511
512/**
513 * @def edje_obj_part_text_input_panel_return_key_disabled_get
514 * @since 1.8
515 *
516 * Get whether the return key on the input panel should be disabled or not.
517 *
518 * @param[in] part
519 * @param[out] ret
520 *
521 * @see edje_object_part_text_input_panel_return_key_disabled_get
522 */
523#define edje_obj_part_text_input_panel_return_key_disabled_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_RETURN_KEY_DISABLED_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool *, ret)
524
525/**
526 * @def edje_obj_part_text_input_panel_show_on_demand_set
527 * @since 1.9
528 *
529 * @brief Set the attribute to show the input panel in case of only an user's explicit Mouse Up event.
530 *
531 * @param[in] part
532 * @param[in] ondemand
533 *
534 * @see edje_object_part_text_input_panel_show_on_demand_set
535 */
536#define edje_obj_part_text_input_panel_show_on_demand_set(part, ondemand) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW_ON_DEMAND_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, ondemand)
537
538/**
539 * @def edje_obj_part_text_input_panel_show_on_demand_get
540 * @since 1.9
541 *
542 * @brief Get the attribute to show the input panel in case of only an user's explicit Mouse Up event.
543 *
544 * @param[in] part
545 * @param[out] ret
546 *
547 * @see edje_object_part_text_input_panel_show_on_demand_get
548 */
549#define edje_obj_part_text_input_panel_show_on_demand_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_SHOW_ON_DEMAND_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool *, ret)
550
551/**
552 * @def edje_obj_text_insert_filter_callback_add
553 * @since 1.8
554 *
555 * Add a filter function for newly inserted text.
556 *
557 * @param[in] part
558 * @param[in] func
559 * @param[in] data
560 *
561 * @see edje_object_text_insert_filter_callback_add
562 */
563#define edje_obj_text_insert_filter_callback_add(part, func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_ADD), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Filter_Cb, func), EO_TYPECHECK(void *, data)
564
565/**
566 * @def edje_obj_text_insert_filter_callback_del
567 * @since 1.8
568 *
569 * Delete a function from the filter list.
570 *
571 * @param[in] part
572 * @param[in] func
573 * @param[out] ret
574 *
575 * @see edje_object_text_insert_filter_callback_del
576 */
577#define edje_obj_text_insert_filter_callback_del(part, func, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Filter_Cb, func), EO_TYPECHECK(void **, ret)
578
579/**
580 * @def edje_obj_text_insert_filter_callback_del_full
581 * @since 1.8
582 *
583 * Delete a function and matching user data from the filter list.
584 *
585 * @param[in] part
586 * @param[in] func
587 * @param[in] data
588 * @param[out] ret
589 *
590 * @see edje_object_text_insert_filter_callback_del_full
591 */
592#define edje_obj_text_insert_filter_callback_del_full(part, func, data, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_INSERT_FILTER_CALLBACK_DEL_FULL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Text_Filter_Cb, func), EO_TYPECHECK(void *, data), EO_TYPECHECK(void **, ret)
593
594/**
595 * @def edje_obj_text_markup_filter_callback_add
596 * @since 1.8
597 *
598 * Add a markup filter function for newly inserted text.
599 *
600 * @param[in] part
601 * @param[in] func
602 * @param[in] data
603 *
604 * @see edje_object_text_markup_filter_callback_add
605 */
606#define edje_obj_text_markup_filter_callback_add(part, func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_ADD), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Markup_Filter_Cb, func), EO_TYPECHECK(void *, data)
607
608/**
609 * @def edje_obj_text_markup_filter_callback_del
610 * @since 1.8
611 *
612 * Delete a function from the markup filter list.
613 *
614 * @param[in] part
615 * @param[in] func
616 * @param[out] ret
617 *
618 * @see edje_object_text_markup_filter_callback_del
619 */
620#define edje_obj_text_markup_filter_callback_del(part, func, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Markup_Filter_Cb, func), EO_TYPECHECK(void **, ret)
621
622/**
623 * @def edje_obj_text_markup_filter_callback_del_full
624 * @since 1.8
625 *
626 * Delete a function and matching user data from the markup filter list.
627 *
628 * @param[in] part
629 * @param[in] func
630 * @param[in] data
631 * @param[out] ret
632 *
633 * @see edje_object_text_markup_filter_callback_del_full
634 */
635#define edje_obj_text_markup_filter_callback_del_full(part, func, data, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_MARKUP_FILTER_CALLBACK_DEL_FULL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Markup_Filter_Cb, func), EO_TYPECHECK(void *, data), EO_TYPECHECK(void **, ret)
636
637/**
638 * @}
639 */
640
641/**
642 * @ingroup Edje_Object_File
643 *
644 * @{
645 */
646
647/**
648 * @def edje_obj_data_get
649 * @since 1.8
650 *
651 * @brief Retrieve an <b>EDC data field's value</b> from a given Edje.
652 *
653 * @param[in] key
654 * @param[out] ret
655 *
656 * @see edje_object_data_get
657 */
658#define edje_obj_data_get(key, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_DATA_GET), EO_TYPECHECK(const char *, key), EO_TYPECHECK(const char **, ret)
659
660/**
661 * @def edje_obj_file_set
662 * @since 1.8
663 *
664 * @param[in] file in
665 * @param[in] group in
666 * @param[out] ret out
667 *
668 * @see edje_object_file_set
669 */
670#define edje_obj_file_set(file, group, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FILE_SET), EO_TYPECHECK(const char*, file), EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret)
671
672/**
673 * @def edje_obj_mmap_set
674 * @since 1.8
675 *
676 * @param[in] file in
677 * @param[in] group in
678 * @param[out] ret out
679 *
680 * @see edje_object_file_set
681 */
682#define edje_obj_mmap_set(file, group, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MMAP_SET), EO_TYPECHECK(const Eina_File*, file), EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret)
683
684/**
685 * @def edje_obj_file_get
686 * @since 1.8
687 *
688 * @brief Get the file and group name that a given Edje object is bound to
689 *
690 * @param[out] file
691 * @param[out] group
692 *
693 * @see edje_object_file_get
694 */
695#define edje_obj_file_get(file, group) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FILE_GET), EO_TYPECHECK(const char **, file), EO_TYPECHECK(const char **, group)
696
697/**
698 * @def edje_obj_load_error_get
699 * @since 1.8
700 *
701 * @brief Gets the (last) file loading error for a given Edje object
702 *
703 * @param[out] ret
704 *
705 * @see edje_object_load_error_get
706 */
707#define edje_obj_load_error_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_LOAD_ERROR_GET), EO_TYPECHECK(Edje_Load_Error *, ret)
708/**
709 * @}
710 */
711
712/**
713 * @ingroup Edje_Object_Animation
714 *
715 * @{
716 */
717
718/**
719 * @def edje_obj_play_set
720 * @since 1.8
721 *
722 * @brief Set the Edje object to playing or paused states.
723 *
724 * @param[in] play
725 *
726 * @see edje_object_play_set
727 */
728#define edje_obj_play_set(play) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PLAY_SET), EO_TYPECHECK(Eina_Bool, play)
729
730/**
731 * @def edje_obj_play_get
732 * @since 1.8
733 *
734 * @brief Get the Edje object's state.
735 *
736 * @param[out] ret
737 *
738 * @see edje_object_play_get
739 */
740#define edje_obj_play_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PLAY_GET), EO_TYPECHECK(Eina_Bool *, ret)
741
742/**
743 * @def edje_obj_animation_set
744 * @since 1.8
745 *
746 * @brief Set the object's animation state.
747 *
748 * @param[in] on
749 *
750 * @see edje_object_animation_set
751 */
752#define edje_obj_animation_set(on) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ANIMATION_SET), EO_TYPECHECK(Eina_Bool, on)
753
754/**
755 * @def edje_obj_animation_get
756 * @since 1.8
757 *
758 * @brief Get the Edje object's animation state.
759 *
760 * @param[out] ret
761 *
762 * @see edje_object_animation_get
763 */
764#define edje_obj_animation_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ANIMATION_GET), EO_TYPECHECK(Eina_Bool *, ret)
765/**
766 * @def edje_obj_freeze
767 * @since 1.8
768 *
769 * @brief Freezes the Edje object.
770 *
771 * @param[out] ret
772 *
773 * @see edje_object_freeze
774 */
775#define edje_obj_freeze(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_FREEZE), EO_TYPECHECK(int *, ret)
776
777/**
778 * @def edje_obj_thaw
779 * @since 1.8
780 *
781 * @brief Thaws the Edje object.
782 *
783 * @param[out] ret
784 *
785 * @see edje_object_thaw
786 */
787#define edje_obj_thaw(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_THAW), EO_TYPECHECK(int *, ret)
788
789/**
790 * @def edje_obj_part_state_get
791 * @since 1.8
792 *
793 * @brief Returns the state of the Edje part.
794 *
795 * @param[in] part
796 * @param[out] val_ret
797 * @param[out] ret
798 *
799 * @see edje_object_part_state_get
800 */
801#define edje_obj_part_state_get(part, val_ret, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_STATE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, val_ret), EO_TYPECHECK(const char **, ret)
802
803/**
804 * @}
805 */
806
807/**
808 * @ingroup Edje_Object_Color_Class
809 *
810 * @{
811 */
812
813/**
814 * @def edje_obj_color_class_set
815 * @since 1.8
816 *
817 * @brief Sets the object color class.
818 *
819 * @param[in] color_class
820 * @param[in] r
821 * @param[in] g
822 * @param[in] b
823 * @param[in] a
824 * @param[in] r2
825 * @param[in] g2
826 * @param[in] b2
827 * @param[in] a2
828 * @param[in] r3
829 * @param[in] g3
830 * @param[in] b3
831 * @param[in] a3
832 * @param[out] ret
833 *
834 * @see edje_object_color_class_set
835 */
836#define edje_obj_color_class_set(color_class, r, g, b, a, r2, g2, b2, a2, r3, g3, b3, a3, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_COLOR_CLASS_SET), EO_TYPECHECK(const char *, color_class), EO_TYPECHECK(int, r), EO_TYPECHECK(int, g), EO_TYPECHECK(int, b), EO_TYPECHECK(int, a), EO_TYPECHECK(int, r2), EO_TYPECHECK(int, g2), EO_TYPECHECK(int, b2), EO_TYPECHECK(int, a2), EO_TYPECHECK(int, r3), EO_TYPECHECK(int, g3), EO_TYPECHECK(int, b3), EO_TYPECHECK(int, a3), EO_TYPECHECK(Eina_Bool *, ret)
837
838/**
839 * @def edje_obj_color_class_get
840 * @since 1.8
841 *
842 * @brief Gets the object color class.
843 *
844 * @param[in] color_class
845 * @param[out] r
846 * @param[out] g
847 * @param[out] b
848 * @param[out] a
849 * @param[out] r2
850 * @param[out] g2
851 * @param[out] b2
852 * @param[out] a2
853 * @param[out] r3
854 * @param[out] g3
855 * @param[out] b3
856 * @param[out] a3
857 * @param[out] ret
858 *
859 * @see edje_object_color_class_get
860 */
861#define edje_obj_color_class_get(color_class, r, g, b, a, r2, g2, b2, a2, r3, g3, b3, a3, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_COLOR_CLASS_GET), EO_TYPECHECK(const char *, color_class), EO_TYPECHECK(int *, r), EO_TYPECHECK(int *, g), EO_TYPECHECK(int *, b), EO_TYPECHECK(int *, a), EO_TYPECHECK(int *, r2), EO_TYPECHECK(int *, g2), EO_TYPECHECK(int *, b2), EO_TYPECHECK(int *, a2), EO_TYPECHECK(int *, r3), EO_TYPECHECK(int *, g3), EO_TYPECHECK(int *, b3), EO_TYPECHECK(int *, a3), EO_TYPECHECK(Eina_Bool *, ret)
862
863/**
864 * @}
865 */
866
867/**
868 * @ingroup Edje_Object_Text_Class
869 *
870 * @{
871 */
872
873/**
874 * @def edje_obj_text_class_set
875 * @since 1.8
876 *
877 * @brief Sets Edje text class.
878 *
879 * @param[in] text_class
880 * @param[in] font
881 * @param[in] size
882 * @param[out] ret
883 *
884 * @see edje_object_text_class_set
885 */
886#define edje_obj_text_class_set(text_class, font, size, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_CLASS_SET), EO_TYPECHECK(const char *, text_class), EO_TYPECHECK(const char *, font), EO_TYPECHECK(Evas_Font_Size, size), EO_TYPECHECK(Eina_Bool *, ret)
887
888/**
889 * @}
890 */
891
892/**
893 * @ingroup Edje_Object_Part
894 *
895 * @{
896 */
897
898/**
899 * @def edje_obj_part_exists
900 * @since 1.8
901 *
902 * @brief Check if an Edje part exists in a given Edje object's group
903 *
904 * @param[in] part
905 * @param[out] ret
906 *
907 * @see edje_object_part_exists
908 */
909#define edje_obj_part_exists(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXISTS), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool *, ret)
910
911/**
912 * @def edje_obj_part_object_get
913 * @since 1.8
914 *
915 * @brief Get a handle to the Evas object implementing a given Edje
916 *
917 * @param[in] part
918 * @param[out] ret
919 *
920 * @see edje_object_part_object_get
921 */
922#define edje_obj_part_object_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_OBJECT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Evas_Object **, ret)
923
924/**
925 * @def edje_obj_part_geometry_get
926 * @since 1.8
927 *
928 * @brief Retrieve the geometry of a given Edje part, in a given Edje
929 *
930 * @param[in] part
931 * @param[out] x
932 * @param[out] y
933 * @param[out] w
934 * @param[out] h
935 * @param[out] ret
936 *
937 * @see edje_object_part_geometry_get
938 */
939#define edje_obj_part_geometry_get(part, x, y, w, h, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_GEOMETRY_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y), EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h), EO_TYPECHECK(Eina_Bool *, ret)
940
941/**
942 * @def edje_obj_access_part_list_get
943 * @since 1.8
944 *
945 * @brief Retrieve a list all accessibility part names
946 *
947 * @param[out] ret
948 *
949 * @see edje_object_access_part_list_get
950 */
951#define edje_obj_access_part_list_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_ACCESS_PART_LIST_GET), EO_TYPECHECK(Eina_List **, ret)
952
953/**
954 * @}
955 */
956
957/**
958 * @ingroup Edje_Part_Text
959 *
960 * @{
961 */
962
963/**
964 * @def edje_obj_text_change_cb_set
965 * @since 1.8
966 *
967 * @brief Set the object text callback.
968 *
969 * @param[in] func
970 * @param[in] data
971 *
972 * @see edje_object_text_change_cb_set
973 */
974#define edje_obj_text_change_cb_set(func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_TEXT_CHANGE_CB_SET), EO_TYPECHECK(Edje_Text_Change_Cb, func), EO_TYPECHECK(void *, data)
975
976/**
977 * @def edje_obj_part_text_style_user_push
978 * @since 1.8
979 *
980 * @brief Set the style of the part.
981 *
982 * @param[in] part
983 * @param[in] style
984 *
985 * @see edje_object_part_text_style_user_push
986 */
987#define edje_obj_part_text_style_user_push(part, style) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PUSH), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, style)
988
989/**
990 * @def edje_obj_part_text_style_user_pop
991 * @since 1.8
992 *
993 * @brief Delete the top style form the user style stack.
994 *
995 * @param[in] part
996 *
997 * @see edje_object_part_text_style_user_pop
998 */
999#define edje_obj_part_text_style_user_pop(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_POP), EO_TYPECHECK(const char *, part)
1000
1001/**
1002 * @def edje_obj_part_text_style_user_peek
1003 * @since 1.8
1004 *
1005 * @brief Return the text of the object part.
1006 *
1007 * @param[in] part
1008 * @param[out] ret
1009 *
1010 * @see edje_object_part_text_style_user_peek
1011 */
1012#define edje_obj_part_text_style_user_peek(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_STYLE_USER_PEEK), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char **, ret)
1013
1014/**
1015 * @def edje_obj_part_text_set
1016 * @since 1.8
1017 *
1018 * @brief Sets the text for an object part
1019 *
1020 * @param[in] part
1021 * @param[in] text
1022 * @param[out] ret
1023 *
1024 * @see edje_object_part_text_set
1025 */
1026#define edje_obj_part_text_set(part, text, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text), EO_TYPECHECK(Eina_Bool *, ret)
1027
1028/**
1029 * @def edje_obj_part_text_get
1030 * @since 1.8
1031 *
1032 * @brief Return the text of the object part.
1033 *
1034 * @param[in] part
1035 * @param[out] ret
1036 *
1037 * @see edje_object_part_text_get
1038 */
1039#define edje_obj_part_text_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char **, ret)
1040
1041/**
1042 * @def edje_obj_part_text_escaped_set
1043 * @since 1.8
1044 *
1045 * @brief Sets the text for an object part, but converts HTML escapes to UTF8
1046 *
1047 * @param[in] part
1048 * @param[in] text
1049 * @param[out] ret
1050 *
1051 * @see edje_object_part_text_escaped_set
1052 */
1053#define edje_obj_part_text_escaped_set(part, text, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ESCAPED_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text), EO_TYPECHECK(Eina_Bool *, ret)
1054
1055/**
1056 * @def edje_obj_part_text_unescaped_set
1057 * @since 1.8
1058 *
1059 * @brief Sets the raw (non escaped) text for an object part.
1060 *
1061 * @param[in] part
1062 * @param[in] text_to_escape
1063 * @param[out] ret
1064 *
1065 * @see edje_object_part_text_unescaped_set
1066 */
1067#define edje_obj_part_text_unescaped_set(part, text_to_escape, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text_to_escape), EO_TYPECHECK(Eina_Bool *, ret)
1068
1069/**
1070 * @def edje_obj_part_text_unescaped_get
1071 * @since 1.8
1072 *
1073 * @brief Returns the text of the object part, without escaping.
1074 *
1075 * @param[in] part
1076 * @param[out] ret
1077 *
1078 * @see edje_object_part_text_unescaped_get
1079 */
1080#define edje_obj_part_text_unescaped_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_UNESCAPED_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(char **, ret)
1081
1082/**
1083 * @def edje_obj_part_text_insert
1084 * @since 1.8
1085 *
1086 * @brief Insert text for an object part.
1087 *
1088 * @param[in] part
1089 * @param[in] text
1090 *
1091 * @see edje_object_part_text_insert
1092 */
1093#define edje_obj_part_text_insert(part, text) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INSERT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text)
1094
1095/**
1096 * @def edje_obj_part_text_append
1097 * @since 1.8
1098 *
1099 * @brief Insert text for an object part.
1100 *
1101 * @param[in] part
1102 * @param[in] text
1103 *
1104 * @see edje_object_part_text_append
1105 */
1106#define edje_obj_part_text_append(part, text) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_APPEND), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text)
1107
1108/**
1109 * @def edje_obj_part_text_anchor_list_get
1110 * @since 1.8
1111 *
1112 * @brief Return a list of char anchor names.
1113 *
1114 * @param[in] part
1115 * @param[out] ret
1116 *
1117 * @see edje_object_part_text_anchor_list_get
1118 */
1119#define edje_obj_part_text_anchor_list_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_LIST_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Eina_List **, ret)
1120
1121/**
1122 * @def edje_obj_part_text_anchor_geometry_get
1123 * @since 1.8
1124 *
1125 * @brief Return a list of Evas_Textblock_Rectangle anchor rectangles.
1126 *
1127 * @param[in] part
1128 * @param[in] anchor
1129 * @param[out] ret
1130 *
1131 * @see edje_object_part_text_anchor_geometry_get
1132 */
1133#define edje_obj_part_text_anchor_geometry_get(part, anchor, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ANCHOR_GEOMETRY_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, anchor), EO_TYPECHECK(const Eina_List **, ret)
1134
1135/**
1136 * @def edje_obj_part_text_item_list_get
1137 * @since 1.8
1138 *
1139 * @brief Return a list of char item names.
1140 *
1141 * @param[in] part
1142 * @param[out] ret
1143 *
1144 * @see edje_object_part_text_item_list_get
1145 */
1146#define edje_obj_part_text_item_list_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_LIST_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Eina_List **, ret)
1147
1148/**
1149 * @def edje_obj_part_text_item_geometry_get
1150 * @since 1.8
1151 *
1152 * @brief Return item geometry.
1153 *
1154 * @param[in] part
1155 * @param[in] item
1156 * @param[out] cx
1157 * @param[out] cy
1158 * @param[out] cw
1159 * @param[out] ch
1160 * @param[out] ret
1161 *
1162 * @see edje_object_part_text_item_geometry_get
1163 */
1164#define edje_obj_part_text_item_geometry_get(part, item, cx, cy, cw, ch, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_ITEM_GEOMETRY_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, item), EO_TYPECHECK(Evas_Coord *, cx), EO_TYPECHECK(Evas_Coord *, cy), EO_TYPECHECK(Evas_Coord *, cw), EO_TYPECHECK(Evas_Coord *, ch), EO_TYPECHECK(Eina_Bool *, ret)
1165
1166/**
1167 * @def edje_obj_part_text_user_insert
1168 * @since 1.8
1169 *
1170 * @brief This function inserts text as if the user has inserted it.
1171 *
1172 * @param[in] part
1173 * @param[in] text
1174 *
1175 * @see edje_object_part_text_user_insert
1176 */
1177#define edje_obj_part_text_user_insert(part, text) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_USER_INSERT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text)
1178
1179/**
1180 * @}
1181 */
1182
1183/**
1184 * @ingroup Edje_Text_Selection
1185 *
1186 * @{
1187 */
1188
1189/**
1190 * @def edje_obj_part_text_selection_get
1191 * @since 1.8
1192 *
1193 * @brief Return the selection text of the object part.
1194 *
1195 * @param[in] part
1196 * @param[out] ret
1197 *
1198 * @see edje_object_part_text_selection_get
1199 */
1200#define edje_obj_part_text_selection_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECTION_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char **, ret)
1201
1202/**
1203 * @def edje_obj_part_text_select_none
1204 * @since 1.8
1205 *
1206 * @brief Set the selection to be none.
1207 *
1208 * @param[in] part
1209 *
1210 * @see edje_object_part_text_select_none
1211 */
1212#define edje_obj_part_text_select_none(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_NONE), EO_TYPECHECK(const char *, part)
1213
1214/**
1215 * @def edje_obj_part_text_select_all
1216 * @since 1.8
1217 *
1218 * @brief Set the selection to be everything.
1219 *
1220 * @param[in] part
1221 *
1222 * @see edje_object_part_text_select_all
1223 */
1224#define edje_obj_part_text_select_all(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALL), EO_TYPECHECK(const char *, part)
1225
1226/**
1227 * @def edje_obj_part_text_select_allow_set
1228 * @since 1.8
1229 *
1230 * @brief Enables selection if the entry is an EXPLICIT selection mode
1231 *
1232 * @param[in] part
1233 * @param[in] allow
1234 *
1235 * @see edje_object_part_text_select_allow_set
1236 */
1237#define edje_obj_part_text_select_allow_set(part, allow) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ALLOW_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, allow)
1238
1239/**
1240 * @def edje_obj_part_text_select_abort
1241 * @since 1.8
1242 *
1243 * @brief Aborts any selection action on a part.
1244 *
1245 * @param[in] part
1246 *
1247 * @see edje_object_part_text_select_abort
1248 */
1249#define edje_obj_part_text_select_abort(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_ABORT), EO_TYPECHECK(const char *, part)
1250
1251/**
1252 * @def edje_obj_part_text_select_begin
1253 * @since 1.8
1254 *
1255 * @brief Starts selecting at current cursor position
1256 *
1257 * @param[in] part
1258 *
1259 * @see edje_object_part_text_select_begin
1260 */
1261#define edje_obj_part_text_select_begin(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_BEGIN), EO_TYPECHECK(const char *, part)
1262
1263/**
1264 * @def edje_obj_part_text_select_extend
1265 * @since 1.8
1266 *
1267 * @brief Extends the current selection to the current cursor position
1268 *
1269 * @param[in] part
1270 *
1271 * @see edje_object_part_text_select_extend
1272 */
1273#define edje_obj_part_text_select_extend(part) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_SELECT_EXTEND), EO_TYPECHECK(const char *, part)
1274
1275/**
1276 * @}
1277 */
1278
1279/**
1280 * @ingroup Edje_Text_Cursor
1281 *
1282 * @{
1283 */
1284
1285/**
1286 * @def edje_obj_part_text_cursor_next
1287 * @since 1.8
1288 *
1289 * @brief Advances the cursor to the next cursor position.
1290 *
1291 * @param[in] part
1292 * @param[in] cur
1293 * @param[out] ret
1294 *
1295 * @see edje_object_part_text_cursor_next
1296 */
1297#define edje_obj_part_text_cursor_next(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_NEXT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
1298
1299/**
1300 * @def edje_obj_part_text_cursor_prev
1301 * @since 1.8
1302 *
1303 * @brief Moves the cursor to the previous char
1304 *
1305 * @param[in] part
1306 * @param[in] cur
1307 * @param[out] ret
1308 *
1309 * @see edje_object_part_text_cursor_prev
1310 */
1311#define edje_obj_part_text_cursor_prev(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_PREV), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
1312
1313/**
1314 * @def edje_obj_part_text_cursor_up
1315 * @since 1.8
1316 *
1317 * @brief Move the cursor to the char above the current cursor position.
1318 *
1319 * @param[in] part
1320 * @param[in] cur
1321 * @param[out] ret
1322 *
1323 * @see edje_object_part_text_cursor_up
1324 */
1325#define edje_obj_part_text_cursor_up(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_UP), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
1326
1327/**
1328 * @def edje_obj_part_text_cursor_down
1329 * @since 1.8
1330 *
1331 * @brief Moves the cursor to the char below the current cursor position.
1332 *
1333 * @param[in] part
1334 * @param[in] cur
1335 * @param[out] ret
1336 *
1337 * @see edje_object_part_text_cursor_down
1338 */
1339#define edje_obj_part_text_cursor_down(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_DOWN), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
1340
1341/**
1342 * @def edje_obj_part_text_cursor_begin_set
1343 * @since 1.8
1344 *
1345 * @brief Moves the cursor to the beginning of the text part
1346 *
1347 * @param[in] part
1348 * @param[in] cur
1349 *
1350 * @see edje_object_part_text_cursor_begin_set
1351 */
1352#define edje_obj_part_text_cursor_begin_set(part, cur) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_BEGIN_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur)
1353
1354/**
1355 * @def edje_obj_part_text_cursor_end_set
1356 * @since 1.8
1357 *
1358 * @brief Moves the cursor to the end of the text part.
1359 *
1360 * @param[in] part
1361 * @param[in] cur
1362 *
1363 * @see edje_object_part_text_cursor_end_set
1364 */
1365#define edje_obj_part_text_cursor_end_set(part, cur) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_END_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur)
1366
1367/**
1368 * @def edje_obj_part_text_cursor_copy
1369 * @since 1.8
1370 *
1371 * @brief Copy the cursor to another cursor.
1372 *
1373 * @param[in] part
1374 * @param[in] src
1375 * @param[in] dst
1376 *
1377 * @see edje_object_part_text_cursor_copy
1378 */
1379#define edje_obj_part_text_cursor_copy(part, src, dst) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COPY), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, src), EO_TYPECHECK(Edje_Cursor, dst)
1380
1381/**
1382 * @def edje_obj_part_text_cursor_line_begin_set
1383 * @since 1.8
1384 *
1385 * @brief Move the cursor to the beginning of the line.
1386 *
1387 * @param[in] part
1388 * @param[in] cur
1389 *
1390 * @see edje_object_part_text_cursor_line_begin_set
1391 */
1392#define edje_obj_part_text_cursor_line_begin_set(part, cur) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_BEGIN_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur)
1393
1394/**
1395 * @def edje_obj_part_text_cursor_line_end_set
1396 * @since 1.8
1397 *
1398 * @brief Move the cursor to the end of the line.
1399 *
1400 * @param[in] part
1401 * @param[in] cur
1402 *
1403 * @see edje_object_part_text_cursor_line_end_set
1404 */
1405#define edje_obj_part_text_cursor_line_end_set(part, cur) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_LINE_END_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur)
1406
1407/**
1408 * @def edje_obj_part_text_cursor_coord_set
1409 * @since 1.8
1410 *
1411 * Position the given cursor to a X,Y position.
1412 *
1413 * @param[in] part
1414 * @param[in] cur
1415 * @param[in] x
1416 * @param[in] y
1417 * @param[out] ret
1418 *
1419 * @see edje_object_part_text_cursor_coord_set
1420 */
1421#define edje_obj_part_text_cursor_coord_set(part, cur, x, y, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_COORD_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Evas_Coord, x), EO_TYPECHECK(Evas_Coord, y), EO_TYPECHECK(Eina_Bool *, ret)
1422
1423/**
1424 * @def edje_obj_part_text_cursor_is_format_get
1425 * @since 1.8
1426 *
1427 * @brief Returns whether the cursor points to a format.
1428 *
1429 * @param[in] part
1430 * @param[in] cur
1431 * @param[out] ret
1432 *
1433 * @see edje_object_part_text_cursor_is_format_get
1434 */
1435#define edje_obj_part_text_cursor_is_format_get(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_FORMAT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
1436
1437/**
1438 * @def edje_obj_part_text_cursor_is_visible_format_get
1439 * @since 1.8
1440 *
1441 * @brief Return true if the cursor points to a visible format
1442 *
1443 * @param[in] part
1444 * @param[in] cur
1445 * @param[out] ret
1446 *
1447 * @see edje_object_part_text_cursor_is_visible_format_get
1448 */
1449#define edje_obj_part_text_cursor_is_visible_format_get(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_IS_VISIBLE_FORMAT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(Eina_Bool *, ret)
1450
1451/**
1452 * @def edje_obj_part_text_cursor_content_get
1453 * @since 1.8
1454 *
1455 * @brief Returns the content (char) at the cursor position.
1456 *
1457 * @param[in] part
1458 * @param[in] cur
1459 * @param[out] ret
1460 *
1461 * @see edje_object_part_text_cursor_content_get
1462 */
1463#define edje_obj_part_text_cursor_content_get(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_CONTENT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(char **, ret)
1464
1465/**
1466 * @def edje_obj_part_text_cursor_pos_set
1467 * @since 1.8
1468 *
1469 * @brief Sets the cursor position to the given value
1470 *
1471 * @param[in] part
1472 * @param[in] cur
1473 * @param[in] pos
1474 *
1475 * @see edje_object_part_text_cursor_pos_set
1476 */
1477#define edje_obj_part_text_cursor_pos_set(part, cur, pos) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(int, pos)
1478
1479/**
1480 * @def edje_obj_part_text_cursor_pos_get
1481 * @since 1.8
1482 *
1483 * @brief Retrieves the current position of the cursor
1484 *
1485 * @param[in] part
1486 * @param[in] cur
1487 * @param[out] ret
1488 *
1489 * @see edje_object_part_text_cursor_pos_get
1490 */
1491#define edje_obj_part_text_cursor_pos_get(part, cur, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_POS_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Cursor, cur), EO_TYPECHECK(int *, ret)
1492
1493/**
1494 * @def edje_obj_part_text_cursor_geometry_get
1495 * @since 1.8
1496 *
1497 * @brief Returns the cursor geometry of the part relative to the edje
1498 *
1499 * @param[in] part
1500 * @param[out] x
1501 * @param[out] y
1502 * @param[out] w
1503 * @param[out] h
1504 *
1505 * @see edje_object_part_text_cursor_geometry_get
1506 */
1507#define edje_obj_part_text_cursor_geometry_get(part, x, y, w, h) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_CURSOR_GEOMETRY_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y), EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h)
1508
1509/**
1510 * @}
1511 */
1512
1513/**
1514 * @ingroup Edje_Part_Swallow
1515 *
1516 * @{
1517 */
1518
1519/**
1520 * @def edje_obj_part_swallow
1521 * @since 1.8
1522 *
1523 * @brief "Swallows" an object into one of the Edje object SWALLOW
1524 *
1525 * @param[in] part
1526 * @param[in] obj_swallow
1527 * @param[out] ret
1528 *
1529 * @see edje_object_part_swallow
1530 */
1531#define edje_obj_part_swallow(part, obj_swallow, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_SWALLOW), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, obj_swallow), EO_TYPECHECK(Eina_Bool *, ret)
1532
1533/**
1534 * @def edje_obj_part_unswallow
1535 * @since 1.8
1536 *
1537 * @brief Unswallow an object.
1538 *
1539 * @param[in] obj_swallow
1540 *
1541 * @see edje_object_part_unswallow
1542 */
1543#define edje_obj_part_unswallow(obj_swallow) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_UNSWALLOW), EO_TYPECHECK(Evas_Object *, obj_swallow)
1544
1545/**
1546 * @def edje_obj_part_swallow_get
1547 * @since 1.8
1548 *
1549 * @brief Get the object currently swallowed by a part.
1550 *
1551 * @param[in] part
1552 * @param[out] ret
1553 *
1554 * @see edje_object_part_swallow_get
1555 */
1556#define edje_obj_part_swallow_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_SWALLOW_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object **, ret)
1557
1558/**
1559 * @}
1560 */
1561
1562/**
1563 * @ingroup Edje_Object_Geometry_Group
1564 *
1565 * @{
1566 */
1567
1568/**
1569 * @def edje_obj_size_min_get
1570 * @since 1.8
1571 *
1572 * @brief Get the minimum size specified -- as an EDC property -- for a
1573 * given Edje object
1574 *
1575 * @param[out] minw
1576 * @param[out] minh
1577 *
1578 * @see edje_object_size_min_get
1579 */
1580#define edje_obj_size_min_get(minw, minh) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_GET), EO_TYPECHECK(Evas_Coord *, minw), EO_TYPECHECK(Evas_Coord *, minh)
1581
1582/**
1583 * @def edje_obj_update_hints_set
1584 * @since 1.8
1585 *
1586 * @brief Edje will automatically update the size hints on itself.
1587 *
1588 * @param[in] update
1589 *
1590 * @see edje_object_update_hints_set
1591 */
1592#define edje_obj_update_hints_set(update) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_UPDATE_HINTS_SET), EO_TYPECHECK(Eina_Bool, update)
1593
1594/**
1595 * @def edje_obj_update_hints_get
1596 * @since 1.8
1597 *
1598 * @brief Whether or not Edje will update size hints on itself.
1599 *
1600 * @param[out] ret
1601 *
1602 * @see edje_object_update_hints_get
1603 */
1604#define edje_obj_update_hints_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_UPDATE_HINTS_GET), EO_TYPECHECK(Eina_Bool *, ret)
1605
1606/**
1607 * @def edje_obj_size_max_get
1608 * @since 1.8
1609 *
1610 * @brief Get the maximum size specified -- as an EDC property -- for a
1611 * given Edje object
1612 *
1613 * @param[out] maxw
1614 * @param[out] maxh
1615 *
1616 * @see edje_object_size_max_get
1617 */
1618#define edje_obj_size_max_get(maxw, maxh) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MAX_GET), EO_TYPECHECK(Evas_Coord *, maxw), EO_TYPECHECK(Evas_Coord *, maxh)
1619
1620/**
1621 * @def edje_obj_calc_force
1622 * @since 1.8
1623 *
1624 * @brief Force a Size/Geometry calculation.
1625 *
1626 *
1627 * @see edje_object_calc_force
1628 */
1629#define edje_obj_calc_force() EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_CALC_FORCE)
1630
1631/**
1632 * @def edje_obj_size_min_calc
1633 * @since 1.8
1634 *
1635 * @brief Calculate the minimum required size for a given Edje object.
1636 *
1637 * @param[out] minw
1638 * @param[out] minh
1639 *
1640 * @see edje_object_size_min_calc
1641 */
1642#define edje_obj_size_min_calc(minw, minh) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_CALC), EO_TYPECHECK(Evas_Coord *, minw), EO_TYPECHECK(Evas_Coord *, minh)
1643
1644/**
1645 * @def edje_obj_parts_extends_calc
1646 * @since 1.8
1647 *
1648 * Calculate the geometry of the region, relative to a given Edje
1649 *
1650 * @param[out] x
1651 * @param[out] y
1652 * @param[out] w
1653 * @param[out] h
1654 * @param[out] ret
1655 *
1656 * @see edje_object_parts_extends_calc
1657 */
1658#define edje_obj_parts_extends_calc(x, y, w, h, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PARTS_EXTENDS_CALC), EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y), EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h), EO_TYPECHECK(Eina_Bool *, ret)
1659
1660/**
1661 * @def edje_obj_size_min_restricted_calc
1662 * @since 1.8
1663 *
1664 * @brief Calculate the minimum required size for a given Edje object.
1665 *
1666 * @param[out] minw
1667 * @param[out] minh
1668 * @param[in] restrictedw
1669 * @param[in] restrictedh
1670 *
1671 * @see edje_object_size_min_restricted_calc
1672 */
1673#define edje_obj_size_min_restricted_calc(minw, minh, restrictedw, restrictedh) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIZE_MIN_RESTRICTED_CALC), EO_TYPECHECK(Evas_Coord *, minw), EO_TYPECHECK(Evas_Coord *, minh), EO_TYPECHECK(Evas_Coord, restrictedw), EO_TYPECHECK(Evas_Coord, restrictedh)
1674
1675/**
1676 * @}
1677 */
1678
1679/**
1680 * @ingroup Edje_Part_Drag
1681 *
1682 * @{
1683 */
1684
1685/**
1686 * @def edje_obj_part_drag_dir_get
1687 * @since 1.8
1688 *
1689 * @brief Determine dragable directions.
1690 *
1691 * @param[in] part
1692 * @param[out] ret
1693 *
1694 * @see edje_object_part_drag_dir_get
1695 */
1696#define edje_obj_part_drag_dir_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_DIR_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Drag_Dir *, ret)
1697
1698/**
1699 * @def edje_obj_part_drag_value_set
1700 * @since 1.8
1701 *
1702 * @brief Set the dragable object location.
1703 *
1704 * @param[in] part
1705 * @param[in] dx
1706 * @param[in] dy
1707 * @param[out] ret
1708 *
1709 * @see edje_object_part_drag_value_set
1710 */
1711#define edje_obj_part_drag_value_set(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
1712
1713/**
1714 * @def edje_obj_part_drag_value_get
1715 * @since 1.8
1716 *
1717 * @brief Get the dragable object location.
1718 *
1719 * @param[in] part
1720 * @param[out] dx
1721 * @param[out] dy
1722 * @param[out] ret
1723 *
1724 * @see edje_object_part_drag_value_get
1725 */
1726#define edje_obj_part_drag_value_get(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_VALUE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, dx), EO_TYPECHECK(double *, dy), EO_TYPECHECK(Eina_Bool *, ret)
1727
1728/**
1729 * @def edje_obj_part_drag_size_set
1730 * @since 1.8
1731 *
1732 * @brief Set the dragable object size.
1733 *
1734 * @param[in] part
1735 * @param[in] dw
1736 * @param[in] dh
1737 * @param[out] ret
1738 *
1739 * @see edje_object_part_drag_size_set
1740 */
1741#define edje_obj_part_drag_size_set(part, dw, dh, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dw), EO_TYPECHECK(double, dh), EO_TYPECHECK(Eina_Bool *, ret)
1742
1743/**
1744 * @def edje_obj_part_drag_size_get
1745 * @since 1.8
1746 *
1747 * @brief Get the dragable object size.
1748 *
1749 * @param[in] part
1750 * @param[out] dw
1751 * @param[out] dh
1752 * @param[out] ret
1753 *
1754 * @see edje_object_part_drag_size_get
1755 */
1756#define edje_obj_part_drag_size_get(part, dw, dh, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_SIZE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, dw), EO_TYPECHECK(double *, dh), EO_TYPECHECK(Eina_Bool *, ret)
1757
1758/**
1759 * @def edje_obj_part_drag_step_set
1760 * @since 1.8
1761 *
1762 * @brief Sets the drag step increment.
1763 *
1764 * @param[in] part
1765 * @param[in] dx
1766 * @param[in] dy
1767 * @param[out] ret
1768 *
1769 * @see edje_object_part_drag_step_set
1770 */
1771#define edje_obj_part_drag_step_set(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
1772
1773/**
1774 * @def edje_obj_part_drag_step_get
1775 * @since 1.8
1776 *
1777 * @brief Gets the drag step increment values.
1778 *
1779 * @param[in] part
1780 * @param[out] dx
1781 * @param[out] dy
1782 * @param[out] ret
1783 *
1784 * @see edje_object_part_drag_step_get
1785 */
1786#define edje_obj_part_drag_step_get(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, dx), EO_TYPECHECK(double *, dy), EO_TYPECHECK(Eina_Bool *, ret)
1787
1788/**
1789 * @def edje_obj_part_drag_page_set
1790 * @since 1.8
1791 *
1792 * @brief Sets the page step increments.
1793 *
1794 * @param[in] part
1795 * @param[in] dx
1796 * @param[in] dy
1797 * @param[out] ret
1798 *
1799 * @see edje_object_part_drag_page_set
1800 */
1801#define edje_obj_part_drag_page_set(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
1802
1803/**
1804 * @def edje_obj_part_drag_page_get
1805 * @since 1.8
1806 *
1807 * @brief Gets the page step increments.
1808 *
1809 * @param[in] part
1810 * @param[out] dx
1811 * @param[out] dy
1812 * @param[out] ret
1813 *
1814 * @see edje_object_part_drag_page_get
1815 */
1816#define edje_obj_part_drag_page_get(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double *, dx), EO_TYPECHECK(double *, dy), EO_TYPECHECK(Eina_Bool *, ret)
1817
1818/**
1819 * @def edje_obj_part_drag_step
1820 * @since 1.8
1821 *
1822 * @brief Steps the dragable x,y steps.
1823 *
1824 * @param[in] part
1825 * @param[in] dx
1826 * @param[in] dy
1827 * @param[out] ret
1828 *
1829 * @see edje_object_part_drag_step
1830 */
1831#define edje_obj_part_drag_step(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_STEP), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
1832
1833/**
1834 * @def edje_obj_part_drag_page
1835 * @since 1.8
1836 *
1837 * @brief Pages x,y steps.
1838 *
1839 * @param[in] part
1840 * @param[in] dx
1841 * @param[in] dy
1842 * @param[out] ret
1843 *
1844 * @see edje_object_part_drag_page
1845 */
1846#define edje_obj_part_drag_page(part, dx, dy, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_DRAG_PAGE), EO_TYPECHECK(const char *, part), EO_TYPECHECK(double, dx), EO_TYPECHECK(double, dy), EO_TYPECHECK(Eina_Bool *, ret)
1847
1848/**
1849 * @}
1850 */
1851
1852/**
1853 * @ingroup Edje_Part_Box
1854 *
1855 * @{
1856 */
1857
1858/**
1859 * @def edje_obj_part_box_append
1860 * @since 1.8
1861 *
1862 * @brief Appends an object to the box.
1863 *
1864 * @param[in] part
1865 * @param[in] child
1866 * @param[out] ret
1867 *
1868 * @see edje_object_part_box_append
1869 */
1870#define edje_obj_part_box_append(part, child, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_APPEND), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Eina_Bool *, ret)
1871
1872/**
1873 * @def edje_obj_part_box_prepend
1874 * @since 1.8
1875 *
1876 * @brief Prepends an object to the box.
1877 *
1878 * @param[in] part
1879 * @param[in] child
1880 * @param[out] ret
1881 *
1882 * @see edje_object_part_box_prepend
1883 */
1884#define edje_obj_part_box_prepend(part, child, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_PREPEND), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Eina_Bool *, ret)
1885
1886/**
1887 * @def edje_obj_part_box_insert_before
1888 * @since 1.8
1889 *
1890 * @brief Adds an object to the box.
1891 *
1892 * @param[in] part
1893 * @param[in] child
1894 * @param[in] reference
1895 * @param[out] ret
1896 *
1897 * @see edje_object_part_box_insert_before
1898 */
1899#define edje_obj_part_box_insert_before(part, child, reference, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_BEFORE), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(const Evas_Object *, reference), EO_TYPECHECK(Eina_Bool *, ret)
1900
1901/**
1902 * @def edje_obj_part_box_insert_at
1903 * @since 1.8
1904 *
1905 * @brief Inserts an object to the box.
1906 *
1907 * @param[in] part
1908 * @param[in] child
1909 * @param[in] pos
1910 * @param[out] ret
1911 *
1912 * @see edje_object_part_box_insert_at
1913 */
1914#define edje_obj_part_box_insert_at(part, child, pos, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_INSERT_AT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(unsigned int, pos), EO_TYPECHECK(Eina_Bool *, ret)
1915
1916/**
1917 * @def edje_obj_part_box_remove
1918 * @since 1.8
1919 *
1920 * @brief Removes an object from the box.
1921 *
1922 * @param[in] part
1923 * @param[in] child
1924 * @param[out] ret
1925 *
1926 * @see edje_object_part_box_remove
1927 */
1928#define edje_obj_part_box_remove(part, child, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Evas_Object **, ret)
1929
1930/**
1931 * @def edje_obj_part_box_remove_at
1932 * @since 1.8
1933 *
1934 * @brief Removes an object from the box.
1935 *
1936 * @param[in] part
1937 * @param[in] pos
1938 * @param[out] ret
1939 *
1940 * @see edje_object_part_box_remove_at
1941 */
1942#define edje_obj_part_box_remove_at(part, pos, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_AT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(unsigned int, pos), EO_TYPECHECK(Evas_Object **, ret)
1943
1944/**
1945 * @def edje_obj_part_box_remove_all
1946 * @since 1.8
1947 *
1948 * @brief Removes all elements from the box.
1949 *
1950 * @param[in] part
1951 * @param[in] clear
1952 * @param[out] ret
1953 *
1954 * @see edje_object_part_box_remove_all
1955 */
1956#define edje_obj_part_box_remove_all(part, clear, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_BOX_REMOVE_ALL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, clear), EO_TYPECHECK(Eina_Bool *, ret)
1957
1958/**
1959 * @}
1960 */
1961
1962/**
1963 * @ingroup Edje_Part_Table
1964 *
1965 * @{
1966 */
1967
1968/**
1969 * @def edje_obj_part_table_child_get
1970 * @since 1.8
1971 *
1972 * @brief Retrieve a child from a table
1973 *
1974 * @param[in] part
1975 * @param[in] col
1976 * @param[in] row
1977 * @param[out] ret
1978 *
1979 * @see edje_object_part_table_child_get
1980 */
1981#define edje_obj_part_table_child_get(part, col, row, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_CHILD_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(unsigned int, col), EO_TYPECHECK(unsigned int, row), EO_TYPECHECK(Evas_Object **, ret)
1982
1983/**
1984 * @def edje_obj_part_table_pack
1985 * @since 1.8
1986 *
1987 * @brief Packs an object into the table.
1988 *
1989 * @param[in] part
1990 * @param[in] child_obj
1991 * @param[in] col
1992 * @param[in] row
1993 * @param[in] colspan
1994 * @param[in] rowspan
1995 * @param[out] ret
1996 *
1997 * @see edje_object_part_table_pack
1998 */
1999#define edje_obj_part_table_pack(part, child_obj, col, row, colspan, rowspan, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_PACK), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child_obj), EO_TYPECHECK(unsigned short, col), EO_TYPECHECK(unsigned short, row), EO_TYPECHECK(unsigned short, colspan), EO_TYPECHECK(unsigned short, rowspan), EO_TYPECHECK(Eina_Bool *, ret)
2000
2001/**
2002 * @def edje_obj_part_table_unpack
2003 * @since 1.8
2004 *
2005 * @brief Removes an object from the table.
2006 *
2007 * @param[in] part
2008 * @param[in] child_obj
2009 * @param[out] ret
2010 *
2011 * @see edje_object_part_table_unpack
2012 */
2013#define edje_obj_part_table_unpack(part, child_obj, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_UNPACK), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child_obj), EO_TYPECHECK(Eina_Bool *, ret)
2014
2015/**
2016 * @def edje_obj_part_table_col_row_size_get
2017 * @since 1.8
2018 *
2019 * @brief Gets the number of columns and rows the table has.
2020 *
2021 * @param[in] part
2022 * @param[out] cols
2023 * @param[out] rows
2024 * @param[out] ret
2025 *
2026 * @see edje_object_part_table_col_row_size_get
2027 */
2028#define edje_obj_part_table_col_row_size_get(part, cols, rows, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_COL_ROW_SIZE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(int *, cols), EO_TYPECHECK(int *, rows), EO_TYPECHECK(Eina_Bool *, ret)
2029
2030/**
2031 * @def edje_obj_part_table_clear
2032 * @since 1.8
2033 *
2034 * @brief Removes all object from the table.
2035 *
2036 * @param[in] part
2037 * @param[in] clear
2038 * @param[out] ret
2039 *
2040 * @see edje_object_part_table_clear
2041 */
2042#define edje_obj_part_table_clear(part, clear, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TABLE_CLEAR), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, clear), EO_TYPECHECK(Eina_Bool *, ret)
2043
2044/**
2045 * @}
2046 */
2047
2048/**
2049 * @ingroup Edje_Perspective
2050 *
2051 * @{
2052 */
2053
2054/**
2055 * @def edje_obj_perspective_set
2056 * @since 1.8
2057 *
2058 * Set the given perspective object on this Edje object.
2059 *
2060 * @param[in] ps
2061 *
2062 * @see edje_object_perspective_set
2063 */
2064#define edje_obj_perspective_set(ps) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PERSPECTIVE_SET), EO_TYPECHECK(Edje_Perspective *, ps)
2065
2066/**
2067 * @def edje_obj_perspective_get
2068 * @since 1.8
2069 *
2070 * Get the current perspective used on this Edje object.
2071 *
2072 * @param[out] ret
2073 *
2074 * @see edje_object_perspective_get
2075 */
2076#define edje_obj_perspective_get(ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PERSPECTIVE_GET), EO_TYPECHECK(const Edje_Perspective **, ret)
2077
2078/**
2079 * @}
2080 */
2081
2082/**
2083 * @ingroup Edje_Object_Group
2084 *
2085 * @{
2086 */
2087
2088/**
2089 * @def edje_obj_preload
2090 * @since 1.8
2091 *
2092 * @brief Preload the images on the Edje Object in the background.
2093 *
2094 * @param[in] cancel
2095 * @param[out] ret
2096 *
2097 * @see edje_object_preload
2098 */
2099#define edje_obj_preload(cancel, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PRELOAD), EO_TYPECHECK(Eina_Bool, cancel), EO_TYPECHECK(Eina_Bool *, ret)
2100
2101/**
2102 * @}
2103 */
2104
2105/**
2106 * @ingroup Edje_External_Group
2107 *
2108 * @{
2109 */
2110
2111/**
2112 * @def edje_obj_part_external_object_get
2113 * @since 1.8
2114 *
2115 * @brief Get the object created by this external part.
2116 *
2117 * @param[in] part
2118 * @param[out] ret
2119 *
2120 * @see edje_object_part_external_object_get
2121 */
2122#define edje_obj_part_external_object_get(part, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_OBJECT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object **, ret)
2123
2124/**
2125 * @def edje_obj_part_external_param_set
2126 * @since 1.8
2127 *
2128 * @brief Set the parameter for the external part.
2129 *
2130 * @param[in] part
2131 * @param[in] param
2132 * @param[out] ret
2133 *
2134 * @see edje_object_part_external_param_set
2135 */
2136#define edje_obj_part_external_param_set(part, param, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const Edje_External_Param *, param), EO_TYPECHECK(Eina_Bool *, ret)
2137
2138/**
2139 * @def edje_obj_part_external_param_get
2140 * @since 1.8
2141 *
2142 * @brief Get the parameter for the external part.
2143 *
2144 * @param[in] part
2145 * @param[out] param
2146 * @param[out] ret
2147 *
2148 * @see edje_object_part_external_param_get
2149 */
2150#define edje_obj_part_external_param_get(part, param, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_External_Param *, param), EO_TYPECHECK(Eina_Bool *, ret)
2151
2152/**
2153 * @def edje_obj_part_external_content_get
2154 * @since 1.8
2155 *
2156 * @brief Get an object contained in an part of type EXTERNAL
2157 *
2158 * @param[in] part
2159 * @param[out] content
2160 * @param[out] ret
2161 *
2162 * @see edje_object_part_external_content_get
2163 */
2164#define edje_obj_part_external_content_get(part, content, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_CONTENT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, content), EO_TYPECHECK(Evas_Object **, ret)
2165
2166/**
2167 * @def edje_obj_part_external_param_type_get
2168 * @since 1.8
2169 *
2170 * Facility to query the type of the given parameter of the given part.
2171 *
2172 * @param[in] part
2173 * @param[out] param
2174 * @param[out] ret
2175 *
2176 * @see edje_object_part_external_param_type_get
2177 */
2178#define edje_obj_part_external_param_type_get(part, param, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_EXTERNAL_PARAM_TYPE_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, param), EO_TYPECHECK(Edje_External_Param_Type *, ret)
2179
2180/**
2181 * @}
2182 */
2183
2184/**
2185 * @ingroup Edje_Object_Communication_Interface_Message
2186 *
2187 * @{
2188 */
2189
2190/**
2191 * @def edje_obj_message_send
2192 * @since 1.8
2193 *
2194 * @brief Send an (Edje) message to a given Edje object
2195 *
2196 * @param[in] type
2197 * @param[in] id
2198 * @param[in] msg
2199 *
2200 * @see edje_object_message_send
2201 */
2202#define edje_obj_message_send(type, id, msg) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_SEND), EO_TYPECHECK(Edje_Message_Type, type), EO_TYPECHECK(int, id), EO_TYPECHECK(void *, msg)
2203
2204/**
2205 * @def edje_obj_message_handler_set
2206 * @since 1.8
2207 *
2208 * @brief Set an Edje message handler function for a given Edje object.
2209 *
2210 * @param[in] func
2211 * @param[in] data
2212 *
2213 * @see edje_object_message_handler_set
2214 */
2215#define edje_obj_message_handler_set(func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_HANDLER_SET), EO_TYPECHECK(Edje_Message_Handler_Cb, func), EO_TYPECHECK(void *, data)
2216
2217/**
2218 * @def edje_obj_message_signal_process
2219 * @since 1.8
2220 *
2221 * @brief Process an object's message queue.
2222 *
2223 *
2224 * @see edje_object_message_signal_process
2225 */
2226#define edje_obj_message_signal_process() EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MESSAGE_SIGNAL_PROCESS)
2227
2228/**
2229 * @}
2230 */
2231
2232/**
2233 * @ingroup Edje_Object_Communication_Interface_Signal
2234 *
2235 * @{
2236 */
2237
2238/**
2239 * @def edje_obj_signal_callback_add
2240 * @since 1.8
2241 *
2242 * @brief Add a callback for an arriving Edje signal, emitted by
2243 * a given Ejde object.
2244 *
2245 * @param[in] emission
2246 * @param[in] source
2247 * @param[in] func
2248 * @param[in] data
2249 *
2250 * @see edje_object_signal_callback_add
2251 */
2252#define edje_obj_signal_callback_add(emission, source, func, data) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_ADD), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source), EO_TYPECHECK(Edje_Signal_Cb, func), EO_TYPECHECK(void *, data)
2253
2254/**
2255 * @def edje_obj_signal_callback_del
2256 * @since 1.8
2257 *
2258 * @brief Remove a signal-triggered callback from an object.
2259 *
2260 * @param[in] emission
2261 * @param[in] source
2262 * @param[in] func
2263 * @param[in] data
2264 * @param[out] ret
2265 *
2266 * @see edje_object_signal_callback_del
2267 */
2268#define edje_obj_signal_callback_del(emission, source, func, data, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_CALLBACK_DEL), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source), EO_TYPECHECK(Edje_Signal_Cb, func), EO_TYPECHECK(void *, data), EO_TYPECHECK(void **, ret)
2269
2270/**
2271 * @def edje_obj_signal_emit
2272 * @since 1.8
2273 *
2274 * @brief Send/emit an Edje signal to a given Edje object
2275 *
2276 * @param[in] emission
2277 * @param[in] source
2278 *
2279 * @see edje_object_signal_emit
2280 */
2281#define edje_obj_signal_emit(emission, source) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_SIGNAL_EMIT), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source)
2282
2283#endif
2284/**
2285 * @}
2286 */
2287#include "edje_edit.eo.h"
2288#if 0
2289
2290#define EDJE_EDIT_CLASS edje_edit_class_get()
2291
2292const Eo_Class *edje_edit_class_get(void) EINA_CONST;
2293
2294#endif \ No newline at end of file
diff --git a/src/lib/edje/Edje_Legacy.h b/src/lib/edje/Edje_Legacy.h
index f804cc4..e3327ad 100644
--- a/src/lib/edje/Edje_Legacy.h
+++ b/src/lib/edje/Edje_Legacy.h
@@ -1,2388 +1,4 @@
1/** 1/**
2 * @defgroup Edje_External_Part_Group Edje Use of External Parts
3 *
4 * @brief Functions to manipulate parts of type EXTERNAL.
5 *
6 * Edje supports parts of type EXTERNAL, which will call plugins defined by the user
7 * to create and manipulate the object that's allocated in that part.
8 *
9 * Parts of type external may carry extra properties that have meanings defined
10 * by the external plugin. For instance, it may be a string that defines a button
11 * label and setting this property will change that label on the fly.
12 *
13 * @ingroup Edje_External_Group
14 *
15 * @{
16 */
17
18/**
19 * @brief Get the object created by this external part.
20 *
21 * Parts of type external creates the part object using information
22 * provided by external plugins. It's somehow like "swallow"
23 * (edje_object_part_swallow()), but it's all set automatically.
24 *
25 * This function returns the part created by such external plugins and
26 * being currently managed by this Edje.
27 *
28 * @note Almost all swallow rules apply: you should not move, resize,
29 * hide, show, set the color or clipper of such part. It's a bit
30 * more restrictive as one must @b never delete this object!
31 *
32 * @param obj A valid Evas_Object handle
33 * @param part The part name
34 * @return The externally created object, or NULL if there is none or
35 * part is not an external.
36 */
37EAPI Evas_Object *edje_object_part_external_object_get (const Evas_Object *obj, const char *part);
38
39/**
40 * @brief Set the parameter for the external part.
41 *
42 * Parts of type external may carry extra properties that have
43 * meanings defined by the external plugin. For instance, it may be a
44 * string that defines a button label and setting this property will
45 * change that label on the fly.
46 *
47 * @note external parts have parameters set when they change
48 * states. Those parameters will never be changed by this
49 * function. The interpretation of how state_set parameters and
50 * param_set will interact is up to the external plugin.
51 *
52 * @note this function will not check if parameter value is valid
53 * using #Edje_External_Param_Info minimum, maximum, valid
54 * choices and others. However these should be checked by the
55 * underlying implementation provided by the external
56 * plugin. This is done for performance reasons.
57 *
58 * @param obj A valid Evas_Object handle
59 * @param part The part name
60 * @param param the parameter details, including its name, type and
61 * actual value. This pointer should be valid, and the
62 * parameter must exist in
63 * #Edje_External_Type::parameters_info, with the exact type,
64 * otherwise the operation will fail and @c EINA_FALSE will be
65 * returned.
66 *
67 * @return @c EINA_TRUE if everything went fine, @c EINA_FALSE on errors.
68 */
69EAPI Eina_Bool edje_object_part_external_param_set (Evas_Object *obj, const char *part, const Edje_External_Param *param);
70
71/**
72 * @brief Get the parameter for the external part.
73 *
74 * Parts of type external may carry extra properties that have
75 * meanings defined by the external plugin. For instance, it may be a
76 * string that defines a button label. This property can be modified by
77 * state parameters, by explicit calls to
78 * edje_object_part_external_param_set() or getting the actual object
79 * with edje_object_part_external_object_get() and calling native
80 * functions.
81 *
82 * This function asks the external plugin what is the current value,
83 * independent on how it was set.
84 *
85 * @param obj A valid Evas_Object handle
86 * @param part The part name
87
88 * @param param the parameter details. It is used as both input and
89 * output variable. This pointer should be valid, and the
90 * parameter must exist in
91 * #Edje_External_Type::parameters_info, with the exact type,
92 * otherwise the operation will fail and @c EINA_FALSE will be
93 * returned.
94 *
95 * @return @c EINA_TRUE if everything went fine and @p param members
96 * are filled with information, @c EINA_FALSE on errors and @p
97 * param member values are not set or valid.
98 */
99EAPI Eina_Bool edje_object_part_external_param_get (const Evas_Object *obj, const char *part, Edje_External_Param *param);
100
101/**
102 * @brief Get an object contained in an part of type EXTERNAL
103 *
104 * The @p content string must not be NULL. Its actual value depends on the
105 * code providing the EXTERNAL.
106 *
107 * @param obj The Edje object
108 * @param part The name of the part holding the EXTERNAL
109 * @param content A string identifying which content from the EXTERNAL to get
110 */
111EAPI Evas_Object *edje_object_part_external_content_get (const Evas_Object *obj, const char *part, const char *content);
112
113/**
114 * Facility to query the type of the given parameter of the given part.
115 *
116 * @param obj A valid Evas_Object handle
117 * @param part The part name
118 * @param param the parameter name to use.
119 *
120 * @return @c EDJE_EXTERNAL_PARAM_TYPE_MAX on errors, or another value
121 * from #Edje_External_Param_Type on success.
122 */
123EAPI Edje_External_Param_Type edje_object_part_external_param_type_get (const Evas_Object *obj, const char *part, const char *param);
124
125/**
126 * @}
127 */
128
129/**
130 * @ingroup Edje_Object_Geometry_Group
131 *
132 * @{
133 */
134
135/**
136 * @brief Get the minimum size specified -- as an EDC property -- for a
137 * given Edje object
138 *
139 * @param obj A handle to an Edje object
140 * @param minw Pointer to a variable where to store the minimum width
141 * @param minh Pointer to a variable where to store the minimum height
142 *
143 * This function retrieves the @p obj object's minimum size values,
144 * <b>as declared in its EDC group definition</b>. Minimum size of
145 * groups have the following syntax
146 * @code
147 * collections {
148 * group {
149 * name: "a_group";
150 * min: 100 100;
151 * }
152 * }
153 * @endcode
154 *
155 * where one declares a minimum size of 100 pixels both for width and
156 * height. Those are (hint) values which should be respected when the
157 * given object/group is to be controlled by a given container object
158 * (e.g. an Edje object being "swallowed" into a given @c SWALLOW
159 * typed part, as in edje_object_part_swallow()). Check the complete
160 * @ref edcref "syntax reference" for EDC files.
161 *
162 * @note If the @c min EDC property was not declared for @p obj, this
163 * call will return the value 0, for each axis.
164 *
165 * @note On failure, this function will make all non-@c NULL size
166 * pointers' pointed variables be set to zero.
167 *
168 * @see edje_object_size_max_get()
169 */
170EAPI void edje_object_size_min_get (const Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
171
172/**
173 * @brief Edje will automatically update the size hints on itself.
174 *
175 * @param obj A handle to an Edje object.
176 * @param update Whether or not update the size hints.
177 *
178 * By default edje doesn't set size hints on itself. With this function
179 * call, it will do so if update is true. Be carefully, it cost a lot to
180 * trigger this feature as it will recalc the object every time it make
181 * sense to be sure that's its minimal size hint is always accurate.
182 */
183EAPI void edje_object_update_hints_set(Evas_Object *obj, Eina_Bool update);
184
185/**
186 * @brief Whether or not Edje will update size hints on itself.
187 *
188 * @param obj A handle to an Edje object.
189 * @return @c true if does, @c false if it doesn't.
190 */
191EAPI Eina_Bool edje_object_update_hints_get(const Evas_Object *obj);
192
193/**
194 * @brief Get the maximum size specified -- as an EDC property -- for a
195 * given Edje object
196 *
197 * @param obj A handle to an Edje object
198 * @param maxw Pointer to a variable where to store the maximum width
199 * @param maxh Pointer to a variable where to store the maximum height
200 *
201 * This function retrieves the @p obj object's maximum size values,
202 * <b>as declared in its EDC group definition</b>. Maximum size of
203 * groups have the following syntax
204 * @code
205 * collections {
206 * group {
207 * name: "a_group";
208 * max: 100 100;
209 * }
210 * }
211 * @endcode
212 *
213 * where one declares a maximum size of 100 pixels both for width and
214 * height. Those are (hint) values which should be respected when the
215 * given object/group is to be controlled by a given container object
216 * (e.g. an Edje object being "swallowed" into a given @c SWALLOW
217 * typed part, as in edje_object_part_swallow()). Check the complete
218 * @ref edcref "syntax reference" for EDC files.
219 *
220 * @note If the @c max EDC property was not declared for @p obj, this
221 * call will return the maximum size a given Edje object may have, for
222 * each axis.
223 *
224 * @note On failure, this function will make all non-@c NULL size
225 * pointers' pointed variables be set to zero.
226 *
227 * @see edje_object_size_min_get()
228 */
229EAPI void edje_object_size_max_get (const Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *maxh);
230
231/**
232 * @brief Force a Size/Geometry calculation.
233 *
234 * @param obj A valid Evas_Object handle
235 *
236 * Forces the object @p obj to recalculation layout regardless of
237 * freeze/thaw.
238 */
239EAPI void edje_object_calc_force (Evas_Object *obj);
240
241/**
242 * @brief Calculate the minimum required size for a given Edje object.
243 *
244 * @param obj A handle to an Edje object
245 * @param minw Pointer to a variable where to store the minimum
246 * required width
247 * @param minh Pointer to a variable where to store the minimum
248 * required height
249 *
250 * This call works exactly as edje_object_size_min_restricted_calc(),
251 * with the last two arguments set to 0. Please refer to its
252 * documentation, then.
253 */
254EAPI void edje_object_size_min_calc (Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
255
256/**
257 * Calculate the geometry of the region, relative to a given Edje
258 * object's area, <b>occupied by all parts in the object</b>
259 *
260 * @param obj A handle to an Edje object
261 * @param x A pointer to a variable where to store the parts region's
262 * x coordinate
263 * @param y A pointer to a variable where to store the parts region's
264 * y coordinate
265 * @param w A pointer to a variable where to store the parts region's
266 * width
267 * @param h A pointer to a variable where to store the parts region's
268 * height
269 *
270 * This function gets the geometry of the rectangle equal to the area
271 * required to group all parts in @p obj's group/collection. The @p x
272 * and @p y coordinates are relative to the top left corner of the
273 * whole @p obj object's area. Parts placed out of the group's
274 * boundaries will also be taken in account, so that @p x and @p y
275 * <b>may be negative</b>.
276 *
277 * @note Use @c NULL pointers on the geometry components you're not
278 * interested in: they'll be ignored by the function.
279 *
280 * @note On failure, this function will make all non-@c NULL geometry
281 * pointers' pointed variables be set to zero.
282 */
283EAPI Eina_Bool edje_object_parts_extends_calc (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
284
285/**
286 * @brief Calculate the minimum required size for a given Edje object.
287 *
288 * @param obj A handle to an Edje object
289 * @param minw Pointer to a variable where to store the minimum
290 * required width
291 * @param minh Pointer to a variable where to store the minimum
292 * required height
293 * @param restrictedw Do not allow object's calculated (minimum) width
294 * to be less than this value
295 * @param restrictedh Do not allow object's calculated (minimum)
296 * height to be less than this value
297 *
298 * This call will trigger an internal recalculation of all parts of
299 * the @p obj object, in order to return its minimum required
300 * dimensions for width and height. The user might choose to @b impose
301 * those minimum sizes, making the resulting calculation to get to values
302 * equal or bigger than @p restrictedw and @p restrictedh, for width and
303 * height, respectively.
304 *
305 * @note At the end of this call, @p obj @b won't be automatically
306 * resized to new dimensions, but just return the calculated
307 * sizes. The caller is the one up to change its geometry or not.
308 *
309 * @warning Be advised that invisible parts in @p obj @b will be taken
310 * into account in this calculation.
311 */
312EAPI void edje_object_size_min_restricted_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh, Evas_Coord restrictedw, Evas_Coord restrictedh);
313
314/**
315 * @}
316 */
317
318/**
319 * @ingroup Edje_Object_Scale
320 *
321 * @{
322 */
323
324/**
325 * @brief Set the scaling factor for a given Edje object.
326 *
327 * @param obj A handle to an Edje object
328 * @param scale The scaling factor (the default value is @c 0.0,
329 * meaning individual scaling @b not set)
330 *
331 * This function sets an @b individual scaling factor on the @a obj
332 * Edje object. This property (or Edje's global scaling factor, when
333 * applicable), will affect this object's part sizes. If @p scale is
334 * not zero, than the individual scaling will @b override any global
335 * scaling set, for the object @p obj's parts. Put it back to zero to
336 * get the effects of the global scaling again.
337 *
338 * @warning Only parts which, at EDC level, had the @c "scale"
339 * property set to @c 1, will be affected by this function. Check the
340 * complete @ref edcref "syntax reference" for EDC files.
341 *
342 * @see edje_object_scale_get()
343 * @see edje_scale_get() for more details
344 */
345EAPI Eina_Bool edje_object_scale_set (Evas_Object *obj, double scale);
346
347/**
348 * @brief Get a given Edje object's scaling factor.
349 *
350 * @param obj A handle to an Edje object
351 *
352 * This function returns the @c individual scaling factor set on the
353 * @a obj Edje object.
354 *
355 * @see edje_object_scale_set() for more details
356 *
357 */
358EAPI double edje_object_scale_get (const Evas_Object *obj);
359
360/**
361 * @}
362 */
363
364/**
365 * @ingroup Edje_Object_Part
366 *
367 * @{
368 */
369
370/**
371 * @brief Check if an Edje part exists in a given Edje object's group
372 * definition.
373 *
374 * @param obj A handle to an Edje object
375 * @param part The part's name to check for existence in @p obj's
376 * group
377 * @return @c EINA_TRUE, if the Edje part exists in @p obj's group or
378 * @c EINA_FALSE, otherwise (and on errors)
379 *
380 * This function returns if a given part exists in the Edje group
381 * bound to object @p obj (with edje_object_file_set()).
382 *
383 * This call is useful, for example, when one could expect or not a
384 * given GUI element, depending on the @b theme applied to @p obj.
385 */
386EAPI Eina_Bool edje_object_part_exists (const Evas_Object *obj, const char *part);
387
388/**
389 * @brief Get a handle to the Evas object implementing a given Edje
390 * part, in an Edje object.
391 *
392 * @param obj A handle to an Edje object
393 * @param part The Edje part's name
394 * @return A pointer to the Evas object implementing the given part,
395 * or @c NULL on failure (e.g. the given part doesn't exist)
396 *
397 * This function gets a pointer of the Evas object corresponding to a
398 * given part in the @p obj object's group.
399 *
400 * You should @b never modify the state of the returned object (with
401 * @c evas_object_move() or @c evas_object_hide() for example),
402 * because it's meant to be managed by Edje, solely. You are safe to
403 * query information about its current state (with @c
404 * evas_object_visible_get() or @c evas_object_color_get() for
405 * example), though.
406 */
407EAPI const Evas_Object *edje_object_part_object_get (const Evas_Object *obj, const char *part);
408
409/**
410 * @brief Retrieve the geometry of a given Edje part, in a given Edje
411 * object's group definition, <b>relative to the object's area</b>
412 *
413 * @param obj A handle to an Edje object
414 * @param part The Edje part's name
415 * @param x A pointer to a variable where to store the part's x
416 * coordinate
417 * @param y A pointer to a variable where to store the part's y
418 * coordinate
419 * @param w A pointer to a variable where to store the part's width
420 * @param h A pointer to a variable where to store the part's height
421 *
422 * This function gets the geometry of an Edje part within its
423 * group. The @p x and @p y coordinates are relative to the top left
424 * corner of the whole @p obj object's area.
425 *
426 * @note Use @c NULL pointers on the geometry components you're not
427 * interested in: they'll be ignored by the function.
428 *
429 * @note On failure, this function will make all non-@c NULL geometry
430 * pointers' pointed variables be set to zero.
431 */
432EAPI Eina_Bool edje_object_part_geometry_get (const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
433
434/**
435 * @brief Retrieve a list all accessibility part names
436 *
437 * @param obj A valid Evas_Object handle
438 * @return A list all accessibility part names on @p obj
439 * @since 1.7.0
440 */
441EAPI Eina_List *edje_object_access_part_list_get (const Evas_Object *obj);
442
443/**
444 * @}
445 */
446
447/**
448 * @ingroup Edje_Part_Text
449 *
450 * @{
451 */
452
453/**
454 * @brief Set the object text callback.
455 *
456 * @param obj A valid Evas_Object handle
457 * @param func The callback function to handle the text change
458 * @param data The data associated to the callback function.
459 *
460 * This function sets the callback to be called when the text changes.
461 */
462EAPI void edje_object_text_change_cb_set (Evas_Object *obj, Edje_Text_Change_Cb func, void *data);
463
464/**
465 * @brief Sets the text for an object part
466 *
467 * @param obj A valid Evas Object handle
468 * @param part The part name
469 * @param text The text string
470 *
471 * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
472 */
473EAPI Eina_Bool edje_object_part_text_set (Evas_Object *obj, const char *part, const char *text);
474
475/**
476 * @brief Sets the text for an object part, but converts HTML escapes to UTF8
477 *
478 * This converts the given string @p text to UTF8 assuming it contains HTML
479 * style escapes like "&amp;" and "&copy;" etc. IF the part is of type TEXT,
480 * as opposed to TEXTBLOCK.
481 *
482 * @param obj A valid Evas Object handle
483 * @param part The part name
484 * @param text The text string
485 *
486 * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
487 *
488 * @since 1.2
489 */
490EAPI Eina_Bool edje_object_part_text_escaped_set (Evas_Object *obj, const char *part, const char *text);
491
492/**
493 * @brief Return the text of the object part.
494 *
495 * @param obj A valid Evas_Object handle
496 * @param part The part name
497 *
498 * @return The text string
499 *
500 * This function returns the text associated to the object part.
501 *
502 * @see edje_object_part_text_set().
503 */
504EAPI const char *edje_object_part_text_get (const Evas_Object *obj, const char *part);
505
506/**
507 * @brief Set the style of the
508 *
509 * @param obj A valid Evas_Object handle
510 * @param part The part name
511 * @param style The style to set (textblock conventions).
512 *
513 * This function sets the style associated with the textblock part.
514 *
515 * @since 1.2.0
516 */
517EAPI void edje_object_part_text_style_user_push(Evas_Object *obj, const char *part, const char *style);
518
519/**
520 * @brief Return the text of the object part.
521 *
522 * @param obj A valid Evas_Object handle
523 * @param part The part name
524 *
525 * @return The text string
526 *
527 * This function returns the style associated with the textblock part.
528 *
529 * @since 1.2.0
530 */
531EAPI const char *edje_object_part_text_style_user_peek(const Evas_Object *obj, const char *part);
532
533/**
534 * @brief Delete the top style form the user style stack.
535 *
536 * @param obj A valid Evas_Object handle
537 * @param part The part name
538 *
539 * @since 1.2.0
540 */
541EAPI void edje_object_part_text_style_user_pop(Evas_Object *obj, const char *part);
542
543/**
544 * @brief Sets the raw (non escaped) text for an object part.
545 *
546 * @param obj A valid Evas Object handle
547 * @param part The part name
548 * @param text_to_escape The text string
549 *
550 * This funciton will not do escape for you if it is a TEXTBLOCK part, that is,
551 * if text contain tags, these tags will not be interpreted/parsed by TEXTBLOCK.
552 *
553 * @see edje_object_part_text_unescaped_get().
554 */
555EAPI Eina_Bool edje_object_part_text_unescaped_set (Evas_Object *obj, const char *part, const char *text_to_escape);
556
557/**
558 * @brief Returns the text of the object part, without escaping.
559 *
560 * @param obj A valid Evas_Object handle
561 * @param part The part name
562 * @return The @b allocated text string without escaping, or NULL on
563 * problems.
564 *
565 * This function is the counterpart of
566 * edje_object_part_text_unescaped_set(). Please notice that the
567 * result is newly allocated memory and should be released with free()
568 * when done.
569 *
570 * @see edje_object_part_text_unescaped_set().
571 */
572EAPI char *edje_object_part_text_unescaped_get (const Evas_Object *obj, const char *part);
573
574/**
575 * @brief Insert text for an object part.
576 *
577 * @param obj A valid Evas Object handle
578 * @param part The part name
579 * @param text The text string
580 *
581 * This function inserts the text for an object part just before the
582 * cursor position.
583 *
584 */
585EAPI void edje_object_part_text_insert (Evas_Object *obj, const char *part, const char *text);
586
587/**
588 * @brief Insert text for an object part.
589 *
590 * @param obj A valid Evas Object handle
591 * @param part The part name
592 * @param text The text string
593 *
594 * This function inserts the text for an object part at the end; It does not
595 * move the cursor.
596 *
597 * @since 1.1
598 */
599EAPI void edje_object_part_text_append(Evas_Object *obj, const char *part, const char *text);
600
601/**
602 * @brief Return a list of char anchor names.
603 *
604 * @param obj A valid Evas_Object handle
605 * @param part The part name
606 *
607 * @return The list of anchors (const char *), do not modify!
608 *
609 * This function returns a list of char anchor names.
610 *
611 */
612EAPI const Eina_List *edje_object_part_text_anchor_list_get (const Evas_Object *obj, const char *part);
613
614/**
615 * @brief Return a list of Evas_Textblock_Rectangle anchor rectangles.
616 *
617 * @param obj A valid Evas_Object handle
618 * @param part The part name
619 * @param anchor The anchor name
620 *
621 * @return The list of anchor rects (const Evas_Textblock_Rectangle
622 * *), do not modify! Geometry is relative to entry part.
623 *
624 * This function return a list of Evas_Textblock_Rectangle anchor
625 * rectangles.
626 *
627 */
628EAPI const Eina_List *edje_object_part_text_anchor_geometry_get (const Evas_Object *obj, const char *part, const char *anchor);
629
630/**
631 * @brief Return a list of char item names.
632 *
633 * @param obj A valid Evas_Object handle
634 * @param part The part name
635 *
636 * @return The list of items (const char *), do not modify!
637 *
638 * This function returns a list of char item names.
639 *
640 */
641EAPI const Eina_List *edje_object_part_text_item_list_get (const Evas_Object *obj, const char *part);
642
643/**
644 * @brief Return item geometry.
645 *
646 * @param obj A valid Evas_Object handle
647 * @param part The part name
648 * @param item The item name
649 * @param cx Item x return (relative to entry part)
650 * @param cy Item y return (relative to entry part)
651 * @param cw Item width return
652 * @param ch Item height return
653 *
654 * @return 1 if item exists, 0 if not
655 *
656 * This function return a list of Evas_Textblock_Rectangle item
657 * rectangles.
658 *
659 */
660EAPI Eina_Bool edje_object_part_text_item_geometry_get (const Evas_Object *obj, const char *part, const char *item, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch);
661
662/**
663 * @brief This function inserts text as if the user has inserted it.
664 *
665 * This means it actually registers as a change and emits signals, triggers
666 * callbacks as appropriate.
667 *
668 * @param obj A valid Evas_Object handle
669 * @param part The part name
670 * @param text The text string
671 * @since 1.2.0
672 */
673EAPI void edje_object_part_text_user_insert (const Evas_Object *obj, const char *part, const char *text);
674
675/**
676 * @}
677 */
678
679/**
680 * @ingroup Edje_Text_Selection
681 *
682 * @{
683 */
684
685/**
686 * @brief Return the selection text of the object part.
687 *
688 * @param obj A valid Evas_Object handle
689 * @param part The part name
690 * @return The text string
691 *
692 * This function returns selection text of the object part.
693 *
694 * @see edje_object_part_text_select_all()
695 * @see edje_object_part_text_select_none()
696 */
697EAPI const char *edje_object_part_text_selection_get (const Evas_Object *obj, const char *part);
698
699/**
700 * @brief Set the selection to be none.
701 *
702 * @param obj A valid Evas_Object handle
703 * @param part The part name
704 *
705 * This function sets the selection text to be none.
706 */
707EAPI void edje_object_part_text_select_none (const Evas_Object *obj, const char *part);
708
709/**
710 * @brief Set the selection to be everything.
711 *
712 * @param obj A valid Evas_Object handle
713 * @param part The part name
714 *
715 * This function selects all text of the object of the part.
716 */
717EAPI void edje_object_part_text_select_all (const Evas_Object *obj, const char *part);
718
719/**
720 * @brief Enables selection if the entry is an EXPLICIT selection mode
721 * type.
722 *
723 * @param obj A valid Evas_Object handle
724 * @param part The part name
725 * @param allow EINA_TRUE to enable, EINA_FALSE otherwise
726 *
727 * The default is to @b not allow selection. This function only affects user
728 * selection, functions such as edje_object_part_text_select_all() and
729 * edje_object_part_text_select_none() are not affected.
730 */
731EAPI void edje_object_part_text_select_allow_set (const Evas_Object *obj, const char *part, Eina_Bool allow);
732
733/**
734 * @brief Aborts any selection action on a part.
735 *
736 * @param obj A valid Evas_Object handle
737 * @param part The part name
738 */
739EAPI void edje_object_part_text_select_abort (const Evas_Object *obj, const char *part);
740
741/**
742 * @brief Starts selecting at current cursor position
743 *
744 * @param obj A valid Evas_Object handle
745 * @param part The part name
746 */
747EAPI void edje_object_part_text_select_begin (const Evas_Object *obj, const char *part);
748
749/**
750 * @brief Extends the current selection to the current cursor position
751 *
752 * @param obj A valid Evas_Object handle
753 * @param part The part name
754 */
755EAPI void edje_object_part_text_select_extend (const Evas_Object *obj, const char *part);
756
757/**
758 * @}
759 */
760
761/**
762 * @ingroup Edje_Text_Cursor
763 *
764 * @{
765 */
766
767/**
768 * @brief Advances the cursor to the next cursor position.
769 * @see evas_textblock_cursor_char_next
770 *
771 * @param obj A valid Evas_Object handle
772 * @param part The part name
773 * @param cur The edje cursor to advance
774 */
775EAPI Eina_Bool edje_object_part_text_cursor_next (Evas_Object *obj, const char *part, Edje_Cursor cur);
776
777/**
778 * @brief Moves the cursor to the previous char
779 * @see evas_textblock_cursor_char_prev
780 *
781 * @param obj A valid Evas_Object handle
782 * @param part The part name
783 * @param cur the edje cursor to work on
784 */
785EAPI Eina_Bool edje_object_part_text_cursor_prev (Evas_Object *obj, const char *part, Edje_Cursor cur);
786
787/**
788 * @brief Move the cursor to the char above the current cursor position.
789 *
790 * @param obj A valid Evas_Object handle
791 * @param part The part name
792 * @param cur the edje cursor to work on
793 */
794EAPI Eina_Bool edje_object_part_text_cursor_up (Evas_Object *obj, const char *part, Edje_Cursor cur);
795
796/**
797 * @brief Moves the cursor to the char below the current cursor position.
798 *
799 * @param obj A valid Evas_Object handle
800 * @param part The part name
801 * @param cur the edje cursor to work on
802 */
803EAPI Eina_Bool edje_object_part_text_cursor_down (Evas_Object *obj, const char *part, Edje_Cursor cur);
804
805/**
806 * @brief Moves the cursor to the beginning of the text part
807 * @see evas_textblock_cursor_paragraph_first
808 *
809 * @param obj A valid Evas_Object handle
810 * @param part The part name
811 * @param cur the edje cursor to work on
812 */
813EAPI void edje_object_part_text_cursor_begin_set (Evas_Object *obj, const char *part, Edje_Cursor cur);
814
815/**
816 * @brief Moves the cursor to the end of the text part.
817 * @see evas_textblock_cursor_paragraph_last
818 *
819 * @param obj A valid Evas_Object handle
820 * @param part The part name
821 * @param cur the edje cursor to work on
822 */
823EAPI void edje_object_part_text_cursor_end_set (Evas_Object *obj, const char *part, Edje_Cursor cur);
824
825/**
826 * @brief Copy the cursor to another cursor.
827 *
828 * @param obj A valid Evas_Object handle
829 * @param part The part name
830 * @param src the cursor to copy from
831 * @param dst the cursor to copy to
832 */
833EAPI void edje_object_part_text_cursor_copy (Evas_Object *obj, const char *part, Edje_Cursor src, Edje_Cursor dst);
834
835/**
836 * @brief Move the cursor to the beginning of the line.
837 * @see evas_textblock_cursor_line_char_first
838 *
839 * @param obj A valid Evas_Object handle
840 * @param part The part name
841 * @param cur the edje cursor to work on
842 */
843EAPI void edje_object_part_text_cursor_line_begin_set (Evas_Object *obj, const char *part, Edje_Cursor cur);
844
845/**
846 * @brief Move the cursor to the end of the line.
847 * @see evas_textblock_cursor_line_char_last
848 *
849 * @param obj A valid Evas_Object handle
850 * @param part The part name
851 * @param cur the edje cursor to work on
852 */
853EAPI void edje_object_part_text_cursor_line_end_set (Evas_Object *obj, const char *part, Edje_Cursor cur);
854
855/**
856 * Position the given cursor to a X,Y position.
857 *
858 * This is frequently used with the user cursor.
859 *
860 * @param obj An Edje object.
861 * @param part The part containing the object.
862 * @param cur The cursor to adjust.
863 * @param x X Coordinate.
864 * @param y Y Coordinate.
865 * @return True on success, false on error.
866 */
867EAPI Eina_Bool edje_object_part_text_cursor_coord_set (Evas_Object *obj, const char *part, Edje_Cursor cur, Evas_Coord x, Evas_Coord y);
868
869/**
870 * @brief Returns whether the cursor points to a format.
871 * @see evas_textblock_cursor_is_format
872 *
873 * @param obj A valid Evas_Object handle
874 * @param part The part name
875 * @param cur The cursor to adjust.
876 * @return EINA_TRUE if it's true, EINA_FALSE otherwise.
877 */
878EAPI Eina_Bool edje_object_part_text_cursor_is_format_get (const Evas_Object *obj, const char *part, Edje_Cursor cur);
879
880/**
881 * @brief Return true if the cursor points to a visible format
882 * For example \\t, \\n, item and etc.
883 * @see evas_textblock_cursor_format_is_visible_get
884 *
885 * @param obj A valid Evas_Object handle
886 * @param part The part name
887 * @param cur The cursor to adjust.
888 */
889EAPI Eina_Bool edje_object_part_text_cursor_is_visible_format_get(const Evas_Object *obj, const char *part, Edje_Cursor cur);
890
891/**
892 * @brief Returns the content (char) at the cursor position.
893 * @see evas_textblock_cursor_content_get
894 *
895 * You must free the return (if not NULL) after you are done with it.
896 *
897 * @param obj A valid Evas_Object handle
898 * @param part The part name
899 * @param cur The cursor to use
900 * @return The character string pointed to (may be a multi-byte utf8 sequence) terminated by a nul byte.
901 */
902EAPI char *edje_object_part_text_cursor_content_get (const Evas_Object *obj, const char *part, Edje_Cursor cur);
903
904/**
905 * @brief Sets the cursor position to the given value
906 *
907 * @param obj A valid Evas_Object handle
908 * @param part The part name
909 * @param cur The cursor to move
910 * @param pos the position of the cursor
911 * @since 1.1.0
912 */
913EAPI void edje_object_part_text_cursor_pos_set (Evas_Object *obj, const char *part, Edje_Cursor cur, int pos);
914
915/**
916 * @brief Retrieves the current position of the cursor
917 *
918 * @param obj A valid Evas_Object handle
919 * @param part The part name
920 * @param cur The cursor to get the position
921 * @return The cursor position
922 * @since 1.1.0
923 */
924EAPI int edje_object_part_text_cursor_pos_get (const Evas_Object *obj, const char *part, Edje_Cursor cur);
925
926/**
927 * @brief Returns the cursor geometry of the part relative to the edje
928 * object.
929 *
930 * @param obj A valid Evas_Object handle
931 * @param part The part name
932 * @param x Cursor X position
933 * @param y Cursor Y position
934 * @param w Cursor width
935 * @param h Cursor height
936 *
937 */
938EAPI void edje_object_part_text_cursor_geometry_get (const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
939
940/**
941 * @}
942 */
943
944/**
945 * @ingroup Edje_Text_Entry
946 *
947 * @{
948 */
949
950/**
951 * @brief Set the RTL orientation for this object.
952 *
953 * @param obj A handle to an Edje object.
954 * @param rtl new value of flag EINA_TRUE/EINA_FALSE
955 * @since 1.1.0
956 */
957EAPI void edje_object_mirrored_set (Evas_Object *obj, Eina_Bool rtl);
958
959/**
960 * @brief Get the RTL orientation for this object.
961 *
962 * You can RTL orientation explicitly with edje_object_mirrored_set.
963 *
964 * @param obj A handle to an Edje object.
965 * @return @c EINA_TRUE if the flag is set or @c EINA_FALSE if not.
966 * @since 1.1.0
967 */
968EAPI Eina_Bool edje_object_mirrored_get (const Evas_Object *obj);
969
970/**
971 * @brief Set the function that provides item objects for named items in an edje entry text
972 *
973 * @param obj A valid Evas Object handle
974 * @param func The function to call (or NULL to disable) to get item objects
975 * @param data The data pointer to pass to the @p func callback
976 *
977 * Item objects may be deleted any time by Edje, and will be deleted when the
978 * Edje object is deleted (or file is set to a new file).
979 */
980EAPI void edje_object_item_provider_set (Evas_Object *obj, Edje_Item_Provider_Cb func, void *data);
981
982/**
983 * @brief Reset the input method context if needed.
984 *
985 * This can be necessary in the case where modifying the buffer would confuse on-going input method behavior
986 *
987 * @param obj A valid Evas_Object handle
988 * @param part The part name
989 * @since 1.2.0
990 */
991EAPI void edje_object_part_text_imf_context_reset (const Evas_Object *obj, const char *part);
992
993/**
994 * @brief Get the input method context in entry.
995 *
996 * If ecore_imf was not available when edje was compiled, this function returns NULL
997 * otherwise, the returned pointer is an Ecore_IMF *
998 *
999 * @param obj A valid Evas_Object handle
1000 * @param part The part name
1001 *
1002 * @return The input method context (Ecore_IMF_Context *) in entry
1003 * @since 1.2.0
1004 */
1005EAPI void *edje_object_part_text_imf_context_get (const Evas_Object *obj, const char *part);
1006
1007/**
1008 * @brief Set the layout of the input panel.
1009 *
1010 * The layout of the input panel or virtual keyboard can make it easier or
1011 * harder to enter content. This allows you to hint what kind of input you
1012 * are expecting to enter and thus have the input panel automatically
1013 * come up with the right mode.
1014 *
1015 * @param obj A valid Evas_Object handle
1016 * @param part The part name
1017 * @param layout layout type
1018 * @since 1.1
1019 */
1020EAPI void edje_object_part_text_input_panel_layout_set (Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout);
1021
1022/**
1023 * @brief Get the layout of the input panel.
1024 *
1025 * @param obj A valid Evas_Object handle
1026 * @param part The part name
1027 *
1028 * @return Layout type of the input panel
1029 *
1030 * @see edje_object_part_text_input_panel_layout_set
1031 * @since 1.1
1032 */
1033EAPI Edje_Input_Panel_Layout edje_object_part_text_input_panel_layout_get (const Evas_Object *obj, const char *part);
1034
1035/**
1036 * @brief Set the layout variation of the input panel.
1037 *
1038 * The layout variation of the input panel or virtual keyboard can make it easier or
1039 * harder to enter content. This allows you to hint what kind of input you
1040 * are expecting to enter and thus have the input panel automatically
1041 * come up with the right mode.
1042 *
1043 * @param obj A valid Evas_Object handle
1044 * @param part The part name
1045 * @param variation layout variation type
1046 * @since 1.8
1047 */
1048EAPI void edje_object_part_text_input_panel_layout_variation_set(Evas_Object *obj, const char *part, int variation);
1049
1050/**
1051 * @brief Get the layout variation of the input panel.
1052 *
1053 * @param obj A valid Evas_Object handle
1054 * @param part The part name
1055 *
1056 * @return Layout variation type of the input panel
1057 *
1058 * @see edje_object_part_text_input_panel_layout_variation_set
1059 * @since 1.8
1060 */
1061EAPI int edje_object_part_text_input_panel_layout_variation_get(const Evas_Object *obj, const char *part);
1062
1063/**
1064 * @brief Set the autocapitalization type on the immodule.
1065 *
1066 * @param obj A valid Evas_Object handle
1067 * @param part The part name
1068 * @param autocapital_type The type of autocapitalization
1069 * @since 1.1.0
1070 */
1071EAPI void edje_object_part_text_autocapital_type_set (Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type);
1072
1073/**
1074 * @brief Retrieves the autocapitalization type
1075 *
1076 * @param obj A valid Evas_Object handle
1077 * @param part The part name
1078 * @return The autocapitalization type
1079 * @since 1.1.0
1080 */
1081EAPI Edje_Text_Autocapital_Type edje_object_part_text_autocapital_type_get (const Evas_Object *obj, const char *part);
1082
1083/**
1084 * @brief Set whether the prediction is allowed or not.
1085 *
1086 * @param obj A valid Evas_Object handle
1087 * @param part The part name
1088 * @param prediction If true, the prediction feature is allowed.
1089 * @since 1.2.0
1090 */
1091EAPI void edje_object_part_text_prediction_allow_set (Evas_Object *obj, const char *part, Eina_Bool prediction);
1092
1093/**
1094 * @brief Get whether the prediction is allowed or not.
1095 *
1096 * @param obj A valid Evas_Object handle
1097 * @param part The part name
1098 * @return EINA_TRUE if prediction feature is allowed.
1099 * @since 1.2.0
1100 */
1101EAPI Eina_Bool edje_object_part_text_prediction_allow_get (const Evas_Object *obj, const char *part);
1102
1103/**
1104 * @brief Sets the attribute to show the input panel automatically.
1105 *
1106 * @param obj A valid Evas_Object handle
1107 * @param part The part name
1108 * @param enabled If true, the input panel is appeared when entry is clicked or has a focus
1109 * @since 1.1.0
1110 */
1111EAPI void edje_object_part_text_input_panel_enabled_set (Evas_Object *obj, const char *part, Eina_Bool enabled);
1112
1113/**
1114 * @brief Retrieve the attribute to show the input panel automatically.
1115 * @see edje_object_part_text_input_panel_enabled_set
1116 *
1117 * @param obj A valid Evas_Object handle
1118 * @param part The part name
1119 * @return EINA_TRUE if it supports or EINA_FALSE otherwise
1120 * @since 1.1.0
1121 */
1122EAPI Eina_Bool edje_object_part_text_input_panel_enabled_get (const Evas_Object *obj, const char *part);
1123
1124/**
1125 * @brief Show the input panel (virtual keyboard) based on the input panel property such as layout, autocapital types, and so on.
1126 *
1127 * Note that input panel is shown or hidden automatically according to the focus state.
1128 * This API can be used in the case of manually controlling by using edje_object_part_text_input_panel_enabled_set.
1129 *
1130 * @param obj A valid Evas_Object handle
1131 * @param part The part name
1132 * @since 1.2.0
1133 */
1134EAPI void edje_object_part_text_input_panel_show(const Evas_Object *obj, const char *part);
1135
1136/**
1137 * @brief Hide the input panel (virtual keyboard).
1138 * @see edje_object_part_text_input_panel_show
1139 *
1140 * Note that input panel is shown or hidden automatically according to the focus state.
1141 * This API can be used in the case of manually controlling by using edje_object_part_text_input_panel_enabled_set.
1142 *
1143 * @param obj A valid Evas_Object handle
1144 * @param part The part name
1145 * @since 1.2.0
1146 */
1147EAPI void edje_object_part_text_input_panel_hide(const Evas_Object *obj, const char *part);
1148
1149/**
1150 * Set the language mode of the input panel.
1151 *
1152 * This API can be used if you want to show the Alphabet keyboard.
1153 *
1154 * @param obj A valid Evas_Object handle
1155 * @param part The part name
1156 * @param lang the language to be set to the input panel.
1157 * @since 1.2.0
1158 */
1159EAPI void edje_object_part_text_input_panel_language_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Lang lang);
1160
1161/**
1162 * Get the language mode of the input panel.
1163 *
1164 * See @ref edje_object_part_text_input_panel_language_set for more details.
1165 *
1166 * @param obj A valid Evas_Object handle
1167 * @param part The part name
1168 * @return input panel language type
1169 * @since 1.2.0
1170 */
1171EAPI Edje_Input_Panel_Lang edje_object_part_text_input_panel_language_get(const Evas_Object *obj, const char *part);
1172
1173/**
1174 * Set the input panel-specific data to deliver to the input panel.
1175 *
1176 * This API is used by applications to deliver specific data to the input panel.
1177 * The data format MUST be negotiated by both application and the input panel.
1178 * The size and format of data are defined by the input panel.
1179 *
1180 * @param obj A valid Evas_Object handle
1181 * @param part The part name
1182 * @param data The specific data to be set to the input panel.
1183 * @param len the length of data, in bytes, to send to the input panel
1184 * @since 1.2.0
1185 */
1186EAPI void edje_object_part_text_input_panel_imdata_set(Evas_Object *obj, const char *part, const void *data, int len);
1187
1188/**
1189 * Get the specific data of the current active input panel.
1190 *
1191 * @param obj A valid Evas_Object handle
1192 * @param part The part name
1193 * @param data The specific data to be got from the input panel
1194 * @param len The length of data
1195 * @since 1.2.0
1196 */
1197EAPI void edje_object_part_text_input_panel_imdata_get(const Evas_Object *obj, const char *part, void *data, int *len);
1198
1199/**
1200 * Set the "return" key type. This type is used to set string or icon on the "return" key of the input panel.
1201 *
1202 * An input panel displays the string or icon associated with this type
1203 *
1204 * @param obj A valid Evas_Object handle
1205 * @param part The part name
1206 * @param return_key_type The type of "return" key on the input panel
1207 * @since 1.2.0
1208 */
1209EAPI void edje_object_part_text_input_panel_return_key_type_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Return_Key_Type return_key_type);
1210
1211/**
1212 * Get the "return" key type.
1213 *
1214 * @see edje_object_part_text_input_panel_return_key_type_set() for more details
1215 *
1216 * @param obj A valid Evas_Object handle
1217 * @param part The part name
1218 * @return The type of "return" key on the input panel
1219 * @since 1.2.0
1220 */
1221EAPI Edje_Input_Panel_Return_Key_Type edje_object_part_text_input_panel_return_key_type_get(const Evas_Object *obj, const char *part);
1222
1223/**
1224 * Set the return key on the input panel to be disabled.
1225 *
1226 * @param obj A valid Evas_Object handle
1227 * @param part The part name
1228 * @param disabled The state
1229 * @since 1.2.0
1230 */
1231EAPI void edje_object_part_text_input_panel_return_key_disabled_set(Evas_Object *obj, const char *part, Eina_Bool disabled);
1232
1233/**
1234 * Get whether the return key on the input panel should be disabled or not.
1235 *
1236 * @param obj A valid Evas_Object handle
1237 * @param part The part name
1238 * @return EINA_TRUE if it should be disabled
1239 * @since 1.2.0
1240 */
1241EAPI Eina_Bool edje_object_part_text_input_panel_return_key_disabled_get(const Evas_Object *obj, const char *part);
1242
1243/**
1244 * Set the attribute to show the input panel in case of only an user's explicit Mouse Up event.
1245 * It doesn't request to show the input panel even though it has focus.
1246 *
1247 * @param obj A valid Evas_Object handle
1248 * @param part The part name
1249 * @param ondemand If true, the input panel will be shown in case of only Mouse up event. (Focus event will be ignored.)
1250 * @since 1.9.0
1251 */
1252EAPI void edje_object_part_text_input_panel_show_on_demand_set(Evas_Object *obj, const char *part, Eina_Bool ondemand);
1253
1254/**
1255 * Get the attribute to show the input panel in case of only an user's explicit Mouse Up event.
1256 *
1257 * @param obj A valid Evas_Object handle
1258 * @param part The part name
1259 * @return @c EINA_TRUE if the input panel will be shown in case of only Mouse up event.
1260 * @since 1.9.0
1261 */
1262EAPI Eina_Bool edje_object_part_text_input_panel_show_on_demand_get(const Evas_Object *obj, const char *part);
1263
1264/**
1265 * Add a filter function for newly inserted text.
1266 *
1267 * Whenever text is inserted (not the same as set) into the given @p part,
1268 * the list of filter functions will be called to decide if and how the new
1269 * text will be accepted.
1270 * There are three types of filters, EDJE_TEXT_FILTER_TEXT,
1271 * EDJE_TEXT_FILTER_FORMAT and EDJE_TEXT_FILTER_MARKUP.
1272 * The text parameter in the @p func filter can be modified by the user and
1273 * it's up to him to free the one passed if he's to change the pointer. If
1274 * doing so, the newly set text should be malloc'ed, as once all the filters
1275 * are called Edje will free it.
1276 * If the text is to be rejected, freeing it and setting the pointer to NULL
1277 * will make Edje break out of the filter cycle and reject the inserted
1278 * text.
1279 *
1280 * @warning This function will be deprecated because of difficulty in use.
1281 * The type(format, text, or markup) of text should be always
1282 * checked in the filter function for correct filtering.
1283 * Please use edje_object_text_markup_filter_callback_add() instead. There
1284 * is no need to check the type of text in the filter function
1285 * because the text is always markup.
1286 * @warning If you use this function with
1287 * edje_object_text_markup_filter_callback_add() together, all
1288 * Edje_Text_Filter_Cb functions and Edje_Markup_Filter_Cb functions
1289 * will be executed, and then filtered text will be inserted.
1290 *
1291 * @see edje_object_text_insert_filter_callback_del
1292 * @see edje_object_text_insert_filter_callback_del_full
1293 * @see edje_object_text_markup_filter_callback_add
1294 *
1295 * @param obj A valid Evas_Object handle
1296 * @param part The part name
1297 * @param func The callback function that will act as filter
1298 * @param data User provided data to pass to the filter function
1299 */
1300EAPI void edje_object_text_insert_filter_callback_add (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data);
1301
1302/**
1303 * Delete a function from the filter list.
1304 *
1305 * Delete the given @p func filter from the list in @p part. Returns
1306 * the user data pointer given when added.
1307 *
1308 * @see edje_object_text_insert_filter_callback_add
1309 * @see edje_object_text_insert_filter_callback_del_full
1310 *
1311 * @param obj A valid Evas_Object handle
1312 * @param part The part name
1313 * @param func The function callback to remove
1314 *
1315 * @return The user data pointer if successful, or NULL otherwise
1316 */
1317EAPI void *edje_object_text_insert_filter_callback_del (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func);
1318
1319/**
1320 * Delete a function and matching user data from the filter list.
1321 *
1322 * Delete the given @p func filter and @p data user data from the list
1323 * in @p part.
1324 * Returns the user data pointer given when added.
1325 *
1326 * @see edje_object_text_insert_filter_callback_add
1327 * @see edje_object_text_insert_filter_callback_del
1328 *
1329 * @param obj A valid Evas_Object handle
1330 * @param part The part name
1331 * @param func The function callback to remove
1332 * @param data The data passed to the callback function
1333 *
1334 * @return The same data pointer if successful, or NULL otherwise
1335 */
1336EAPI void *edje_object_text_insert_filter_callback_del_full (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data);
1337
1338/**
1339 * Add a markup filter function for newly inserted text.
1340 *
1341 * Whenever text is inserted (not the same as set) into the given @p part,
1342 * the list of markup filter functions will be called to decide if and how
1343 * the new text will be accepted.
1344 * The text parameter in the @p func filter is always markup. It can be
1345 * modified by the user and it's up to him to free the one passed if he's to
1346 * change the pointer. If doing so, the newly set text should be malloc'ed,
1347 * as once all the filters are called Edje will free it.
1348 * If the text is to be rejected, freeing it and setting the pointer to NULL
1349 * will make Edje break out of the filter cycle and reject the inserted
1350 * text.
1351 * This function is different from edje_object_text_insert_filter_callback_add()
1352 * in that the text parameter in the @p fucn filter is always markup.
1353 *
1354 * @warning If you use this function with
1355 * edje_object_text_insert_filter_callback_add() togehter, all
1356 * Edje_Text_Filter_Cb functions and Edje_Markup_Filter_Cb functions
1357 * will be executed, and then filtered text will be inserted.
1358 *
1359 * @see edje_object_text_markup_filter_callback_del
1360 * @see edje_object_text_markup_filter_callback_del_full
1361 * @see edje_object_text_insert_filter_callback_add
1362 *
1363 * @param obj A valid Evas_Object handle
1364 * @param part The part name
1365 * @param func The callback function that will act as markup filter
1366 * @param data User provided data to pass to the filter function
1367 * @since 1.2.0
1368 */
1369EAPI void edje_object_text_markup_filter_callback_add(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data);
1370
1371/**
1372 * Delete a function from the markup filter list.
1373 *
1374 * Delete the given @p func filter from the list in @p part. Returns
1375 * the user data pointer given when added.
1376 *
1377 * @see edje_object_text_markup_filter_callback_add
1378 * @see edje_object_text_markup_filter_callback_del_full
1379 *
1380 * @param obj A valid Evas_Object handle
1381 * @param part The part name
1382 * @param func The function callback to remove
1383 *
1384 * @return The user data pointer if successful, or NULL otherwise
1385 * @since 1.2.0
1386 */
1387EAPI void *edje_object_text_markup_filter_callback_del(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func);
1388
1389/**
1390 * Delete a function and matching user data from the markup filter list.
1391 *
1392 * Delete the given @p func filter and @p data user data from the list
1393 * in @p part.
1394 * Returns the user data pointer given when added.
1395 *
1396 * @see edje_object_text_markup_filter_callback_add
1397 * @see edje_object_text_markup_filter_callback_del
1398 *
1399 * @param obj A valid Evas_Object handle
1400 * @param part The part name
1401 * @param func The function callback to remove
1402 * @param data The data passed to the callback function
1403 *
1404 * @return The same data pointer if successful, or NULL otherwise
1405 * @since 1.2.0
1406 */
1407EAPI void *edje_object_text_markup_filter_callback_del_full(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data);
1408
1409/**
1410 * @}
1411 */
1412
1413/**
1414 * @ingroup Edje_Part_Swallow
1415 *
1416 * @{
1417 */
1418
1419/**
1420 * @brief Set the object minimum size.
1421 *
1422 * @param obj A valid Evas_Object handle
1423 * @param minw The minimum width
1424 * @param minh The minimum height
1425 *
1426 * This sets the minimum size restriction for the object.
1427 */
1428EAPI void edje_extern_object_min_size_set (Evas_Object *obj, Evas_Coord minw, Evas_Coord minh);
1429
1430/**
1431 * @brief Set the object maximum size.
1432 *
1433 * @param obj A valid Evas_Object handle
1434 * @param maxw The maximum width
1435 * @param maxh The maximum height
1436 *
1437 * This sets the maximum size restriction for the object.
1438 */
1439EAPI void edje_extern_object_max_size_set (Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh);
1440
1441/**
1442 * @brief Set the object aspect size.
1443 *
1444 * @param obj A valid Evas_Object handle
1445 * @param aspect The aspect control axes
1446 * @param aw The aspect radio width
1447 * @param ah The aspect ratio height
1448 *
1449 * This sets the desired aspect ratio to keep an object that will be
1450 * swallowed by Edje. The width and height define a preferred size
1451 * ASPECT and the object may be scaled to be larger or smaller, but
1452 * retaining the relative scale of both aspect width and height.
1453 */
1454EAPI void edje_extern_object_aspect_set (Evas_Object *obj, Edje_Aspect_Control aspect, Evas_Coord aw, Evas_Coord ah);
1455
1456/**
1457 * @brief "Swallows" an object into one of the Edje object @c SWALLOW
1458 * parts.
1459 *
1460 * @param obj A valid Edje object handle
1461 * @param part The swallow part's name
1462 * @param obj_swallow The object to occupy that part
1463 *
1464 * Swallowing an object into an Edje object is, for a given part of
1465 * type @c SWALLOW in the EDC group which gave life to @a obj, to set
1466 * an external object to be controlled by @a obj, being displayed
1467 * exactly over that part's region inside the whole Edje object's
1468 * viewport.
1469 *
1470 * From this point on, @a obj will have total control over @a
1471 * obj_swallow's geometry and visibility. For instance, if @a obj is
1472 * visible, as in @c evas_object_show(), the swallowed object will be
1473 * visible too -- if the given @c SWALLOW part it's in is also
1474 * visible. Other actions on @a obj will also reflect on the swallowed
1475 * object as well (e.g. resizing, moving, raising/lowering, etc.).
1476 *
1477 * Finally, all internal changes to @a part, specifically, will
1478 * reflect on the displaying of @a obj_swallow, for example state
1479 * changes leading to different visibility states, geometries,
1480 * positions, etc.
1481 *
1482 * If an object has already been swallowed into this part, then it
1483 * will first be unswallowed (as in edje_object_part_unswallow())
1484 * before the new object is swallowed.
1485 *
1486 * @note @a obj @b won't delete the swallowed object once it is
1487 * deleted -- @a obj_swallow will get to an unparented state again.
1488 *
1489 * For more details on EDC @c SWALLOW parts, see @ref edcref "syntax
1490 * reference".
1491 */
1492EAPI Eina_Bool edje_object_part_swallow (Evas_Object *obj, const char *part, Evas_Object *obj_swallow);
1493
1494/**
1495 * @brief Unswallow an object.
1496 *
1497 * @param obj A valid Evas_Object handle
1498 * @param obj_swallow The swallowed object
1499 *
1500 * Causes the edje to regurgitate a previously swallowed object. :)
1501 *
1502 * @note @p obj_swallow will @b not be deleted or hidden.
1503 * @note @p obj_swallow may appear shown on the evas depending on its state when
1504 * it got unswallowed. Make sure you delete it or hide it if you do not want it to.
1505 */
1506EAPI void edje_object_part_unswallow (Evas_Object *obj, Evas_Object *obj_swallow);
1507
1508/**
1509 * @brief Get the object currently swallowed by a part.
1510 *
1511 * @param obj A valid Evas_Object handle
1512 * @param part The part name
1513 * @return The swallowed object, or NULL if there is none.
1514 */
1515EAPI Evas_Object *edje_object_part_swallow_get (const Evas_Object *obj, const char *part);
1516
1517/**
1518 * @}
1519 */
1520
1521/**
1522 * @ingroup Edje_Part_Drag
1523 *
1524 * @{
1525 */
1526
1527/**
1528 * @brief Determine dragable directions.
1529 *
1530 * @param obj A valid Evas_Object handle