[NUI] TCSACR-226 code change (#1032)
[platform/core/csapi/tizenfx.git] / src / ElmSharp / Interop / Interop.Elementary.cs
1 /*
2  * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 using System;
18 using System.Runtime.InteropServices;
19
20 internal static partial class Interop
21 {
22     internal static partial class Elementary
23     {
24         internal enum Edje_Message_Type
25         {
26             EDJE_MESSAGE_NONE = 0,
27
28             // A message with a string as value. Use #Edje_Message_String structs as message body, for this type.
29             EDJE_MESSAGE_STRING = 2,
30
31             // A message with an integer number as value. Use #Edje_Message_Int structs as message body, for this type.
32             EDJE_MESSAGE_INT = 3,
33
34             // A message with a floating pointer number as value. Use #Edje_Message_Float structs as message body, for this type.
35             EDJE_MESSAGE_FLOAT = 4,
36
37             // A message with a list of strings as value. Use #Edje_Message_String_Set structs as message body, for this type.
38             EDJE_MESSAGE_STRING_SET = 5,
39
40             // A message with a list of integer numbers as value. Use #Edje_Message_Int_Set structs as message body, for this type.
41             EDJE_MESSAGE_INT_SET = 6,
42
43             // A message with a list of floating point numbers as value. Use #Edje_Message_Float_Set structs as message body, for this type.
44             EDJE_MESSAGE_FLOAT_SET = 7,
45
46             // A message with a struct containing a string and an integer number as value. Use #Edje_Message_String_Int structs as message body, for this type.
47             EDJE_MESSAGE_STRING_INT = 8,
48
49             // A message with a struct containing a string and a floating point number as value. Use #Edje_Message_String_Float structs as message body, for this type.
50             EDJE_MESSAGE_STRING_FLOAT = 9,
51
52             // A message with a struct containing a string and list of integer numbers as value. Use #Edje_Message_String_Int_Set structs as message body, for this type.
53             EDJE_MESSAGE_STRING_INT_SET = 10,
54
55             // A message with a struct containing a string and list of floating point numbers as value. Use #Edje_Message_String_Float_Set structs as message body, for this type.
56             EDJE_MESSAGE_STRING_FLOAT_SET = 11
57         }
58         internal enum Elm_Focus_Autoscroll_Mode
59         {
60             ELM_FOCUS_AUTOSCROLL_MODE_SHOW,
61             ELM_FOCUS_AUTOSCROLL_MODE_NONE,
62             ELM_FOCUS_AUTOSCROLL_MODE_BRING_IN
63         }
64
65         [DllImport(Libraries.Elementary)]
66         internal static extern void elm_config_scroll_bring_in_scroll_friction_set(double time);
67
68         [DllImport(Libraries.Elementary)]
69         internal static extern double elm_config_scroll_bring_in_scroll_friction_get();
70
71         [DllImport(Libraries.Elementary)]
72         internal static extern void elm_config_focus_autoscroll_mode_set(Elm_Focus_Autoscroll_Mode mode);
73
74         [DllImport(Libraries.Elementary)]
75         internal static extern Elm_Focus_Autoscroll_Mode elm_config_focus_autoscroll_mode_get();
76
77         [DllImport(Libraries.Elementary)]
78         internal static extern IntPtr elm_config_accel_preference_set(string preference);
79
80         [DllImport(Libraries.Elementary)]
81         internal static extern void elm_config_scale_set(double scale);
82
83         [DllImport(Libraries.Elementary)]
84         internal static extern double elm_config_scale_get();
85
86         [DllImport(Libraries.Elementary, EntryPoint = "elm_config_profile_get")]
87         internal static extern IntPtr _elm_config_profile_get();
88
89         internal static string elm_config_profile_get()
90         {
91             return Marshal.PtrToStringAnsi(_elm_config_profile_get());
92         }
93
94         internal static void elm_object_focused_clear(IntPtr handle)
95         {
96             if (elm_widget_is(handle))
97             {
98                 efl_ui_widget_focused_object_clear(handle);
99             }
100             else
101             {
102                 Evas.evas_object_focus_set(handle, false);
103             }
104
105             IntPtr win = elm_widget_top_get(handle);
106             if (win != IntPtr.Zero && Eo.efl_class_name_get(Eo.efl_class_get(win)) == "Efl.Ui.Win")
107             {
108                 Evas.evas_object_focus_set(win, true);
109             }
110         }
111
112         [DllImport(Libraries.Elementary)]
113         internal static extern IntPtr elm_widget_top_get(IntPtr handle);
114
115         [DllImport(Libraries.Elementary)]
116         internal static extern bool elm_widget_is(IntPtr handle);
117
118         [DllImport(Libraries.Elementary)]
119         internal static extern void efl_ui_widget_focused_object_clear(IntPtr handle);
120
121         [DllImport(Libraries.Elementary)]
122         internal static extern void elm_config_preferred_engine_set(string name);
123
124         [DllImport(Libraries.Elementary)]
125         internal static extern double elm_config_longpress_timeout_get();
126
127         [DllImport(Libraries.Elementary)]
128         internal static extern void elm_config_reload();
129
130         [DllImport(Libraries.Elementary)]
131         internal static extern void elm_config_all_flush();
132
133         [DllImport(Libraries.Elementary)]
134         internal static extern void elm_config_finger_size_set(int size);
135
136         [DllImport(Libraries.Elementary)]
137         internal static extern int elm_config_finger_size_get();
138
139         [DllImport(Libraries.Elementary)]
140         internal static extern bool elm_config_mirrored_get();
141
142         [DllImport(Libraries.Elementary)]
143         internal static extern void elm_config_mirrored_set(bool mirrored);
144
145         [DllImport(Libraries.Elementary)]
146         internal static extern bool elm_object_mirrored_automatic_get(IntPtr obj);
147
148         [DllImport(Libraries.Elementary)]
149         internal static extern void elm_object_mirrored_automatic_set(IntPtr obj, bool automatic);
150
151         [DllImport(Libraries.Elementary)]
152         internal static extern bool elm_object_mirrored_get(IntPtr obj);
153
154         [DllImport(Libraries.Elementary)]
155         internal static extern void elm_object_mirrored_set(IntPtr obj, bool mirrored);
156
157         [DllImport(Libraries.Elementary)]
158         internal static extern IntPtr elm_grid_add(IntPtr obj);
159
160         [DllImport(Libraries.Elementary)]
161         internal static extern void elm_grid_pack(IntPtr obj, IntPtr subObj, int x, int y, int w, int h);
162
163         [DllImport(Libraries.Elementary)]
164         internal static extern void elm_grid_pack_get(IntPtr subObj, out int x, out int y, out int w, out int h);
165
166         [DllImport(Libraries.Elementary)]
167         internal static extern void elm_grid_pack_set(IntPtr subObj, int x, int y, int w, int h);
168
169         [DllImport(Libraries.Elementary)]
170         internal static extern void elm_grid_size_set(IntPtr obj, int w, int h);
171
172         [DllImport(Libraries.Elementary)]
173         internal static extern void elm_object_tree_dump(IntPtr top);
174
175         [DllImport(Libraries.Elementary)]
176         internal static extern bool elm_object_disabled_get(IntPtr obj);
177
178         [DllImport(Libraries.Elementary)]
179         internal static extern void elm_object_disabled_set(IntPtr obj, bool disabled);
180
181         [DllImport(Libraries.Elementary)]
182         internal static extern void elm_init(int argc, string[] argv);
183
184         [DllImport(Libraries.Elementary)]
185         internal static extern bool ecore_main_loop_glib_integrate();
186
187         [DllImport(Libraries.Elementary)]
188         internal static extern void elm_run();
189
190         [DllImport(Libraries.Elementary)]
191         internal static extern void elm_exit();
192
193         [DllImport(Libraries.Elementary)]
194         internal static extern void elm_shutdown();
195
196         [DllImport(Libraries.Elementary)]
197         internal static extern void elm_app_base_scale_set(double base_scale);
198
199         [DllImport(Libraries.Elementary)]
200         internal static extern double elm_app_base_scale_get();
201
202         [DllImport(Libraries.Elementary)]
203         internal static extern IntPtr elm_conformant_add(IntPtr obj);
204
205         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_part_text_get")]
206         internal static extern IntPtr _elm_object_part_text_get(IntPtr obj, IntPtr part);
207
208         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_part_text_get")]
209         internal static extern IntPtr _elm_object_part_text_get(IntPtr obj, string part);
210
211         [DllImport(Libraries.Elementary)]
212         internal static extern void elm_object_tooltip_text_set(IntPtr obj, string text);
213
214         [DllImport(Libraries.Elementary)]
215         internal static extern void elm_object_tooltip_unset(IntPtr obj);
216
217         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_tooltip_style_get")]
218         internal static extern IntPtr _elm_object_tooltip_style_get(IntPtr obj);
219
220         internal static string elm_object_tooltip_style_get(IntPtr obj)
221         {
222             return Marshal.PtrToStringAnsi(_elm_object_tooltip_style_get(obj));
223         }
224
225         [DllImport(Libraries.Elementary)]
226         internal static extern void elm_object_tooltip_style_set(IntPtr obj, string style);
227
228         [DllImport(Libraries.Elementary)]
229         internal static extern bool elm_object_tooltip_window_mode_get(IntPtr obj);
230
231         [DllImport(Libraries.Elementary)]
232         internal static extern bool elm_object_tooltip_window_mode_set(IntPtr obj, bool disable);
233
234         [DllImport(Libraries.Elementary)]
235         internal static extern void elm_object_tooltip_move_freeze_push(IntPtr obj);
236
237         [DllImport(Libraries.Elementary)]
238         internal static extern void elm_object_tooltip_move_freeze_pop(IntPtr obj);
239
240         [DllImport(Libraries.Elementary)]
241         internal static extern int elm_object_tooltip_move_freeze_get(IntPtr obj);
242
243         [DllImport(Libraries.Elementary)]
244         internal static extern void elm_object_tooltip_show(IntPtr obj);
245
246         [DllImport(Libraries.Elementary)]
247         internal static extern void elm_object_tooltip_hide(IntPtr obj);
248
249         [DllImport(Libraries.Elementary)]
250         internal static extern void elm_object_tooltip_orient_set(IntPtr obj, int orient);
251
252         [DllImport(Libraries.Elementary)]
253         internal static extern int elm_object_tooltip_orient_get(IntPtr obj);
254
255         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
256         internal delegate IntPtr Elm_Tooltip_Content_Cb(IntPtr data, IntPtr obj, IntPtr tooltip);
257
258         [DllImport(Libraries.Elementary)]
259         internal static extern void elm_object_tooltip_content_cb_set(IntPtr obj, Elm_Tooltip_Content_Cb func, IntPtr data, Interop.Evas.SmartCallback del);
260
261         internal static string elm_object_part_text_get(IntPtr obj, string part)
262         {
263             return Marshal.PtrToStringAnsi(_elm_object_part_text_get(obj, part));
264         }
265
266         internal static string elm_object_part_text_get(IntPtr obj)
267         {
268             return Marshal.PtrToStringAnsi(_elm_object_part_text_get(obj, IntPtr.Zero));
269         }
270
271         [DllImport(Libraries.Elementary)]
272         internal static extern IntPtr elm_object_part_content_get(IntPtr obj, string part);
273
274         [DllImport(Libraries.Elementary)]
275         internal static extern void elm_object_part_content_set(IntPtr obj, string part, IntPtr content);
276
277         [DllImport(Libraries.Elementary)]
278         internal static extern void elm_object_part_content_set(IntPtr obj, IntPtr part, IntPtr content);
279
280         internal static void elm_object_content_set(IntPtr obj, IntPtr content)
281         {
282             elm_object_part_content_set(obj, IntPtr.Zero, content);
283         }
284
285         [DllImport(Libraries.Elementary)]
286         internal static extern IntPtr elm_object_part_content_unset(IntPtr obj, string part);
287
288         internal static void elm_object_content_unset(IntPtr obj)
289         {
290             elm_object_part_content_unset(obj, null);
291         }
292
293         [DllImport(Libraries.Elementary)]
294         internal static extern IntPtr elm_layout_add(IntPtr obj);
295
296         [DllImport(Libraries.Elementary)]
297         internal static extern IntPtr elm_layout_content_get(IntPtr obj, string swallow);
298
299         [DllImport(Libraries.Elementary)]
300         internal static extern bool elm_layout_content_set(IntPtr obj, string swallow, IntPtr content);
301
302         [DllImport(Libraries.Elementary)]
303         internal static extern IntPtr elm_layout_content_unset(IntPtr obj, string swallow);
304
305         [DllImport(Libraries.Elementary)]
306         internal static extern bool elm_layout_text_set(IntPtr obj, string part, string text);
307
308         [DllImport(Libraries.Elementary, EntryPoint = "elm_layout_text_get")]
309         internal static extern IntPtr _elm_layout_text_get(IntPtr obj, string part);
310
311         internal static string elm_layout_text_get(IntPtr obj, string part)
312         {
313             return Marshal.PtrToStringAnsi(_elm_layout_text_get(obj, part));
314         }
315
316         [DllImport(Libraries.Elementary)]
317         internal static extern bool elm_layout_theme_set(IntPtr obj, string klass, string group, string style);
318
319         [DllImport(Libraries.Elementary)]
320         internal static extern void elm_layout_file_get(IntPtr obj, IntPtr file, IntPtr group);
321
322         [DllImport(Libraries.Elementary)]
323         internal static extern bool elm_layout_file_set(IntPtr obj, string file, string group);
324
325         [DllImport(Libraries.Elementary)]
326         internal static extern void elm_layout_signal_emit(IntPtr obj, string emission, string source);
327
328         [DllImport(Libraries.Elementary)]
329         internal static extern void elm_layout_signal_callback_add(IntPtr obj, string emission, string source, Edje_Signal_Cb func, IntPtr data);
330
331         [DllImport(Libraries.Elementary)]
332         internal static extern IntPtr elm_layout_signal_callback_del(IntPtr obj, string emission, string source, Edje_Signal_Cb func);
333
334         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
335         internal delegate void Edje_Signal_Cb(IntPtr data, IntPtr obj, string emission, string source);
336
337         [DllImport(Libraries.Elementary)]
338         internal static extern bool elm_layout_box_append(IntPtr obj, string part, IntPtr child);
339
340         [DllImport(Libraries.Elementary)]
341         internal static extern bool elm_layout_box_prepend(IntPtr obj, string part, IntPtr child);
342
343         [DllImport(Libraries.Elementary)]
344         internal static extern IntPtr elm_layout_box_remove(IntPtr obj, string part, IntPtr child);
345
346         [DllImport(Libraries.Elementary)]
347         internal static extern bool elm_layout_box_remove_all(IntPtr obj, string part, bool clear);
348
349         [DllImport(Libraries.Elementary, EntryPoint = "elm_layout_data_get")]
350         internal static extern IntPtr _elm_layout_data_get(IntPtr obj, string key);
351
352         internal static string elm_layout_data_get(IntPtr obj, string key)
353         {
354             return Marshal.PtrToStringAnsi(_elm_layout_data_get(obj, key));
355         }
356
357         [DllImport(Libraries.Elementary)]
358         internal static extern void elm_layout_text_valign_set(IntPtr obj, string part, double valign);
359
360         [DllImport(Libraries.Elementary)]
361         internal static extern double elm_layout_text_valign_get(IntPtr obj, string part);
362
363         [DllImport(Libraries.Elementary)]
364         internal static extern IntPtr elm_notify_add(IntPtr obj);
365
366         [DllImport(Libraries.Elementary)]
367         internal static extern void elm_notify_align_set(IntPtr obj, double horizontal, double vertical);
368
369         [DllImport(Libraries.Elementary)]
370         internal static extern void elm_notify_timeout_set(IntPtr obj, double timeout);
371
372         [DllImport(Libraries.Elementary)]
373         internal static extern double elm_object_scale_get(IntPtr obj);
374
375         [DllImport(Libraries.Elementary)]
376         internal static extern void elm_object_scale_set(IntPtr obj, double scale);
377
378         [DllImport(Libraries.Elementary)]
379         internal static extern void elm_object_signal_emit(IntPtr obj, string emission, string source);
380
381         [DllImport(Libraries.Elementary)]
382         internal static extern IntPtr elm_object_signal_callback_del(IntPtr obj, string emission, string source, Edje_Signal_Cb func);
383
384         [DllImport(Libraries.Elementary)]
385         internal static extern void elm_object_signal_callback_add(IntPtr obj, string emission, string source, Edje_Signal_Cb func, IntPtr data);
386
387         [DllImport(Libraries.Elementary)]
388         internal static extern bool elm_object_style_set(IntPtr obj, string style);
389
390         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_style_get")]
391         internal static extern IntPtr _elm_object_style_get(IntPtr obj);
392
393         internal static string elm_object_style_get(IntPtr obj)
394         {
395             return Marshal.PtrToStringAnsi(_elm_object_style_get(obj));
396         }
397
398         [DllImport(Libraries.Elementary)]
399         internal static extern void elm_object_color_class_color_get(IntPtr obj, string colorClass, out int r, out int g, out int b, out int a);
400
401         [DllImport(Libraries.Elementary)]
402         internal static extern void elm_object_color_class_color_set(IntPtr obj, string colorClass, int r, int g, int b, int a);
403
404         [DllImport(Libraries.Elementary)]
405         internal static extern void elm_object_color_class_del(IntPtr obj, string colorClass);
406         
407         [DllImport(Libraries.Elementary)]
408         internal static extern void elm_object_part_text_set(IntPtr obj, string part, string text);
409
410         [DllImport(Libraries.Elementary)]
411         internal static extern void elm_object_part_text_set(IntPtr obj, IntPtr part, string text);
412
413         [DllImport(Libraries.Elementary)]
414         internal static extern void elm_config_focus_highlight_animate_set(bool animate);
415
416         [DllImport(Libraries.Elementary)]
417         internal static extern bool elm_config_focus_highlight_animate_get();
418
419         [DllImport(Libraries.Elementary)]
420         internal static extern void elm_config_focus_highlight_enabled_set(bool enable);
421
422         [DllImport(Libraries.Elementary)]
423         internal static extern bool elm_config_focus_highlight_enabled_get();
424
425         [DllImport(Libraries.Elementary)]
426         internal static extern void elm_object_tree_focus_allow_set(IntPtr obj, bool focusable);
427
428         [DllImport(Libraries.Elementary)]
429         internal static extern bool elm_object_tree_focus_allow_get(IntPtr obj);
430
431         [DllImport(Libraries.Elementary)]
432         internal static extern IntPtr elm_object_focus_next_object_get(IntPtr obj, int dir);
433
434         [DllImport(Libraries.Elementary)]
435         internal static extern IntPtr elm_object_focused_object_get(IntPtr obj);
436
437         [DllImport(Libraries.Elementary)]
438         internal static extern bool elm_object_focus_get(IntPtr obj);
439
440         [DllImport(Libraries.Elementary)]
441         internal static extern void elm_object_focus_set(IntPtr obj, bool focus);
442
443         [DllImport(Libraries.Elementary)]
444         internal static extern bool elm_object_focus_allow_get(IntPtr obj);
445
446         [DllImport(Libraries.Elementary)]
447         internal static extern void elm_object_focus_allow_set(IntPtr obj, bool enable);
448
449         [DllImport(Libraries.Elementary)]
450         internal static extern void elm_object_focus_next(IntPtr obj, int direction);
451
452         [DllImport(Libraries.Elementary)]
453         internal static extern void elm_object_focus_next_object_set(IntPtr obj, IntPtr next, int direction);
454
455         [DllImport(Libraries.Elementary)]
456         internal static extern void elm_object_focus_next_item_set(IntPtr obj, IntPtr nextItem, int direction);
457
458         [DllImport(Libraries.Elementary)]
459         internal static extern void elm_theme_extension_add(IntPtr theme, string path);
460
461         [DllImport(Libraries.Elementary)]
462         internal static extern void elm_theme_overlay_add(IntPtr theme, string path);
463
464         [DllImport(Libraries.Elementary)]
465         internal static extern void elm_language_set(string lang);
466
467         [DllImport(Libraries.Elementary)]
468         internal static extern bool elm_policy_set(uint policy, int value);
469
470         [DllImport(Libraries.Elementary)]
471         internal static extern IntPtr elm_theme_new();
472
473         [DllImport(Libraries.Elementary)]
474         internal static extern void elm_theme_free(IntPtr theme);
475
476         [DllImport(Libraries.Elementary)]
477         internal static extern void elm_theme_ref_set(IntPtr theme, IntPtr themeRef);
478
479         [DllImport(Libraries.Elementary)]
480         internal static extern void elm_theme_extension_del(IntPtr theme, string item);
481
482         [DllImport(Libraries.Elementary)]
483         internal static extern void elm_theme_overlay_del(IntPtr theme, string item);
484
485         [DllImport(Libraries.Elementary)]
486         internal static extern void elm_theme_set(IntPtr obj, string theme);
487
488         [DllImport(Libraries.Elementary)]
489         internal static extern void elm_theme_flush(IntPtr theme);
490
491         [DllImport(Libraries.Elementary)]
492         internal static extern void elm_theme_full_flush();
493
494         [DllImport(Libraries.Elementary)]
495         internal static extern void elm_object_theme_set(IntPtr obj, IntPtr theme);
496
497         [DllImport(Libraries.Elementary)]
498         internal static extern IntPtr elm_layout_edje_get(IntPtr obj);
499
500         internal static void SetObjectText(IntPtr obj, string text)
501         {
502             elm_object_part_text_set(obj, IntPtr.Zero, text);
503         }
504
505         [DllImport(Libraries.Elementary)]
506         internal static extern void elm_cache_all_flush();
507
508         [DllImport(Libraries.Elementary)]
509         internal static extern void elm_object_domain_translatable_part_text_set(IntPtr obj, string part, string domain, string text);
510
511         [DllImport(Libraries.Elementary)]
512         internal static extern void edje_object_color_class_del(IntPtr obj, string colorClass);
513
514         [DllImport(Libraries.Elementary)]
515         internal static extern bool edje_object_part_exists(IntPtr obj, string part);
516
517         [DllImport(Libraries.Elementary)]
518         internal static extern IntPtr edje_object_part_object_get(IntPtr obj, string part);
519
520         [DllImport(Libraries.Elementary)]
521         internal static extern bool edje_object_part_geometry_get(IntPtr obj, string part, out int x, out int y, out int w, out int h);
522
523         [DllImport(Libraries.Elementary)]
524         internal static extern bool edje_object_part_text_set(IntPtr obj, string part, string text);
525
526         [DllImport(Libraries.Elementary, EntryPoint = "edje_object_part_text_get", CharSet = CharSet.Ansi)]
527         internal static extern IntPtr _edje_object_part_text_get(IntPtr obj, string part);
528
529         internal static string edje_object_part_text_get(IntPtr obj, string part)
530         {
531             var text = _edje_object_part_text_get(obj, part);
532             return Marshal.PtrToStringAnsi(text);
533         }
534
535         [DllImport(Libraries.Elementary, EntryPoint = "edje_object_part_text_style_user_peek", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
536         internal static extern IntPtr _edje_object_part_text_style_user_peek(IntPtr obj, string part);
537
538         internal static string edje_object_part_text_style_user_peek(IntPtr obj, string part)
539         {
540             var text = _edje_object_part_text_style_user_peek(obj, part);
541             return Marshal.PtrToStringAnsi(text);
542         }
543
544         [DllImport(Libraries.Elementary)]
545         internal static extern void edje_object_part_text_style_user_push(IntPtr obj, string part, string style);
546
547         [DllImport(Libraries.Elementary)]
548         internal static extern void edje_object_part_text_style_user_pop(IntPtr obj, string part);
549
550         [DllImport(Libraries.Elementary)]
551         internal static extern void edje_object_signal_emit(IntPtr obj, string emission, string source);
552
553         [DllImport(Libraries.Elementary)]
554         internal static extern void edje_object_mirrored_set(IntPtr obj, bool rtl);
555
556         [DllImport(Libraries.Elementary)]
557         internal static extern IntPtr edje_object_add(IntPtr evas);
558
559         [DllImport(Libraries.Elementary)]
560         internal static extern bool edje_object_file_set(IntPtr obj, string file, string group);
561
562         [DllImport(Libraries.Elementary)]
563         internal static extern bool edje_object_part_box_append(IntPtr obj, string part, IntPtr child);
564
565         [DllImport(Libraries.Elementary)]
566         internal static extern bool edje_object_part_box_prepend(IntPtr obj, string part, IntPtr child);
567
568         [DllImport(Libraries.Elementary, EntryPoint = "edje_object_part_state_get")]
569         internal static extern IntPtr _edje_object_part_state_get(IntPtr obj, string part, out double value);
570
571         internal static string edje_object_part_state_get(IntPtr obj, string part, out double value)
572         {
573             return Marshal.PtrToStringAnsi(_edje_object_part_state_get(obj, part, out value));
574         }
575
576         [DllImport(Libraries.Elementary)]
577         internal static extern void edje_object_signal_callback_add(IntPtr obj, string emission, string source, Edje_Signal_Cb func, IntPtr data);
578
579         [DllImport(Libraries.Elementary)]
580         internal static extern IntPtr edje_object_signal_callback_del(IntPtr obj, string emission, string source, Edje_Signal_Cb func);
581
582         [DllImport(Libraries.Elementary)]
583         internal static extern void edje_object_signal_callback_del_full(IntPtr obj, string emission, string source, Edje_Signal_Cb func, IntPtr data);
584
585         [DllImport(Libraries.Elementary)]
586         internal static extern bool edje_color_class_set(string colorClass, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
587
588         [DllImport(Libraries.Elementary)]
589         internal static extern bool edje_color_class_get(string colorClass, out int r, out int g, out int b, out int a, out int r2, out int g2, out int b2, out int a2,
590             out int r3, out int g3, out int b3, out int a3);
591
592         [DllImport(Libraries.Elementary)]
593         internal static extern bool edje_object_color_class_set(IntPtr obj, string colorClass, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
594
595         [DllImport(Libraries.Elementary)]
596         internal static extern bool edje_object_color_class_get(IntPtr obj, string colorClass, out int r, out int g, out int b, out int a, out int r2, out int g2, out int b2, out int a2,
597             out int r3, out int g3, out int b3, out int a3);
598
599         [DllImport(Libraries.Elementary)]
600         internal static extern void edje_message_signal_process();
601
602         [DllImport(Libraries.Elementary)]
603         internal static extern void edje_object_message_handler_set(IntPtr obj, Edje_Message_Handler_Cb func, IntPtr data);
604
605         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
606         internal delegate void Edje_Message_Handler_Cb(IntPtr data, IntPtr obj, Edje_Message_Type type, int id, IntPtr msg);
607
608         [DllImport(Libraries.Elementary)]
609         internal static extern void edje_object_message_send(IntPtr obj, Edje_Message_Type type, int id, IntPtr msg);
610
611         [DllImport(Libraries.Elementary)]
612         internal static extern void edje_object_message_signal_process(IntPtr obj);
613
614         [DllImport(Libraries.Elementary)]
615         internal static extern bool edje_object_text_class_set(IntPtr obj, string textClass, string font, int size);
616
617         [DllImport(Libraries.Elementary, EntryPoint = "edje_object_text_class_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
618         internal static extern bool _edje_object_text_class_get(IntPtr obj, string textClass, out IntPtr font, out int size);
619         internal static bool edje_object_text_class_get(IntPtr obj, string textClass, out string font, out int size)
620         {
621             IntPtr _font;
622             var ret = _edje_object_text_class_get(obj, textClass, out _font, out size);
623             font = Marshal.PtrToStringAnsi(_font);
624             return ret;
625         }
626
627         [DllImport(Libraries.Elementary)]
628         internal static extern bool edje_text_class_set(string textClass, string font, int size);
629
630         [DllImport(Libraries.Elementary, EntryPoint = "edje_text_class_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
631         internal static extern bool _edje_text_class_get(string textClass, out IntPtr font, out int size);
632         internal static bool edje_text_class_get(string textClass, out string font, out int size)
633         {
634             IntPtr _font;
635             var ret = _edje_text_class_get(textClass, out _font, out size);
636             font = Marshal.PtrToStringAnsi(_font);
637             return ret;
638         }
639
640         [DllImport(Libraries.Elementary)]
641         internal static extern void edje_text_class_del(string textClass);
642
643         [DllImport(Libraries.Elementary)]
644         internal static extern IntPtr elm_transit_add();
645
646         [DllImport(Libraries.Elementary)]
647         internal static extern void elm_transit_del(IntPtr transit);
648
649         [DllImport(Libraries.Elementary)]
650         internal static extern void elm_transit_object_add(IntPtr transit, IntPtr obj);
651
652         [DllImport(Libraries.Elementary)]
653         internal static extern IntPtr elm_transit_effect_translation_add(IntPtr transit, int fromDx, int fromDy, int toDx, int toDy);
654
655         [DllImport(Libraries.Elementary)]
656         internal static extern void elm_transit_objects_final_state_keep_set(IntPtr transit, bool stateKeep);
657
658         [DllImport(Libraries.Elementary)]
659         internal static extern void elm_transit_tween_mode_set(IntPtr transit, int tweenMode);
660
661         [DllImport(Libraries.Elementary)]
662         internal static extern void elm_transit_repeat_times_set(IntPtr transit, int repeat);
663
664         [DllImport(Libraries.Elementary)]
665         internal static extern void elm_transit_duration_set(IntPtr transit, double duration);
666
667         [DllImport(Libraries.Elementary)]
668         internal static extern void elm_transit_go(IntPtr transit);
669
670         [DllImport(Libraries.Elementary)]
671         internal static extern IntPtr elm_transit_effect_zoom_add(IntPtr transit, float fromRate, float toRate);
672
673         [DllImport(Libraries.Elementary)]
674         internal static extern IntPtr elm_transit_effect_color_add(IntPtr transit, int fromR, int fromG, int fromB, int fromA, int toR, int toG, int toB, int toA);
675
676         [DllImport(Libraries.Elementary)]
677         internal static extern void elm_transit_auto_reverse_set(IntPtr transit, bool reverse);
678
679         [DllImport(Libraries.Elementary)]
680         internal static extern void elm_transit_effect_add(IntPtr transit, Elm_Transit_Effect_Transition_Cb transitionCb, IntPtr effect, Elm_Transit_Effect_End_Cb endCb);
681
682         [DllImport(Libraries.Elementary)]
683         internal static extern IntPtr elm_transit_effect_fade_add(IntPtr transit);
684
685         [DllImport(Libraries.Elementary)]
686         internal static extern IntPtr elm_transit_effect_resizing_add(IntPtr transit, int fromW, int fromH, int toW, int toH);
687
688         [DllImport(Libraries.Elementary)]
689         internal static extern void elm_transit_event_enabled_set(IntPtr transit, bool enabled);
690
691         [DllImport(Libraries.Elementary)]
692         internal static extern void elm_transit_smooth_set(IntPtr transit, bool enabled);
693
694         [DllImport(Libraries.Elementary)]
695         internal static extern void elm_transit_effect_del(IntPtr transit, Elm_Transit_Effect_Transition_Cb transitionCb, IntPtr effect);
696
697         [DllImport(Libraries.Elementary)]
698         internal static extern void elm_transit_object_remove(IntPtr transit, IntPtr obj);
699
700         [DllImport(Libraries.Elementary)]
701         internal static extern bool elm_transit_objects_final_state_keep_get(IntPtr transit);
702
703         [DllImport(Libraries.Elementary)]
704         internal static extern bool elm_transit_event_enabled_get(IntPtr transit);
705
706         [DllImport(Libraries.Elementary)]
707         internal static extern void elm_transit_del_cb_set(IntPtr transit, Elm_Transit_Del_Cb cb, IntPtr data);
708
709         [DllImport(Libraries.Elementary)]
710         internal static extern bool elm_transit_auto_reverse_get(IntPtr transit);
711
712         [DllImport(Libraries.Elementary)]
713         internal static extern int elm_transit_repeat_times_get(IntPtr transit);
714
715         [DllImport(Libraries.Elementary)]
716         internal static extern int elm_transit_tween_mode_get(IntPtr transit);
717
718         [DllImport(Libraries.Elementary)]
719         internal static extern void elm_transit_tween_mode_factor_set(IntPtr transit, double v1, double v2);
720
721         [DllImport(Libraries.Elementary)]
722         internal static extern void elm_transit_tween_mode_factor_get(IntPtr transit, out double v1, out double v2);
723
724         [DllImport(Libraries.Elementary)]
725         internal static extern void elm_transit_tween_mode_factor_n_set(IntPtr transit, int vSize, out double v);
726
727         [DllImport(Libraries.Elementary)]
728         internal static extern double elm_transit_duration_get(IntPtr transit);
729
730         [DllImport(Libraries.Elementary)]
731         internal static extern void elm_transit_go_in(IntPtr transit, double interval);
732
733         [DllImport(Libraries.Elementary)]
734         internal static extern void elm_transit_paused_set(IntPtr transit, bool paused);
735
736         [DllImport(Libraries.Elementary)]
737         internal static extern bool elm_transit_paused_get(IntPtr transit);
738
739         [DllImport(Libraries.Elementary)]
740         internal static extern double elm_transit_progress_value_get(IntPtr transit);
741
742         [DllImport(Libraries.Elementary)]
743         internal static extern void elm_transit_chain_transit_add(IntPtr transit, IntPtr chainTransit);
744
745         [DllImport(Libraries.Elementary)]
746         internal static extern void elm_transit_chain_transit_del(IntPtr transit, IntPtr chainTransit);
747
748         [DllImport(Libraries.Elementary)]
749         internal static extern IntPtr elm_transit_chain_transits_get(IntPtr transit);
750
751         [DllImport(Libraries.Elementary)]
752         internal static extern bool elm_transit_smooth_get(IntPtr transit);
753
754         [DllImport(Libraries.Elementary)]
755         internal static extern IntPtr elm_transit_effect_flip_add(IntPtr transit, int axis, bool cw);
756
757         [DllImport(Libraries.Elementary)]
758         internal static extern IntPtr elm_transit_effect_resizable_flip_add(IntPtr transit, int axis, bool cw);
759
760         [DllImport(Libraries.Elementary)]
761         internal static extern IntPtr elm_transit_effect_wipe_add(IntPtr transit, int type, int dir);
762
763         [DllImport(Libraries.Elementary)]
764         internal static extern IntPtr elm_transit_effect_blend_add(IntPtr transit);
765
766         [DllImport(Libraries.Elementary)]
767         internal static extern IntPtr elm_transit_effect_rotation_add(IntPtr transit, float fromDegree, float toDegree);
768
769         [DllImport(Libraries.Elementary)]
770         internal static extern IntPtr elm_transit_effect_image_animation_add(IntPtr transit, IntPtr images);
771
772         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
773         internal delegate int Eina_Compare_Cb(IntPtr data1, IntPtr data2);
774
775         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
776         internal delegate void Elm_Transit_Effect_Transition_Cb(IntPtr effect, IntPtr transit, double progress);
777
778         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
779         internal delegate void Elm_Transit_Effect_End_Cb(IntPtr effect, IntPtr transit);
780
781         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
782         internal delegate void Elm_Transit_Del_Cb(IntPtr data, IntPtr transit);
783
784         [DllImport(Libraries.Elementary)]
785         internal static extern bool elm_layout_box_insert_at(IntPtr obj, string part, IntPtr child, uint pos);
786
787         [DllImport(Libraries.Elementary)]
788         internal static extern bool elm_layout_box_insert_before(IntPtr obj, string part, IntPtr child, IntPtr reference);
789
790         [DllImport(Libraries.Elementary)]
791         internal static extern bool elm_layout_edje_object_can_access_get(IntPtr obj);
792
793         [DllImport(Libraries.Elementary)]
794         internal static extern bool elm_layout_edje_object_can_access_set(IntPtr obj, bool canAccess);
795
796         [DllImport(Libraries.Elementary)]
797         internal static extern int elm_layout_freeze(IntPtr obj);
798
799         [DllImport(Libraries.Elementary)]
800         internal static extern bool elm_layout_part_cursor_engine_only_get(IntPtr obj, string part);
801
802         [DllImport(Libraries.Elementary)]
803         internal static extern bool elm_layout_part_cursor_engine_only_set(IntPtr obj, string part, bool engineOnly);
804
805         [DllImport(Libraries.Elementary, EntryPoint = "elm_layout_part_cursor_get")]
806         internal static extern IntPtr _elm_layout_part_cursor_get(IntPtr obj, string part);
807
808         internal static string elm_layout_part_cursor_get(IntPtr obj, string part)
809         {
810             return Marshal.PtrToStringAnsi(_elm_layout_part_cursor_get(obj, part));
811         }
812
813         [DllImport(Libraries.Elementary)]
814         internal static extern bool elm_layout_part_cursor_set(IntPtr obj, string part, string cursor);
815
816         [DllImport(Libraries.Elementary, EntryPoint = "elm_layout_part_cursor_style_get")]
817         internal static extern IntPtr _elm_layout_part_cursor_style_get(IntPtr obj, string part);
818
819         internal static string elm_layout_part_cursor_style_get(IntPtr obj, string part)
820         {
821             return Marshal.PtrToStringAnsi(_elm_layout_part_cursor_style_get(obj, part));
822         }
823
824         [DllImport(Libraries.Elementary)]
825         internal static extern bool elm_layout_part_cursor_style_set(IntPtr obj, string part, string style);
826
827         [DllImport(Libraries.Elementary)]
828         internal static extern bool elm_layout_part_cursor_unset(IntPtr obj, string part);
829
830         [DllImport(Libraries.Elementary)]
831         internal static extern void elm_layout_sizing_eval(IntPtr obj);
832
833         [DllImport(Libraries.Elementary)]
834         internal static extern void elm_layout_sizing_restricted_eval(IntPtr obj, bool width, bool height);
835
836         [DllImport(Libraries.Elementary)]
837         internal static extern int elm_layout_thaw(IntPtr obj);
838     }
839 }