2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 using System.Runtime.InteropServices;
21 internal static partial class Interop
23 internal static partial class Elementary
25 [DllImport(Libraries.Elementary)]
26 internal static extern IntPtr elm_win_add(IntPtr parent, string name, int type);
28 [DllImport(Libraries.Elementary)]
29 internal static extern IntPtr elm_win_util_standard_add(string name, string title);
31 [DllImport(Libraries.Elementary)]
32 internal static extern void elm_win_activate(IntPtr obj);
34 [DllImport(Libraries.Elementary)]
35 internal static extern void elm_win_title_set(IntPtr obj, string title);
37 [DllImport(Libraries.Elementary, EntryPoint = "elm_win_title_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
38 internal static extern IntPtr _elm_win_title_get(IntPtr obj);
40 internal static string elm_win_title_get(IntPtr obj)
42 var text = _elm_win_title_get(obj);
43 return Marshal.PtrToStringAnsi(text);
46 [DllImport(Libraries.Elementary)]
47 internal static extern void elm_win_screen_size_get(IntPtr obj, out int x, out int y, out int w, out int h);
49 [DllImport(Libraries.Elementary)]
50 internal static extern void elm_win_resize_object_del(IntPtr obj, IntPtr subobj);
52 [DllImport(Libraries.Elementary)]
53 internal static extern void elm_win_resize_object_add(IntPtr obj, IntPtr subobj);
55 [DllImport(Libraries.Elementary)]
56 internal static extern void elm_win_raise(IntPtr obj);
58 [DllImport(Libraries.Elementary)]
59 internal static extern void elm_win_lower(IntPtr obj);
61 [DllImport(Libraries.Elementary)]
62 internal static extern bool elm_win_alpha_get(IntPtr obj);
64 [DllImport(Libraries.Elementary)]
65 internal static extern void elm_win_alpha_set(IntPtr obj, bool alpha);
67 [DllImport(Libraries.Elementary, EntryPoint = "elm_win_role_get")]
68 internal static extern IntPtr _elm_win_role_get(IntPtr obj);
70 internal static string elm_win_role_get(IntPtr obj)
72 var text = _elm_win_role_get(obj);
73 return Marshal.PtrToStringAnsi(text);
76 [DllImport(Libraries.Elementary)]
77 internal static extern void elm_win_role_set(IntPtr obj, string role);
79 [DllImport(Libraries.Elementary, EntryPoint = "elm_win_focus_highlight_style_get")]
80 internal static extern IntPtr _elm_win_focus_highlight_style_get(IntPtr obj);
82 internal static string elm_win_focus_highlight_style_get(IntPtr obj)
84 return Marshal.PtrToStringAnsi(_elm_win_focus_highlight_style_get(obj));
87 [DllImport(Libraries.Elementary)]
88 internal static extern void elm_win_focus_highlight_style_set(IntPtr obj, string style);
90 [DllImport(Libraries.Elementary)]
91 internal static extern bool elm_win_borderless_get(IntPtr obj);
93 [DllImport(Libraries.Elementary)]
94 internal static extern void elm_win_borderless_set(IntPtr obj, bool borderless);
96 [DllImport(Libraries.Elementary)]
97 internal static extern void elm_win_focus_highlight_enabled_set(IntPtr obj, bool enabled);
99 [DllImport(Libraries.Elementary)]
100 internal static extern bool elm_win_focus_highlight_enabled_get(IntPtr obj);
102 [DllImport(Libraries.Elementary)]
103 internal static extern void elm_win_autodel_set(IntPtr obj, bool autodel);
105 [DllImport(Libraries.Elementary)]
106 internal static extern bool elm_win_autodel_get(IntPtr obj);
108 [DllImport(Libraries.Elementary)]
109 internal static extern bool elm_win_override_get(IntPtr obj);
111 [DllImport(Libraries.Elementary)]
112 internal static extern void elm_win_override_set(IntPtr obj, bool isOverride);
114 [DllImport(Libraries.Elementary)]
115 internal static extern void elm_win_indicator_opacity_set(IntPtr obj, int opacity);
117 [DllImport(Libraries.Elementary)]
118 internal static extern int elm_win_indicator_opacity_get(IntPtr obj);
120 [DllImport(Libraries.Elementary)]
121 internal static extern void elm_win_indicator_mode_set(IntPtr obj, IndicatorMode mode);
123 [DllImport(Libraries.Elementary)]
124 internal static extern IndicatorMode elm_win_indicator_mode_get(IntPtr obj);
126 [DllImport(Libraries.Elementary)]
127 internal static extern bool elm_win_demand_attention_get(IntPtr obj);
129 [DllImport(Libraries.Elementary)]
130 internal static extern void elm_win_demand_attention_set(IntPtr obj, bool demandAttention);
132 [DllImport(Libraries.Elementary)]
133 internal static extern bool elm_win_conformant_get(IntPtr obj);
135 [DllImport(Libraries.Elementary)]
136 internal static extern void elm_win_conformant_set(IntPtr obj, bool conformant);
138 [DllImport(Libraries.Elementary)]
139 internal static extern bool elm_win_fullscreen_get(IntPtr obj);
141 [DllImport(Libraries.Elementary)]
142 internal static extern void elm_win_fullscreen_set(IntPtr obj, bool fullscreen);
144 [DllImport(Libraries.Elementary)]
145 internal static extern void elm_win_rotation_set(IntPtr obj, int rotation);
147 [DllImport(Libraries.Elementary)]
148 internal static extern int elm_win_rotation_get(IntPtr obj);
150 [DllImport(Libraries.Elementary)]
151 internal static extern void elm_win_rotation_with_resize_set(IntPtr obj, int rotation);
153 [DllImport(Libraries.Elementary)]
154 internal static extern void elm_win_prop_focus_skip_set(IntPtr obj, bool skip);
156 [DllImport(Libraries.Elementary)]
157 internal static extern bool elm_win_wm_rotation_supported_get(IntPtr obj);
159 [DllImport(Libraries.Elementary)]
160 internal static extern bool elm_win_focus_get(IntPtr obj);
162 [DllImport(Libraries.Elementary, EntryPoint = "elm_win_wm_rotation_available_rotations_set")]
163 internal static extern void _elm_win_wm_rotation_available_rotations_set(IntPtr obj, IntPtr rotations, uint count);
165 internal static void elm_win_wm_rotation_available_rotations_set(IntPtr obj, int[] rotations)
167 IntPtr pRotations = Marshal.AllocHGlobal(Marshal.SizeOf<int>() * rotations.Length);
168 Marshal.Copy(rotations, 0, pRotations, rotations.Length);
169 _elm_win_wm_rotation_available_rotations_set(obj, pRotations, (uint)rotations.Length);
170 Marshal.FreeHGlobal(pRotations);
173 [DllImport(Libraries.Elementary, EntryPoint = "elm_win_wm_rotation_available_rotations_get")]
174 internal static extern bool _elm_win_wm_rotation_available_rotations_get(IntPtr obj, out IntPtr rotations, out int count);
176 internal static bool elm_win_wm_rotation_available_rotations_get(IntPtr obj, out int[] rotations)
178 IntPtr rotationArrPtr;
180 if (_elm_win_wm_rotation_available_rotations_get(obj, out rotationArrPtr, out count))
182 rotations = new int[count];
183 Marshal.Copy(rotationArrPtr, rotations, 0, count);
184 Libc.Free(rotationArrPtr);
191 [DllImport(Libraries.Elementary)]
192 internal static extern int elm_win_layer_get(IntPtr obj);
194 [DllImport(Libraries.Elementary)]
195 internal static extern void elm_win_layer_set(IntPtr obj, int layer);
197 [DllImport(Libraries.Elementary)]
198 internal static extern bool elm_win_sticky_get(IntPtr obj);
200 [DllImport(Libraries.Elementary)]
201 internal static extern void elm_win_sticky_set(IntPtr obj, bool sticky);
203 [DllImport(Libraries.Elementary)]
204 internal static extern void elm_win_screen_dpi_get(IntPtr obj, out int xdpi, out int ydpi);
206 [DllImport(Libraries.Elementary)]
207 internal static extern void elm_win_iconified_set(IntPtr obj, bool iconified);
209 [DllImport(Libraries.Elementary)]
210 [return: MarshalAs(UnmanagedType.U1)]
211 internal static extern bool elm_win_iconified_get(IntPtr obj);
213 [DllImport(Libraries.Elementary)]
214 internal static extern bool elm_win_floating_mode_get(IntPtr obj);
216 [DllImport(Libraries.Elementary)]
217 internal static extern void elm_win_floating_mode_set(IntPtr obj, bool floating);
219 [DllImport(Libraries.Elementary)]
220 [return: MarshalAs(UnmanagedType.U1)]
221 internal static extern bool elm_win_keygrab_set(IntPtr obj, string key, ulong modifiers, ulong notModifiers, int proirity, KeyGrabMode grabMode);
223 [DllImport(Libraries.Elementary)]
224 [return: MarshalAs(UnmanagedType.U1)]
225 internal static extern bool elm_win_keygrab_unset(IntPtr obj, string key, ulong modifiers, ulong notModifiers);
227 [DllImport(Libraries.Eext)]
228 internal static extern bool eext_win_keygrab_set(IntPtr obj, string key);
230 [DllImport(Libraries.Eext)]
231 internal static extern bool eext_win_keygrab_unset(IntPtr obj, string key);
233 [DllImport(Libraries.Elementary)]
234 internal static extern bool elm_win_keyboard_win_get(IntPtr obj);
236 [DllImport(Libraries.Elementary)]
237 internal static extern void elm_win_keyboard_win_set(IntPtr obj, bool isKeyboard);
239 [DllImport(Libraries.Elementary)]
240 internal static extern int elm_win_keyboard_mode_get(IntPtr obj);
242 [DllImport(Libraries.Elementary)]
243 internal static extern void elm_win_keyboard_mode_set(IntPtr obj, int mode);
245 [DllImport(Libraries.Elementary)]
246 internal static extern void elm_win_inwin_activate(IntPtr obj);
248 [DllImport(Libraries.Elementary)]
249 internal static extern IntPtr elm_win_inwin_add(IntPtr obj);
251 [DllImport(Libraries.Elementary)]
252 internal static extern IntPtr elm_win_inwin_content_get(IntPtr obj);
254 [DllImport(Libraries.Elementary)]
255 internal static extern void elm_win_inwin_content_set(IntPtr obj, IntPtr content);
257 [DllImport(Libraries.Elementary)]
258 internal static extern IntPtr elm_win_inwin_content_unset(IntPtr obj);
260 [DllImport(Libraries.Elementary)]
261 internal static extern double elm_win_aspect_get(IntPtr obj);
263 [DllImport(Libraries.Elementary)]
264 internal static extern void elm_win_aspect_set(IntPtr obj, double aspect);
266 [DllImport(Libraries.Elementary)]
267 internal static extern bool elm_win_autohide_get(IntPtr obj);
269 [DllImport(Libraries.Elementary)]
270 internal static extern void elm_win_autohide_set(IntPtr obj, bool autohide);
272 [DllImport(Libraries.Elementary)]
273 internal static extern void elm_win_center(IntPtr obj, bool h, bool v);
275 [DllImport(Libraries.Elementary)]
276 internal static extern bool elm_win_focus_highlight_animate_get(IntPtr obj);
278 [DllImport(Libraries.Elementary)]
279 internal static extern void elm_win_focus_highlight_animate_set(IntPtr obj, bool animate);
281 [DllImport(Libraries.Elementary, EntryPoint = "elm_win_icon_name_get")]
282 internal static extern IntPtr _elm_win_icon_name_get(IntPtr obj);
284 internal static string elm_win_icon_name_get(IntPtr obj)
286 return Marshal.PtrToStringAnsi(_elm_win_icon_name_get(obj));
289 [DllImport(Libraries.Elementary)]
290 internal static extern void elm_win_icon_name_set(IntPtr obj, string iconName);
292 [DllImport(Libraries.Elementary)]
293 internal static extern IntPtr elm_win_icon_object_get(IntPtr obj);
295 [DllImport(Libraries.Elementary)]
296 internal static extern void elm_win_icon_object_set(IntPtr obj, IntPtr icon);
298 [DllImport(Libraries.Elementary)]
299 internal static extern IntPtr elm_win_inlined_image_object_get(IntPtr obj);
301 [DllImport(Libraries.Elementary)]
302 internal static extern bool elm_win_modal_get(IntPtr obj);
304 [DllImport(Libraries.Elementary)]
305 internal static extern void elm_win_modal_set(IntPtr obj, bool modal);
307 [DllImport(Libraries.Elementary)]
308 internal static extern bool elm_win_noblank_get(IntPtr obj);
310 [DllImport(Libraries.Elementary)]
311 internal static extern void elm_win_noblank_set(IntPtr obj, bool noblank);
313 [DllImport(Libraries.Elementary)]
314 internal static extern int elm_win_norender_get(IntPtr obj);
316 [DllImport(Libraries.Elementary)]
317 internal static extern void elm_win_norender_pop(IntPtr obj);
319 [DllImport(Libraries.Elementary)]
320 internal static extern void elm_win_norender_push(IntPtr obj);
322 [DllImport(Libraries.Elementary, EntryPoint = "elm_win_profile_get")]
323 internal static extern IntPtr _elm_win_profile_get(IntPtr obj);
325 internal static string elm_win_profile_get(IntPtr obj)
327 return Marshal.PtrToStringAnsi(_elm_win_profile_get(obj));
330 [DllImport(Libraries.Elementary)]
331 internal static extern void elm_win_profile_set(IntPtr obj, string profile);
333 [DllImport(Libraries.Elementary)]
334 internal static extern bool elm_win_quickpanel_get(IntPtr obj);
336 [DllImport(Libraries.Elementary)]
337 internal static extern int elm_win_quickpanel_priority_major_get(IntPtr obj);
339 [DllImport(Libraries.Elementary)]
340 internal static extern void elm_win_quickpanel_priority_major_set(IntPtr obj, int priority);
342 [DllImport(Libraries.Elementary)]
343 internal static extern int elm_win_quickpanel_priority_minor_get(IntPtr obj);
345 [DllImport(Libraries.Elementary)]
346 internal static extern void elm_win_quickpanel_priority_minor_set(IntPtr obj, int priority);
348 [DllImport(Libraries.Elementary)]
349 internal static extern void elm_win_quickpanel_set(IntPtr obj, bool quickpanel);
351 [DllImport(Libraries.Elementary)]
352 internal static extern int elm_win_quickpanel_zone_get(IntPtr obj);
354 [DllImport(Libraries.Elementary)]
355 internal static extern void elm_win_quickpanel_zone_set(IntPtr obj, int zone);
357 [DllImport(Libraries.Elementary)]
358 internal static extern void elm_win_render(IntPtr obj);
360 [DllImport(Libraries.Elementary)]
361 internal static extern bool elm_win_screen_constrain_get(IntPtr obj);
363 [DllImport(Libraries.Elementary)]
364 internal static extern void elm_win_screen_constrain_set(IntPtr obj, bool constrain);
366 [DllImport(Libraries.Elementary)]
367 internal static extern void elm_win_screen_position_get(IntPtr obj, out int x, out int y);
369 [DllImport(Libraries.Elementary)]
370 internal static extern bool elm_win_shaped_get(IntPtr obj);
372 [DllImport(Libraries.Elementary)]
373 internal static extern void elm_win_shaped_set(IntPtr obj, bool shaped);
375 [DllImport(Libraries.Elementary)]
376 internal static extern void elm_win_size_base_get(IntPtr obj, out int w, out int h);
378 [DllImport(Libraries.Elementary)]
379 internal static extern void elm_win_size_base_set(IntPtr obj, int w, int h);
381 [DllImport(Libraries.Elementary)]
382 internal static extern void elm_win_size_step_get(IntPtr obj, out int w, out int h);
384 [DllImport(Libraries.Elementary)]
385 internal static extern void elm_win_size_step_set(IntPtr obj, int w, int h);
387 [DllImport(Libraries.Elementary)]
388 internal static extern bool elm_win_socket_listen(IntPtr obj, string svcname, int svcnum, bool svcsys);
390 [DllImport(Libraries.Elementary)]
391 internal static extern IntPtr elm_win_trap_data_get(IntPtr obj);
393 [DllImport(Libraries.Elementary)]
394 internal static extern bool elm_win_trap_set(IntPtr obj, IntPtr trap);
396 [DllImport(Libraries.Elementary)]
397 internal static extern bool elm_win_urgent_get(IntPtr obj);
399 [DllImport(Libraries.Elementary)]
400 internal static extern void elm_win_urgent_set(IntPtr obj, bool urgent);
402 [DllImport(Libraries.Elementary)]
403 internal static extern IntPtr elm_win_util_dialog_add(IntPtr obj, string name, string title);
405 [DllImport(Libraries.Elementary)]
406 internal static extern bool elm_win_withdrawn_get(IntPtr obj);
408 [DllImport(Libraries.Elementary)]
409 internal static extern void elm_win_withdrawn_set(IntPtr obj, bool withdrawn);
411 [DllImport(Libraries.Elementary)]
412 internal static extern void elm_win_wm_rotation_manual_rotation_done(IntPtr obj);
414 [DllImport(Libraries.Elementary)]
415 internal static extern bool elm_win_wm_rotation_manual_rotation_done_get(IntPtr obj, bool withdrawn);
417 [DllImport(Libraries.Elementary)]
418 internal static extern void elm_win_wm_rotation_manual_rotation_done_set(IntPtr obj, bool set);
420 [DllImport(Libraries.Elementary)]
421 internal static extern int elm_win_wm_rotation_preferred_rotation_get(IntPtr obj, bool withdrawn);
423 [DllImport(Libraries.Elementary)]
424 internal static extern bool elm_win_available_profiles_get(IntPtr obj, out string[] profiles, out int count);
426 [DllImport(Libraries.Elementary)]
427 internal static extern void elm_win_available_profiles_set(IntPtr obj, string[] profiles, int count);
429 [DllImport(Libraries.Elementary)]
430 internal static extern IntPtr elm_win_fake_add(IntPtr obj);
432 [DllImport(Libraries.Elementary)]
433 internal static extern void elm_win_fake_canvas_set(IntPtr obj, IntPtr oee);
435 [DllImport(Libraries.Elementary)]
436 internal static extern void elm_win_illume_command_send(IntPtr obj, IntPtr param);