Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / ElmSharp / Interop / Interop.Elementary.Naviframe.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         [DllImport(Libraries.Elementary)]
25         internal static extern void elm_naviframe_item_pop_cb_set(IntPtr it, Elm_Naviframe_Item_Pop_Cb func, IntPtr data);
26
27         [DllImport(Libraries.Elementary)]
28         internal static extern IntPtr elm_naviframe_add(IntPtr parent);
29
30         [DllImport(Libraries.Elementary)]
31         internal static extern void elm_naviframe_event_enabled_set(IntPtr obj, bool enabled);
32
33         [DllImport(Libraries.Elementary)]
34         internal static extern void elm_naviframe_prev_btn_auto_pushed_set(IntPtr obj, bool value);
35
36         [DllImport(Libraries.Elementary)]
37         internal static extern bool elm_naviframe_prev_btn_auto_pushed_get(IntPtr obj);
38
39         [DllImport(Libraries.Elementary)]
40         internal static extern void elm_naviframe_item_title_enabled_set(IntPtr item, bool enable, bool transition);
41
42         [DllImport(Libraries.Elementary)]
43         internal static extern bool elm_naviframe_item_title_enabled_get(IntPtr item);
44
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);
47
48         [DllImport(Libraries.Elementary)]
49         internal static extern IntPtr elm_naviframe_item_pop(IntPtr obj);
50
51         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
52         internal delegate bool Elm_Naviframe_Item_Pop_Cb(IntPtr data, IntPtr item);
53
54         [DllImport(Libraries.Elementary)]
55         internal static extern void elm_naviframe_content_preserve_on_pop_set(IntPtr obj, bool preserve);
56
57         [DllImport(Libraries.Elementary)]
58         internal static extern bool elm_naviframe_content_preserve_on_pop_get(IntPtr obj);
59
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);
62
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);
65
66         [DllImport(Libraries.Elementary)]
67         internal static extern IntPtr elm_naviframe_top_item_get(IntPtr naviframe);
68
69         [DllImport(Libraries.Elementary)]
70         internal static extern IntPtr elm_naviframe_bottom_item_get(IntPtr naviframe);
71
72         [DllImport(Libraries.Elementary)]
73         internal static extern void elm_naviframe_item_pop_to(IntPtr item);
74
75         [DllImport(Libraries.Elementary)]
76         internal static extern void elm_naviframe_item_style_set(IntPtr item, string style);
77
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);
80
81         internal static string elm_naviframe_item_style_get(IntPtr item)
82         {
83             var text = _elm_naviframe_item_style_get(item);
84             return Marshal.PtrToStringAnsi(text);
85         }
86     }
87 }