/* * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ using System; using System.Runtime.InteropServices; internal static partial class Interop { internal static partial class Elementary { /// /// Types of "Enter" keys available for different keyboards layout /// public enum ReturnKeyType { Default, Done, Go, Join, Login, Next, Search, Send, Signin } public enum InputPanelLayout { Normal, Number, Email, Url, PhoneNumber, Ip, Month, NumberOnly, Invalid, Hex, Terminal, Password, DateTime, Emoticon } [DllImport(Libraries.Elementary)] internal static extern IntPtr elm_entry_add(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern bool elm_entry_editable_get(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_editable_set(IntPtr obj, bool value); [DllImport(Libraries.Elementary)] internal static extern bool elm_entry_single_line_get(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_single_line_set(IntPtr obj, bool value); [DllImport(Libraries.Elementary, EntryPoint = "elm_entry_entry_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)] internal static extern IntPtr _elm_entry_entry_get(IntPtr obj); internal static string elm_entry_entry_get(IntPtr obj) { var text = _elm_entry_entry_get(obj); return Marshal.PtrToStringAnsi(text); } [DllImport(Libraries.Elementary)] internal static extern void elm_entry_entry_set(IntPtr obj, string value); [DllImport(Libraries.Elementary)] internal static extern bool elm_entry_password_get(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_password_set(IntPtr obj, bool value); [DllImport(Libraries.Elementary)] internal static extern bool elm_entry_is_empty(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern bool elm_entry_cursor_next(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern bool elm_entry_cursor_prev(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern bool elm_entry_cursor_up(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern bool elm_entry_cursor_down(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_cursor_begin_set(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_cursor_end_set(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_cursor_line_begin_set(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_cursor_line_end_set(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern int elm_entry_cursor_pos_get(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_cursor_pos_set(IntPtr obj, int pos); [DllImport(Libraries.Elementary)] internal static extern string elm_entry_markup_to_utf8(IntPtr text); [DllImport(Libraries.Elementary)] internal static extern string elm_entry_markup_to_utf8(string text); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_input_panel_show(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_input_panel_enabled_set(IntPtr obj, bool enabled); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_input_panel_return_key_type_set(IntPtr obj, ReturnKeyType keyType); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_input_panel_layout_set(IntPtr obj, InputPanelLayout layout); [DllImport(Libraries.Elementary)] internal static extern InputPanelLayout elm_entry_input_panel_layout_get(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_select_all(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_select_none(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_text_style_user_pop(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_text_style_user_push(IntPtr obj, string style); [DllImport(Libraries.Elementary, EntryPoint = "elm_entry_text_style_user_peek", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)] internal static extern IntPtr _elm_entry_text_style_user_peek(IntPtr obj); internal static string elm_entry_text_style_user_peek(IntPtr obj) { var text = _elm_entry_entry_get(obj); return Marshal.PtrToStringAnsi(text); } [DllImport(Libraries.Elementary)] internal static extern bool elm_entry_scrollable_get(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_scrollable_set(IntPtr obj, bool scroll); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_input_panel_hide(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_input_panel_imdata_set(IntPtr obj, IntPtr data, int len); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_input_panel_layout_variation_set(IntPtr obj, int variation); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_line_wrap_set(IntPtr obj, Elm_Wrap_Type wrap); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_markup_filter_remove(IntPtr obj, Elm_Entry_Filter_Cb func, IntPtr data); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_autocapital_type_set(IntPtr obj, Elm_Autocapital_Type autocapitalYype); [DllImport(Libraries.Elementary)] internal static extern IntPtr elm_entry_imf_context_get(IntPtr obj); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_input_hint_set(IntPtr obj, Elm_Input_Hints hints); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_input_panel_language_set(IntPtr obj, Elm_Input_Panel_Lang lang); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_input_panel_return_key_disabled_set(IntPtr obj, bool disabled); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_markup_filter_append(IntPtr obj, Elm_Entry_Filter_Cb func, IntPtr data); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_prediction_allow_set(IntPtr obj, bool prediction); [DllImport(Libraries.Elementary)] internal static extern void elm_entry_select_allow_set(IntPtr obj, bool allow); [DllImport(Libraries.Elementary)] internal static extern string elm_entry_utf8_to_markup(string str); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] internal delegate void Elm_Entry_Filter_Cb(IntPtr data, IntPtr obj, string[] text); internal enum Elm_Wrap_Type { ELM_WRAP_NONE, ELM_WRAP_CHAR, ELM_WRAP_WORD, ELM_WRAP_MIXED, } internal enum Elm_Autocapital_Type { ELM_AUTOCAPITAL_TYPE_NONE, ELM_AUTOCAPITAL_TYPE_WORD, ELM_AUTOCAPITAL_TYPE_SENTENCE, ELM_AUTOCAPITAL_TYPE_ALLCHARACTER, } internal enum Elm_Input_Hints { ELM_INPUT_HINT_NONE, ELM_INPUT_HINT_AUTO_COMPLETE, ELM_INPUT_HINT_SENSITIVE_DATA, } internal enum Elm_Input_Panel_Lang { ELM_INPUT_PANEL_LANG_AUTOMATIC, ELM_INPUT_PANEL_LANG_ALPHABET, } } }