Add Interop
[platform/core/csapi/tizenfx.git] / src / ElmSharp / Interop / Interop.Elementary.cs
index 6821173..1071b13 100644 (file)
@@ -1,10 +1,18 @@
-// Copyright 2016 by Samsung Electronics, Inc.,
-//
-// This software is the confidential and proprietary information
-// of Samsung Electronics, Inc. ("Confidential Information"). You
-// shall not disclose such Confidential Information and shall use
-// it only in accordance with the terms of the license agreement
-// you entered into with Samsung.
+/*
+ * 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;
@@ -13,10 +21,111 @@ internal static partial class Interop
 {
     internal static partial class Elementary
     {
+        internal enum Edje_Message_Type
+        {
+            EDJE_MESSAGE_NONE = 0,
+
+            // A message with a string as value. Use #Edje_Message_String structs as message body, for this type.
+            EDJE_MESSAGE_STRING = 2,
+
+            // A message with an integer number as value. Use #Edje_Message_Int structs as message body, for this type.
+            EDJE_MESSAGE_INT = 3,
+
+            // A message with a floating pointer number as value. Use #Edje_Message_Float structs as message body, for this type.
+            EDJE_MESSAGE_FLOAT = 4,
+
+            // A message with a list of strings as value. Use #Edje_Message_String_Set structs as message body, for this type.
+            EDJE_MESSAGE_STRING_SET = 5,
+
+            // A message with a list of integer numbers as value. Use #Edje_Message_Int_Set structs as message body, for this type.
+            EDJE_MESSAGE_INT_SET = 6,
+
+            // A message with a list of floating point numbers as value. Use #Edje_Message_Float_Set structs as message body, for this type.
+            EDJE_MESSAGE_FLOAT_SET = 7,
+
+            // A message with a struct containing a string and an integer number as value. Use #Edje_Message_String_Int structs as message body, for this type.
+            EDJE_MESSAGE_STRING_INT = 8,
+
+            // A message with a struct containing a string and a floating point number as value. Use #Edje_Message_String_Float structs as message body, for this type.
+            EDJE_MESSAGE_STRING_FLOAT = 9,
+
+            // A message with a struct containing a string and list of integer numbers as value. Use #Edje_Message_String_Int_Set structs as message body, for this type.
+            EDJE_MESSAGE_STRING_INT_SET = 10,
+
+            // A message with a struct containing a string and list of floating point numbers as value. Use #Edje_Message_String_Float_Set structs as message body, for this type.
+            EDJE_MESSAGE_STRING_FLOAT_SET = 11
+        }
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_config_scroll_bring_in_scroll_friction_set(double time);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern double elm_config_scroll_bring_in_scroll_friction_get();
+
         [DllImport(Libraries.Elementary)]
         internal static extern IntPtr elm_config_accel_preference_set(string preference);
 
         [DllImport(Libraries.Elementary)]
+        internal static extern void elm_config_scale_set(double scale);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern double elm_config_scale_get();
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern string elm_config_profile_get();
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_config_preferred_engine_set(string name);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern double elm_config_longpress_timeout_get();
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_config_reload();
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_config_all_flush();
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_config_finger_size_set(int size);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern int elm_config_finger_size_get();
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_config_mirrored_get();
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_config_mirrored_set(bool mirrored);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_object_mirrored_automatic_get(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_mirrored_automatic_set(IntPtr obj, bool automatic);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_object_mirrored_get(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_mirrored_set(IntPtr obj, bool mirrored);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_grid_add(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_grid_pack(IntPtr obj, IntPtr subObj, int x, int y, int w, int h);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_grid_pack_get(IntPtr subObj, out int x, out int y, out int w, out int h);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_grid_pack_set(IntPtr subObj, int x, int y, int w, int h);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_grid_size_set(IntPtr obj, int w, int h);
+
+        [DllImport(Libraries.Elementary)]
         internal static extern void elm_object_tree_dump(IntPtr top);
 
         [DllImport(Libraries.Elementary)]
@@ -44,6 +153,9 @@ internal static partial class Interop
         internal static extern void elm_app_base_scale_set(double base_scale);
 
         [DllImport(Libraries.Elementary)]
+        internal static extern double elm_app_base_scale_set();
+
+        [DllImport(Libraries.Elementary)]
         internal static extern IntPtr elm_conformant_add(IntPtr obj);
 
         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_part_text_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
@@ -52,6 +164,24 @@ internal static partial class Interop
         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_part_text_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
         internal static extern IntPtr _elm_object_part_text_get(IntPtr obj, string part);
 
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_tooltip_text_set(IntPtr obj, string text);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_tooltip_unset(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_tooltip_style_set(IntPtr obj, string style);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_tooltip_show(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_tooltip_hide(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_tooltip_orient_set(IntPtr obj, Elm_Tooltip_Orient orient);
+
         internal static string elm_object_part_text_get(IntPtr obj, string part)
         {
             var text = _elm_object_part_text_get(obj, part);
@@ -126,6 +256,57 @@ internal static partial class Interop
         internal static extern bool elm_layout_file_set(IntPtr obj, string file, string group);
 
         [DllImport(Libraries.Elementary)]
+        internal static extern void elm_layout_signal_emit(IntPtr obj, string emission, string source);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_layout_signal_callback_add(IntPtr obj, string emission, string source, Edje_Signal_Cb func, IntPtr data);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_layout_signal_callback_del(IntPtr obj, string emission, string source, Edje_Signal_Cb func);
+
+        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+        internal delegate void Edje_Signal_Cb(IntPtr data, IntPtr obj, string emission, string source);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_layout_box_append(IntPtr obj, string part, IntPtr child);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_layout_box_prepend(IntPtr obj, string part, IntPtr child);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_layout_box_remove(IntPtr obj, string part, IntPtr child);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_layout_box_remove_all(IntPtr obj, string part, bool clear);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern string elm_layout_data_get(IntPtr obj, string key);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_notify_add(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_notify_align_set(IntPtr obj, double horizontal, double vertical);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_notify_timeout_set(IntPtr obj, double timeout);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern double elm_object_scale_get(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_scale_set(IntPtr obj, double scale);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_signal_emit(IntPtr obj, string emission, string source);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_object_signal_callback_del(IntPtr obj, string emission, string source, Edje_Signal_Cb func);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_signal_callback_add(IntPtr obj, string emission, string source, Edje_Signal_Cb func, IntPtr data);
+
+        [DllImport(Libraries.Elementary)]
         internal static extern bool elm_object_style_set(IntPtr obj, string style);
 
         [DllImport(Libraries.Elementary, EntryPoint = "elm_object_style_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
@@ -138,7 +319,10 @@ internal static partial class Interop
         }
 
         [DllImport(Libraries.Elementary)]
-        internal static extern void elm_object_part_color_set(IntPtr obj, string part, int r, int g, int b, int a);
+        internal static extern void elm_object_color_class_color_get(IntPtr obj, string colorClass, out int r, out int g, out int b, out int a);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_color_class_color_set(IntPtr obj, string colorClass, int r, int g, int b, int a);
 
         [DllImport(Libraries.Elementary)]
         internal static extern void elm_object_part_text_set(IntPtr obj, string part, string text);
@@ -156,6 +340,15 @@ internal static partial class Interop
         }
 
         [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_item_color_class_color_set(IntPtr it, string part, int r, int g, int b, int a);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_item_color_class_color_get(IntPtr obj, string part, out int r, out int g, out int b, out int a);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_item_color_class_del(IntPtr obj, string part);
+
+        [DllImport(Libraries.Elementary)]
         internal static extern void elm_object_item_part_text_set(IntPtr obj, string part, string label);
 
         [DllImport(Libraries.Elementary)]
@@ -174,23 +367,142 @@ internal static partial class Interop
         internal static extern void elm_object_item_del_cb_set(IntPtr obj, Interop.Evas.SmartCallback callback);
 
         [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_item_disabled_set(IntPtr obj, bool disable);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_object_item_disabled_get(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_object_item_part_content_get(IntPtr obj, string part);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_object_item_access_object_get(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_item_access_unregister(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_object_item_track(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_item_untrack(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_object_item_widget_get(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_item_signal_emit(IntPtr obj, string emission, string source);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_item_signal_callback_add(IntPtr obj, string emission, string source, Elm_Object_Item_Signal_Cb func, IntPtr data);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_object_item_signal_callback_del(IntPtr obj, string emission, string source, Elm_Object_Item_Signal_Cb func, IntPtr data);
+
+        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+        internal delegate bool Elm_Object_Item_Signal_Cb(IntPtr data, IntPtr item, string emission, string source);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_config_focus_highlight_animate_set(bool animate);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_config_focus_highlight_animate_get();
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_config_focus_highlight_enabled_set(bool enable);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_config_focus_highlight_enabled_get();
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_tree_focus_allow_set(IntPtr obj, bool focusable);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_object_tree_focus_allow_get(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_object_focus_next_object_get(IntPtr obj, Elm_Focus_Direction dir);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_object_focused_object_get(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
         internal static extern bool elm_object_focus_get(IntPtr obj);
 
         [DllImport(Libraries.Elementary)]
         internal static extern void elm_object_focus_set(IntPtr obj, bool focus);
 
         [DllImport(Libraries.Elementary)]
-        internal static extern void elm_theme_extension_add(IntPtr obj, string path);
+        internal static extern bool elm_object_focus_allow_get(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_focus_allow_set(IntPtr obj, bool enable);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_focus_next(IntPtr obj, int direction);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_focus_next_object_set(IntPtr obj, IntPtr next, int direction);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_focus_next_item_set(IntPtr obj, IntPtr nextItem, int direction);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_theme_extension_add(IntPtr theme, string path);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_theme_overlay_add(IntPtr theme, string path);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern string elm_language_set(string lang);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_policy_set(uint policy, int value);
 
         [DllImport(Libraries.Elementary)]
         internal static extern IntPtr elm_theme_new();
 
         [DllImport(Libraries.Elementary)]
+        internal static extern void elm_theme_free(IntPtr theme);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_theme_ref_set(IntPtr theme, IntPtr themeRef);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_theme_extension_del(IntPtr theme, string item);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_theme_overlay_del(IntPtr theme, string item);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_theme_set(IntPtr obj, string theme);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_theme_flush(IntPtr theme);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_theme_full_flush();
+
+        [DllImport(Libraries.Elementary)]
         internal static extern void elm_object_theme_set(IntPtr obj, IntPtr theme);
 
         [DllImport(Libraries.Elementary)]
         internal static extern IntPtr elm_layout_edje_get(IntPtr obj);
 
+        internal static void SetObjectText(IntPtr obj, string text)
+        {
+            elm_object_part_text_set(obj, IntPtr.Zero, text);
+        }
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_cache_all_flush();
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_object_domain_translatable_part_text_set(IntPtr obj, string part, string domain, string text);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void edje_object_color_class_del(IntPtr obj, string colorClass);
+
         [DllImport(Libraries.Elementary)]
         internal static extern bool edje_object_part_exists(IntPtr obj, string part);
 
@@ -212,7 +524,6 @@ internal static partial class Interop
             return Marshal.PtrToStringAnsi(text);
         }
 
-
         [DllImport(Libraries.Elementary, EntryPoint = "edje_object_part_text_style_user_peek", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
         internal static extern IntPtr _edje_object_part_text_style_user_peek(IntPtr obj, string part);
 
@@ -231,17 +542,270 @@ internal static partial class Interop
         [DllImport(Libraries.Elementary)]
         internal static extern void edje_object_signal_emit(IntPtr obj, string emission, string source);
 
-        internal static void SetObjectText(IntPtr obj, string text)
+        [DllImport(Libraries.Elementary)]
+        internal static extern void edje_object_mirrored_set(IntPtr obj, bool rtl);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr edje_object_add(IntPtr evas);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool edje_object_file_set(IntPtr obj, string file, string group);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool edje_object_part_box_append(IntPtr obj, string part, IntPtr child);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool edje_object_part_box_prepend(IntPtr obj, string part, IntPtr child);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern string edje_object_part_state_get(IntPtr obj, string part, out double value);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void edje_object_signal_callback_add(IntPtr obj, string emission, Edje_Signal_Cb func, string source, IntPtr data);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr edje_object_signal_callback_del(IntPtr obj, string emission, string source, Edje_Signal_Cb func);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void edje_object_signal_callback_del_full(IntPtr obj, string emission, string source, Edje_Signal_Cb func, IntPtr data);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool edje_color_class_set(string colorClass, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool edje_color_class_get(string colorClass, out int r, out int g, out int b, out int a, out int r2, out int g2, out int b2, out int a2,
+            out int r3, out int g3, out int b3, out int a3);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool edje_object_color_class_set(IntPtr obj, string colorClass, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool edje_object_color_class_get(IntPtr obj, string colorClass, out int r, out int g, out int b, out int a, out int r2, out int g2, out int b2, out int a2,
+            out int r3, out int g3, out int b3, out int a3);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void edje_message_signal_process();
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void edje_object_message_handler_set(IntPtr obj, Edje_Message_Handler_Cb func, IntPtr data);
+
+        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+        internal delegate void Edje_Message_Handler_Cb(IntPtr data, IntPtr obj, Edje_Message_Type type, int id, IntPtr msg);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void edje_object_message_send(IntPtr obj, Edje_Message_Type type, int id, IntPtr msg);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void edje_object_message_signal_process(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool edje_object_text_class_set(IntPtr obj, string textClass, string font, int size);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool edje_object_text_class_get(IntPtr obj, string textClass, out string font, out int size);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool edje_text_class_set(string textClass, string font, int size);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool edje_text_class_get(string textClass, out string font, out int size);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void edje_text_class_del(string textClass);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_transit_add();
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_del(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_object_add(IntPtr transit, IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_transit_effect_translation_add(IntPtr transit, int fromDx, int fromDy, int toDx, int toDy);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_objects_final_state_keep_set(IntPtr transit, bool stateKeep);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_tween_mode_set(IntPtr transit, Elm_Transit_Tween_Mode tweenMode);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_repeat_times_set(IntPtr transit, int repeat);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_duration_set(IntPtr transit, double duration);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_go(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_transit_effect_zoom_add(IntPtr transit, float fromRate, float toRate);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_transit_effect_color_add(IntPtr transit, int fromR, int fromG, int fromB, int fromA, int toR, int toG, int toB, int toA);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_auto_reverse_set(IntPtr transit, bool reverse);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_effect_add(IntPtr transit, Elm_Transit_Effect_Transition_Cb transitionCb, IntPtr effect, Elm_Transit_Effect_End_Cb endCb);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_transit_effect_fade_add(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_transit_effect_resizing_add(IntPtr transit, int fromW, int fromH, int toW, int toH);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_event_enabled_set(IntPtr transit, bool enabled);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_smooth_set(IntPtr transit, bool enabled);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_effect_del(IntPtr transit, Elm_Transit_Effect_Transition_Cb transitionCb, IntPtr effect);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_object_remove(IntPtr transit, IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_transit_objects_final_state_keep_get(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_transit_event_enabled_get(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_del_cb_set(IntPtr transit, Elm_Transit_Del_Cb cb, IntPtr data);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_transit_auto_reverse_get(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern int elm_transit_repeat_times_get(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern Elm_Transit_Tween_Mode elm_transit_tween_mode_get(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_tween_mode_factor_set(IntPtr transit, double v1, double v2);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_tween_mode_factor_get(IntPtr transit, out double v1, out double v2);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_tween_mode_factor_n_set(IntPtr transit, int vSize, out double v);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern double elm_transit_duration_get(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_go_in(IntPtr transit, double interval);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_paused_set(IntPtr transit, bool paused);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_transit_paused_get(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern double elm_transit_progress_value_get(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_chain_transit_add(IntPtr transit, IntPtr chainTransit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_transit_chain_transit_del(IntPtr transit, IntPtr chainTransit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_transit_chain_transits_get(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern bool elm_transit_smooth_get(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_transit_effect_flip_add(IntPtr transit, Elm_Transit_Effect_Flip_Axis axis, bool cw);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_transit_effect_resizable_flip_add(IntPtr transit, Elm_Transit_Effect_Flip_Axis axis, bool cw);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_transit_effect_wipe_add(IntPtr transit, Elm_Transit_Effect_Wipe_Type type, Elm_Transit_Effect_Wipe_Dir dir);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_transit_effect_blend_add(IntPtr transit);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_transit_effect_rotation_add(IntPtr transit, float fromDegree, float toDegree);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern IntPtr elm_transit_effect_image_animation_add(IntPtr transit, IntPtr images);
+
+        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+        internal delegate void Elm_Transit_Effect_Transition_Cb(IntPtr effect, IntPtr transit, double progress);
+
+        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+        internal delegate void Elm_Transit_Effect_End_Cb(IntPtr effect, IntPtr transit);
+
+        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+        internal delegate void Elm_Transit_Del_Cb(IntPtr data, IntPtr transit);
+
+        internal enum Elm_Transit_Tween_Mode
         {
-            elm_object_part_text_set(obj, IntPtr.Zero, text);
+            ELM_TRANSIT_TWEEN_MODE_LINEAR,
+            ELM_TRANSIT_TWEEN_MODE_SINUSOIDAL,
+            ELM_TRANSIT_TWEEN_MODE_DECELERATE,
+            ELM_TRANSIT_TWEEN_MODE_ACCELERATE,
+            ELM_TRANSIT_TWEEN_MODE_DIVISOR_INTERP,
+            ELM_TRANSIT_TWEEN_MODE_BOUNCE,
+            ELM_TRANSIT_TWEEN_MODE_SPRING,
+            ELM_TRANSIT_TWEEN_MODE_BEZIER_CURVE,
+        }
+
+        internal enum Elm_Transit_Effect_Flip_Axis
+        {
+            ELM_TRANSIT_EFFECT_FLIP_AXIS_X,
+            ELM_TRANSIT_EFFECT_FLIP_AXIS_Y,
+        }
+
+        internal enum Elm_Transit_Effect_Wipe_Type
+        {
+            ELM_TRANSIT_EFFECT_WIPE_TYPE_HIDE,
+            ELM_TRANSIT_EFFECT_WIPE_TYPE_SHOW,
+        }
+
+        internal enum Elm_Transit_Effect_Wipe_Dir
+        {
+            ELM_TRANSIT_EFFECT_WIPE_DIR_LEFT,
+            ELM_TRANSIT_EFFECT_WIPE_DIR_RIGHT,
+            ELM_TRANSIT_EFFECT_WIPE_DIR_UP,
+            ELM_TRANSIT_EFFECT_WIPE_DIR_DOWN,
+        }
+
+        internal enum Elm_Focus_Direction
+        {
+            ELM_FOCUS_PREVIOUS,
+            ELM_FOCUS_NEXT,
+            ELM_FOCUS_UP,
+            ELM_FOCUS_DOWN,
+            ELM_FOCUS_RIGHT,
+            ELM_FOCUS_LEFT,
         }
 
-        internal static IntPtr GetPtrToObject(object data)
+        internal enum Elm_Tooltip_Orient
         {
-            IntPtr dataPtr = IntPtr.Zero;
-            if (data != null)
-                Marshal.StructureToPtr(data, dataPtr, true);
-            return dataPtr;
+            ELM_TOOLTIP_ORIENT_NONE,
+            ELM_TOOLTIP_ORIENT_TOP_LEFT,
+            ELM_TOOLTIP_ORIENT_TOP,
+            ELM_TOOLTIP_ORIENT_TOP_RIGHT,
+            ELM_TOOLTIP_ORIENT_LEFT,
+            ELM_TOOLTIP_ORIENT_CENTER,
+            ELM_TOOLTIP_ORIENT_RIGHT,
+            ELM_TOOLTIP_ORIENT_BOTTOM_LEFT,
+            ELM_TOOLTIP_ORIENT_BOTTOM,
+            ELM_TOOLTIP_ORIENT_BOTTOM_RIGHT,
+            ELM_TOOLTIP_ORIENT_LAST,
         }
     }
-}
+}
\ No newline at end of file