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
24 [DllImport(Libraries.Elementary)]
25 internal static extern void elm_naviframe_item_pop_cb_set(IntPtr it, Elm_Naviframe_Item_Pop_Cb func, IntPtr data);
27 [DllImport(Libraries.Elementary)]
28 internal static extern IntPtr elm_naviframe_add(IntPtr parent);
30 [DllImport(Libraries.Elementary)]
31 internal static extern void elm_naviframe_event_enabled_set(IntPtr obj, bool enabled);
33 [DllImport(Libraries.Elementary)]
34 internal static extern void elm_naviframe_prev_btn_auto_pushed_set(IntPtr obj, bool value);
36 [DllImport(Libraries.Elementary)]
37 internal static extern bool elm_naviframe_prev_btn_auto_pushed_get(IntPtr obj);
39 [DllImport(Libraries.Elementary)]
40 internal static extern void elm_naviframe_item_title_enabled_set(IntPtr item, bool enable, bool transition);
42 [DllImport(Libraries.Elementary)]
43 internal static extern bool elm_naviframe_item_title_enabled_get(IntPtr item);
45 [DllImport(Libraries.Elementary)]
46 internal static extern IntPtr elm_naviframe_item_push(IntPtr obj, string title, IntPtr prev, IntPtr next, IntPtr content, string style);
48 [DllImport(Libraries.Elementary)]
49 internal static extern IntPtr elm_naviframe_item_pop(IntPtr obj);
51 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
52 internal delegate bool Elm_Naviframe_Item_Pop_Cb(IntPtr data, IntPtr item);
54 [DllImport(Libraries.Elementary)]
55 internal static extern void elm_naviframe_content_preserve_on_pop_set(IntPtr obj, bool preserve);
57 [DllImport(Libraries.Elementary)]
58 internal static extern bool elm_naviframe_content_preserve_on_pop_get(IntPtr obj);
60 [DllImport(Libraries.Elementary)]
61 internal static extern IntPtr elm_naviframe_item_insert_before(IntPtr naviframe, IntPtr before, string title, IntPtr prev, IntPtr next, IntPtr content, string style);
63 [DllImport(Libraries.Elementary)]
64 internal static extern IntPtr elm_naviframe_item_insert_after(IntPtr naviframe, IntPtr after, string title, IntPtr prev, IntPtr next, IntPtr content, string style);
66 [DllImport(Libraries.Elementary)]
67 internal static extern IntPtr elm_naviframe_top_item_get(IntPtr naviframe);
69 [DllImport(Libraries.Elementary)]
70 internal static extern IntPtr elm_naviframe_bottom_item_get(IntPtr naviframe);
72 [DllImport(Libraries.Elementary)]
73 internal static extern void elm_naviframe_item_pop_to(IntPtr item);
75 [DllImport(Libraries.Elementary)]
76 internal static extern void elm_naviframe_item_style_set(IntPtr item, string style);
78 [DllImport(Libraries.Elementary, EntryPoint = "elm_naviframe_item_style_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
79 internal static extern IntPtr _elm_naviframe_item_style_get(IntPtr item);
81 internal static string elm_naviframe_item_style_get(IntPtr item)
83 var text = _elm_naviframe_item_style_get(item);
84 return Marshal.PtrToStringAnsi(text);