1/* gtkatspiprivate.h: AT-SPI shared types
2 *
3 * Copyright 2020 GNOME Foundation
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
19 */
20
21#pragma once
22
23#include <glib.h>
24
25G_BEGIN_DECLS
26
27typedef enum {
28 ATSPI_ROLE_INVALID,
29 ATSPI_ROLE_ACCELERATOR_LABEL,
30 ATSPI_ROLE_ALERT,
31 ATSPI_ROLE_ANIMATION,
32 ATSPI_ROLE_ARROW,
33 ATSPI_ROLE_CALENDAR,
34 ATSPI_ROLE_CANVAS,
35 ATSPI_ROLE_CHECK_BOX,
36 ATSPI_ROLE_CHECK_MENU_ITEM,
37 ATSPI_ROLE_COLOR_CHOOSER,
38 ATSPI_ROLE_COLUMN_HEADER,
39 ATSPI_ROLE_COMBO_BOX,
40 ATSPI_ROLE_DATE_EDITOR,
41 ATSPI_ROLE_DESKTOP_ICON,
42 ATSPI_ROLE_DESKTOP_FRAME,
43 ATSPI_ROLE_DIAL,
44 ATSPI_ROLE_DIALOG,
45 ATSPI_ROLE_DIRECTORY_PANE,
46 ATSPI_ROLE_DRAWING_AREA,
47 ATSPI_ROLE_FILE_CHOOSER,
48 ATSPI_ROLE_FILLER,
49 ATSPI_ROLE_FOCUS_TRAVERSABLE,
50 ATSPI_ROLE_FONT_CHOOSER,
51 ATSPI_ROLE_FRAME,
52 ATSPI_ROLE_GLASS_PANE,
53 ATSPI_ROLE_HTML_CONTAINER,
54 ATSPI_ROLE_ICON,
55 ATSPI_ROLE_IMAGE,
56 ATSPI_ROLE_INTERNAL_FRAME,
57 ATSPI_ROLE_LABEL,
58 ATSPI_ROLE_LAYERED_PANE,
59 ATSPI_ROLE_LIST,
60 ATSPI_ROLE_LIST_ITEM,
61 ATSPI_ROLE_MENU,
62 ATSPI_ROLE_MENU_BAR,
63 ATSPI_ROLE_MENU_ITEM,
64 ATSPI_ROLE_OPTION_PANE,
65 ATSPI_ROLE_PAGE_TAB,
66 ATSPI_ROLE_PAGE_TAB_LIST,
67 ATSPI_ROLE_PANEL,
68 ATSPI_ROLE_PASSWORD_TEXT,
69 ATSPI_ROLE_POPUP_MENU,
70 ATSPI_ROLE_PROGRESS_BAR,
71 ATSPI_ROLE_PUSH_BUTTON,
72 ATSPI_ROLE_RADIO_BUTTON,
73 ATSPI_ROLE_RADIO_MENU_ITEM,
74 ATSPI_ROLE_ROOT_PANE,
75 ATSPI_ROLE_ROW_HEADER,
76 ATSPI_ROLE_SCROLL_BAR,
77 ATSPI_ROLE_SCROLL_PANE,
78 ATSPI_ROLE_SEPARATOR,
79 ATSPI_ROLE_SLIDER,
80 ATSPI_ROLE_SPIN_BUTTON,
81 ATSPI_ROLE_SPLIT_PANE,
82 ATSPI_ROLE_STATUS_BAR,
83 ATSPI_ROLE_TABLE,
84 ATSPI_ROLE_TABLE_CELL,
85 ATSPI_ROLE_TABLE_COLUMN_HEADER,
86 ATSPI_ROLE_TABLE_ROW_HEADER,
87 ATSPI_ROLE_TEAROFF_MENU_ITEM,
88 ATSPI_ROLE_TERMINAL,
89 ATSPI_ROLE_TEXT,
90 ATSPI_ROLE_TOGGLE_BUTTON,
91 ATSPI_ROLE_TOOL_BAR,
92 ATSPI_ROLE_TOOL_TIP,
93 ATSPI_ROLE_TREE,
94 ATSPI_ROLE_TREE_TABLE,
95 ATSPI_ROLE_UNKNOWN,
96 ATSPI_ROLE_VIEWPORT,
97 ATSPI_ROLE_WINDOW,
98 ATSPI_ROLE_EXTENDED,
99 ATSPI_ROLE_HEADER,
100 ATSPI_ROLE_FOOTER,
101 ATSPI_ROLE_PARAGRAPH,
102 ATSPI_ROLE_RULER,
103 ATSPI_ROLE_APPLICATION,
104 ATSPI_ROLE_AUTOCOMPLETE,
105 ATSPI_ROLE_EDITBAR,
106 ATSPI_ROLE_EMBEDDED,
107 ATSPI_ROLE_ENTRY,
108 ATSPI_ROLE_CHART,
109 ATSPI_ROLE_CAPTION,
110 ATSPI_ROLE_DOCUMENT_FRAME,
111 ATSPI_ROLE_HEADING,
112 ATSPI_ROLE_PAGE,
113 ATSPI_ROLE_SECTION,
114 ATSPI_ROLE_REDUNDANT_OBJECT,
115 ATSPI_ROLE_FORM,
116 ATSPI_ROLE_LINK,
117 ATSPI_ROLE_INPUT_METHOD_WINDOW,
118 ATSPI_ROLE_TABLE_ROW,
119 ATSPI_ROLE_TREE_ITEM,
120 ATSPI_ROLE_DOCUMENT_SPREADSHEET,
121 ATSPI_ROLE_DOCUMENT_PRESENTATION,
122 ATSPI_ROLE_DOCUMENT_TEXT,
123 ATSPI_ROLE_DOCUMENT_WEB,
124 ATSPI_ROLE_DOCUMENT_EMAIL,
125 ATSPI_ROLE_COMMENT,
126 ATSPI_ROLE_LIST_BOX,
127 ATSPI_ROLE_GROUPING,
128 ATSPI_ROLE_IMAGE_MAP,
129 ATSPI_ROLE_NOTIFICATION,
130 ATSPI_ROLE_INFO_BAR,
131 ATSPI_ROLE_LEVEL_BAR,
132 ATSPI_ROLE_TITLE_BAR,
133 ATSPI_ROLE_BLOCK_QUOTE,
134 ATSPI_ROLE_AUDIO,
135 ATSPI_ROLE_VIDEO,
136 ATSPI_ROLE_DEFINITION,
137 ATSPI_ROLE_ARTICLE,
138 ATSPI_ROLE_LANDMARK,
139 ATSPI_ROLE_LOG,
140 ATSPI_ROLE_MARQUEE,
141 ATSPI_ROLE_MATH,
142 ATSPI_ROLE_RATING,
143 ATSPI_ROLE_TIMER,
144 ATSPI_ROLE_STATIC,
145 ATSPI_ROLE_MATH_FRACTION,
146 ATSPI_ROLE_MATH_ROOT,
147 ATSPI_ROLE_SUBSCRIPT,
148 ATSPI_ROLE_SUPERSCRIPT,
149 ATSPI_ROLE_DESCRIPTION_LIST,
150 ATSPI_ROLE_DESCRIPTION_TERM,
151 ATSPI_ROLE_DESCRIPTION_VALUE,
152 ATSPI_ROLE_FOOTNOTE,
153 ATSPI_ROLE_CONTENT_DELETION,
154 ATSPI_ROLE_CONTENT_INSERTION,
155 ATSPI_ROLE_MARK,
156 ATSPI_ROLE_SUGGESTION,
157 ATSPI_ROLE_LAST_DEFINED,
158} AtspiRole;
159
160typedef enum {
161 ATSPI_STATE_INVALID,
162 ATSPI_STATE_ACTIVE,
163 ATSPI_STATE_ARMED,
164 ATSPI_STATE_BUSY,
165 ATSPI_STATE_CHECKED,
166 ATSPI_STATE_COLLAPSED,
167 ATSPI_STATE_DEFUNCT,
168 ATSPI_STATE_EDITABLE,
169 ATSPI_STATE_ENABLED,
170 ATSPI_STATE_EXPANDABLE,
171 ATSPI_STATE_EXPANDED,
172 ATSPI_STATE_FOCUSABLE,
173 ATSPI_STATE_FOCUSED,
174 ATSPI_STATE_HAS_TOOLTIP,
175 ATSPI_STATE_HORIZONTAL,
176 ATSPI_STATE_ICONIFIED,
177 ATSPI_STATE_MODAL,
178 ATSPI_STATE_MULTI_LINE,
179 ATSPI_STATE_MULTISELECTABLE,
180 ATSPI_STATE_OPAQUE,
181 ATSPI_STATE_PRESSED,
182 ATSPI_STATE_RESIZABLE,
183 ATSPI_STATE_SELECTABLE,
184 ATSPI_STATE_SELECTED,
185 ATSPI_STATE_SENSITIVE,
186 ATSPI_STATE_SHOWING,
187 ATSPI_STATE_SINGLE_LINE,
188 ATSPI_STATE_STALE,
189 ATSPI_STATE_TRANSIENT,
190 ATSPI_STATE_VERTICAL,
191 ATSPI_STATE_VISIBLE,
192 ATSPI_STATE_MANAGES_DESCENDANTS,
193 ATSPI_STATE_INDETERMINATE,
194 ATSPI_STATE_REQUIRED,
195 ATSPI_STATE_TRUNCATED,
196 ATSPI_STATE_ANIMATED,
197 ATSPI_STATE_INVALID_ENTRY,
198 ATSPI_STATE_SUPPORTS_AUTOCOMPLETION,
199 ATSPI_STATE_SELECTABLE_TEXT,
200 ATSPI_STATE_IS_DEFAULT,
201 ATSPI_STATE_VISITED,
202 ATSPI_STATE_CHECKABLE,
203 ATSPI_STATE_HAS_POPUP,
204 ATSPI_STATE_READ_ONLY,
205 ATSPI_STATE_LAST_DEFINED,
206} AtspiStateType;
207
208typedef enum {
209 ATSPI_RELATION_NULL,
210 ATSPI_RELATION_LABEL_FOR,
211 ATSPI_RELATION_LABELLED_BY,
212 ATSPI_RELATION_CONTROLLER_FOR,
213 ATSPI_RELATION_CONTROLLED_BY,
214 ATSPI_RELATION_MEMBER_OF,
215 ATSPI_RELATION_TOOLTIP_FOR,
216 ATSPI_RELATION_NODE_CHILD_OF,
217 ATSPI_RELATION_NODE_PARENT_OF,
218 ATSPI_RELATION_EXTENDED,
219 ATSPI_RELATION_FLOWS_TO,
220 ATSPI_RELATION_FLOWS_FROM,
221 ATSPI_RELATION_SUBWINDOW_OF,
222 ATSPI_RELATION_EMBEDS,
223 ATSPI_RELATION_EMBEDDED_BY,
224 ATSPI_RELATION_POPUP_FOR,
225 ATSPI_RELATION_PARENT_WINDOW_OF,
226 ATSPI_RELATION_DESCRIPTION_FOR,
227 ATSPI_RELATION_DESCRIBED_BY,
228 ATSPI_RELATION_LAST_DEFINED,
229} AtspiRelationType;
230
231typedef enum {
232 ATSPI_TEXT_BOUNDARY_CHAR,
233 ATSPI_TEXT_BOUNDARY_WORD_START,
234 ATSPI_TEXT_BOUNDARY_WORD_END,
235 ATSPI_TEXT_BOUNDARY_SENTENCE_START,
236 ATSPI_TEXT_BOUNDARY_SENTENCE_END,
237 ATSPI_TEXT_BOUNDARY_LINE_START,
238 ATSPI_TEXT_BOUNDARY_LINE_END,
239} AtspiTextBoundaryType;
240
241typedef enum {
242 ATSPI_TEXT_GRANULARITY_CHAR,
243 ATSPI_TEXT_GRANULARITY_WORD,
244 ATSPI_TEXT_GRANULARITY_SENTENCE,
245 ATSPI_TEXT_GRANULARITY_LINE,
246 ATSPI_TEXT_GRANULARITY_PARAGRAPH
247} AtspiTextGranularity;
248
249typedef enum {
250 ATSPI_COORD_TYPE_SCREEN,
251 ATSPI_COORD_TYPE_WINDOW,
252 ATSPI_COORD_TYPE_PARENT,
253} AtspiCoordType;
254
255typedef enum {
256 ATSPI_COMPONENT_LAYER_INVALID,
257 ATSPI_COMPONENT_LAYER_BACKGROUND,
258 ATSPI_COMPONENT_LAYER_CANVAS,
259 ATSPI_COMPONENT_LAYER_WIDGET,
260 ATSPI_COMPONENT_LAYER_MDI,
261 ATSPI_COMPONENT_LAYER_POPUP,
262 ATSPI_COMPONENT_LAYER_OVERLAY,
263 ATSPI_COMPONENT_LAYER_WINDOW
264} AtspiComponentLayer;
265
266typedef enum {
267 ATSPI_SCROLL_TOP_LEFT,
268 ATSPI_SCROLL_BOTTOM_RIGHT,
269 ATSPI_SCROLL_TOP_EDGE,
270 ATSPI_SCROLL_BOTTOM_EDGE,
271 ATSPI_SCROLL_LEFT_EDGE,
272 ATSPI_SCROLL_RIGHT_EDGE,
273 ATSPI_SCROLL_ANYWHERE
274} AtspiScrollType;
275
276typedef struct _GtkAtSpiRoot GtkAtSpiRoot;
277typedef struct _GtkAtSpiCache GtkAtSpiCache;
278typedef struct _GtkAtSpiContext GtkAtSpiContext;
279
280G_END_DECLS
281

source code of gtk/gtk/a11y/gtkatspiprivate.h