Enhance GenList and GenGrid Widgets
[platform/core/csapi/elm-sharp.git] / ElmSharp / Interop / Interop.Elementary.cs
1 /*
2  * Copyright (c) 2016 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
59         [DllImport(Libraries.Elementary)]
60         internal static extern void elm_config_scroll_bring_in_scroll_friction_set(double time);
61
62         [DllImport(Libraries.Elementary)]
63         internal static extern double elm_config_scroll_bring_in_scroll_friction_get();
64
65         [DllImport(Libraries.Elementary)]
66         internal static extern IntPtr elm_config_accel_preference_set(string preference);
67
68         [DllImport(Libraries.Elementary)]
69         internal static extern void elm_config_scale_set(double scale);
70
71         [DllImport(Libraries.Elementary)]
72         internal static extern double elm_config_scale_get();
73
74         [DllImport(Libraries.Elementary)]
75         internal static extern string elm_config_profile_get();
76
77         [DllImport(Libraries.Elementary)]
78         internal static extern void elm_config_preferred_engine_set(string name);
79
80         [DllImport(Libraries.Elementary)]
81         internal static extern double elm_config_longpress_timeout_get();
82
83         [DllImport(Libraries.Elementary)]
84         internal static extern void elm_config_reload();
85
86         [DllImport(Libraries.Elementary)]
87         internal static extern void elm_config_all_flush();
88
89         [DllImport(Libraries.Elementary)]
90         internal static extern void elm_config_finger_size_set(int size);
91
92         [DllImport(Libraries.Elementary)]
93         internal static extern int elm_config_finger_size_get();
94
95         [DllImport(Libraries.Elementary)]
96         internal static extern bool elm_config_mirrored_get();
97
98         [DllImport(Libraries.Elementary)]
99         internal static extern void elm_config_mirrored_set(bool mirrored);
100
101         [DllImport(Libraries.Elementary)]
102         internal static extern bool elm_object_mirrored_automatic_get(IntPtr obj);
103
104         [DllImport(Libraries.Elementary)]
105         internal static extern void elm_object_mirrored_automatic_set(IntPtr obj, bool automatic);
106
107         [DllImport(Libraries.Elementary)]
108         internal static extern bool elm_object_mirrored_get(IntPtr obj);
109
110         [DllImport(Libraries.Elementary)]
111         internal static extern void elm_object_mirrored_set(IntPtr obj, bool mirrored);
112
113         [DllImport(Libraries.Elementary)]
114         internal static extern IntPtr elm_grid_add(IntPtr obj);
115
116         [DllImport(Libraries.Elementary)]
117         internal static extern void elm_grid_pack(IntPtr obj, IntPtr subObj, int x, int y, int w, int h);
118
119         [DllImport(Libraries.Elementary)]
120         internal static extern void elm_grid_pack_get(IntPtr subObj, out int x, out int y, out int w, out int h);
121
122         [DllImport(Libraries.Elementary)]
123         internal static extern void elm_grid_pack_set(IntPtr subObj, int x, int y, int w, int h);
124
125         [DllImport(Libraries.Elementary)]
126         internal static extern void elm_grid_size_set(IntPtr obj, int w, int h);
127
128         [DllImport(Libraries.Elementary)]
129         internal static extern void elm_object_tree_dump(IntPtr top);
130
131         [DllImport(Libraries.Elementary)]
132         internal static extern bool elm_object_disabled_get(IntPtr obj);
133
134         [DllImport(Libraries.Elementary)]
135         internal static extern void elm_object_disabled_set(IntPtr obj, bool disabled);
136
137         [DllImport(Libraries.Elementary)]
138         internal static extern void elm_init(int argc, string[] argv);
139
140         [DllImport(Libraries.Elementary)]
141         internal static extern bool ecore_main_loop_glib_integrate();
142
143         [DllImport(Libraries.Elementary)]
144         internal static extern void elm_run();
145
146         [DllImport(Libraries.Elementary)]
147         internal static extern void elm_exit();
148
149         [DllImport(Libraries.Elementary)]
150         internal static extern void elm_shutdown();
151
152         [DllImport(Libraries.Elementary)]
153         internal static extern void elm_app_base_scale_set(double base_scale);
154
155         [DllImport(Libraries.Elementary)]
156         internal static extern double elm_app_base_scale_set();
157
158         [DllImport(Libraries.Elementary)]
159         internal static extern IntPtr elm_conformant_add(IntPtr obj);
160
161         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_part_text_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
162         internal static extern IntPtr _elm_object_part_text_get(IntPtr obj, IntPtr part);
163
164         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_part_text_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
165         internal static extern IntPtr _elm_object_part_text_get(IntPtr obj, string part);
166
167         [DllImport(Libraries.Elementary)]
168         internal static extern void elm_object_tooltip_text_set(IntPtr obj, string text);
169
170         [DllImport(Libraries.Elementary)]
171         internal static extern void elm_object_tooltip_unset(IntPtr obj);
172
173         [DllImport(Libraries.Elementary)]
174         internal static extern void elm_object_tooltip_style_set(IntPtr obj, string style);
175
176         [DllImport(Libraries.Elementary)]
177         internal static extern void elm_object_tooltip_show(IntPtr obj);
178
179         [DllImport(Libraries.Elementary)]
180         internal static extern void elm_object_tooltip_hide(IntPtr obj);
181
182         [DllImport(Libraries.Elementary)]
183         internal static extern void elm_object_tooltip_orient_set(IntPtr obj, Elm_Tooltip_Orient orient);
184
185         internal static string elm_object_part_text_get(IntPtr obj, string part)
186         {
187             var text = _elm_object_part_text_get(obj, part);
188             return Marshal.PtrToStringAnsi(text);
189         }
190
191         internal static string elm_object_part_text_get(IntPtr obj)
192         {
193             var text = _elm_object_part_text_get(obj, IntPtr.Zero);
194             return Marshal.PtrToStringAnsi(text);
195         }
196
197         [DllImport(Libraries.Elementary)]
198         internal static extern IntPtr elm_object_part_content_get(IntPtr obj, string part);
199
200         [DllImport(Libraries.Elementary)]
201         internal static extern void elm_object_part_content_set(IntPtr obj, string part, IntPtr content);
202
203         [DllImport(Libraries.Elementary)]
204         internal static extern void elm_object_part_content_set(IntPtr obj, IntPtr part, IntPtr content);
205
206         internal static void elm_object_content_set(IntPtr obj, IntPtr content)
207         {
208             elm_object_part_content_set(obj, IntPtr.Zero, content);
209         }
210
211         [DllImport(Libraries.Elementary)]
212         internal static extern void elm_object_part_content_unset(IntPtr obj, string part);
213
214         internal static void elm_object_content_unset(IntPtr obj)
215         {
216             elm_object_part_content_unset(obj, null);
217         }
218
219         [DllImport(Libraries.Elementary)]
220         internal static extern IntPtr elm_layout_add(IntPtr obj);
221
222         [DllImport(Libraries.Elementary)]
223         internal static extern IntPtr elm_layout_content_get(IntPtr obj, string swallow);
224
225         [DllImport(Libraries.Elementary)]
226         internal static extern bool elm_layout_content_set(IntPtr obj, string swallow, IntPtr content);
227
228         [DllImport(Libraries.Elementary)]
229         internal static extern IntPtr elm_layout_content_unset(IntPtr obj, string swallow);
230
231         [DllImport(Libraries.Elementary)]
232         internal static extern bool elm_layout_text_set(IntPtr obj, string part, string text);
233
234         [DllImport(Libraries.Elementary, EntryPoint = "elm_layout_text_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
235         internal static extern IntPtr _elm_layout_text_get(IntPtr obj, string part);
236
237         internal static string elm_layout_text_get(IntPtr obj, string part)
238         {
239             var text = _elm_layout_text_get(obj, part);
240             return Marshal.PtrToStringAnsi(text);
241         }
242
243         [DllImport(Libraries.Elementary)]
244         internal static extern bool elm_layout_theme_set(IntPtr obj, string klass, string group, string style);
245
246         [DllImport(Libraries.Elementary)]
247         internal static extern bool elm_layout_file_set(IntPtr obj, string file, string group);
248
249         [DllImport(Libraries.Elementary)]
250         internal static extern void elm_layout_signal_emit(IntPtr obj, string emission, string source);
251
252         [DllImport(Libraries.Elementary)]
253         internal static extern void elm_layout_signal_callback_add(IntPtr obj, string emission, string source, Edje_Signal_Cb func, IntPtr data);
254
255         [DllImport(Libraries.Elementary)]
256         internal static extern IntPtr elm_layout_signal_callback_del(IntPtr obj, string emission, string source, Edje_Signal_Cb func);
257
258         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
259         internal delegate void Edje_Signal_Cb(IntPtr data, IntPtr obj, string emission, string source);
260
261         [DllImport(Libraries.Elementary)]
262         internal static extern bool elm_layout_box_append(IntPtr obj, string part, IntPtr child);
263
264         [DllImport(Libraries.Elementary)]
265         internal static extern bool elm_layout_box_prepend(IntPtr obj, string part, IntPtr child);
266
267         [DllImport(Libraries.Elementary)]
268         internal static extern IntPtr elm_layout_box_remove(IntPtr obj, string part, IntPtr child);
269
270         [DllImport(Libraries.Elementary)]
271         internal static extern bool elm_layout_box_remove_all(IntPtr obj, string part, bool clear);
272
273         [DllImport(Libraries.Elementary)]
274         internal static extern string elm_layout_data_get(IntPtr obj, string key);
275
276         [DllImport(Libraries.Elementary)]
277         internal static extern void elm_layout_text_valign_set(IntPtr obj, string part, double valign);
278
279         [DllImport(Libraries.Elementary)]
280         internal static extern double elm_layout_text_valign_get(IntPtr obj, string part);
281
282         [DllImport(Libraries.Elementary)]
283         internal static extern IntPtr elm_notify_add(IntPtr obj);
284
285         [DllImport(Libraries.Elementary)]
286         internal static extern void elm_notify_align_set(IntPtr obj, double horizontal, double vertical);
287
288         [DllImport(Libraries.Elementary)]
289         internal static extern void elm_notify_timeout_set(IntPtr obj, double timeout);
290
291         [DllImport(Libraries.Elementary)]
292         internal static extern double elm_object_scale_get(IntPtr obj);
293
294         [DllImport(Libraries.Elementary)]
295         internal static extern void elm_object_scale_set(IntPtr obj, double scale);
296
297         [DllImport(Libraries.Elementary)]
298         internal static extern void elm_object_signal_emit(IntPtr obj, string emission, string source);
299
300         [DllImport(Libraries.Elementary)]
301         internal static extern IntPtr elm_object_signal_callback_del(IntPtr obj, string emission, string source, Edje_Signal_Cb func);
302
303         [DllImport(Libraries.Elementary)]
304         internal static extern void elm_object_signal_callback_add(IntPtr obj, string emission, string source, Edje_Signal_Cb func, IntPtr data);
305
306         [DllImport(Libraries.Elementary)]
307         internal static extern bool elm_object_style_set(IntPtr obj, string style);
308
309         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_style_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
310         internal static extern IntPtr _elm_object_style_get(IntPtr obj);
311
312         internal static string elm_object_style_get(IntPtr obj)
313         {
314             var text = _elm_object_style_get(obj);
315             return Marshal.PtrToStringAnsi(text);
316         }
317
318         [DllImport(Libraries.Elementary)]
319         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);
320
321         [DllImport(Libraries.Elementary)]
322         internal static extern void elm_object_color_class_color_set(IntPtr obj, string colorClass, int r, int g, int b, int a);
323
324         [DllImport(Libraries.Elementary)]
325         internal static extern void elm_object_part_text_set(IntPtr obj, string part, string text);
326
327         [DllImport(Libraries.Elementary)]
328         internal static extern void elm_object_part_text_set(IntPtr obj, IntPtr part, string text);
329
330         [DllImport(Libraries.Elementary)]
331         internal static extern void elm_config_focus_highlight_animate_set(bool animate);
332
333         [DllImport(Libraries.Elementary)]
334         internal static extern bool elm_config_focus_highlight_animate_get();
335
336         [DllImport(Libraries.Elementary)]
337         internal static extern void elm_config_focus_highlight_enabled_set(bool enable);
338
339         [DllImport(Libraries.Elementary)]
340         internal static extern bool elm_config_focus_highlight_enabled_get();
341
342         [DllImport(Libraries.Elementary)]
343         internal static extern void elm_object_tree_focus_allow_set(IntPtr obj, bool focusable);
344
345         [DllImport(Libraries.Elementary)]
346         internal static extern bool elm_object_tree_focus_allow_get(IntPtr obj);
347
348         [DllImport(Libraries.Elementary)]
349         internal static extern IntPtr elm_object_focus_next_object_get(IntPtr obj, Elm_Focus_Direction dir);
350
351         [DllImport(Libraries.Elementary)]
352         internal static extern IntPtr elm_object_focused_object_get(IntPtr obj);
353
354         [DllImport(Libraries.Elementary)]
355         internal static extern bool elm_object_focus_get(IntPtr obj);
356
357         [DllImport(Libraries.Elementary)]
358         internal static extern void elm_object_focus_set(IntPtr obj, bool focus);
359
360         [DllImport(Libraries.Elementary)]
361         internal static extern bool elm_object_focus_allow_get(IntPtr obj);
362
363         [DllImport(Libraries.Elementary)]
364         internal static extern void elm_object_focus_allow_set(IntPtr obj, bool enable);
365
366         [DllImport(Libraries.Elementary)]
367         internal static extern void elm_object_focus_next(IntPtr obj, int direction);
368
369         [DllImport(Libraries.Elementary)]
370         internal static extern void elm_object_focus_next_object_set(IntPtr obj, IntPtr next, int direction);
371
372         [DllImport(Libraries.Elementary)]
373         internal static extern void elm_object_focus_next_item_set(IntPtr obj, IntPtr nextItem, int direction);
374
375         [DllImport(Libraries.Elementary)]
376         internal static extern void elm_theme_extension_add(IntPtr theme, string path);
377
378         [DllImport(Libraries.Elementary)]
379         internal static extern void elm_theme_overlay_add(IntPtr theme, string path);
380
381         [DllImport(Libraries.Elementary)]
382         internal static extern string elm_language_set(string lang);
383
384         [DllImport(Libraries.Elementary)]
385         internal static extern bool elm_policy_set(uint policy, int value);
386
387         [DllImport(Libraries.Elementary)]
388         internal static extern IntPtr elm_theme_new();
389
390         [DllImport(Libraries.Elementary)]
391         internal static extern void elm_theme_free(IntPtr theme);
392
393         [DllImport(Libraries.Elementary)]
394         internal static extern void elm_theme_ref_set(IntPtr theme, IntPtr themeRef);
395
396         [DllImport(Libraries.Elementary)]
397         internal static extern void elm_theme_extension_del(IntPtr theme, string item);
398
399         [DllImport(Libraries.Elementary)]
400         internal static extern void elm_theme_overlay_del(IntPtr theme, string item);
401
402         [DllImport(Libraries.Elementary)]
403         internal static extern void elm_theme_set(IntPtr obj, string theme);
404
405         [DllImport(Libraries.Elementary)]
406         internal static extern void elm_theme_flush(IntPtr theme);
407
408         [DllImport(Libraries.Elementary)]
409         internal static extern void elm_theme_full_flush();
410
411         [DllImport(Libraries.Elementary)]
412         internal static extern void elm_object_theme_set(IntPtr obj, IntPtr theme);
413
414         [DllImport(Libraries.Elementary)]
415         internal static extern IntPtr elm_layout_edje_get(IntPtr obj);
416
417         internal static void SetObjectText(IntPtr obj, string text)
418         {
419             elm_object_part_text_set(obj, IntPtr.Zero, text);
420         }
421
422         [DllImport(Libraries.Elementary)]
423         internal static extern void elm_cache_all_flush();
424
425         [DllImport(Libraries.Elementary)]
426         internal static extern void elm_object_domain_translatable_part_text_set(IntPtr obj, string part, string domain, string text);
427
428         [DllImport(Libraries.Elementary)]
429         internal static extern void edje_object_color_class_del(IntPtr obj, string colorClass);
430
431         [DllImport(Libraries.Elementary)]
432         internal static extern bool edje_object_part_exists(IntPtr obj, string part);
433
434         [DllImport(Libraries.Elementary)]
435         internal static extern IntPtr edje_object_part_object_get(IntPtr obj, string part);
436
437         [DllImport(Libraries.Elementary)]
438         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);
439
440         [DllImport(Libraries.Elementary)]
441         internal static extern bool edje_object_part_text_set(IntPtr obj, string part, string text);
442
443         [DllImport(Libraries.Elementary, EntryPoint = "edje_object_part_text_get", CharSet = CharSet.Ansi)]
444         internal static extern IntPtr _edje_object_part_text_get(IntPtr obj, string part);
445
446         internal static string edje_object_part_text_get(IntPtr obj, string part)
447         {
448             var text = _edje_object_part_text_get(obj, part);
449             return Marshal.PtrToStringAnsi(text);
450         }
451
452         [DllImport(Libraries.Elementary, EntryPoint = "edje_object_part_text_style_user_peek", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
453         internal static extern IntPtr _edje_object_part_text_style_user_peek(IntPtr obj, string part);
454
455         internal static string edje_object_part_text_style_user_peek(IntPtr obj, string part)
456         {
457             var text = _edje_object_part_text_style_user_peek(obj, part);
458             return Marshal.PtrToStringAnsi(text);
459         }
460
461         [DllImport(Libraries.Elementary)]
462         internal static extern void edje_object_part_text_style_user_push(IntPtr obj, string part, string style);
463
464         [DllImport(Libraries.Elementary)]
465         internal static extern void edje_object_part_text_style_user_pop(IntPtr obj, string part);
466
467         [DllImport(Libraries.Elementary)]
468         internal static extern void edje_object_signal_emit(IntPtr obj, string emission, string source);
469
470         [DllImport(Libraries.Elementary)]
471         internal static extern void edje_object_mirrored_set(IntPtr obj, bool rtl);
472
473         [DllImport(Libraries.Elementary)]
474         internal static extern IntPtr edje_object_add(IntPtr evas);
475
476         [DllImport(Libraries.Elementary)]
477         internal static extern bool edje_object_file_set(IntPtr obj, string file, string group);
478
479         [DllImport(Libraries.Elementary)]
480         internal static extern bool edje_object_part_box_append(IntPtr obj, string part, IntPtr child);
481
482         [DllImport(Libraries.Elementary)]
483         internal static extern bool edje_object_part_box_prepend(IntPtr obj, string part, IntPtr child);
484
485         [DllImport(Libraries.Elementary)]
486         internal static extern string edje_object_part_state_get(IntPtr obj, string part, out double value);
487
488         [DllImport(Libraries.Elementary)]
489         internal static extern void edje_object_signal_callback_add(IntPtr obj, string emission, Edje_Signal_Cb func, string source, IntPtr data);
490
491         [DllImport(Libraries.Elementary)]
492         internal static extern IntPtr edje_object_signal_callback_del(IntPtr obj, string emission, string source, Edje_Signal_Cb func);
493
494         [DllImport(Libraries.Elementary)]
495         internal static extern void edje_object_signal_callback_del_full(IntPtr obj, string emission, string source, Edje_Signal_Cb func, IntPtr data);
496
497         [DllImport(Libraries.Elementary)]
498         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);
499
500         [DllImport(Libraries.Elementary)]
501         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,
502             out int r3, out int g3, out int b3, out int a3);
503
504         [DllImport(Libraries.Elementary)]
505         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);
506
507         [DllImport(Libraries.Elementary)]
508         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,
509             out int r3, out int g3, out int b3, out int a3);
510
511         [DllImport(Libraries.Elementary)]
512         internal static extern void edje_message_signal_process();
513
514         [DllImport(Libraries.Elementary)]
515         internal static extern void edje_object_message_handler_set(IntPtr obj, Edje_Message_Handler_Cb func, IntPtr data);
516
517         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
518         internal delegate void Edje_Message_Handler_Cb(IntPtr data, IntPtr obj, Edje_Message_Type type, int id, IntPtr msg);
519
520         [DllImport(Libraries.Elementary)]
521         internal static extern void edje_object_message_send(IntPtr obj, Edje_Message_Type type, int id, IntPtr msg);
522
523         [DllImport(Libraries.Elementary)]
524         internal static extern void edje_object_message_signal_process(IntPtr obj);
525
526         [DllImport(Libraries.Elementary)]
527         internal static extern bool edje_object_text_class_set(IntPtr obj, string textClass, string font, int size);
528
529         [DllImport(Libraries.Elementary)]
530         internal static extern bool edje_object_text_class_get(IntPtr obj, string textClass, out string font, out int size);
531
532         [DllImport(Libraries.Elementary)]
533         internal static extern bool edje_text_class_set(string textClass, string font, int size);
534
535         [DllImport(Libraries.Elementary)]
536         internal static extern bool edje_text_class_get(string textClass, out string font, out int size);
537
538         [DllImport(Libraries.Elementary)]
539         internal static extern void edje_text_class_del(string textClass);
540
541         [DllImport(Libraries.Elementary)]
542         internal static extern IntPtr elm_transit_add();
543
544         [DllImport(Libraries.Elementary)]
545         internal static extern void elm_transit_del(IntPtr transit);
546
547         [DllImport(Libraries.Elementary)]
548         internal static extern void elm_transit_object_add(IntPtr transit, IntPtr obj);
549
550         [DllImport(Libraries.Elementary)]
551         internal static extern IntPtr elm_transit_effect_translation_add(IntPtr transit, int fromDx, int fromDy, int toDx, int toDy);
552
553         [DllImport(Libraries.Elementary)]
554         internal static extern void elm_transit_objects_final_state_keep_set(IntPtr transit, bool stateKeep);
555
556         [DllImport(Libraries.Elementary)]
557         internal static extern void elm_transit_tween_mode_set(IntPtr transit, Elm_Transit_Tween_Mode tweenMode);
558
559         [DllImport(Libraries.Elementary)]
560         internal static extern void elm_transit_repeat_times_set(IntPtr transit, int repeat);
561
562         [DllImport(Libraries.Elementary)]
563         internal static extern void elm_transit_duration_set(IntPtr transit, double duration);
564
565         [DllImport(Libraries.Elementary)]
566         internal static extern void elm_transit_go(IntPtr transit);
567
568         [DllImport(Libraries.Elementary)]
569         internal static extern IntPtr elm_transit_effect_zoom_add(IntPtr transit, float fromRate, float toRate);
570
571         [DllImport(Libraries.Elementary)]
572         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);
573
574         [DllImport(Libraries.Elementary)]
575         internal static extern void elm_transit_auto_reverse_set(IntPtr transit, bool reverse);
576
577         [DllImport(Libraries.Elementary)]
578         internal static extern void elm_transit_effect_add(IntPtr transit, Elm_Transit_Effect_Transition_Cb transitionCb, IntPtr effect, Elm_Transit_Effect_End_Cb endCb);
579
580         [DllImport(Libraries.Elementary)]
581         internal static extern IntPtr elm_transit_effect_fade_add(IntPtr transit);
582
583         [DllImport(Libraries.Elementary)]
584         internal static extern IntPtr elm_transit_effect_resizing_add(IntPtr transit, int fromW, int fromH, int toW, int toH);
585
586         [DllImport(Libraries.Elementary)]
587         internal static extern void elm_transit_event_enabled_set(IntPtr transit, bool enabled);
588
589         [DllImport(Libraries.Elementary)]
590         internal static extern void elm_transit_smooth_set(IntPtr transit, bool enabled);
591
592         [DllImport(Libraries.Elementary)]
593         internal static extern void elm_transit_effect_del(IntPtr transit, Elm_Transit_Effect_Transition_Cb transitionCb, IntPtr effect);
594
595         [DllImport(Libraries.Elementary)]
596         internal static extern void elm_transit_object_remove(IntPtr transit, IntPtr obj);
597
598         [DllImport(Libraries.Elementary)]
599         internal static extern bool elm_transit_objects_final_state_keep_get(IntPtr transit);
600
601         [DllImport(Libraries.Elementary)]
602         internal static extern bool elm_transit_event_enabled_get(IntPtr transit);
603
604         [DllImport(Libraries.Elementary)]
605         internal static extern void elm_transit_del_cb_set(IntPtr transit, Elm_Transit_Del_Cb cb, IntPtr data);
606
607         [DllImport(Libraries.Elementary)]
608         internal static extern bool elm_transit_auto_reverse_get(IntPtr transit);
609
610         [DllImport(Libraries.Elementary)]
611         internal static extern int elm_transit_repeat_times_get(IntPtr transit);
612
613         [DllImport(Libraries.Elementary)]
614         internal static extern Elm_Transit_Tween_Mode elm_transit_tween_mode_get(IntPtr transit);
615
616         [DllImport(Libraries.Elementary)]
617         internal static extern void elm_transit_tween_mode_factor_set(IntPtr transit, double v1, double v2);
618
619         [DllImport(Libraries.Elementary)]
620         internal static extern void elm_transit_tween_mode_factor_get(IntPtr transit, out double v1, out double v2);
621
622         [DllImport(Libraries.Elementary)]
623         internal static extern void elm_transit_tween_mode_factor_n_set(IntPtr transit, int vSize, out double v);
624
625         [DllImport(Libraries.Elementary)]
626         internal static extern double elm_transit_duration_get(IntPtr transit);
627
628         [DllImport(Libraries.Elementary)]
629         internal static extern void elm_transit_go_in(IntPtr transit, double interval);
630
631         [DllImport(Libraries.Elementary)]
632         internal static extern void elm_transit_paused_set(IntPtr transit, bool paused);
633
634         [DllImport(Libraries.Elementary)]
635         internal static extern bool elm_transit_paused_get(IntPtr transit);
636
637         [DllImport(Libraries.Elementary)]
638         internal static extern double elm_transit_progress_value_get(IntPtr transit);
639
640         [DllImport(Libraries.Elementary)]
641         internal static extern void elm_transit_chain_transit_add(IntPtr transit, IntPtr chainTransit);
642
643         [DllImport(Libraries.Elementary)]
644         internal static extern void elm_transit_chain_transit_del(IntPtr transit, IntPtr chainTransit);
645
646         [DllImport(Libraries.Elementary)]
647         internal static extern IntPtr elm_transit_chain_transits_get(IntPtr transit);
648
649         [DllImport(Libraries.Elementary)]
650         internal static extern bool elm_transit_smooth_get(IntPtr transit);
651
652         [DllImport(Libraries.Elementary)]
653         internal static extern IntPtr elm_transit_effect_flip_add(IntPtr transit, Elm_Transit_Effect_Flip_Axis axis, bool cw);
654
655         [DllImport(Libraries.Elementary)]
656         internal static extern IntPtr elm_transit_effect_resizable_flip_add(IntPtr transit, Elm_Transit_Effect_Flip_Axis axis, bool cw);
657
658         [DllImport(Libraries.Elementary)]
659         internal static extern IntPtr elm_transit_effect_wipe_add(IntPtr transit, Elm_Transit_Effect_Wipe_Type type, Elm_Transit_Effect_Wipe_Dir dir);
660
661         [DllImport(Libraries.Elementary)]
662         internal static extern IntPtr elm_transit_effect_blend_add(IntPtr transit);
663
664         [DllImport(Libraries.Elementary)]
665         internal static extern IntPtr elm_transit_effect_rotation_add(IntPtr transit, float fromDegree, float toDegree);
666
667         [DllImport(Libraries.Elementary)]
668         internal static extern IntPtr elm_transit_effect_image_animation_add(IntPtr transit, IntPtr images);
669
670         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
671         internal delegate int Eina_Compare_Cb(IntPtr data1, IntPtr data2);
672
673         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
674         internal delegate void Elm_Transit_Effect_Transition_Cb(IntPtr effect, IntPtr transit, double progress);
675
676         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
677         internal delegate void Elm_Transit_Effect_End_Cb(IntPtr effect, IntPtr transit);
678
679         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
680         internal delegate void Elm_Transit_Del_Cb(IntPtr data, IntPtr transit);
681
682         internal enum Elm_Transit_Tween_Mode
683         {
684             ELM_TRANSIT_TWEEN_MODE_LINEAR,
685             ELM_TRANSIT_TWEEN_MODE_SINUSOIDAL,
686             ELM_TRANSIT_TWEEN_MODE_DECELERATE,
687             ELM_TRANSIT_TWEEN_MODE_ACCELERATE,
688             ELM_TRANSIT_TWEEN_MODE_DIVISOR_INTERP,
689             ELM_TRANSIT_TWEEN_MODE_BOUNCE,
690             ELM_TRANSIT_TWEEN_MODE_SPRING,
691             ELM_TRANSIT_TWEEN_MODE_BEZIER_CURVE,
692         }
693
694         internal enum Elm_Transit_Effect_Flip_Axis
695         {
696             ELM_TRANSIT_EFFECT_FLIP_AXIS_X,
697             ELM_TRANSIT_EFFECT_FLIP_AXIS_Y,
698         }
699
700         internal enum Elm_Transit_Effect_Wipe_Type
701         {
702             ELM_TRANSIT_EFFECT_WIPE_TYPE_HIDE,
703             ELM_TRANSIT_EFFECT_WIPE_TYPE_SHOW,
704         }
705
706         internal enum Elm_Transit_Effect_Wipe_Dir
707         {
708             ELM_TRANSIT_EFFECT_WIPE_DIR_LEFT,
709             ELM_TRANSIT_EFFECT_WIPE_DIR_RIGHT,
710             ELM_TRANSIT_EFFECT_WIPE_DIR_UP,
711             ELM_TRANSIT_EFFECT_WIPE_DIR_DOWN,
712         }
713
714         internal enum Elm_Focus_Direction
715         {
716             ELM_FOCUS_PREVIOUS,
717             ELM_FOCUS_NEXT,
718             ELM_FOCUS_UP,
719             ELM_FOCUS_DOWN,
720             ELM_FOCUS_RIGHT,
721             ELM_FOCUS_LEFT,
722         }
723
724         internal enum Elm_Tooltip_Orient
725         {
726             ELM_TOOLTIP_ORIENT_NONE,
727             ELM_TOOLTIP_ORIENT_TOP_LEFT,
728             ELM_TOOLTIP_ORIENT_TOP,
729             ELM_TOOLTIP_ORIENT_TOP_RIGHT,
730             ELM_TOOLTIP_ORIENT_LEFT,
731             ELM_TOOLTIP_ORIENT_CENTER,
732             ELM_TOOLTIP_ORIENT_RIGHT,
733             ELM_TOOLTIP_ORIENT_BOTTOM_LEFT,
734             ELM_TOOLTIP_ORIENT_BOTTOM,
735             ELM_TOOLTIP_ORIENT_BOTTOM_RIGHT,
736             ELM_TOOLTIP_ORIENT_LAST,
737         }
738     }
739 }