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.
18 using System.Runtime.InteropServices;
20 internal static partial class Interop
22 internal static partial class Elementary
25 /// Types of "Enter" keys available for different keyboards layout
27 public enum ReturnKeyType
40 public enum InputPanelLayout
58 [DllImport(Libraries.Elementary)]
59 internal static extern IntPtr elm_entry_add(IntPtr obj);
61 [DllImport(Libraries.Elementary)]
62 internal static extern bool elm_entry_editable_get(IntPtr obj);
64 [DllImport(Libraries.Elementary)]
65 internal static extern void elm_entry_editable_set(IntPtr obj, bool value);
67 [DllImport(Libraries.Elementary)]
68 internal static extern bool elm_entry_single_line_get(IntPtr obj);
70 [DllImport(Libraries.Elementary)]
71 internal static extern void elm_entry_single_line_set(IntPtr obj, bool value);
73 [DllImport(Libraries.Elementary, EntryPoint = "elm_entry_entry_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
74 internal static extern IntPtr _elm_entry_entry_get(IntPtr obj);
76 internal static string elm_entry_entry_get(IntPtr obj)
78 var text = _elm_entry_entry_get(obj);
79 return Marshal.PtrToStringAnsi(text);
82 [DllImport(Libraries.Elementary)]
83 internal static extern void elm_entry_entry_set(IntPtr obj, string value);
85 [DllImport(Libraries.Elementary)]
86 internal static extern bool elm_entry_password_get(IntPtr obj);
88 [DllImport(Libraries.Elementary)]
89 internal static extern void elm_entry_password_set(IntPtr obj, bool value);
91 [DllImport(Libraries.Elementary)]
92 internal static extern bool elm_entry_is_empty(IntPtr obj);
94 [DllImport(Libraries.Elementary)]
95 internal static extern bool elm_entry_cursor_next(IntPtr obj);
97 [DllImport(Libraries.Elementary)]
98 internal static extern bool elm_entry_cursor_prev(IntPtr obj);
100 [DllImport(Libraries.Elementary)]
101 internal static extern bool elm_entry_cursor_up(IntPtr obj);
103 [DllImport(Libraries.Elementary)]
104 internal static extern bool elm_entry_cursor_down(IntPtr obj);
106 [DllImport(Libraries.Elementary)]
107 internal static extern void elm_entry_cursor_begin_set(IntPtr obj);
109 [DllImport(Libraries.Elementary)]
110 internal static extern void elm_entry_cursor_end_set(IntPtr obj);
112 [DllImport(Libraries.Elementary)]
113 internal static extern void elm_entry_cursor_line_begin_set(IntPtr obj);
115 [DllImport(Libraries.Elementary)]
116 internal static extern void elm_entry_cursor_line_end_set(IntPtr obj);
118 [DllImport(Libraries.Elementary)]
119 internal static extern int elm_entry_cursor_pos_get(IntPtr obj);
121 [DllImport(Libraries.Elementary)]
122 internal static extern void elm_entry_cursor_pos_set(IntPtr obj, int pos);
124 [DllImport(Libraries.Elementary)]
125 internal static extern string elm_entry_markup_to_utf8(IntPtr text);
127 [DllImport(Libraries.Elementary)]
128 internal static extern string elm_entry_markup_to_utf8(string text);
130 [DllImport(Libraries.Elementary)]
131 internal static extern void elm_entry_input_panel_show(IntPtr obj);
133 [DllImport(Libraries.Elementary)]
134 internal static extern void elm_entry_input_panel_enabled_set(IntPtr obj, bool enabled);
136 [DllImport(Libraries.Elementary)]
137 internal static extern void elm_entry_input_panel_return_key_type_set(IntPtr obj, ReturnKeyType keyType);
139 [DllImport(Libraries.Elementary)]
140 internal static extern void elm_entry_input_panel_layout_set(IntPtr obj, InputPanelLayout layout);
142 [DllImport(Libraries.Elementary)]
143 internal static extern InputPanelLayout elm_entry_input_panel_layout_get(IntPtr obj);
145 [DllImport(Libraries.Elementary)]
146 internal static extern void elm_entry_select_all(IntPtr obj);
148 [DllImport(Libraries.Elementary)]
149 internal static extern void elm_entry_select_none(IntPtr obj);
151 [DllImport(Libraries.Elementary)]
152 internal static extern void elm_entry_text_style_user_pop(IntPtr obj);
154 [DllImport(Libraries.Elementary)]
155 internal static extern void elm_entry_text_style_user_push(IntPtr obj, string style);
157 [DllImport(Libraries.Elementary, EntryPoint = "elm_entry_text_style_user_peek", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
158 internal static extern IntPtr _elm_entry_text_style_user_peek(IntPtr obj);
160 internal static string elm_entry_text_style_user_peek(IntPtr obj)
162 var text = _elm_entry_entry_get(obj);
163 return Marshal.PtrToStringAnsi(text);
166 [DllImport(Libraries.Elementary)]
167 internal static extern bool elm_entry_scrollable_get(IntPtr obj);
169 [DllImport(Libraries.Elementary)]
170 internal static extern void elm_entry_scrollable_set(IntPtr obj, bool scroll);
172 [DllImport(Libraries.Elementary)]
173 internal static extern void elm_entry_input_panel_hide(IntPtr obj);
175 [DllImport(Libraries.Elementary)]
176 internal static extern void elm_entry_input_panel_imdata_set(IntPtr obj, IntPtr data, int len);
178 [DllImport(Libraries.Elementary)]
179 internal static extern void elm_entry_input_panel_layout_variation_set(IntPtr obj, int variation);
181 [DllImport(Libraries.Elementary)]
182 internal static extern void elm_entry_line_wrap_set(IntPtr obj, Elm_Wrap_Type wrap);
184 [DllImport(Libraries.Elementary)]
185 internal static extern void elm_entry_markup_filter_remove(IntPtr obj, Elm_Entry_Filter_Cb func, IntPtr data);
187 [DllImport(Libraries.Elementary)]
188 internal static extern void elm_entry_autocapital_type_set(IntPtr obj, Elm_Autocapital_Type autocapitalYype);
190 [DllImport(Libraries.Elementary)]
191 internal static extern IntPtr elm_entry_imf_context_get(IntPtr obj);
193 [DllImport(Libraries.Elementary)]
194 internal static extern void elm_entry_input_hint_set(IntPtr obj, Elm_Input_Hints hints);
196 [DllImport(Libraries.Elementary)]
197 internal static extern void elm_entry_input_panel_language_set(IntPtr obj, Elm_Input_Panel_Lang lang);
199 [DllImport(Libraries.Elementary)]
200 internal static extern void elm_entry_input_panel_return_key_disabled_set(IntPtr obj, bool disabled);
202 [DllImport(Libraries.Elementary)]
203 internal static extern void elm_entry_markup_filter_append(IntPtr obj, Elm_Entry_Filter_Cb func, IntPtr data);
205 [DllImport(Libraries.Elementary)]
206 internal static extern void elm_entry_prediction_allow_set(IntPtr obj, bool prediction);
208 [DllImport(Libraries.Elementary)]
209 internal static extern void elm_entry_select_allow_set(IntPtr obj, bool allow);
211 [DllImport(Libraries.Elementary)]
212 internal static extern string elm_entry_utf8_to_markup(string str);
214 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
215 internal delegate void Elm_Entry_Filter_Cb(IntPtr data, IntPtr obj, string[] text);
217 internal enum Elm_Wrap_Type
225 internal enum Elm_Autocapital_Type
227 ELM_AUTOCAPITAL_TYPE_NONE,
228 ELM_AUTOCAPITAL_TYPE_WORD,
229 ELM_AUTOCAPITAL_TYPE_SENTENCE,
230 ELM_AUTOCAPITAL_TYPE_ALLCHARACTER,
233 internal enum Elm_Input_Hints
236 ELM_INPUT_HINT_AUTO_COMPLETE,
237 ELM_INPUT_HINT_SENSITIVE_DATA,
240 internal enum Elm_Input_Panel_Lang
242 ELM_INPUT_PANEL_LANG_AUTOMATIC,
243 ELM_INPUT_PANEL_LANG_ALPHABET,