2 * Copyright (c) 2017 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;
21 internal static partial class Interop
23 internal static partial class ChromiumEwk
25 [DllImport(Libraries.ChromiumEwk)]
26 internal static extern IntPtr ewk_view_add(IntPtr evas);
28 [DllImport(Libraries.ChromiumEwk)]
29 internal static extern IntPtr ewk_view_context_get(IntPtr obj);
31 [DllImport(Libraries.ChromiumEwk)]
32 internal static extern IntPtr ewk_view_settings_get(IntPtr obj);
34 [DllImport(Libraries.ChromiumEwk)]
35 internal static extern IntPtr ewk_view_back_forward_list_get(IntPtr obj);
37 [DllImport(Libraries.ChromiumEwk)]
38 internal static extern void ewk_view_back_forward_list_clear(IntPtr obj);
40 [DllImport(Libraries.ChromiumEwk)]
41 [return: MarshalAs(UnmanagedType.U1)]
42 internal static extern bool ewk_view_url_set(IntPtr obj, string url);
44 [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_view_url_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
45 internal static extern IntPtr _ewk_view_url_get(IntPtr obj);
47 internal static string ewk_view_url_get(IntPtr obj)
49 IntPtr ptr = _ewk_view_url_get(obj);
50 return Marshal.PtrToStringAnsi(ptr);
53 [DllImport(Libraries.ChromiumEwk)]
54 [return: MarshalAs(UnmanagedType.U1)]
55 internal static extern bool ewk_view_html_string_load(IntPtr obj, string html, string baseUrl, string unreachableUrl);
57 [DllImport(Libraries.ChromiumEwk)]
58 [return: MarshalAs(UnmanagedType.U1)]
59 internal static extern bool ewk_view_reload(IntPtr obj);
61 [DllImport(Libraries.ChromiumEwk)]
62 [return: MarshalAs(UnmanagedType.U1)]
63 internal static extern bool ewk_view_stop(IntPtr obj);
65 [DllImport(Libraries.ChromiumEwk)]
66 [return: MarshalAs(UnmanagedType.U1)]
67 internal static extern bool ewk_view_back(IntPtr obj);
69 [DllImport(Libraries.ChromiumEwk)]
70 [return: MarshalAs(UnmanagedType.U1)]
71 internal static extern bool ewk_view_forward(IntPtr obj);
73 [DllImport(Libraries.ChromiumEwk)]
74 [return: MarshalAs(UnmanagedType.U1)]
75 internal static extern bool ewk_view_back_possible(IntPtr obj);
77 [DllImport(Libraries.ChromiumEwk)]
78 [return: MarshalAs(UnmanagedType.U1)]
79 internal static extern bool ewk_view_forward_possible(IntPtr obj);
81 internal delegate void ScriptExcuteCallback(IntPtr obj, IntPtr resultValue, IntPtr userData);
83 [DllImport(Libraries.ChromiumEwk)]
84 [return: MarshalAs(UnmanagedType.U1)]
85 internal static extern bool ewk_view_script_execute(IntPtr obj, string script, ScriptExcuteCallback callback, IntPtr userData);
87 [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_view_title_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
88 internal static extern IntPtr _ewk_view_title_get(IntPtr obj);
90 internal static string ewk_view_title_get(IntPtr obj)
92 IntPtr ptr = _ewk_view_title_get(obj);
93 return Marshal.PtrToStringAnsi(ptr);
96 [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_view_user_agent_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
97 internal static extern IntPtr _ewk_view_user_agent_get(IntPtr obj);
99 internal static string ewk_view_user_agent_get(IntPtr obj)
101 IntPtr ptr = _ewk_view_user_agent_get(obj);
102 return Marshal.PtrToStringAnsi(ptr);
105 [DllImport(Libraries.ChromiumEwk)]
106 [return: MarshalAs(UnmanagedType.U1)]
107 internal static extern bool ewk_view_user_agent_set(IntPtr obj, string userAgent);
109 [DllImport(Libraries.ChromiumEwk)]
110 [return: MarshalAs(UnmanagedType.U1)]
111 internal static extern bool ewk_view_focus_set(IntPtr obj, bool focused);
113 [DllImport(Libraries.ChromiumEwk)]
114 [return: MarshalAs(UnmanagedType.U1)]
115 internal static extern bool ewk_view_focus_get(IntPtr obj);
117 [DllImport(Libraries.ChromiumEwk)]
118 [return: MarshalAs(UnmanagedType.U1)]
119 internal static extern bool ewk_view_contents_size_get(IntPtr obj, out int width, out int height);
121 [DllImport(Libraries.ChromiumEwk)]
122 [return: MarshalAs(UnmanagedType.U1)]
123 internal static extern bool ewk_view_fullscreen_exit(IntPtr obj);
125 [DllImport(Libraries.ChromiumEwk)]
126 internal static extern double ewk_view_load_progress_get(IntPtr obj);
128 [DllImport(Libraries.ChromiumEwk)]
129 internal static extern void ewk_view_orientation_send(IntPtr obj, Orientation orientation);
131 [DllImport(Libraries.ChromiumEwk)]
132 internal static extern void ewk_view_suspend(IntPtr obj);
134 [DllImport(Libraries.ChromiumEwk)]
135 internal static extern void ewk_view_resume(IntPtr obj);
137 [DllImport(Libraries.ChromiumEwk)]
138 internal static extern double ewk_view_scale_get(IntPtr obj);
140 [DllImport(Libraries.ChromiumEwk)]
141 [return: MarshalAs(UnmanagedType.U1)]
142 internal static extern bool ewk_view_scale_set(IntPtr obj, double scaleFactor, int cX, int cY);
144 [DllImport(Libraries.ChromiumEwk)]
145 [return: MarshalAs(UnmanagedType.U1)]
146 internal static extern bool ewk_view_visibility_set(IntPtr obj, bool enable);
148 [DllImport(Libraries.ChromiumEwk)]
149 [return: MarshalAs(UnmanagedType.U1)]
150 internal static extern bool ewk_view_scroll_pos_get(IntPtr obj, out int X, out int Y);
152 [DllImport(Libraries.ChromiumEwk)]
153 [return: MarshalAs(UnmanagedType.U1)]
154 internal static extern bool ewk_view_scroll_set(IntPtr obj, int X, int Y);
156 [DllImport(Libraries.ChromiumEwk)]
157 internal static extern void ewk_view_scroll_by(IntPtr obj, int X, int Y);
159 [DllImport(Libraries.ChromiumEwk)]
160 [return: MarshalAs(UnmanagedType.U1)]
161 internal static extern bool ewk_view_text_find(IntPtr obj, string text, FindOption option, int maxMatchCount);
163 [DllImport(Libraries.ChromiumEwk)]
164 [return: MarshalAs(UnmanagedType.U1)]
165 internal static extern bool ewk_view_url_request_set(IntPtr obj, string url, HttpMethod method, IntPtr headers, string body);
167 [StructLayout(LayoutKind.Sequential, CharSet =CharSet.Ansi)]
168 internal struct ScriptMessage
174 internal delegate void ScriptMessageCallback(IntPtr obj, ScriptMessage message);
176 [DllImport(Libraries.ChromiumEwk)]
177 [return: MarshalAs(UnmanagedType.U1)]
178 internal static extern bool ewk_view_javascript_message_handler_add(IntPtr obj, ScriptMessageCallback callback, string name);
180 [DllImport(Libraries.ChromiumEwk)]
181 [return: MarshalAs(UnmanagedType.U1)]
182 internal static extern bool ewk_view_evaluate_javascript(IntPtr obj, string name, string result);