[Inputmethod] Add new APIs to update input panel event (#582)
[platform/core/csapi/tizenfx.git] / src / Tizen.Uix.InputMethod / Interop / Interop.InputMethod.cs
index cf90bac..9b373f3 100755 (executable)
@@ -44,6 +44,19 @@ internal static partial class Interop
             OutOfMemory = Tizen.Internals.Errors.ErrorCode.OutOfMemory
         };
 
+        internal enum ImeEventType
+        {
+            Language = 1,    /* The language of the input panel */
+            ShiftMode = 2,   /* The shift key state of the input panel */
+            Geometry = 3     /* The size of the input panel */
+        };
+
+        internal enum ImeShiftMode
+        {
+            Off,
+            On
+        };
+
         [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
         internal struct ImeCallbackStruct
         {
@@ -188,6 +201,9 @@ internal static partial class Interop
         [DllImport(Libraries.InputMethod, EntryPoint = "ime_get_main_window")]
         internal static extern IntPtr ImeGetMainWindow();
 
+        [DllImport(Libraries.InputMethod, EntryPoint = "ime_request_hide")]
+        internal static extern ErrorCode ImeRequestHide();
+
         [DllImport(Libraries.InputMethod, EntryPoint = "ime_prepare")]
         internal static extern ErrorCode ImePrepare();
 
@@ -245,6 +261,17 @@ internal static partial class Interop
         [DllImport(Libraries.InputMethod, EntryPoint = "ime_device_info_get_subclass")]
         internal static extern ErrorCode ImeDeviceInfoGetSubclass(IntPtr dev_info, out DeviceSubclass devSubClass);
 
+        [DllImport(Libraries.InputMethod, EntryPoint = "ime_set_floating_mode")]
+        internal static extern ErrorCode ImeSetFloatingMode(bool floating_mode);
+
+        [DllImport(Libraries.InputMethod, EntryPoint = "ime_set_floating_drag_start")]
+        internal static extern ErrorCode ImeSetFloatingDragStart();
+
+        [DllImport(Libraries.InputMethod, EntryPoint = "ime_set_floating_drag_end")]
+        internal static extern ErrorCode ImeSetFloatingDragEnd();
+
+        [DllImport(Libraries.InputMethod, EntryPoint = "ime_update_input_panel_event")]
+        internal static extern ErrorCode ImeUpdateInputPanelEvent(ImeEventType type, uint value);
 
         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
         internal delegate void ImeCreateCb(IntPtr userData);