682117353cc5efbfac185a8a00f16d50bd2c01da
[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 IntPtr elm_object_part_content_get(IntPtr obj, string part);
78
79         [DllImport(Libraries.Elementary)]
80         internal static extern void elm_object_part_content_set(IntPtr obj, string part, IntPtr content);
81
82         [DllImport(Libraries.Elementary)]
83         internal static extern void elm_object_part_content_set(IntPtr obj, IntPtr part, IntPtr content);
84
85         internal static void elm_object_content_set(IntPtr obj, IntPtr content)
86         {
87             elm_object_part_content_set(obj, IntPtr.Zero, content);
88         }
89
90         [DllImport(Libraries.Elementary)]
91         internal static extern void elm_object_part_content_unset(IntPtr obj, string part);
92
93         internal static void elm_object_content_unset(IntPtr obj)
94         {
95             elm_object_part_content_unset(obj, null);
96         }
97
98         [DllImport(Libraries.Elementary)]
99         internal static extern IntPtr elm_layout_add(IntPtr obj);
100
101         [DllImport(Libraries.Elementary)]
102         internal static extern IntPtr elm_layout_content_get(IntPtr obj, string swallow);
103
104         [DllImport(Libraries.Elementary)]
105         internal static extern bool elm_layout_content_set(IntPtr obj, string swallow, IntPtr content);
106
107         [DllImport(Libraries.Elementary)]
108         internal static extern IntPtr elm_layout_content_unset(IntPtr obj, string swallow);
109
110         [DllImport(Libraries.Elementary)]
111         internal static extern bool elm_layout_text_set(IntPtr obj, string part, string text);
112
113         [DllImport(Libraries.Elementary, EntryPoint = "elm_layout_text_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
114         internal static extern IntPtr _elm_layout_text_get(IntPtr obj, string part);
115
116         internal static string elm_layout_text_get(IntPtr obj, string part)
117         {
118             var text = _elm_layout_text_get(obj, part);
119             return Marshal.PtrToStringAnsi(text);
120         }
121
122         [DllImport(Libraries.Elementary)]
123         internal static extern bool elm_layout_theme_set(IntPtr obj, string klass, string group, string style);
124
125         [DllImport(Libraries.Elementary)]
126         internal static extern bool elm_layout_file_set(IntPtr obj, string file, string group);
127
128         [DllImport(Libraries.Elementary)]
129         internal static extern bool elm_object_style_set(IntPtr obj, string style);
130
131         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_style_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
132         internal static extern IntPtr _elm_object_style_get(IntPtr obj);
133
134         internal static string elm_object_style_get(IntPtr obj)
135         {
136             var text = _elm_object_style_get(obj);
137             return Marshal.PtrToStringAnsi(text);
138         }
139
140         [DllImport(Libraries.Elementary)]
141         internal static extern void elm_object_part_color_set(IntPtr obj, string part, int r, int g, int b, int a);
142
143         [DllImport(Libraries.Elementary)]
144         internal static extern void elm_object_part_text_set(IntPtr obj, string part, string text);
145
146         [DllImport(Libraries.Elementary)]
147         internal static extern void elm_object_part_text_set(IntPtr obj, IntPtr part, string text);
148
149         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_item_part_text_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
150         internal static extern IntPtr _elm_object_item_part_text_get(IntPtr obj, string part);
151
152         internal static string elm_object_item_part_text_get(IntPtr obj, string part)
153         {
154             var text = _elm_object_item_part_text_get(obj, part);
155             return Marshal.PtrToStringAnsi(text);
156         }
157
158         [DllImport(Libraries.Elementary)]
159         internal static extern void elm_object_item_part_text_set(IntPtr obj, string part, string label);
160
161         [DllImport(Libraries.Elementary)]
162         internal static extern void elm_object_item_part_text_set(IntPtr obj, IntPtr part, string label);
163
164         [DllImport(Libraries.Elementary)]
165         internal static extern IntPtr elm_object_item_data_get(IntPtr it);
166
167         [DllImport(Libraries.Elementary)]
168         internal static extern void elm_object_item_data_set(IntPtr it, IntPtr data);
169
170         [DllImport(Libraries.Elementary)]
171         internal static extern void elm_object_item_del(IntPtr obj);
172
173         [DllImport(Libraries.Elementary)]
174         internal static extern void elm_object_item_del_cb_set(IntPtr obj, Interop.Evas.SmartCallback callback);
175
176         [DllImport(Libraries.Elementary)]
177         internal static extern bool elm_object_focus_get(IntPtr obj);
178
179         [DllImport(Libraries.Elementary)]
180         internal static extern void elm_object_focus_set(IntPtr obj, bool focus);
181
182         [DllImport(Libraries.Elementary)]
183         internal static extern void elm_theme_extension_add(IntPtr obj, string path);
184
185         [DllImport(Libraries.Elementary)]
186         internal static extern IntPtr elm_theme_new();
187
188         [DllImport(Libraries.Elementary)]
189         internal static extern void elm_object_theme_set(IntPtr obj, IntPtr theme);
190
191         [DllImport(Libraries.Elementary)]
192         internal static extern IntPtr elm_layout_edje_get(IntPtr obj);
193
194         [DllImport(Libraries.Elementary)]
195         internal static extern bool edje_object_part_exists(IntPtr obj, string part);
196
197         [DllImport(Libraries.Elementary)]
198         internal static extern IntPtr edje_object_part_object_get(IntPtr obj, string part);
199
200         [DllImport(Libraries.Elementary)]
201         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);
202
203         [DllImport(Libraries.Elementary)]
204         internal static extern bool edje_object_part_text_set(IntPtr obj, string part, string text);
205
206         [DllImport(Libraries.Elementary, EntryPoint = "edje_object_part_text_get", CharSet = CharSet.Ansi)]
207         internal static extern IntPtr _edje_object_part_text_get(IntPtr obj, string part);
208
209         internal static string edje_object_part_text_get(IntPtr obj, string part)
210         {
211             var text = _edje_object_part_text_get(obj, part);
212             return Marshal.PtrToStringAnsi(text);
213         }
214
215
216         [DllImport(Libraries.Elementary, EntryPoint = "edje_object_part_text_style_user_peek", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
217         internal static extern IntPtr _edje_object_part_text_style_user_peek(IntPtr obj, string part);
218
219         internal static string edje_object_part_text_style_user_peek(IntPtr obj, string part)
220         {
221             var text = _edje_object_part_text_style_user_peek(obj, part);
222             return Marshal.PtrToStringAnsi(text);
223         }
224
225         [DllImport(Libraries.Elementary)]
226         internal static extern void edje_object_part_text_style_user_push(IntPtr obj, string part, string style);
227
228         [DllImport(Libraries.Elementary)]
229         internal static extern void edje_object_part_text_style_user_pop(IntPtr obj, string part);
230
231         [DllImport(Libraries.Elementary)]
232         internal static extern void edje_object_signal_emit(IntPtr obj, string emission, string source);
233
234         internal static void SetObjectText(IntPtr obj, string text)
235         {
236             elm_object_part_text_set(obj, IntPtr.Zero, text);
237         }
238
239         internal static IntPtr GetPtrToObject(object data)
240         {
241             IntPtr dataPtr = IntPtr.Zero;
242             if (data != null)
243                 Marshal.StructureToPtr(data, dataPtr, true);
244             return dataPtr;
245         }
246     }
247 }