Introduce ElmSharp project
[platform/core/csapi/tizenfx.git] / src / ElmSharp / Interop / Interop.Elementary.cs
1 // Copyright 2016 by Samsung Electronics, Inc.,
2 //
3 // This software is the confidential and proprietary information
4 // of Samsung Electronics, Inc. ("Confidential Information"). You
5 // shall not disclose such Confidential Information and shall use
6 // it only in accordance with the terms of the license agreement
7 // you entered into with Samsung.
8
9 using System;
10 using System.Runtime.InteropServices;
11
12 internal static partial class Interop
13 {
14     internal static partial class Elementary
15     {
16         [DllImport(Libraries.Elementary)]
17         internal static extern IntPtr elm_config_accel_preference_set(string preference);
18
19         [DllImport(Libraries.Elementary)]
20         internal static extern void elm_object_tree_dump(IntPtr top);
21
22         [DllImport(Libraries.Elementary)]
23         internal static extern bool elm_object_disabled_get(IntPtr obj);
24
25         [DllImport(Libraries.Elementary)]
26         internal static extern void elm_object_disabled_set(IntPtr obj, bool disabled);
27
28         [DllImport(Libraries.Elementary)]
29         internal static extern void elm_init(int argc, string[] argv);
30
31         [DllImport(Libraries.Elementary)]
32         internal static extern bool ecore_main_loop_glib_integrate();
33
34         [DllImport(Libraries.Elementary)]
35         internal static extern void elm_run();
36
37         [DllImport(Libraries.Elementary)]
38         internal static extern void elm_exit();
39
40         [DllImport(Libraries.Elementary)]
41         internal static extern void elm_shutdown();
42
43         [DllImport(Libraries.Elementary)]
44         internal static extern void elm_app_base_scale_set(double base_scale);
45
46         [DllImport(Libraries.Elementary)]
47         internal static extern IntPtr elm_conformant_add(IntPtr obj);
48
49         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_part_text_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
50         internal static extern IntPtr _elm_object_part_text_get(IntPtr obj, IntPtr part);
51
52         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_part_text_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
53         internal static extern IntPtr _elm_object_part_text_get(IntPtr obj, string part);
54
55         internal static string elm_object_part_text_get(IntPtr obj, string part)
56         {
57             var text = _elm_object_part_text_get(obj, part);
58             return Marshal.PtrToStringAnsi(text);
59         }
60
61         internal static string elm_object_part_text_get(IntPtr obj)
62         {
63             var text = _elm_object_part_text_get(obj, IntPtr.Zero);
64             return Marshal.PtrToStringAnsi(text);
65         }
66
67         [DllImport(Libraries.Elementary)]
68         internal static extern void elm_object_item_part_content_set(IntPtr obj, string part, IntPtr content);
69
70         [DllImport(Libraries.Elementary)]
71         internal static extern IntPtr elm_object_item_part_content_unset(IntPtr obj, string part);
72
73         [DllImport(Libraries.Elementary)]
74         internal static extern void elm_object_item_part_content_set(IntPtr obj, IntPtr part, IntPtr content);
75
76         [DllImport(Libraries.Elementary)]
77         internal static extern void elm_object_part_content_set(IntPtr obj, string part, IntPtr content);
78
79         [DllImport(Libraries.Elementary)]
80         internal static extern void elm_object_part_content_set(IntPtr obj, IntPtr part, IntPtr content);
81
82         internal static void elm_object_content_set(IntPtr obj, IntPtr content)
83         {
84             elm_object_part_content_set(obj, IntPtr.Zero, content);
85         }
86
87         [DllImport(Libraries.Elementary)]
88         internal static extern void elm_object_part_content_unset(IntPtr obj, string part);
89
90         internal static void elm_object_content_unset(IntPtr obj)
91         {
92             elm_object_part_content_unset(obj, null);
93         }
94
95         [DllImport(Libraries.Elementary)]
96         internal static extern IntPtr elm_layout_add(IntPtr obj);
97
98         [DllImport(Libraries.Elementary)]
99         internal static extern IntPtr elm_layout_content_set(IntPtr obj, string swallow, IntPtr content);
100
101         [DllImport(Libraries.Elementary)]
102         internal static extern IntPtr elm_layout_content_unset(IntPtr obj, string swallow);
103
104         [DllImport(Libraries.Elementary)]
105         internal static extern bool elm_layout_text_set(IntPtr obj, string part, string text);
106
107         [DllImport(Libraries.Elementary, EntryPoint = "elm_layout_text_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
108         internal static extern IntPtr _elm_layout_text_get(IntPtr obj, string part);
109
110         internal static string elm_layout_text_get(IntPtr obj, string part)
111         {
112             var text = _elm_layout_text_get(obj, part);
113             return Marshal.PtrToStringAnsi(text);
114         }
115
116         [DllImport(Libraries.Elementary)]
117         internal static extern bool elm_layout_theme_set(IntPtr obj, string klass, string group, string style);
118
119         [DllImport(Libraries.Elementary)]
120         internal static extern bool elm_layout_file_set(IntPtr obj, string file, string group);
121
122         [DllImport(Libraries.Elementary)]
123         internal static extern bool elm_object_style_set(IntPtr obj, string style);
124
125         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_style_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
126         internal static extern IntPtr _elm_object_style_get(IntPtr obj);
127
128         internal static string elm_object_style_get(IntPtr obj)
129         {
130             var text = _elm_object_style_get(obj);
131             return Marshal.PtrToStringAnsi(text);
132         }
133
134         [DllImport(Libraries.Elementary)]
135         internal static extern void elm_object_part_color_set(IntPtr obj, string part, int r, int g, int b, int a);
136
137         [DllImport(Libraries.Elementary)]
138         internal static extern void elm_object_part_text_set(IntPtr obj, string part, string text);
139
140         [DllImport(Libraries.Elementary)]
141         internal static extern void elm_object_part_text_set(IntPtr obj, IntPtr part, string text);
142
143         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_item_part_text_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
144         internal static extern IntPtr _elm_object_item_part_text_get(IntPtr obj, string part);
145
146         internal static string elm_object_item_part_text_get(IntPtr obj, string part)
147         {
148             var text = _elm_object_item_part_text_get(obj, part);
149             return Marshal.PtrToStringAnsi(text);
150         }
151
152         [DllImport(Libraries.Elementary)]
153         internal static extern void elm_object_item_part_text_set(IntPtr obj, string part, string label);
154
155         [DllImport(Libraries.Elementary)]
156         internal static extern void elm_object_item_part_text_set(IntPtr obj, IntPtr part, string label);
157
158         [DllImport(Libraries.Elementary)]
159         internal static extern IntPtr elm_object_item_data_get(IntPtr it);
160
161         [DllImport(Libraries.Elementary)]
162         internal static extern void elm_object_item_data_set(IntPtr it, IntPtr data);
163
164         [DllImport(Libraries.Elementary)]
165         internal static extern void elm_object_item_del(IntPtr obj);
166
167         [DllImport(Libraries.Elementary)]
168         internal static extern void elm_object_item_del_cb_set(IntPtr obj, Interop.Evas.SmartCallback callback);
169
170         [DllImport(Libraries.Elementary)]
171         internal static extern bool elm_object_focus_get(IntPtr obj);
172
173         [DllImport(Libraries.Elementary)]
174         internal static extern void elm_object_focus_set(IntPtr obj, bool focus);
175
176         [DllImport(Libraries.Elementary)]
177         internal static extern void elm_theme_extension_add(IntPtr obj, string path);
178
179         [DllImport(Libraries.Elementary)]
180         internal static extern IntPtr elm_theme_new();
181
182         [DllImport(Libraries.Elementary)]
183         internal static extern void elm_object_theme_set(IntPtr obj, IntPtr theme);
184
185         [DllImport(Libraries.Elementary)]
186         internal static extern IntPtr elm_layout_edje_get(IntPtr obj);
187
188         [DllImport(Libraries.Elementary)]
189         internal static extern bool edje_object_part_exists(IntPtr obj, string part);
190
191         [DllImport(Libraries.Elementary)]
192         internal static extern IntPtr edje_object_part_object_get(IntPtr obj, string part);
193
194         [DllImport(Libraries.Elementary)]
195         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);
196
197         [DllImport(Libraries.Elementary)]
198         internal static extern bool edje_object_part_text_set(IntPtr obj, string part, string text);
199
200         [DllImport(Libraries.Elementary, EntryPoint = "edje_object_part_text_get", CharSet = CharSet.Ansi)]
201         internal static extern IntPtr _edje_object_part_text_get(IntPtr obj, string part);
202
203         internal static string edje_object_part_text_get(IntPtr obj, string part)
204         {
205             var text = _edje_object_part_text_get(obj, part);
206             return Marshal.PtrToStringAnsi(text);
207         }
208
209
210         [DllImport(Libraries.Elementary, EntryPoint = "edje_object_part_text_style_user_peek", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
211         internal static extern IntPtr _edje_object_part_text_style_user_peek(IntPtr obj, string part);
212
213         internal static string edje_object_part_text_style_user_peek(IntPtr obj, string part)
214         {
215             var text = _edje_object_part_text_style_user_peek(obj, part);
216             return Marshal.PtrToStringAnsi(text);
217         }
218
219         [DllImport(Libraries.Elementary)]
220         internal static extern void edje_object_part_text_style_user_push(IntPtr obj, string part, string style);
221
222         [DllImport(Libraries.Elementary)]
223         internal static extern void edje_object_part_text_style_user_pop(IntPtr obj, string part);
224
225         [DllImport(Libraries.Elementary)]
226         internal static extern void edje_object_signal_emit(IntPtr obj, string emission, string source);
227
228         internal static void SetObjectText(IntPtr obj, string text)
229         {
230             elm_object_part_text_set(obj, IntPtr.Zero, text);
231         }
232
233         internal static IntPtr GetPtrToObject(object data)
234         {
235             IntPtr dataPtr = IntPtr.Zero;
236             if (data != null)
237                 Marshal.StructureToPtr(data, dataPtr, true);
238             return dataPtr;
239         }
240     }
241 }