Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / ElmSharp / Interop / Interop.Elementary.Accessibility.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         internal enum Elm_Atspi_Relation_Type
25         {
26             ELM_ATSPI_RELATION_NULL,
27             ELM_ATSPI_RELATION_LABEL_FOR,
28             ELM_ATSPI_RELATION_LABELLED_BY,
29             ELM_ATSPI_RELATION_CONTROLLER_FOR,
30             ELM_ATSPI_RELATION_CONTROLLED_BY,
31             ELM_ATSPI_RELATION_MEMBER_OF,
32             ELM_ATSPI_RELATION_TOOLTIP_FOR,
33             ELM_ATSPI_RELATION_NODE_CHILD_OF,
34             ELM_ATSPI_RELATION_NODE_PARENT_OF,
35             ELM_ATSPI_RELATION_EXTENDED,
36             ELM_ATSPI_RELATION_FLOWS_TO,
37             ELM_ATSPI_RELATION_FLOWS_FROM,
38             ELM_ATSPI_RELATION_SUBWINDOW_OF,
39             ELM_ATSPI_RELATION_EMBEDS,
40             ELM_ATSPI_RELATION_EMBEDDED_BY,
41             ELM_ATSPI_RELATION_POPUP_FOR,
42             ELM_ATSPI_RELATION_PARENT_WINDOW_OF,
43             ELM_ATSPI_RELATION_DESCRIPTION_FOR,
44             ELM_ATSPI_RELATION_DESCRIBED_BY,
45             ELM_ATSPI_RELATION_LAST_DEFINED,
46         }
47
48         internal enum Elm_Atspi_Role
49         {
50             ELM_ATSPI_ROLE_INVALID,
51             ELM_ATSPI_ROLE_ACCELERATOR_LABEL,
52             ELM_ATSPI_ROLE_ALERT,
53             ELM_ATSPI_ROLE_ANIMATION,
54             ELM_ATSPI_ROLE_ARROW,
55             ELM_ATSPI_ROLE_CALENDAR,
56             ELM_ATSPI_ROLE_CANVAS,
57             ELM_ATSPI_ROLE_CHECK_BOX,
58             ELM_ATSPI_ROLE_CHECK_MENU_ITEM,
59             ELM_ATSPI_ROLE_COLOR_CHOOSER,
60             ELM_ATSPI_ROLE_COLUMN_HEADER,
61             ELM_ATSPI_ROLE_COMBO_BOX,
62             ELM_ATSPI_ROLE_DATE_EDITOR,
63             ELM_ATSPI_ROLE_DESKTOP_ICON,
64             ELM_ATSPI_ROLE_DESKTOP_FRAME,
65             ELM_ATSPI_ROLE_DIAL,
66             ELM_ATSPI_ROLE_DIALOG,
67             ELM_ATSPI_ROLE_DIRECTORY_PANE,
68             ELM_ATSPI_ROLE_DRAWING_AREA,
69             ELM_ATSPI_ROLE_FILE_CHOOSER,
70             ELM_ATSPI_ROLE_FILLER,
71             ELM_ATSPI_ROLE_FOCUS_TRAVERSABLE,
72             ELM_ATSPI_ROLE_FONT_CHOOSER,
73             ELM_ATSPI_ROLE_FRAME,
74             ELM_ATSPI_ROLE_GLASS_PANE,
75             ELM_ATSPI_ROLE_HTML_CONTAINER,
76             ELM_ATSPI_ROLE_ICON,
77             ELM_ATSPI_ROLE_IMAGE,
78             ELM_ATSPI_ROLE_INTERNAL_FRAME,
79             ELM_ATSPI_ROLE_LABEL,
80             ELM_ATSPI_ROLE_LAYERED_PANE,
81             ELM_ATSPI_ROLE_LIST,
82             ELM_ATSPI_ROLE_LIST_ITEM,
83             ELM_ATSPI_ROLE_MENU,
84             ELM_ATSPI_ROLE_MENU_BAR,
85             ELM_ATSPI_ROLE_MENU_ITEM,
86             ELM_ATSPI_ROLE_OPTION_PANE,
87             ELM_ATSPI_ROLE_PAGE_TAB,
88             ELM_ATSPI_ROLE_PAGE_TAB_LIST,
89             ELM_ATSPI_ROLE_PANEL,
90             ELM_ATSPI_ROLE_PASSWORD_TEXT,
91             ELM_ATSPI_ROLE_POPUP_MENU,
92             ELM_ATSPI_ROLE_PROGRESS_BAR,
93             ELM_ATSPI_ROLE_PUSH_BUTTON,
94             ELM_ATSPI_ROLE_RADIO_BUTTON,
95             ELM_ATSPI_ROLE_RADIO_MENU_ITEM,
96             ELM_ATSPI_ROLE_ROOT_PANE,
97             ELM_ATSPI_ROLE_ROW_HEADER,
98             ELM_ATSPI_ROLE_SCROLL_BAR,
99             ELM_ATSPI_ROLE_SCROLL_PANE,
100             ELM_ATSPI_ROLE_SEPARATOR,
101             ELM_ATSPI_ROLE_SLIDER,
102             ELM_ATSPI_ROLE_SPIN_BUTTON,
103             ELM_ATSPI_ROLE_SPLIT_PANE,
104             ELM_ATSPI_ROLE_STATUS_BAR,
105             ELM_ATSPI_ROLE_TABLE,
106             ELM_ATSPI_ROLE_TABLE_CELL,
107             ELM_ATSPI_ROLE_TABLE_COLUMN_HEADER,
108             ELM_ATSPI_ROLE_TABLE_ROW_HEADER,
109             ELM_ATSPI_ROLE_TEAROFF_MENU_ITEM,
110             ELM_ATSPI_ROLE_TERMINAL,
111             ELM_ATSPI_ROLE_TEXT,
112             ELM_ATSPI_ROLE_TOGGLE_BUTTON,
113             ELM_ATSPI_ROLE_TOOL_BAR,
114             ELM_ATSPI_ROLE_TOOL_TIP,
115             ELM_ATSPI_ROLE_TREE,
116             ELM_ATSPI_ROLE_TREE_TABLE,
117             ELM_ATSPI_ROLE_UNKNOWN,
118             ELM_ATSPI_ROLE_VIEWPORT,
119             ELM_ATSPI_ROLE_WINDOW,
120             ELM_ATSPI_ROLE_EXTENDED,
121             ELM_ATSPI_ROLE_HEADER,
122             ELM_ATSPI_ROLE_FOOTER,
123             ELM_ATSPI_ROLE_PARAGRAPH,
124             ELM_ATSPI_ROLE_RULER,
125             ELM_ATSPI_ROLE_APPLICATION,
126             ELM_ATSPI_ROLE_AUTOCOMPLETE,
127             ELM_ATSPI_ROLE_EDITBAR,
128             ELM_ATSPI_ROLE_EMBEDDED,
129             ELM_ATSPI_ROLE_ENTRY,
130             ELM_ATSPI_ROLE_CHART,
131             ELM_ATSPI_ROLE_CAPTION,
132             ELM_ATSPI_ROLE_DOCUMENT_FRAME,
133             ELM_ATSPI_ROLE_HEADING,
134             ELM_ATSPI_ROLE_PAGE,
135             ELM_ATSPI_ROLE_SECTION,
136             ELM_ATSPI_ROLE_REDUNDANT_OBJECT,
137             ELM_ATSPI_ROLE_FORM,
138             ELM_ATSPI_ROLE_LINK,
139             ELM_ATSPI_ROLE_INPUT_METHOD_WINDOW,
140             ELM_ATSPI_ROLE_TABLE_ROW,
141             ELM_ATSPI_ROLE_TREE_ITEM,
142             ELM_ATSPI_ROLE_DOCUMENT_SPREADSHEET,
143             ELM_ATSPI_ROLE_DOCUMENT_PRESENTATION,
144             ELM_ATSPI_ROLE_DOCUMENT_TEXT,
145             ELM_ATSPI_ROLE_DOCUMENT_WEB,
146             ELM_ATSPI_ROLE_DOCUMENT_EMAIL,
147             ELM_ATSPI_ROLE_COMMENT,
148             ELM_ATSPI_ROLE_LIST_BOX,
149             ELM_ATSPI_ROLE_GROUPING,
150             ELM_ATSPI_ROLE_IMAGE_MAP,
151             ELM_ATSPI_ROLE_NOTIFICATION,
152             ELM_ATSPI_ROLE_INFO_BAR
153         }
154
155         [Flags]
156         internal enum Elm_Accessible_Reading_Info_Type
157         {
158             ELM_ACCESSIBLE_READING_INFO_TYPE_NAME = 0x1,
159             ELM_ACCESSIBLE_READING_INFO_TYPE_ROLE = 0x2,
160             ELM_ACCESSIBLE_READING_INFO_TYPE_DESCRIPTION = 0x4,
161             ELM_ACCESSIBLE_READING_INFO_TYPE_STATE = 0x8
162         }
163
164         internal delegate void Elm_Atspi_Say_Signal_Cb(IntPtr data, string say_signal);
165         internal delegate string Elm_Atspi_Reading_Info_Cb(IntPtr data, IntPtr obj);
166
167         [DllImport(Libraries.Elementary)]
168         [return: MarshalAs(UnmanagedType.U1)]
169         internal static extern bool elm_atspi_accessible_relationship_append(IntPtr obj, Elm_Atspi_Relation_Type type, IntPtr relationObj);
170
171         [DllImport(Libraries.Elementary)]
172         internal static extern void elm_atspi_accessible_relationship_remove(IntPtr obj, Elm_Atspi_Relation_Type type, IntPtr relationObj);
173
174         [DllImport(Libraries.Elementary)]
175         [return: MarshalAs(UnmanagedType.U1)]
176         internal static extern bool elm_atspi_accessible_relationship_append(IntPtr obj, int type, IntPtr relationObj);
177
178         [DllImport(Libraries.Elementary)]
179         internal static extern void elm_atspi_accessible_relationship_remove(IntPtr obj, int type, IntPtr relationObj);
180
181         [DllImport(Libraries.Elementary, EntryPoint = "elm_atspi_accessible_translation_domain_get")]
182         internal static extern IntPtr _elm_atspi_accessible_translation_domain_get(IntPtr obj);
183
184         internal static string elm_atspi_accessible_translation_domain_get(IntPtr obj)
185         {
186             var str = _elm_atspi_accessible_translation_domain_get(obj);
187             return Marshal.PtrToStringAnsi(str);
188         }
189
190         [DllImport(Libraries.Elementary)]
191         internal static extern void elm_atspi_accessible_translation_domain_set(IntPtr obj, string domain);
192
193         [DllImport(Libraries.Elementary)]
194         internal static extern void elm_atspi_accessible_name_set(IntPtr obj, string name);
195
196         [DllImport(Libraries.Elementary, EntryPoint = "elm_atspi_accessible_name_get")]
197         internal static extern IntPtr _elm_atspi_accessible_name_get(IntPtr obj);
198
199         internal static string elm_atspi_accessible_name_get(IntPtr obj)
200         {
201             var str = _elm_atspi_accessible_name_get(obj);
202             return Marshal.PtrToStringAnsi(str);
203         }
204
205         [DllImport(Libraries.Elementary)]
206         internal static extern void elm_atspi_accessible_name_cb_set(IntPtr obj, Elm_Atspi_Reading_Info_Cb name_cb, IntPtr data);
207
208         [DllImport(Libraries.Elementary)]
209         internal static extern Elm_Atspi_Role elm_atspi_accessible_role_get(IntPtr obj);
210
211         [DllImport(Libraries.Elementary)]
212         internal static extern void elm_atspi_accessible_role_set(IntPtr obj, Elm_Atspi_Role role);
213
214         [DllImport(Libraries.Elementary)]
215         internal static extern void elm_atspi_accessible_description_set(IntPtr obj, string description);
216
217         [DllImport(Libraries.Elementary, EntryPoint = "elm_atspi_accessible_description_get")]
218         internal static extern IntPtr _elm_atspi_accessible_description_get(IntPtr obj);
219         internal static string elm_atspi_accessible_description_get(IntPtr obj)
220         {
221             var str = _elm_atspi_accessible_description_get(obj);
222             return Marshal.PtrToStringAnsi(str);
223         }
224
225         [DllImport(Libraries.Elementary)]
226         internal static extern void elm_atspi_accessible_description_cb_set(IntPtr obj, Elm_Atspi_Reading_Info_Cb description_cb, IntPtr data);
227
228         [DllImport(Libraries.Elementary)]
229         internal static extern void elm_atspi_accessible_reading_info_type_set(IntPtr obj, Elm_Accessible_Reading_Info_Type reading_info);
230
231         [DllImport(Libraries.Elementary)]
232         internal static extern int elm_atspi_accessible_reading_info_type_get(IntPtr obj);
233
234         [DllImport(Libraries.Elementary)]
235         internal static extern void elm_atspi_accessible_can_highlight_set(IntPtr obj, bool can_highlight);
236
237         [DllImport(Libraries.Elementary)]
238         internal static extern bool elm_atspi_accessible_can_highlight_get(IntPtr obj);
239
240         [DllImport(Libraries.Elementary)]
241         internal static extern bool elm_atspi_component_highlight_grab(IntPtr obj);
242
243         [DllImport(Libraries.Elementary)]
244         internal static extern bool elm_atspi_component_highlight_clear(IntPtr obj);
245
246         [DllImport(Libraries.Elementary)]
247         internal static extern void elm_atspi_bridge_utils_say(string text, bool discardable, Elm_Atspi_Say_Signal_Cb func, IntPtr data);
248     }
249 }