Add Interop
[platform/core/csapi/tizenfx.git] / src / ElmSharp / Interop / Interop.Elementary.Entry.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         /// <summary>
25         /// Types of "Enter" keys available for different keyboards layout
26         /// </summary>
27         public enum ReturnKeyType
28         {
29             Default,
30             Done,
31             Go,
32             Join,
33             Login,
34             Next,
35             Search,
36             Send,
37             Signin
38         }
39
40         public enum InputPanelLayout
41         {
42             Normal,
43             Number,
44             Email,
45             Url,
46             PhoneNumber,
47             Ip,
48             Month,
49             NumberOnly,
50             Invalid,
51             Hex,
52             Terminal,
53             Password,
54             DateTime,
55             Emoticon
56         }
57
58         [DllImport(Libraries.Elementary)]
59         internal static extern IntPtr elm_entry_add(IntPtr obj);
60
61         [DllImport(Libraries.Elementary)]
62         internal static extern bool elm_entry_editable_get(IntPtr obj);
63
64         [DllImport(Libraries.Elementary)]
65         internal static extern void elm_entry_editable_set(IntPtr obj, bool value);
66
67         [DllImport(Libraries.Elementary)]
68         internal static extern bool elm_entry_single_line_get(IntPtr obj);
69
70         [DllImport(Libraries.Elementary)]
71         internal static extern void elm_entry_single_line_set(IntPtr obj, bool value);
72
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);
75
76         internal static string elm_entry_entry_get(IntPtr obj)
77         {
78             var text = _elm_entry_entry_get(obj);
79             return Marshal.PtrToStringAnsi(text);
80         }
81
82         [DllImport(Libraries.Elementary)]
83         internal static extern void elm_entry_entry_set(IntPtr obj, string value);
84
85         [DllImport(Libraries.Elementary)]
86         internal static extern bool elm_entry_password_get(IntPtr obj);
87
88         [DllImport(Libraries.Elementary)]
89         internal static extern void elm_entry_password_set(IntPtr obj, bool value);
90
91         [DllImport(Libraries.Elementary)]
92         internal static extern bool elm_entry_is_empty(IntPtr obj);
93
94         [DllImport(Libraries.Elementary)]
95         internal static extern bool elm_entry_cursor_next(IntPtr obj);
96
97         [DllImport(Libraries.Elementary)]
98         internal static extern bool elm_entry_cursor_prev(IntPtr obj);
99
100         [DllImport(Libraries.Elementary)]
101         internal static extern bool elm_entry_cursor_up(IntPtr obj);
102
103         [DllImport(Libraries.Elementary)]
104         internal static extern bool elm_entry_cursor_down(IntPtr obj);
105
106         [DllImport(Libraries.Elementary)]
107         internal static extern void elm_entry_cursor_begin_set(IntPtr obj);
108
109         [DllImport(Libraries.Elementary)]
110         internal static extern void elm_entry_cursor_end_set(IntPtr obj);
111
112         [DllImport(Libraries.Elementary)]
113         internal static extern void elm_entry_cursor_line_begin_set(IntPtr obj);
114
115         [DllImport(Libraries.Elementary)]
116         internal static extern void elm_entry_cursor_line_end_set(IntPtr obj);
117
118         [DllImport(Libraries.Elementary)]
119         internal static extern int elm_entry_cursor_pos_get(IntPtr obj);
120
121         [DllImport(Libraries.Elementary)]
122         internal static extern void elm_entry_cursor_pos_set(IntPtr obj, int pos);
123
124         [DllImport(Libraries.Elementary)]
125         internal static extern string elm_entry_markup_to_utf8(IntPtr text);
126
127         [DllImport(Libraries.Elementary)]
128         internal static extern string elm_entry_markup_to_utf8(string text);
129
130         [DllImport(Libraries.Elementary)]
131         internal static extern void elm_entry_input_panel_show(IntPtr obj);
132
133         [DllImport(Libraries.Elementary)]
134         internal static extern void elm_entry_input_panel_enabled_set(IntPtr obj, bool enabled);
135
136         [DllImport(Libraries.Elementary)]
137         internal static extern void elm_entry_input_panel_return_key_type_set(IntPtr obj, ReturnKeyType keyType);
138
139         [DllImport(Libraries.Elementary)]
140         internal static extern void elm_entry_input_panel_layout_set(IntPtr obj, InputPanelLayout layout);
141
142         [DllImport(Libraries.Elementary)]
143         internal static extern InputPanelLayout elm_entry_input_panel_layout_get(IntPtr obj);
144
145         [DllImport(Libraries.Elementary)]
146         internal static extern void elm_entry_select_all(IntPtr obj);
147
148         [DllImport(Libraries.Elementary)]
149         internal static extern void elm_entry_select_none(IntPtr obj);
150
151         [DllImport(Libraries.Elementary)]
152         internal static extern void elm_entry_text_style_user_pop(IntPtr obj);
153
154         [DllImport(Libraries.Elementary)]
155         internal static extern void elm_entry_text_style_user_push(IntPtr obj, string style);
156
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);
159
160         internal static string elm_entry_text_style_user_peek(IntPtr obj)
161         {
162             var text = _elm_entry_entry_get(obj);
163             return Marshal.PtrToStringAnsi(text);
164         }
165
166         [DllImport(Libraries.Elementary)]
167         internal static extern bool elm_entry_scrollable_get(IntPtr obj);
168
169         [DllImport(Libraries.Elementary)]
170         internal static extern void elm_entry_scrollable_set(IntPtr obj, bool scroll);
171
172         [DllImport(Libraries.Elementary)]
173         internal static extern void elm_entry_input_panel_hide(IntPtr obj);
174
175         [DllImport(Libraries.Elementary)]
176         internal static extern void elm_entry_input_panel_imdata_set(IntPtr obj, IntPtr data, int len);
177
178         [DllImport(Libraries.Elementary)]
179         internal static extern void elm_entry_input_panel_layout_variation_set(IntPtr obj, int variation);
180
181         [DllImport(Libraries.Elementary)]
182         internal static extern void elm_entry_line_wrap_set(IntPtr obj, Elm_Wrap_Type wrap);
183
184         [DllImport(Libraries.Elementary)]
185         internal static extern void elm_entry_markup_filter_remove(IntPtr obj, Elm_Entry_Filter_Cb func, IntPtr data);
186
187         [DllImport(Libraries.Elementary)]
188         internal static extern void elm_entry_autocapital_type_set(IntPtr obj, Elm_Autocapital_Type autocapitalYype);
189
190         [DllImport(Libraries.Elementary)]
191         internal static extern IntPtr elm_entry_imf_context_get(IntPtr obj);
192
193         [DllImport(Libraries.Elementary)]
194         internal static extern void elm_entry_input_hint_set(IntPtr obj, Elm_Input_Hints hints);
195
196         [DllImport(Libraries.Elementary)]
197         internal static extern void elm_entry_input_panel_language_set(IntPtr obj, Elm_Input_Panel_Lang lang);
198
199         [DllImport(Libraries.Elementary)]
200         internal static extern void elm_entry_input_panel_return_key_disabled_set(IntPtr obj, bool disabled);
201
202         [DllImport(Libraries.Elementary)]
203         internal static extern void elm_entry_markup_filter_append(IntPtr obj, Elm_Entry_Filter_Cb func, IntPtr data);
204
205         [DllImport(Libraries.Elementary)]
206         internal static extern void elm_entry_prediction_allow_set(IntPtr obj, bool prediction);
207
208         [DllImport(Libraries.Elementary)]
209         internal static extern void elm_entry_select_allow_set(IntPtr obj, bool allow);
210
211         [DllImport(Libraries.Elementary)]
212         internal static extern string elm_entry_utf8_to_markup(string str);
213
214         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
215         internal delegate void Elm_Entry_Filter_Cb(IntPtr data, IntPtr obj, string[] text);
216
217         internal enum Elm_Wrap_Type
218         {
219             ELM_WRAP_NONE,
220             ELM_WRAP_CHAR,
221             ELM_WRAP_WORD,
222             ELM_WRAP_MIXED,
223         }
224
225         internal enum Elm_Autocapital_Type
226         {
227             ELM_AUTOCAPITAL_TYPE_NONE,
228             ELM_AUTOCAPITAL_TYPE_WORD,
229             ELM_AUTOCAPITAL_TYPE_SENTENCE,
230             ELM_AUTOCAPITAL_TYPE_ALLCHARACTER,
231         }
232
233         internal enum Elm_Input_Hints
234         {
235             ELM_INPUT_HINT_NONE,
236             ELM_INPUT_HINT_AUTO_COMPLETE,
237             ELM_INPUT_HINT_SENSITIVE_DATA,
238         }
239
240         internal enum Elm_Input_Panel_Lang
241         {
242             ELM_INPUT_PANEL_LANG_AUTOMATIC,
243             ELM_INPUT_PANEL_LANG_ALPHABET,
244         }
245     }
246 }