Skip to main content

atk_sys/
lib.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// DO NOT EDIT
4
5#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
6#![allow(
7    clippy::approx_constant,
8    clippy::type_complexity,
9    clippy::unreadable_literal,
10    clippy::upper_case_acronyms
11)]
12#![cfg_attr(docsrs, feature(doc_cfg))]
13
14use glib_sys as glib;
15use gobject_sys as gobject;
16
17#[allow(unused_imports)]
18use libc::{FILE, intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t};
19#[cfg(unix)]
20#[allow(unused_imports)]
21use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
22#[allow(unused_imports)]
23use std::ffi::{
24    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
25};
26
27#[allow(unused_imports)]
28use glib::{GType, gboolean, gconstpointer, gpointer};
29
30// Aliases
31pub type AtkAttributeSet = glib::GSList;
32pub type AtkState = u64;
33
34// Enums
35pub type AtkCoordType = c_int;
36pub const ATK_XY_SCREEN: AtkCoordType = 0;
37pub const ATK_XY_WINDOW: AtkCoordType = 1;
38pub const ATK_XY_PARENT: AtkCoordType = 2;
39
40pub type AtkKeyEventType = c_int;
41pub const ATK_KEY_EVENT_PRESS: AtkKeyEventType = 0;
42pub const ATK_KEY_EVENT_RELEASE: AtkKeyEventType = 1;
43pub const ATK_KEY_EVENT_LAST_DEFINED: AtkKeyEventType = 2;
44
45pub type AtkLayer = c_int;
46pub const ATK_LAYER_INVALID: AtkLayer = 0;
47pub const ATK_LAYER_BACKGROUND: AtkLayer = 1;
48pub const ATK_LAYER_CANVAS: AtkLayer = 2;
49pub const ATK_LAYER_WIDGET: AtkLayer = 3;
50pub const ATK_LAYER_MDI: AtkLayer = 4;
51pub const ATK_LAYER_POPUP: AtkLayer = 5;
52pub const ATK_LAYER_OVERLAY: AtkLayer = 6;
53pub const ATK_LAYER_WINDOW: AtkLayer = 7;
54
55pub type AtkLive = c_int;
56pub const ATK_LIVE_NONE: AtkLive = 0;
57pub const ATK_LIVE_POLITE: AtkLive = 1;
58pub const ATK_LIVE_ASSERTIVE: AtkLive = 2;
59
60pub type AtkRelationType = c_int;
61pub const ATK_RELATION_NULL: AtkRelationType = 0;
62pub const ATK_RELATION_CONTROLLED_BY: AtkRelationType = 1;
63pub const ATK_RELATION_CONTROLLER_FOR: AtkRelationType = 2;
64pub const ATK_RELATION_LABEL_FOR: AtkRelationType = 3;
65pub const ATK_RELATION_LABELLED_BY: AtkRelationType = 4;
66pub const ATK_RELATION_MEMBER_OF: AtkRelationType = 5;
67pub const ATK_RELATION_NODE_CHILD_OF: AtkRelationType = 6;
68pub const ATK_RELATION_FLOWS_TO: AtkRelationType = 7;
69pub const ATK_RELATION_FLOWS_FROM: AtkRelationType = 8;
70pub const ATK_RELATION_SUBWINDOW_OF: AtkRelationType = 9;
71pub const ATK_RELATION_EMBEDS: AtkRelationType = 10;
72pub const ATK_RELATION_EMBEDDED_BY: AtkRelationType = 11;
73pub const ATK_RELATION_POPUP_FOR: AtkRelationType = 12;
74pub const ATK_RELATION_PARENT_WINDOW_OF: AtkRelationType = 13;
75pub const ATK_RELATION_DESCRIBED_BY: AtkRelationType = 14;
76pub const ATK_RELATION_DESCRIPTION_FOR: AtkRelationType = 15;
77pub const ATK_RELATION_NODE_PARENT_OF: AtkRelationType = 16;
78pub const ATK_RELATION_DETAILS: AtkRelationType = 17;
79pub const ATK_RELATION_DETAILS_FOR: AtkRelationType = 18;
80pub const ATK_RELATION_ERROR_MESSAGE: AtkRelationType = 19;
81pub const ATK_RELATION_ERROR_FOR: AtkRelationType = 20;
82pub const ATK_RELATION_LAST_DEFINED: AtkRelationType = 21;
83
84pub type AtkRole = c_int;
85pub const ATK_ROLE_INVALID: AtkRole = 0;
86pub const ATK_ROLE_ACCEL_LABEL: AtkRole = 1;
87pub const ATK_ROLE_ALERT: AtkRole = 2;
88pub const ATK_ROLE_ANIMATION: AtkRole = 3;
89pub const ATK_ROLE_ARROW: AtkRole = 4;
90pub const ATK_ROLE_CALENDAR: AtkRole = 5;
91pub const ATK_ROLE_CANVAS: AtkRole = 6;
92pub const ATK_ROLE_CHECK_BOX: AtkRole = 7;
93pub const ATK_ROLE_CHECK_MENU_ITEM: AtkRole = 8;
94pub const ATK_ROLE_COLOR_CHOOSER: AtkRole = 9;
95pub const ATK_ROLE_COLUMN_HEADER: AtkRole = 10;
96pub const ATK_ROLE_COMBO_BOX: AtkRole = 11;
97pub const ATK_ROLE_DATE_EDITOR: AtkRole = 12;
98pub const ATK_ROLE_DESKTOP_ICON: AtkRole = 13;
99pub const ATK_ROLE_DESKTOP_FRAME: AtkRole = 14;
100pub const ATK_ROLE_DIAL: AtkRole = 15;
101pub const ATK_ROLE_DIALOG: AtkRole = 16;
102pub const ATK_ROLE_DIRECTORY_PANE: AtkRole = 17;
103pub const ATK_ROLE_DRAWING_AREA: AtkRole = 18;
104pub const ATK_ROLE_FILE_CHOOSER: AtkRole = 19;
105pub const ATK_ROLE_FILLER: AtkRole = 20;
106pub const ATK_ROLE_FONT_CHOOSER: AtkRole = 21;
107pub const ATK_ROLE_FRAME: AtkRole = 22;
108pub const ATK_ROLE_GLASS_PANE: AtkRole = 23;
109pub const ATK_ROLE_HTML_CONTAINER: AtkRole = 24;
110pub const ATK_ROLE_ICON: AtkRole = 25;
111pub const ATK_ROLE_IMAGE: AtkRole = 26;
112pub const ATK_ROLE_INTERNAL_FRAME: AtkRole = 27;
113pub const ATK_ROLE_LABEL: AtkRole = 28;
114pub const ATK_ROLE_LAYERED_PANE: AtkRole = 29;
115pub const ATK_ROLE_LIST: AtkRole = 30;
116pub const ATK_ROLE_LIST_ITEM: AtkRole = 31;
117pub const ATK_ROLE_MENU: AtkRole = 32;
118pub const ATK_ROLE_MENU_BAR: AtkRole = 33;
119pub const ATK_ROLE_MENU_ITEM: AtkRole = 34;
120pub const ATK_ROLE_OPTION_PANE: AtkRole = 35;
121pub const ATK_ROLE_PAGE_TAB: AtkRole = 36;
122pub const ATK_ROLE_PAGE_TAB_LIST: AtkRole = 37;
123pub const ATK_ROLE_PANEL: AtkRole = 38;
124pub const ATK_ROLE_PASSWORD_TEXT: AtkRole = 39;
125pub const ATK_ROLE_POPUP_MENU: AtkRole = 40;
126pub const ATK_ROLE_PROGRESS_BAR: AtkRole = 41;
127pub const ATK_ROLE_BUTTON: AtkRole = 42;
128pub const ATK_ROLE_RADIO_BUTTON: AtkRole = 43;
129pub const ATK_ROLE_RADIO_MENU_ITEM: AtkRole = 44;
130pub const ATK_ROLE_ROOT_PANE: AtkRole = 45;
131pub const ATK_ROLE_ROW_HEADER: AtkRole = 46;
132pub const ATK_ROLE_SCROLL_BAR: AtkRole = 47;
133pub const ATK_ROLE_SCROLL_PANE: AtkRole = 48;
134pub const ATK_ROLE_SEPARATOR: AtkRole = 49;
135pub const ATK_ROLE_SLIDER: AtkRole = 50;
136pub const ATK_ROLE_SPLIT_PANE: AtkRole = 51;
137pub const ATK_ROLE_SPIN_BUTTON: AtkRole = 52;
138pub const ATK_ROLE_STATUSBAR: AtkRole = 53;
139pub const ATK_ROLE_TABLE: AtkRole = 54;
140pub const ATK_ROLE_TABLE_CELL: AtkRole = 55;
141pub const ATK_ROLE_TABLE_COLUMN_HEADER: AtkRole = 56;
142pub const ATK_ROLE_TABLE_ROW_HEADER: AtkRole = 57;
143pub const ATK_ROLE_TEAR_OFF_MENU_ITEM: AtkRole = 58;
144pub const ATK_ROLE_TERMINAL: AtkRole = 59;
145pub const ATK_ROLE_TEXT: AtkRole = 60;
146pub const ATK_ROLE_TOGGLE_BUTTON: AtkRole = 61;
147pub const ATK_ROLE_TOOL_BAR: AtkRole = 62;
148pub const ATK_ROLE_TOOL_TIP: AtkRole = 63;
149pub const ATK_ROLE_TREE: AtkRole = 64;
150pub const ATK_ROLE_TREE_TABLE: AtkRole = 65;
151pub const ATK_ROLE_UNKNOWN: AtkRole = 66;
152pub const ATK_ROLE_VIEWPORT: AtkRole = 67;
153pub const ATK_ROLE_WINDOW: AtkRole = 68;
154pub const ATK_ROLE_HEADER: AtkRole = 69;
155pub const ATK_ROLE_FOOTER: AtkRole = 70;
156pub const ATK_ROLE_PARAGRAPH: AtkRole = 71;
157pub const ATK_ROLE_RULER: AtkRole = 72;
158pub const ATK_ROLE_APPLICATION: AtkRole = 73;
159pub const ATK_ROLE_AUTOCOMPLETE: AtkRole = 74;
160pub const ATK_ROLE_EDITBAR: AtkRole = 75;
161pub const ATK_ROLE_EMBEDDED: AtkRole = 76;
162pub const ATK_ROLE_ENTRY: AtkRole = 77;
163pub const ATK_ROLE_CHART: AtkRole = 78;
164pub const ATK_ROLE_CAPTION: AtkRole = 79;
165pub const ATK_ROLE_DOCUMENT_FRAME: AtkRole = 80;
166pub const ATK_ROLE_HEADING: AtkRole = 81;
167pub const ATK_ROLE_PAGE: AtkRole = 82;
168pub const ATK_ROLE_SECTION: AtkRole = 83;
169pub const ATK_ROLE_REDUNDANT_OBJECT: AtkRole = 84;
170pub const ATK_ROLE_FORM: AtkRole = 85;
171pub const ATK_ROLE_LINK: AtkRole = 86;
172pub const ATK_ROLE_INPUT_METHOD_WINDOW: AtkRole = 87;
173pub const ATK_ROLE_TABLE_ROW: AtkRole = 88;
174pub const ATK_ROLE_TREE_ITEM: AtkRole = 89;
175pub const ATK_ROLE_DOCUMENT_SPREADSHEET: AtkRole = 90;
176pub const ATK_ROLE_DOCUMENT_PRESENTATION: AtkRole = 91;
177pub const ATK_ROLE_DOCUMENT_TEXT: AtkRole = 92;
178pub const ATK_ROLE_DOCUMENT_WEB: AtkRole = 93;
179pub const ATK_ROLE_DOCUMENT_EMAIL: AtkRole = 94;
180pub const ATK_ROLE_COMMENT: AtkRole = 95;
181pub const ATK_ROLE_LIST_BOX: AtkRole = 96;
182pub const ATK_ROLE_GROUPING: AtkRole = 97;
183pub const ATK_ROLE_IMAGE_MAP: AtkRole = 98;
184pub const ATK_ROLE_NOTIFICATION: AtkRole = 99;
185pub const ATK_ROLE_INFO_BAR: AtkRole = 100;
186pub const ATK_ROLE_LEVEL_BAR: AtkRole = 101;
187pub const ATK_ROLE_TITLE_BAR: AtkRole = 102;
188pub const ATK_ROLE_BLOCK_QUOTE: AtkRole = 103;
189pub const ATK_ROLE_AUDIO: AtkRole = 104;
190pub const ATK_ROLE_VIDEO: AtkRole = 105;
191pub const ATK_ROLE_DEFINITION: AtkRole = 106;
192pub const ATK_ROLE_ARTICLE: AtkRole = 107;
193pub const ATK_ROLE_LANDMARK: AtkRole = 108;
194pub const ATK_ROLE_LOG: AtkRole = 109;
195pub const ATK_ROLE_MARQUEE: AtkRole = 110;
196pub const ATK_ROLE_MATH: AtkRole = 111;
197pub const ATK_ROLE_RATING: AtkRole = 112;
198pub const ATK_ROLE_TIMER: AtkRole = 113;
199pub const ATK_ROLE_DESCRIPTION_LIST: AtkRole = 114;
200pub const ATK_ROLE_DESCRIPTION_TERM: AtkRole = 115;
201pub const ATK_ROLE_DESCRIPTION_VALUE: AtkRole = 116;
202pub const ATK_ROLE_STATIC: AtkRole = 117;
203pub const ATK_ROLE_MATH_FRACTION: AtkRole = 118;
204pub const ATK_ROLE_MATH_ROOT: AtkRole = 119;
205pub const ATK_ROLE_SUBSCRIPT: AtkRole = 120;
206pub const ATK_ROLE_SUPERSCRIPT: AtkRole = 121;
207pub const ATK_ROLE_FOOTNOTE: AtkRole = 122;
208pub const ATK_ROLE_CONTENT_DELETION: AtkRole = 123;
209pub const ATK_ROLE_CONTENT_INSERTION: AtkRole = 124;
210pub const ATK_ROLE_MARK: AtkRole = 125;
211pub const ATK_ROLE_SUGGESTION: AtkRole = 126;
212pub const ATK_ROLE_PUSH_BUTTON_MENU: AtkRole = 127;
213pub const ATK_ROLE_SWITCH: AtkRole = 128;
214pub const ATK_ROLE_LAST_DEFINED: AtkRole = 129;
215pub const ATK_ROLE_PUSH_BUTTON: AtkRole = 42;
216
217pub type AtkScrollType = c_int;
218pub const ATK_SCROLL_TOP_LEFT: AtkScrollType = 0;
219pub const ATK_SCROLL_BOTTOM_RIGHT: AtkScrollType = 1;
220pub const ATK_SCROLL_TOP_EDGE: AtkScrollType = 2;
221pub const ATK_SCROLL_BOTTOM_EDGE: AtkScrollType = 3;
222pub const ATK_SCROLL_LEFT_EDGE: AtkScrollType = 4;
223pub const ATK_SCROLL_RIGHT_EDGE: AtkScrollType = 5;
224pub const ATK_SCROLL_ANYWHERE: AtkScrollType = 6;
225
226pub type AtkStateType = c_int;
227pub const ATK_STATE_INVALID: AtkStateType = 0;
228pub const ATK_STATE_ACTIVE: AtkStateType = 1;
229pub const ATK_STATE_ARMED: AtkStateType = 2;
230pub const ATK_STATE_BUSY: AtkStateType = 3;
231pub const ATK_STATE_CHECKED: AtkStateType = 4;
232pub const ATK_STATE_DEFUNCT: AtkStateType = 5;
233pub const ATK_STATE_EDITABLE: AtkStateType = 6;
234pub const ATK_STATE_ENABLED: AtkStateType = 7;
235pub const ATK_STATE_EXPANDABLE: AtkStateType = 8;
236pub const ATK_STATE_EXPANDED: AtkStateType = 9;
237pub const ATK_STATE_FOCUSABLE: AtkStateType = 10;
238pub const ATK_STATE_FOCUSED: AtkStateType = 11;
239pub const ATK_STATE_HORIZONTAL: AtkStateType = 12;
240pub const ATK_STATE_ICONIFIED: AtkStateType = 13;
241pub const ATK_STATE_MODAL: AtkStateType = 14;
242pub const ATK_STATE_MULTI_LINE: AtkStateType = 15;
243pub const ATK_STATE_MULTISELECTABLE: AtkStateType = 16;
244pub const ATK_STATE_OPAQUE: AtkStateType = 17;
245pub const ATK_STATE_PRESSED: AtkStateType = 18;
246pub const ATK_STATE_RESIZABLE: AtkStateType = 19;
247pub const ATK_STATE_SELECTABLE: AtkStateType = 20;
248pub const ATK_STATE_SELECTED: AtkStateType = 21;
249pub const ATK_STATE_SENSITIVE: AtkStateType = 22;
250pub const ATK_STATE_SHOWING: AtkStateType = 23;
251pub const ATK_STATE_SINGLE_LINE: AtkStateType = 24;
252pub const ATK_STATE_STALE: AtkStateType = 25;
253pub const ATK_STATE_TRANSIENT: AtkStateType = 26;
254pub const ATK_STATE_VERTICAL: AtkStateType = 27;
255pub const ATK_STATE_VISIBLE: AtkStateType = 28;
256pub const ATK_STATE_MANAGES_DESCENDANTS: AtkStateType = 29;
257pub const ATK_STATE_INDETERMINATE: AtkStateType = 30;
258pub const ATK_STATE_TRUNCATED: AtkStateType = 31;
259pub const ATK_STATE_REQUIRED: AtkStateType = 32;
260pub const ATK_STATE_INVALID_ENTRY: AtkStateType = 33;
261pub const ATK_STATE_SUPPORTS_AUTOCOMPLETION: AtkStateType = 34;
262pub const ATK_STATE_SELECTABLE_TEXT: AtkStateType = 35;
263pub const ATK_STATE_DEFAULT: AtkStateType = 36;
264pub const ATK_STATE_ANIMATED: AtkStateType = 37;
265pub const ATK_STATE_VISITED: AtkStateType = 38;
266pub const ATK_STATE_CHECKABLE: AtkStateType = 39;
267pub const ATK_STATE_HAS_POPUP: AtkStateType = 40;
268pub const ATK_STATE_HAS_TOOLTIP: AtkStateType = 41;
269pub const ATK_STATE_READ_ONLY: AtkStateType = 42;
270#[cfg(feature = "v2_38")]
271#[cfg_attr(docsrs, doc(cfg(feature = "v2_38")))]
272pub const ATK_STATE_COLLAPSED: AtkStateType = 43;
273pub const ATK_STATE_LAST_DEFINED: AtkStateType = 44;
274
275pub type AtkTextAttribute = c_int;
276pub const ATK_TEXT_ATTR_INVALID: AtkTextAttribute = 0;
277pub const ATK_TEXT_ATTR_LEFT_MARGIN: AtkTextAttribute = 1;
278pub const ATK_TEXT_ATTR_RIGHT_MARGIN: AtkTextAttribute = 2;
279pub const ATK_TEXT_ATTR_INDENT: AtkTextAttribute = 3;
280pub const ATK_TEXT_ATTR_INVISIBLE: AtkTextAttribute = 4;
281pub const ATK_TEXT_ATTR_EDITABLE: AtkTextAttribute = 5;
282pub const ATK_TEXT_ATTR_PIXELS_ABOVE_LINES: AtkTextAttribute = 6;
283pub const ATK_TEXT_ATTR_PIXELS_BELOW_LINES: AtkTextAttribute = 7;
284pub const ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP: AtkTextAttribute = 8;
285pub const ATK_TEXT_ATTR_BG_FULL_HEIGHT: AtkTextAttribute = 9;
286pub const ATK_TEXT_ATTR_RISE: AtkTextAttribute = 10;
287pub const ATK_TEXT_ATTR_UNDERLINE: AtkTextAttribute = 11;
288pub const ATK_TEXT_ATTR_STRIKETHROUGH: AtkTextAttribute = 12;
289pub const ATK_TEXT_ATTR_SIZE: AtkTextAttribute = 13;
290pub const ATK_TEXT_ATTR_SCALE: AtkTextAttribute = 14;
291pub const ATK_TEXT_ATTR_WEIGHT: AtkTextAttribute = 15;
292pub const ATK_TEXT_ATTR_LANGUAGE: AtkTextAttribute = 16;
293pub const ATK_TEXT_ATTR_FAMILY_NAME: AtkTextAttribute = 17;
294pub const ATK_TEXT_ATTR_BG_COLOR: AtkTextAttribute = 18;
295pub const ATK_TEXT_ATTR_FG_COLOR: AtkTextAttribute = 19;
296pub const ATK_TEXT_ATTR_BG_STIPPLE: AtkTextAttribute = 20;
297pub const ATK_TEXT_ATTR_FG_STIPPLE: AtkTextAttribute = 21;
298pub const ATK_TEXT_ATTR_WRAP_MODE: AtkTextAttribute = 22;
299pub const ATK_TEXT_ATTR_DIRECTION: AtkTextAttribute = 23;
300pub const ATK_TEXT_ATTR_JUSTIFICATION: AtkTextAttribute = 24;
301pub const ATK_TEXT_ATTR_STRETCH: AtkTextAttribute = 25;
302pub const ATK_TEXT_ATTR_VARIANT: AtkTextAttribute = 26;
303pub const ATK_TEXT_ATTR_STYLE: AtkTextAttribute = 27;
304pub const ATK_TEXT_ATTR_TEXT_POSITION: AtkTextAttribute = 28;
305pub const ATK_TEXT_ATTR_LAST_DEFINED: AtkTextAttribute = 29;
306
307pub type AtkTextBoundary = c_int;
308pub const ATK_TEXT_BOUNDARY_CHAR: AtkTextBoundary = 0;
309pub const ATK_TEXT_BOUNDARY_WORD_START: AtkTextBoundary = 1;
310pub const ATK_TEXT_BOUNDARY_WORD_END: AtkTextBoundary = 2;
311pub const ATK_TEXT_BOUNDARY_SENTENCE_START: AtkTextBoundary = 3;
312pub const ATK_TEXT_BOUNDARY_SENTENCE_END: AtkTextBoundary = 4;
313pub const ATK_TEXT_BOUNDARY_LINE_START: AtkTextBoundary = 5;
314pub const ATK_TEXT_BOUNDARY_LINE_END: AtkTextBoundary = 6;
315
316pub type AtkTextClipType = c_int;
317pub const ATK_TEXT_CLIP_NONE: AtkTextClipType = 0;
318pub const ATK_TEXT_CLIP_MIN: AtkTextClipType = 1;
319pub const ATK_TEXT_CLIP_MAX: AtkTextClipType = 2;
320pub const ATK_TEXT_CLIP_BOTH: AtkTextClipType = 3;
321
322pub type AtkTextGranularity = c_int;
323pub const ATK_TEXT_GRANULARITY_CHAR: AtkTextGranularity = 0;
324pub const ATK_TEXT_GRANULARITY_WORD: AtkTextGranularity = 1;
325pub const ATK_TEXT_GRANULARITY_SENTENCE: AtkTextGranularity = 2;
326pub const ATK_TEXT_GRANULARITY_LINE: AtkTextGranularity = 3;
327pub const ATK_TEXT_GRANULARITY_PARAGRAPH: AtkTextGranularity = 4;
328
329pub type AtkValueType = c_int;
330pub const ATK_VALUE_VERY_WEAK: AtkValueType = 0;
331pub const ATK_VALUE_WEAK: AtkValueType = 1;
332pub const ATK_VALUE_ACCEPTABLE: AtkValueType = 2;
333pub const ATK_VALUE_STRONG: AtkValueType = 3;
334pub const ATK_VALUE_VERY_STRONG: AtkValueType = 4;
335pub const ATK_VALUE_VERY_LOW: AtkValueType = 5;
336pub const ATK_VALUE_LOW: AtkValueType = 6;
337pub const ATK_VALUE_MEDIUM: AtkValueType = 7;
338pub const ATK_VALUE_HIGH: AtkValueType = 8;
339pub const ATK_VALUE_VERY_HIGH: AtkValueType = 9;
340pub const ATK_VALUE_VERY_BAD: AtkValueType = 10;
341pub const ATK_VALUE_BAD: AtkValueType = 11;
342pub const ATK_VALUE_GOOD: AtkValueType = 12;
343pub const ATK_VALUE_VERY_GOOD: AtkValueType = 13;
344pub const ATK_VALUE_BEST: AtkValueType = 14;
345pub const ATK_VALUE_LAST_DEFINED: AtkValueType = 15;
346
347// Constants
348
349// Flags
350pub type AtkHyperlinkStateFlags = c_uint;
351pub const ATK_HYPERLINK_IS_INLINE: AtkHyperlinkStateFlags = 1;
352
353// Callbacks
354pub type AtkEventListener = Option<unsafe extern "C" fn(*mut AtkObject)>;
355pub type AtkEventListenerInit = Option<unsafe extern "C" fn()>;
356pub type AtkFocusHandler = Option<unsafe extern "C" fn(*mut AtkObject, gboolean)>;
357pub type AtkFunction = Option<unsafe extern "C" fn(gpointer) -> gboolean>;
358pub type AtkKeySnoopFunc = Option<unsafe extern "C" fn(*mut AtkKeyEventStruct, gpointer) -> c_int>;
359pub type AtkPropertyChangeHandler =
360    Option<unsafe extern "C" fn(*mut AtkObject, *mut AtkPropertyValues)>;
361
362// Records
363#[derive(Copy, Clone)]
364#[repr(C)]
365pub struct AtkActionIface {
366    pub parent: gobject::GTypeInterface,
367    pub do_action: Option<unsafe extern "C" fn(*mut AtkAction, c_int) -> gboolean>,
368    pub get_n_actions: Option<unsafe extern "C" fn(*mut AtkAction) -> c_int>,
369    pub get_description: Option<unsafe extern "C" fn(*mut AtkAction, c_int) -> *const c_char>,
370    pub get_name: Option<unsafe extern "C" fn(*mut AtkAction, c_int) -> *const c_char>,
371    pub get_keybinding: Option<unsafe extern "C" fn(*mut AtkAction, c_int) -> *const c_char>,
372    pub set_description:
373        Option<unsafe extern "C" fn(*mut AtkAction, c_int, *const c_char) -> gboolean>,
374    pub get_localized_name: Option<unsafe extern "C" fn(*mut AtkAction, c_int) -> *const c_char>,
375}
376
377impl ::std::fmt::Debug for AtkActionIface {
378    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
379        f.debug_struct(&format!("AtkActionIface @ {self:p}"))
380            .field("do_action", &self.do_action)
381            .field("get_n_actions", &self.get_n_actions)
382            .field("get_description", &self.get_description)
383            .field("get_name", &self.get_name)
384            .field("get_keybinding", &self.get_keybinding)
385            .field("set_description", &self.set_description)
386            .field("get_localized_name", &self.get_localized_name)
387            .finish()
388    }
389}
390
391#[derive(Copy, Clone)]
392#[repr(C)]
393pub struct AtkAttribute {
394    pub name: *mut c_char,
395    pub value: *mut c_char,
396}
397
398impl ::std::fmt::Debug for AtkAttribute {
399    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
400        f.debug_struct(&format!("AtkAttribute @ {self:p}"))
401            .field("name", &self.name)
402            .field("value", &self.value)
403            .finish()
404    }
405}
406
407#[derive(Copy, Clone)]
408#[repr(C)]
409pub struct AtkComponentIface {
410    pub parent: gobject::GTypeInterface,
411    pub add_focus_handler:
412        Option<unsafe extern "C" fn(*mut AtkComponent, AtkFocusHandler) -> c_uint>,
413    pub contains:
414        Option<unsafe extern "C" fn(*mut AtkComponent, c_int, c_int, AtkCoordType) -> gboolean>,
415    pub ref_accessible_at_point: Option<
416        unsafe extern "C" fn(*mut AtkComponent, c_int, c_int, AtkCoordType) -> *mut AtkObject,
417    >,
418    pub get_extents: Option<
419        unsafe extern "C" fn(
420            *mut AtkComponent,
421            *mut c_int,
422            *mut c_int,
423            *mut c_int,
424            *mut c_int,
425            AtkCoordType,
426        ),
427    >,
428    pub get_position:
429        Option<unsafe extern "C" fn(*mut AtkComponent, *mut c_int, *mut c_int, AtkCoordType)>,
430    pub get_size: Option<unsafe extern "C" fn(*mut AtkComponent, *mut c_int, *mut c_int)>,
431    pub grab_focus: Option<unsafe extern "C" fn(*mut AtkComponent) -> gboolean>,
432    pub remove_focus_handler: Option<unsafe extern "C" fn(*mut AtkComponent, c_uint)>,
433    pub set_extents: Option<
434        unsafe extern "C" fn(
435            *mut AtkComponent,
436            c_int,
437            c_int,
438            c_int,
439            c_int,
440            AtkCoordType,
441        ) -> gboolean,
442    >,
443    pub set_position:
444        Option<unsafe extern "C" fn(*mut AtkComponent, c_int, c_int, AtkCoordType) -> gboolean>,
445    pub set_size: Option<unsafe extern "C" fn(*mut AtkComponent, c_int, c_int) -> gboolean>,
446    pub get_layer: Option<unsafe extern "C" fn(*mut AtkComponent) -> AtkLayer>,
447    pub get_mdi_zorder: Option<unsafe extern "C" fn(*mut AtkComponent) -> c_int>,
448    pub bounds_changed: Option<unsafe extern "C" fn(*mut AtkComponent, *mut AtkRectangle)>,
449    pub get_alpha: Option<unsafe extern "C" fn(*mut AtkComponent) -> c_double>,
450    pub scroll_to: Option<unsafe extern "C" fn(*mut AtkComponent, AtkScrollType) -> gboolean>,
451    pub scroll_to_point:
452        Option<unsafe extern "C" fn(*mut AtkComponent, AtkCoordType, c_int, c_int) -> gboolean>,
453}
454
455impl ::std::fmt::Debug for AtkComponentIface {
456    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
457        f.debug_struct(&format!("AtkComponentIface @ {self:p}"))
458            .field("add_focus_handler", &self.add_focus_handler)
459            .field("contains", &self.contains)
460            .field("ref_accessible_at_point", &self.ref_accessible_at_point)
461            .field("get_extents", &self.get_extents)
462            .field("get_position", &self.get_position)
463            .field("get_size", &self.get_size)
464            .field("grab_focus", &self.grab_focus)
465            .field("remove_focus_handler", &self.remove_focus_handler)
466            .field("set_extents", &self.set_extents)
467            .field("set_position", &self.set_position)
468            .field("set_size", &self.set_size)
469            .field("get_layer", &self.get_layer)
470            .field("get_mdi_zorder", &self.get_mdi_zorder)
471            .field("bounds_changed", &self.bounds_changed)
472            .field("get_alpha", &self.get_alpha)
473            .field("scroll_to", &self.scroll_to)
474            .field("scroll_to_point", &self.scroll_to_point)
475            .finish()
476    }
477}
478
479#[derive(Copy, Clone)]
480#[repr(C)]
481pub struct AtkDocumentIface {
482    pub parent: gobject::GTypeInterface,
483    pub get_document_type: Option<unsafe extern "C" fn(*mut AtkDocument) -> *const c_char>,
484    pub get_document: Option<unsafe extern "C" fn(*mut AtkDocument) -> gpointer>,
485    pub get_document_locale: Option<unsafe extern "C" fn(*mut AtkDocument) -> *const c_char>,
486    pub get_document_attributes:
487        Option<unsafe extern "C" fn(*mut AtkDocument) -> *mut AtkAttributeSet>,
488    pub get_document_attribute_value:
489        Option<unsafe extern "C" fn(*mut AtkDocument, *const c_char) -> *const c_char>,
490    pub set_document_attribute:
491        Option<unsafe extern "C" fn(*mut AtkDocument, *const c_char, *const c_char) -> gboolean>,
492    pub get_current_page_number: Option<unsafe extern "C" fn(*mut AtkDocument) -> c_int>,
493    pub get_page_count: Option<unsafe extern "C" fn(*mut AtkDocument) -> c_int>,
494    pub get_text_selections: Option<unsafe extern "C" fn(*mut AtkDocument) -> *mut glib::GArray>,
495    pub set_text_selections:
496        Option<unsafe extern "C" fn(*mut AtkDocument, *mut glib::GArray) -> gboolean>,
497}
498
499impl ::std::fmt::Debug for AtkDocumentIface {
500    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
501        f.debug_struct(&format!("AtkDocumentIface @ {self:p}"))
502            .field("parent", &self.parent)
503            .field("get_document_type", &self.get_document_type)
504            .field("get_document", &self.get_document)
505            .field("get_document_locale", &self.get_document_locale)
506            .field("get_document_attributes", &self.get_document_attributes)
507            .field(
508                "get_document_attribute_value",
509                &self.get_document_attribute_value,
510            )
511            .field("set_document_attribute", &self.set_document_attribute)
512            .field("get_current_page_number", &self.get_current_page_number)
513            .field("get_page_count", &self.get_page_count)
514            .field("get_text_selections", &self.get_text_selections)
515            .field("set_text_selections", &self.set_text_selections)
516            .finish()
517    }
518}
519
520#[derive(Copy, Clone)]
521#[repr(C)]
522pub struct AtkEditableTextIface {
523    pub parent_interface: gobject::GTypeInterface,
524    pub set_run_attributes: Option<
525        unsafe extern "C" fn(*mut AtkEditableText, *mut AtkAttributeSet, c_int, c_int) -> gboolean,
526    >,
527    pub set_text_contents: Option<unsafe extern "C" fn(*mut AtkEditableText, *const c_char)>,
528    pub insert_text:
529        Option<unsafe extern "C" fn(*mut AtkEditableText, *const c_char, c_int, *mut c_int)>,
530    pub copy_text: Option<unsafe extern "C" fn(*mut AtkEditableText, c_int, c_int)>,
531    pub cut_text: Option<unsafe extern "C" fn(*mut AtkEditableText, c_int, c_int)>,
532    pub delete_text: Option<unsafe extern "C" fn(*mut AtkEditableText, c_int, c_int)>,
533    pub paste_text: Option<unsafe extern "C" fn(*mut AtkEditableText, c_int)>,
534}
535
536impl ::std::fmt::Debug for AtkEditableTextIface {
537    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
538        f.debug_struct(&format!("AtkEditableTextIface @ {self:p}"))
539            .field("parent_interface", &self.parent_interface)
540            .field("set_run_attributes", &self.set_run_attributes)
541            .field("set_text_contents", &self.set_text_contents)
542            .field("insert_text", &self.insert_text)
543            .field("copy_text", &self.copy_text)
544            .field("cut_text", &self.cut_text)
545            .field("delete_text", &self.delete_text)
546            .field("paste_text", &self.paste_text)
547            .finish()
548    }
549}
550
551#[derive(Copy, Clone)]
552#[repr(C)]
553pub struct AtkGObjectAccessibleClass {
554    pub parent_class: AtkObjectClass,
555    pub pad1: AtkFunction,
556    pub pad2: AtkFunction,
557}
558
559impl ::std::fmt::Debug for AtkGObjectAccessibleClass {
560    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
561        f.debug_struct(&format!("AtkGObjectAccessibleClass @ {self:p}"))
562            .field("parent_class", &self.parent_class)
563            .field("pad1", &self.pad1)
564            .field("pad2", &self.pad2)
565            .finish()
566    }
567}
568
569#[derive(Copy, Clone)]
570#[repr(C)]
571pub struct AtkHyperlinkClass {
572    pub parent: gobject::GObjectClass,
573    pub get_uri: Option<unsafe extern "C" fn(*mut AtkHyperlink, c_int) -> *mut c_char>,
574    pub get_object: Option<unsafe extern "C" fn(*mut AtkHyperlink, c_int) -> *mut AtkObject>,
575    pub get_end_index: Option<unsafe extern "C" fn(*mut AtkHyperlink) -> c_int>,
576    pub get_start_index: Option<unsafe extern "C" fn(*mut AtkHyperlink) -> c_int>,
577    pub is_valid: Option<unsafe extern "C" fn(*mut AtkHyperlink) -> gboolean>,
578    pub get_n_anchors: Option<unsafe extern "C" fn(*mut AtkHyperlink) -> c_int>,
579    pub link_state: Option<unsafe extern "C" fn(*mut AtkHyperlink) -> c_uint>,
580    pub is_selected_link: Option<unsafe extern "C" fn(*mut AtkHyperlink) -> gboolean>,
581    pub link_activated: Option<unsafe extern "C" fn(*mut AtkHyperlink)>,
582    pub pad1: AtkFunction,
583}
584
585impl ::std::fmt::Debug for AtkHyperlinkClass {
586    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
587        f.debug_struct(&format!("AtkHyperlinkClass @ {self:p}"))
588            .field("parent", &self.parent)
589            .field("get_uri", &self.get_uri)
590            .field("get_object", &self.get_object)
591            .field("get_end_index", &self.get_end_index)
592            .field("get_start_index", &self.get_start_index)
593            .field("is_valid", &self.is_valid)
594            .field("get_n_anchors", &self.get_n_anchors)
595            .field("link_state", &self.link_state)
596            .field("is_selected_link", &self.is_selected_link)
597            .field("link_activated", &self.link_activated)
598            .field("pad1", &self.pad1)
599            .finish()
600    }
601}
602
603#[derive(Copy, Clone)]
604#[repr(C)]
605pub struct AtkHyperlinkImplIface {
606    pub parent: gobject::GTypeInterface,
607    pub get_hyperlink: Option<unsafe extern "C" fn(*mut AtkHyperlinkImpl) -> *mut AtkHyperlink>,
608}
609
610impl ::std::fmt::Debug for AtkHyperlinkImplIface {
611    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
612        f.debug_struct(&format!("AtkHyperlinkImplIface @ {self:p}"))
613            .field("parent", &self.parent)
614            .field("get_hyperlink", &self.get_hyperlink)
615            .finish()
616    }
617}
618
619#[derive(Copy, Clone)]
620#[repr(C)]
621pub struct AtkHypertextIface {
622    pub parent: gobject::GTypeInterface,
623    pub get_link: Option<unsafe extern "C" fn(*mut AtkHypertext, c_int) -> *mut AtkHyperlink>,
624    pub get_n_links: Option<unsafe extern "C" fn(*mut AtkHypertext) -> c_int>,
625    pub get_link_index: Option<unsafe extern "C" fn(*mut AtkHypertext, c_int) -> c_int>,
626    pub link_selected: Option<unsafe extern "C" fn(*mut AtkHypertext, c_int)>,
627}
628
629impl ::std::fmt::Debug for AtkHypertextIface {
630    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
631        f.debug_struct(&format!("AtkHypertextIface @ {self:p}"))
632            .field("parent", &self.parent)
633            .field("get_link", &self.get_link)
634            .field("get_n_links", &self.get_n_links)
635            .field("get_link_index", &self.get_link_index)
636            .field("link_selected", &self.link_selected)
637            .finish()
638    }
639}
640
641#[derive(Copy, Clone)]
642#[repr(C)]
643pub struct AtkImageIface {
644    pub parent: gobject::GTypeInterface,
645    pub get_image_position:
646        Option<unsafe extern "C" fn(*mut AtkImage, *mut c_int, *mut c_int, AtkCoordType)>,
647    pub get_image_description: Option<unsafe extern "C" fn(*mut AtkImage) -> *const c_char>,
648    pub get_image_size: Option<unsafe extern "C" fn(*mut AtkImage, *mut c_int, *mut c_int)>,
649    pub set_image_description:
650        Option<unsafe extern "C" fn(*mut AtkImage, *const c_char) -> gboolean>,
651    pub get_image_locale: Option<unsafe extern "C" fn(*mut AtkImage) -> *const c_char>,
652}
653
654impl ::std::fmt::Debug for AtkImageIface {
655    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
656        f.debug_struct(&format!("AtkImageIface @ {self:p}"))
657            .field("parent", &self.parent)
658            .field("get_image_position", &self.get_image_position)
659            .field("get_image_description", &self.get_image_description)
660            .field("get_image_size", &self.get_image_size)
661            .field("set_image_description", &self.set_image_description)
662            .field("get_image_locale", &self.get_image_locale)
663            .finish()
664    }
665}
666
667#[repr(C)]
668#[allow(dead_code)]
669pub struct _AtkImplementor {
670    _data: [u8; 0],
671    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
672}
673
674pub type AtkImplementor = _AtkImplementor;
675
676#[derive(Copy, Clone)]
677#[repr(C)]
678pub struct AtkKeyEventStruct {
679    pub type_: c_int,
680    pub state: c_uint,
681    pub keyval: c_uint,
682    pub length: c_int,
683    pub string: *mut c_char,
684    pub keycode: u16,
685    pub timestamp: u32,
686}
687
688impl ::std::fmt::Debug for AtkKeyEventStruct {
689    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
690        f.debug_struct(&format!("AtkKeyEventStruct @ {self:p}"))
691            .field("type_", &self.type_)
692            .field("state", &self.state)
693            .field("keyval", &self.keyval)
694            .field("length", &self.length)
695            .field("string", &self.string)
696            .field("keycode", &self.keycode)
697            .field("timestamp", &self.timestamp)
698            .finish()
699    }
700}
701
702#[derive(Copy, Clone)]
703#[repr(C)]
704pub struct AtkMiscClass {
705    pub parent: gobject::GObjectClass,
706    pub threads_enter: Option<unsafe extern "C" fn(*mut AtkMisc)>,
707    pub threads_leave: Option<unsafe extern "C" fn(*mut AtkMisc)>,
708    pub vfuncs: [gpointer; 32],
709}
710
711impl ::std::fmt::Debug for AtkMiscClass {
712    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
713        f.debug_struct(&format!("AtkMiscClass @ {self:p}"))
714            .field("parent", &self.parent)
715            .field("threads_enter", &self.threads_enter)
716            .field("threads_leave", &self.threads_leave)
717            .field("vfuncs", &self.vfuncs)
718            .finish()
719    }
720}
721
722#[derive(Copy, Clone)]
723#[repr(C)]
724pub struct AtkNoOpObjectClass {
725    pub parent_class: AtkObjectClass,
726}
727
728impl ::std::fmt::Debug for AtkNoOpObjectClass {
729    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
730        f.debug_struct(&format!("AtkNoOpObjectClass @ {self:p}"))
731            .field("parent_class", &self.parent_class)
732            .finish()
733    }
734}
735
736#[derive(Copy, Clone)]
737#[repr(C)]
738pub struct AtkNoOpObjectFactoryClass {
739    pub parent_class: AtkObjectFactoryClass,
740}
741
742impl ::std::fmt::Debug for AtkNoOpObjectFactoryClass {
743    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
744        f.debug_struct(&format!("AtkNoOpObjectFactoryClass @ {self:p}"))
745            .field("parent_class", &self.parent_class)
746            .finish()
747    }
748}
749
750#[derive(Copy, Clone)]
751#[repr(C)]
752pub struct AtkObjectClass {
753    pub parent: gobject::GObjectClass,
754    pub get_name: Option<unsafe extern "C" fn(*mut AtkObject) -> *const c_char>,
755    pub get_description: Option<unsafe extern "C" fn(*mut AtkObject) -> *const c_char>,
756    pub get_parent: Option<unsafe extern "C" fn(*mut AtkObject) -> *mut AtkObject>,
757    pub get_n_children: Option<unsafe extern "C" fn(*mut AtkObject) -> c_int>,
758    pub ref_child: Option<unsafe extern "C" fn(*mut AtkObject, c_int) -> *mut AtkObject>,
759    pub get_index_in_parent: Option<unsafe extern "C" fn(*mut AtkObject) -> c_int>,
760    pub ref_relation_set: Option<unsafe extern "C" fn(*mut AtkObject) -> *mut AtkRelationSet>,
761    pub get_role: Option<unsafe extern "C" fn(*mut AtkObject) -> AtkRole>,
762    pub get_layer: Option<unsafe extern "C" fn(*mut AtkObject) -> AtkLayer>,
763    pub get_mdi_zorder: Option<unsafe extern "C" fn(*mut AtkObject) -> c_int>,
764    pub ref_state_set: Option<unsafe extern "C" fn(*mut AtkObject) -> *mut AtkStateSet>,
765    pub set_name: Option<unsafe extern "C" fn(*mut AtkObject, *const c_char)>,
766    pub set_description: Option<unsafe extern "C" fn(*mut AtkObject, *const c_char)>,
767    pub set_parent: Option<unsafe extern "C" fn(*mut AtkObject, *mut AtkObject)>,
768    pub set_role: Option<unsafe extern "C" fn(*mut AtkObject, AtkRole)>,
769    pub connect_property_change_handler:
770        Option<unsafe extern "C" fn(*mut AtkObject, *mut AtkPropertyChangeHandler) -> c_uint>,
771    pub remove_property_change_handler: Option<unsafe extern "C" fn(*mut AtkObject, c_uint)>,
772    pub initialize: Option<unsafe extern "C" fn(*mut AtkObject, *mut gpointer)>,
773    pub children_changed: Option<unsafe extern "C" fn(*mut AtkObject, c_uint, gpointer)>,
774    pub focus_event: Option<unsafe extern "C" fn(*mut AtkObject, gboolean)>,
775    pub property_change: Option<unsafe extern "C" fn(*mut AtkObject, *mut AtkPropertyValues)>,
776    pub state_change: Option<unsafe extern "C" fn(*mut AtkObject, *const c_char, gboolean)>,
777    pub visible_data_changed: Option<unsafe extern "C" fn(*mut AtkObject)>,
778    pub active_descendant_changed: Option<unsafe extern "C" fn(*mut AtkObject, *mut gpointer)>,
779    pub get_attributes: Option<unsafe extern "C" fn(*mut AtkObject) -> *mut AtkAttributeSet>,
780    pub get_object_locale: Option<unsafe extern "C" fn(*mut AtkObject) -> *const c_char>,
781    pub pad1: AtkFunction,
782}
783
784impl ::std::fmt::Debug for AtkObjectClass {
785    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
786        f.debug_struct(&format!("AtkObjectClass @ {self:p}"))
787            .field("parent", &self.parent)
788            .field("get_name", &self.get_name)
789            .field("get_description", &self.get_description)
790            .field("get_parent", &self.get_parent)
791            .field("get_n_children", &self.get_n_children)
792            .field("ref_child", &self.ref_child)
793            .field("get_index_in_parent", &self.get_index_in_parent)
794            .field("ref_relation_set", &self.ref_relation_set)
795            .field("get_role", &self.get_role)
796            .field("get_layer", &self.get_layer)
797            .field("get_mdi_zorder", &self.get_mdi_zorder)
798            .field("ref_state_set", &self.ref_state_set)
799            .field("set_name", &self.set_name)
800            .field("set_description", &self.set_description)
801            .field("set_parent", &self.set_parent)
802            .field("set_role", &self.set_role)
803            .field(
804                "connect_property_change_handler",
805                &self.connect_property_change_handler,
806            )
807            .field(
808                "remove_property_change_handler",
809                &self.remove_property_change_handler,
810            )
811            .field("initialize", &self.initialize)
812            .field("children_changed", &self.children_changed)
813            .field("focus_event", &self.focus_event)
814            .field("property_change", &self.property_change)
815            .field("state_change", &self.state_change)
816            .field("visible_data_changed", &self.visible_data_changed)
817            .field("active_descendant_changed", &self.active_descendant_changed)
818            .field("get_attributes", &self.get_attributes)
819            .field("get_object_locale", &self.get_object_locale)
820            .field("pad1", &self.pad1)
821            .finish()
822    }
823}
824
825#[derive(Copy, Clone)]
826#[repr(C)]
827pub struct AtkObjectFactoryClass {
828    pub parent_class: gobject::GObjectClass,
829    pub create_accessible: Option<unsafe extern "C" fn(*mut gobject::GObject) -> *mut AtkObject>,
830    pub invalidate: Option<unsafe extern "C" fn(*mut AtkObjectFactory)>,
831    pub get_accessible_type: Option<unsafe extern "C" fn() -> GType>,
832    pub pad1: AtkFunction,
833    pub pad2: AtkFunction,
834}
835
836impl ::std::fmt::Debug for AtkObjectFactoryClass {
837    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
838        f.debug_struct(&format!("AtkObjectFactoryClass @ {self:p}"))
839            .field("parent_class", &self.parent_class)
840            .field("create_accessible", &self.create_accessible)
841            .field("invalidate", &self.invalidate)
842            .field("get_accessible_type", &self.get_accessible_type)
843            .field("pad1", &self.pad1)
844            .field("pad2", &self.pad2)
845            .finish()
846    }
847}
848
849#[derive(Copy, Clone)]
850#[repr(C)]
851pub struct AtkPlugClass {
852    pub parent_class: AtkObjectClass,
853    pub get_object_id: Option<unsafe extern "C" fn(*mut AtkPlug) -> *mut c_char>,
854}
855
856impl ::std::fmt::Debug for AtkPlugClass {
857    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
858        f.debug_struct(&format!("AtkPlugClass @ {self:p}"))
859            .field("parent_class", &self.parent_class)
860            .field("get_object_id", &self.get_object_id)
861            .finish()
862    }
863}
864
865#[derive(Copy, Clone)]
866#[repr(C)]
867pub struct AtkPropertyValues {
868    pub property_name: *const c_char,
869    pub old_value: gobject::GValue,
870    pub new_value: gobject::GValue,
871}
872
873impl ::std::fmt::Debug for AtkPropertyValues {
874    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
875        f.debug_struct(&format!("AtkPropertyValues @ {self:p}"))
876            .field("property_name", &self.property_name)
877            .field("old_value", &self.old_value)
878            .field("new_value", &self.new_value)
879            .finish()
880    }
881}
882
883#[repr(C)]
884#[allow(dead_code)]
885pub struct AtkRange {
886    _data: [u8; 0],
887    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
888}
889
890impl ::std::fmt::Debug for AtkRange {
891    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
892        f.debug_struct(&format!("AtkRange @ {self:p}")).finish()
893    }
894}
895
896#[derive(Copy, Clone)]
897#[repr(C)]
898pub struct AtkRectangle {
899    pub x: c_int,
900    pub y: c_int,
901    pub width: c_int,
902    pub height: c_int,
903}
904
905impl ::std::fmt::Debug for AtkRectangle {
906    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
907        f.debug_struct(&format!("AtkRectangle @ {self:p}"))
908            .field("x", &self.x)
909            .field("y", &self.y)
910            .field("width", &self.width)
911            .field("height", &self.height)
912            .finish()
913    }
914}
915
916#[derive(Copy, Clone)]
917#[repr(C)]
918pub struct AtkRegistryClass {
919    pub parent_class: gobject::GObjectClass,
920}
921
922impl ::std::fmt::Debug for AtkRegistryClass {
923    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
924        f.debug_struct(&format!("AtkRegistryClass @ {self:p}"))
925            .field("parent_class", &self.parent_class)
926            .finish()
927    }
928}
929
930#[derive(Copy, Clone)]
931#[repr(C)]
932pub struct AtkRelationClass {
933    pub parent: gobject::GObjectClass,
934}
935
936impl ::std::fmt::Debug for AtkRelationClass {
937    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
938        f.debug_struct(&format!("AtkRelationClass @ {self:p}"))
939            .field("parent", &self.parent)
940            .finish()
941    }
942}
943
944#[derive(Copy, Clone)]
945#[repr(C)]
946pub struct AtkRelationSetClass {
947    pub parent: gobject::GObjectClass,
948    pub pad1: AtkFunction,
949    pub pad2: AtkFunction,
950}
951
952impl ::std::fmt::Debug for AtkRelationSetClass {
953    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
954        f.debug_struct(&format!("AtkRelationSetClass @ {self:p}"))
955            .field("parent", &self.parent)
956            .field("pad1", &self.pad1)
957            .field("pad2", &self.pad2)
958            .finish()
959    }
960}
961
962#[derive(Copy, Clone)]
963#[repr(C)]
964pub struct AtkSelectionIface {
965    pub parent: gobject::GTypeInterface,
966    pub add_selection: Option<unsafe extern "C" fn(*mut AtkSelection, c_int) -> gboolean>,
967    pub clear_selection: Option<unsafe extern "C" fn(*mut AtkSelection) -> gboolean>,
968    pub ref_selection: Option<unsafe extern "C" fn(*mut AtkSelection, c_int) -> *mut AtkObject>,
969    pub get_selection_count: Option<unsafe extern "C" fn(*mut AtkSelection) -> c_int>,
970    pub is_child_selected: Option<unsafe extern "C" fn(*mut AtkSelection, c_int) -> gboolean>,
971    pub remove_selection: Option<unsafe extern "C" fn(*mut AtkSelection, c_int) -> gboolean>,
972    pub select_all_selection: Option<unsafe extern "C" fn(*mut AtkSelection) -> gboolean>,
973    pub selection_changed: Option<unsafe extern "C" fn(*mut AtkSelection)>,
974}
975
976impl ::std::fmt::Debug for AtkSelectionIface {
977    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
978        f.debug_struct(&format!("AtkSelectionIface @ {self:p}"))
979            .field("parent", &self.parent)
980            .field("add_selection", &self.add_selection)
981            .field("clear_selection", &self.clear_selection)
982            .field("ref_selection", &self.ref_selection)
983            .field("get_selection_count", &self.get_selection_count)
984            .field("is_child_selected", &self.is_child_selected)
985            .field("remove_selection", &self.remove_selection)
986            .field("select_all_selection", &self.select_all_selection)
987            .field("selection_changed", &self.selection_changed)
988            .finish()
989    }
990}
991
992#[derive(Copy, Clone)]
993#[repr(C)]
994pub struct AtkSocketClass {
995    pub parent_class: AtkObjectClass,
996    pub embed: Option<unsafe extern "C" fn(*mut AtkSocket, *const c_char)>,
997}
998
999impl ::std::fmt::Debug for AtkSocketClass {
1000    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1001        f.debug_struct(&format!("AtkSocketClass @ {self:p}"))
1002            .field("parent_class", &self.parent_class)
1003            .field("embed", &self.embed)
1004            .finish()
1005    }
1006}
1007
1008#[derive(Copy, Clone)]
1009#[repr(C)]
1010pub struct AtkStateSetClass {
1011    pub parent: gobject::GObjectClass,
1012}
1013
1014impl ::std::fmt::Debug for AtkStateSetClass {
1015    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1016        f.debug_struct(&format!("AtkStateSetClass @ {self:p}"))
1017            .field("parent", &self.parent)
1018            .finish()
1019    }
1020}
1021
1022#[derive(Copy, Clone)]
1023#[repr(C)]
1024pub struct AtkStreamableContentIface {
1025    pub parent: gobject::GTypeInterface,
1026    pub get_n_mime_types: Option<unsafe extern "C" fn(*mut AtkStreamableContent) -> c_int>,
1027    pub get_mime_type:
1028        Option<unsafe extern "C" fn(*mut AtkStreamableContent, c_int) -> *const c_char>,
1029    pub get_stream: Option<
1030        unsafe extern "C" fn(*mut AtkStreamableContent, *const c_char) -> *mut glib::GIOChannel,
1031    >,
1032    pub get_uri:
1033        Option<unsafe extern "C" fn(*mut AtkStreamableContent, *const c_char) -> *const c_char>,
1034    pub pad1: AtkFunction,
1035    pub pad2: AtkFunction,
1036    pub pad3: AtkFunction,
1037}
1038
1039impl ::std::fmt::Debug for AtkStreamableContentIface {
1040    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1041        f.debug_struct(&format!("AtkStreamableContentIface @ {self:p}"))
1042            .field("parent", &self.parent)
1043            .field("get_n_mime_types", &self.get_n_mime_types)
1044            .field("get_mime_type", &self.get_mime_type)
1045            .field("get_stream", &self.get_stream)
1046            .field("get_uri", &self.get_uri)
1047            .field("pad1", &self.pad1)
1048            .field("pad2", &self.pad2)
1049            .field("pad3", &self.pad3)
1050            .finish()
1051    }
1052}
1053
1054#[derive(Copy, Clone)]
1055#[repr(C)]
1056pub struct AtkTableCellIface {
1057    pub parent: gobject::GTypeInterface,
1058    pub get_column_span: Option<unsafe extern "C" fn(*mut AtkTableCell) -> c_int>,
1059    pub get_column_header_cells:
1060        Option<unsafe extern "C" fn(*mut AtkTableCell) -> *mut glib::GPtrArray>,
1061    pub get_position:
1062        Option<unsafe extern "C" fn(*mut AtkTableCell, *mut c_int, *mut c_int) -> gboolean>,
1063    pub get_row_span: Option<unsafe extern "C" fn(*mut AtkTableCell) -> c_int>,
1064    pub get_row_header_cells:
1065        Option<unsafe extern "C" fn(*mut AtkTableCell) -> *mut glib::GPtrArray>,
1066    pub get_row_column_span: Option<
1067        unsafe extern "C" fn(
1068            *mut AtkTableCell,
1069            *mut c_int,
1070            *mut c_int,
1071            *mut c_int,
1072            *mut c_int,
1073        ) -> gboolean,
1074    >,
1075    pub get_table: Option<unsafe extern "C" fn(*mut AtkTableCell) -> *mut AtkObject>,
1076}
1077
1078impl ::std::fmt::Debug for AtkTableCellIface {
1079    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1080        f.debug_struct(&format!("AtkTableCellIface @ {self:p}"))
1081            .field("get_column_span", &self.get_column_span)
1082            .field("get_column_header_cells", &self.get_column_header_cells)
1083            .field("get_position", &self.get_position)
1084            .field("get_row_span", &self.get_row_span)
1085            .field("get_row_header_cells", &self.get_row_header_cells)
1086            .field("get_row_column_span", &self.get_row_column_span)
1087            .field("get_table", &self.get_table)
1088            .finish()
1089    }
1090}
1091
1092#[derive(Copy, Clone)]
1093#[repr(C)]
1094pub struct AtkTableIface {
1095    pub parent: gobject::GTypeInterface,
1096    pub ref_at: Option<unsafe extern "C" fn(*mut AtkTable, c_int, c_int) -> *mut AtkObject>,
1097    pub get_index_at: Option<unsafe extern "C" fn(*mut AtkTable, c_int, c_int) -> c_int>,
1098    pub get_column_at_index: Option<unsafe extern "C" fn(*mut AtkTable, *mut *mut c_int) -> c_int>,
1099    pub get_row_at_index: Option<unsafe extern "C" fn(*mut AtkTable, *mut *mut c_int) -> c_int>,
1100    pub get_n_columns: Option<unsafe extern "C" fn(*mut AtkTable) -> c_int>,
1101    pub get_n_rows: Option<unsafe extern "C" fn(*mut AtkTable) -> c_int>,
1102    pub get_column_extent_at: Option<unsafe extern "C" fn(*mut AtkTable, c_int, c_int) -> c_int>,
1103    pub get_row_extent_at: Option<unsafe extern "C" fn(*mut AtkTable, c_int, c_int) -> c_int>,
1104    pub get_caption: Option<unsafe extern "C" fn(*mut AtkTable) -> *mut AtkObject>,
1105    pub get_column_description: Option<unsafe extern "C" fn(*mut AtkTable, c_int) -> *const c_char>,
1106    pub get_column_header: Option<unsafe extern "C" fn(*mut AtkTable, c_int) -> *mut AtkObject>,
1107    pub get_row_description: Option<unsafe extern "C" fn(*mut AtkTable, c_int) -> *const c_char>,
1108    pub get_row_header: Option<unsafe extern "C" fn(*mut AtkTable, c_int) -> *mut AtkObject>,
1109    pub get_summary: Option<unsafe extern "C" fn(*mut AtkTable) -> *mut AtkObject>,
1110    pub set_caption: Option<unsafe extern "C" fn(*mut AtkTable, *mut AtkObject)>,
1111    pub set_column_description: Option<unsafe extern "C" fn(*mut AtkTable, c_int, *const c_char)>,
1112    pub set_column_header: Option<unsafe extern "C" fn(*mut AtkTable, c_int, *mut AtkObject)>,
1113    pub set_row_description: Option<unsafe extern "C" fn(*mut AtkTable, c_int, *const c_char)>,
1114    pub set_row_header: Option<unsafe extern "C" fn(*mut AtkTable, c_int, *mut AtkObject)>,
1115    pub set_summary: Option<unsafe extern "C" fn(*mut AtkTable, *mut AtkObject)>,
1116    pub get_selected_columns: Option<unsafe extern "C" fn(*mut AtkTable, *mut *mut c_int) -> c_int>,
1117    pub get_selected_rows: Option<unsafe extern "C" fn(*mut AtkTable, *mut *mut c_int) -> c_int>,
1118    pub is_column_selected: Option<unsafe extern "C" fn(*mut AtkTable, c_int) -> gboolean>,
1119    pub is_row_selected: Option<unsafe extern "C" fn(*mut AtkTable, c_int) -> gboolean>,
1120    pub is_selected: Option<unsafe extern "C" fn(*mut AtkTable, c_int, c_int) -> gboolean>,
1121    pub add_row_selection: Option<unsafe extern "C" fn(*mut AtkTable, c_int) -> gboolean>,
1122    pub remove_row_selection: Option<unsafe extern "C" fn(*mut AtkTable, c_int) -> gboolean>,
1123    pub add_column_selection: Option<unsafe extern "C" fn(*mut AtkTable, c_int) -> gboolean>,
1124    pub remove_column_selection: Option<unsafe extern "C" fn(*mut AtkTable, c_int) -> gboolean>,
1125    pub row_inserted: Option<unsafe extern "C" fn(*mut AtkTable, c_int, c_int)>,
1126    pub column_inserted: Option<unsafe extern "C" fn(*mut AtkTable, c_int, c_int)>,
1127    pub row_deleted: Option<unsafe extern "C" fn(*mut AtkTable, c_int, c_int)>,
1128    pub column_deleted: Option<unsafe extern "C" fn(*mut AtkTable, c_int, c_int)>,
1129    pub row_reordered: Option<unsafe extern "C" fn(*mut AtkTable)>,
1130    pub column_reordered: Option<unsafe extern "C" fn(*mut AtkTable)>,
1131    pub model_changed: Option<unsafe extern "C" fn(*mut AtkTable)>,
1132}
1133
1134impl ::std::fmt::Debug for AtkTableIface {
1135    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1136        f.debug_struct(&format!("AtkTableIface @ {self:p}"))
1137            .field("parent", &self.parent)
1138            .field("ref_at", &self.ref_at)
1139            .field("get_index_at", &self.get_index_at)
1140            .field("get_column_at_index", &self.get_column_at_index)
1141            .field("get_row_at_index", &self.get_row_at_index)
1142            .field("get_n_columns", &self.get_n_columns)
1143            .field("get_n_rows", &self.get_n_rows)
1144            .field("get_column_extent_at", &self.get_column_extent_at)
1145            .field("get_row_extent_at", &self.get_row_extent_at)
1146            .field("get_caption", &self.get_caption)
1147            .field("get_column_description", &self.get_column_description)
1148            .field("get_column_header", &self.get_column_header)
1149            .field("get_row_description", &self.get_row_description)
1150            .field("get_row_header", &self.get_row_header)
1151            .field("get_summary", &self.get_summary)
1152            .field("set_caption", &self.set_caption)
1153            .field("set_column_description", &self.set_column_description)
1154            .field("set_column_header", &self.set_column_header)
1155            .field("set_row_description", &self.set_row_description)
1156            .field("set_row_header", &self.set_row_header)
1157            .field("set_summary", &self.set_summary)
1158            .field("get_selected_columns", &self.get_selected_columns)
1159            .field("get_selected_rows", &self.get_selected_rows)
1160            .field("is_column_selected", &self.is_column_selected)
1161            .field("is_row_selected", &self.is_row_selected)
1162            .field("is_selected", &self.is_selected)
1163            .field("add_row_selection", &self.add_row_selection)
1164            .field("remove_row_selection", &self.remove_row_selection)
1165            .field("add_column_selection", &self.add_column_selection)
1166            .field("remove_column_selection", &self.remove_column_selection)
1167            .field("row_inserted", &self.row_inserted)
1168            .field("column_inserted", &self.column_inserted)
1169            .field("row_deleted", &self.row_deleted)
1170            .field("column_deleted", &self.column_deleted)
1171            .field("row_reordered", &self.row_reordered)
1172            .field("column_reordered", &self.column_reordered)
1173            .field("model_changed", &self.model_changed)
1174            .finish()
1175    }
1176}
1177
1178#[derive(Copy, Clone)]
1179#[repr(C)]
1180pub struct AtkTextIface {
1181    pub parent: gobject::GTypeInterface,
1182    pub get_text: Option<unsafe extern "C" fn(*mut AtkText, c_int, c_int) -> *mut c_char>,
1183    pub get_text_after_offset: Option<
1184        unsafe extern "C" fn(
1185            *mut AtkText,
1186            c_int,
1187            AtkTextBoundary,
1188            *mut c_int,
1189            *mut c_int,
1190        ) -> *mut c_char,
1191    >,
1192    pub get_text_at_offset: Option<
1193        unsafe extern "C" fn(
1194            *mut AtkText,
1195            c_int,
1196            AtkTextBoundary,
1197            *mut c_int,
1198            *mut c_int,
1199        ) -> *mut c_char,
1200    >,
1201    pub get_character_at_offset: Option<unsafe extern "C" fn(*mut AtkText, c_int) -> u32>,
1202    pub get_text_before_offset: Option<
1203        unsafe extern "C" fn(
1204            *mut AtkText,
1205            c_int,
1206            AtkTextBoundary,
1207            *mut c_int,
1208            *mut c_int,
1209        ) -> *mut c_char,
1210    >,
1211    pub get_caret_offset: Option<unsafe extern "C" fn(*mut AtkText) -> c_int>,
1212    pub get_run_attributes: Option<
1213        unsafe extern "C" fn(*mut AtkText, c_int, *mut c_int, *mut c_int) -> *mut AtkAttributeSet,
1214    >,
1215    pub get_default_attributes: Option<unsafe extern "C" fn(*mut AtkText) -> *mut AtkAttributeSet>,
1216    pub get_character_extents: Option<
1217        unsafe extern "C" fn(
1218            *mut AtkText,
1219            c_int,
1220            *mut c_int,
1221            *mut c_int,
1222            *mut c_int,
1223            *mut c_int,
1224            AtkCoordType,
1225        ),
1226    >,
1227    pub get_character_count: Option<unsafe extern "C" fn(*mut AtkText) -> c_int>,
1228    pub get_offset_at_point:
1229        Option<unsafe extern "C" fn(*mut AtkText, c_int, c_int, AtkCoordType) -> c_int>,
1230    pub get_n_selections: Option<unsafe extern "C" fn(*mut AtkText) -> c_int>,
1231    pub get_selection:
1232        Option<unsafe extern "C" fn(*mut AtkText, c_int, *mut c_int, *mut c_int) -> *mut c_char>,
1233    pub add_selection: Option<unsafe extern "C" fn(*mut AtkText, c_int, c_int) -> gboolean>,
1234    pub remove_selection: Option<unsafe extern "C" fn(*mut AtkText, c_int) -> gboolean>,
1235    pub set_selection: Option<unsafe extern "C" fn(*mut AtkText, c_int, c_int, c_int) -> gboolean>,
1236    pub set_caret_offset: Option<unsafe extern "C" fn(*mut AtkText, c_int) -> gboolean>,
1237    pub text_changed: Option<unsafe extern "C" fn(*mut AtkText, c_int, c_int)>,
1238    pub text_caret_moved: Option<unsafe extern "C" fn(*mut AtkText, c_int)>,
1239    pub text_selection_changed: Option<unsafe extern "C" fn(*mut AtkText)>,
1240    pub text_attributes_changed: Option<unsafe extern "C" fn(*mut AtkText)>,
1241    pub get_range_extents: Option<
1242        unsafe extern "C" fn(*mut AtkText, c_int, c_int, AtkCoordType, *mut AtkTextRectangle),
1243    >,
1244    pub get_bounded_ranges: Option<
1245        unsafe extern "C" fn(
1246            *mut AtkText,
1247            *mut AtkTextRectangle,
1248            AtkCoordType,
1249            AtkTextClipType,
1250            AtkTextClipType,
1251        ) -> *mut *mut AtkTextRange,
1252    >,
1253    pub get_string_at_offset: Option<
1254        unsafe extern "C" fn(
1255            *mut AtkText,
1256            c_int,
1257            AtkTextGranularity,
1258            *mut c_int,
1259            *mut c_int,
1260        ) -> *mut c_char,
1261    >,
1262    pub scroll_substring_to:
1263        Option<unsafe extern "C" fn(*mut AtkText, c_int, c_int, AtkScrollType) -> gboolean>,
1264    pub scroll_substring_to_point: Option<
1265        unsafe extern "C" fn(*mut AtkText, c_int, c_int, AtkCoordType, c_int, c_int) -> gboolean,
1266    >,
1267}
1268
1269impl ::std::fmt::Debug for AtkTextIface {
1270    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1271        f.debug_struct(&format!("AtkTextIface @ {self:p}"))
1272            .field("parent", &self.parent)
1273            .field("get_text", &self.get_text)
1274            .field("get_text_after_offset", &self.get_text_after_offset)
1275            .field("get_text_at_offset", &self.get_text_at_offset)
1276            .field("get_character_at_offset", &self.get_character_at_offset)
1277            .field("get_text_before_offset", &self.get_text_before_offset)
1278            .field("get_caret_offset", &self.get_caret_offset)
1279            .field("get_run_attributes", &self.get_run_attributes)
1280            .field("get_default_attributes", &self.get_default_attributes)
1281            .field("get_character_extents", &self.get_character_extents)
1282            .field("get_character_count", &self.get_character_count)
1283            .field("get_offset_at_point", &self.get_offset_at_point)
1284            .field("get_n_selections", &self.get_n_selections)
1285            .field("get_selection", &self.get_selection)
1286            .field("add_selection", &self.add_selection)
1287            .field("remove_selection", &self.remove_selection)
1288            .field("set_selection", &self.set_selection)
1289            .field("set_caret_offset", &self.set_caret_offset)
1290            .field("text_changed", &self.text_changed)
1291            .field("text_caret_moved", &self.text_caret_moved)
1292            .field("text_selection_changed", &self.text_selection_changed)
1293            .field("text_attributes_changed", &self.text_attributes_changed)
1294            .field("get_range_extents", &self.get_range_extents)
1295            .field("get_bounded_ranges", &self.get_bounded_ranges)
1296            .field("get_string_at_offset", &self.get_string_at_offset)
1297            .field("scroll_substring_to", &self.scroll_substring_to)
1298            .field("scroll_substring_to_point", &self.scroll_substring_to_point)
1299            .finish()
1300    }
1301}
1302
1303#[derive(Copy, Clone)]
1304#[repr(C)]
1305pub struct AtkTextRange {
1306    pub bounds: AtkTextRectangle,
1307    pub start_offset: c_int,
1308    pub end_offset: c_int,
1309    pub content: *mut c_char,
1310}
1311
1312impl ::std::fmt::Debug for AtkTextRange {
1313    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1314        f.debug_struct(&format!("AtkTextRange @ {self:p}"))
1315            .field("bounds", &self.bounds)
1316            .field("start_offset", &self.start_offset)
1317            .field("end_offset", &self.end_offset)
1318            .field("content", &self.content)
1319            .finish()
1320    }
1321}
1322
1323#[derive(Copy, Clone)]
1324#[repr(C)]
1325pub struct AtkTextRectangle {
1326    pub x: c_int,
1327    pub y: c_int,
1328    pub width: c_int,
1329    pub height: c_int,
1330}
1331
1332impl ::std::fmt::Debug for AtkTextRectangle {
1333    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1334        f.debug_struct(&format!("AtkTextRectangle @ {self:p}"))
1335            .field("x", &self.x)
1336            .field("y", &self.y)
1337            .field("width", &self.width)
1338            .field("height", &self.height)
1339            .finish()
1340    }
1341}
1342
1343#[derive(Copy, Clone)]
1344#[repr(C)]
1345pub struct AtkTextSelection {
1346    pub start_object: *mut AtkObject,
1347    pub start_offset: c_int,
1348    pub end_object: *mut AtkObject,
1349    pub end_offset: c_int,
1350    pub start_is_active: gboolean,
1351}
1352
1353impl ::std::fmt::Debug for AtkTextSelection {
1354    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1355        f.debug_struct(&format!("AtkTextSelection @ {self:p}"))
1356            .field("start_object", &self.start_object)
1357            .field("start_offset", &self.start_offset)
1358            .field("end_object", &self.end_object)
1359            .field("end_offset", &self.end_offset)
1360            .field("start_is_active", &self.start_is_active)
1361            .finish()
1362    }
1363}
1364
1365#[derive(Copy, Clone)]
1366#[repr(C)]
1367pub struct AtkUtilClass {
1368    pub parent: gobject::GObjectClass,
1369    pub add_global_event_listener:
1370        Option<unsafe extern "C" fn(gobject::GSignalEmissionHook, *const c_char) -> c_uint>,
1371    pub remove_global_event_listener: Option<unsafe extern "C" fn(c_uint)>,
1372    pub add_key_event_listener: Option<unsafe extern "C" fn(AtkKeySnoopFunc, gpointer) -> c_uint>,
1373    pub remove_key_event_listener: Option<unsafe extern "C" fn(c_uint)>,
1374    pub get_root: Option<unsafe extern "C" fn() -> *mut AtkObject>,
1375    pub get_toolkit_name: Option<unsafe extern "C" fn() -> *const c_char>,
1376    pub get_toolkit_version: Option<unsafe extern "C" fn() -> *const c_char>,
1377}
1378
1379impl ::std::fmt::Debug for AtkUtilClass {
1380    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1381        f.debug_struct(&format!("AtkUtilClass @ {self:p}"))
1382            .field("parent", &self.parent)
1383            .field("add_global_event_listener", &self.add_global_event_listener)
1384            .field(
1385                "remove_global_event_listener",
1386                &self.remove_global_event_listener,
1387            )
1388            .field("add_key_event_listener", &self.add_key_event_listener)
1389            .field("remove_key_event_listener", &self.remove_key_event_listener)
1390            .field("get_root", &self.get_root)
1391            .field("get_toolkit_name", &self.get_toolkit_name)
1392            .field("get_toolkit_version", &self.get_toolkit_version)
1393            .finish()
1394    }
1395}
1396
1397#[derive(Copy, Clone)]
1398#[repr(C)]
1399pub struct AtkValueIface {
1400    pub parent: gobject::GTypeInterface,
1401    pub get_current_value: Option<unsafe extern "C" fn(*mut AtkValue, *mut gobject::GValue)>,
1402    pub get_maximum_value: Option<unsafe extern "C" fn(*mut AtkValue, *mut gobject::GValue)>,
1403    pub get_minimum_value: Option<unsafe extern "C" fn(*mut AtkValue, *mut gobject::GValue)>,
1404    pub set_current_value:
1405        Option<unsafe extern "C" fn(*mut AtkValue, *const gobject::GValue) -> gboolean>,
1406    pub get_minimum_increment: Option<unsafe extern "C" fn(*mut AtkValue, *mut gobject::GValue)>,
1407    pub get_value_and_text:
1408        Option<unsafe extern "C" fn(*mut AtkValue, *mut c_double, *mut *mut c_char)>,
1409    pub get_range: Option<unsafe extern "C" fn(*mut AtkValue) -> *mut AtkRange>,
1410    pub get_increment: Option<unsafe extern "C" fn(*mut AtkValue) -> c_double>,
1411    pub get_sub_ranges: Option<unsafe extern "C" fn(*mut AtkValue) -> *mut glib::GSList>,
1412    pub set_value: Option<unsafe extern "C" fn(*mut AtkValue, c_double)>,
1413}
1414
1415impl ::std::fmt::Debug for AtkValueIface {
1416    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1417        f.debug_struct(&format!("AtkValueIface @ {self:p}"))
1418            .field("parent", &self.parent)
1419            .field("get_current_value", &self.get_current_value)
1420            .field("get_maximum_value", &self.get_maximum_value)
1421            .field("get_minimum_value", &self.get_minimum_value)
1422            .field("set_current_value", &self.set_current_value)
1423            .field("get_minimum_increment", &self.get_minimum_increment)
1424            .field("get_value_and_text", &self.get_value_and_text)
1425            .field("get_range", &self.get_range)
1426            .field("get_increment", &self.get_increment)
1427            .field("get_sub_ranges", &self.get_sub_ranges)
1428            .field("set_value", &self.set_value)
1429            .finish()
1430    }
1431}
1432
1433#[derive(Copy, Clone)]
1434#[repr(C)]
1435pub struct AtkWindowIface {
1436    pub parent: gobject::GTypeInterface,
1437}
1438
1439impl ::std::fmt::Debug for AtkWindowIface {
1440    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1441        f.debug_struct(&format!("AtkWindowIface @ {self:p}"))
1442            .field("parent", &self.parent)
1443            .finish()
1444    }
1445}
1446
1447// Classes
1448#[derive(Copy, Clone)]
1449#[repr(C)]
1450pub struct AtkGObjectAccessible {
1451    pub parent: AtkObject,
1452}
1453
1454impl ::std::fmt::Debug for AtkGObjectAccessible {
1455    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1456        f.debug_struct(&format!("AtkGObjectAccessible @ {self:p}"))
1457            .field("parent", &self.parent)
1458            .finish()
1459    }
1460}
1461
1462#[derive(Copy, Clone)]
1463#[repr(C)]
1464pub struct AtkHyperlink {
1465    pub parent: gobject::GObject,
1466}
1467
1468impl ::std::fmt::Debug for AtkHyperlink {
1469    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1470        f.debug_struct(&format!("AtkHyperlink @ {self:p}"))
1471            .field("parent", &self.parent)
1472            .finish()
1473    }
1474}
1475
1476#[derive(Copy, Clone)]
1477#[repr(C)]
1478pub struct AtkMisc {
1479    pub parent: gobject::GObject,
1480}
1481
1482impl ::std::fmt::Debug for AtkMisc {
1483    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1484        f.debug_struct(&format!("AtkMisc @ {self:p}"))
1485            .field("parent", &self.parent)
1486            .finish()
1487    }
1488}
1489
1490#[derive(Copy, Clone)]
1491#[repr(C)]
1492pub struct AtkNoOpObject {
1493    pub parent: AtkObject,
1494}
1495
1496impl ::std::fmt::Debug for AtkNoOpObject {
1497    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1498        f.debug_struct(&format!("AtkNoOpObject @ {self:p}"))
1499            .field("parent", &self.parent)
1500            .finish()
1501    }
1502}
1503
1504#[derive(Copy, Clone)]
1505#[repr(C)]
1506pub struct AtkNoOpObjectFactory {
1507    pub parent: AtkObjectFactory,
1508}
1509
1510impl ::std::fmt::Debug for AtkNoOpObjectFactory {
1511    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1512        f.debug_struct(&format!("AtkNoOpObjectFactory @ {self:p}"))
1513            .field("parent", &self.parent)
1514            .finish()
1515    }
1516}
1517
1518#[derive(Copy, Clone)]
1519#[repr(C)]
1520pub struct AtkObject {
1521    pub parent: gobject::GObject,
1522    pub description: *mut c_char,
1523    pub name: *mut c_char,
1524    pub accessible_parent: *mut AtkObject,
1525    pub role: AtkRole,
1526    pub relation_set: *mut AtkRelationSet,
1527    pub layer: AtkLayer,
1528}
1529
1530impl ::std::fmt::Debug for AtkObject {
1531    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1532        f.debug_struct(&format!("AtkObject @ {self:p}"))
1533            .field("parent", &self.parent)
1534            .field("description", &self.description)
1535            .field("name", &self.name)
1536            .field("accessible_parent", &self.accessible_parent)
1537            .field("role", &self.role)
1538            .field("relation_set", &self.relation_set)
1539            .field("layer", &self.layer)
1540            .finish()
1541    }
1542}
1543
1544#[derive(Copy, Clone)]
1545#[repr(C)]
1546pub struct AtkObjectFactory {
1547    pub parent: gobject::GObject,
1548}
1549
1550impl ::std::fmt::Debug for AtkObjectFactory {
1551    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1552        f.debug_struct(&format!("AtkObjectFactory @ {self:p}"))
1553            .field("parent", &self.parent)
1554            .finish()
1555    }
1556}
1557
1558#[derive(Copy, Clone)]
1559#[repr(C)]
1560pub struct AtkPlug {
1561    pub parent: AtkObject,
1562}
1563
1564impl ::std::fmt::Debug for AtkPlug {
1565    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1566        f.debug_struct(&format!("AtkPlug @ {self:p}"))
1567            .field("parent", &self.parent)
1568            .finish()
1569    }
1570}
1571
1572#[derive(Copy, Clone)]
1573#[repr(C)]
1574pub struct AtkRegistry {
1575    pub parent: gobject::GObject,
1576    pub factory_type_registry: *mut glib::GHashTable,
1577    pub factory_singleton_cache: *mut glib::GHashTable,
1578}
1579
1580impl ::std::fmt::Debug for AtkRegistry {
1581    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1582        f.debug_struct(&format!("AtkRegistry @ {self:p}"))
1583            .field("parent", &self.parent)
1584            .field("factory_type_registry", &self.factory_type_registry)
1585            .field("factory_singleton_cache", &self.factory_singleton_cache)
1586            .finish()
1587    }
1588}
1589
1590#[derive(Copy, Clone)]
1591#[repr(C)]
1592pub struct AtkRelation {
1593    pub parent: gobject::GObject,
1594    pub target: *mut glib::GPtrArray,
1595    pub relationship: AtkRelationType,
1596}
1597
1598impl ::std::fmt::Debug for AtkRelation {
1599    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1600        f.debug_struct(&format!("AtkRelation @ {self:p}"))
1601            .field("parent", &self.parent)
1602            .field("target", &self.target)
1603            .field("relationship", &self.relationship)
1604            .finish()
1605    }
1606}
1607
1608#[derive(Copy, Clone)]
1609#[repr(C)]
1610pub struct AtkRelationSet {
1611    pub parent: gobject::GObject,
1612    pub relations: *mut glib::GPtrArray,
1613}
1614
1615impl ::std::fmt::Debug for AtkRelationSet {
1616    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1617        f.debug_struct(&format!("AtkRelationSet @ {self:p}"))
1618            .field("parent", &self.parent)
1619            .field("relations", &self.relations)
1620            .finish()
1621    }
1622}
1623
1624#[derive(Copy, Clone)]
1625#[repr(C)]
1626pub struct AtkSocket {
1627    pub parent: AtkObject,
1628    pub embedded_plug_id: *mut c_char,
1629}
1630
1631impl ::std::fmt::Debug for AtkSocket {
1632    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1633        f.debug_struct(&format!("AtkSocket @ {self:p}"))
1634            .field("parent", &self.parent)
1635            .finish()
1636    }
1637}
1638
1639#[derive(Copy, Clone)]
1640#[repr(C)]
1641pub struct AtkStateSet {
1642    pub parent: gobject::GObject,
1643}
1644
1645impl ::std::fmt::Debug for AtkStateSet {
1646    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1647        f.debug_struct(&format!("AtkStateSet @ {self:p}"))
1648            .field("parent", &self.parent)
1649            .finish()
1650    }
1651}
1652
1653#[derive(Copy, Clone)]
1654#[repr(C)]
1655pub struct AtkUtil {
1656    pub parent: gobject::GObject,
1657}
1658
1659impl ::std::fmt::Debug for AtkUtil {
1660    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1661        f.debug_struct(&format!("AtkUtil @ {self:p}"))
1662            .field("parent", &self.parent)
1663            .finish()
1664    }
1665}
1666
1667// Interfaces
1668#[repr(C)]
1669#[allow(dead_code)]
1670pub struct AtkAction {
1671    _data: [u8; 0],
1672    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1673}
1674
1675impl ::std::fmt::Debug for AtkAction {
1676    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1677        write!(f, "AtkAction @ {self:p}")
1678    }
1679}
1680
1681#[repr(C)]
1682#[allow(dead_code)]
1683pub struct AtkComponent {
1684    _data: [u8; 0],
1685    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1686}
1687
1688impl ::std::fmt::Debug for AtkComponent {
1689    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1690        write!(f, "AtkComponent @ {self:p}")
1691    }
1692}
1693
1694#[repr(C)]
1695#[allow(dead_code)]
1696pub struct AtkDocument {
1697    _data: [u8; 0],
1698    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1699}
1700
1701impl ::std::fmt::Debug for AtkDocument {
1702    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1703        write!(f, "AtkDocument @ {self:p}")
1704    }
1705}
1706
1707#[repr(C)]
1708#[allow(dead_code)]
1709pub struct AtkEditableText {
1710    _data: [u8; 0],
1711    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1712}
1713
1714impl ::std::fmt::Debug for AtkEditableText {
1715    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1716        write!(f, "AtkEditableText @ {self:p}")
1717    }
1718}
1719
1720#[repr(C)]
1721#[allow(dead_code)]
1722pub struct AtkHyperlinkImpl {
1723    _data: [u8; 0],
1724    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1725}
1726
1727impl ::std::fmt::Debug for AtkHyperlinkImpl {
1728    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1729        write!(f, "AtkHyperlinkImpl @ {self:p}")
1730    }
1731}
1732
1733#[repr(C)]
1734#[allow(dead_code)]
1735pub struct AtkHypertext {
1736    _data: [u8; 0],
1737    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1738}
1739
1740impl ::std::fmt::Debug for AtkHypertext {
1741    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1742        write!(f, "AtkHypertext @ {self:p}")
1743    }
1744}
1745
1746#[repr(C)]
1747#[allow(dead_code)]
1748pub struct AtkImage {
1749    _data: [u8; 0],
1750    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1751}
1752
1753impl ::std::fmt::Debug for AtkImage {
1754    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1755        write!(f, "AtkImage @ {self:p}")
1756    }
1757}
1758
1759#[repr(C)]
1760#[allow(dead_code)]
1761pub struct AtkImplementorIface {
1762    _data: [u8; 0],
1763    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1764}
1765
1766impl ::std::fmt::Debug for AtkImplementorIface {
1767    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1768        write!(f, "AtkImplementorIface @ {self:p}")
1769    }
1770}
1771
1772#[repr(C)]
1773#[allow(dead_code)]
1774pub struct AtkSelection {
1775    _data: [u8; 0],
1776    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1777}
1778
1779impl ::std::fmt::Debug for AtkSelection {
1780    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1781        write!(f, "AtkSelection @ {self:p}")
1782    }
1783}
1784
1785#[repr(C)]
1786#[allow(dead_code)]
1787pub struct AtkStreamableContent {
1788    _data: [u8; 0],
1789    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1790}
1791
1792impl ::std::fmt::Debug for AtkStreamableContent {
1793    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1794        write!(f, "AtkStreamableContent @ {self:p}")
1795    }
1796}
1797
1798#[repr(C)]
1799#[allow(dead_code)]
1800pub struct AtkTable {
1801    _data: [u8; 0],
1802    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1803}
1804
1805impl ::std::fmt::Debug for AtkTable {
1806    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1807        write!(f, "AtkTable @ {self:p}")
1808    }
1809}
1810
1811#[repr(C)]
1812#[allow(dead_code)]
1813pub struct AtkTableCell {
1814    _data: [u8; 0],
1815    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1816}
1817
1818impl ::std::fmt::Debug for AtkTableCell {
1819    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1820        write!(f, "AtkTableCell @ {self:p}")
1821    }
1822}
1823
1824#[repr(C)]
1825#[allow(dead_code)]
1826pub struct AtkText {
1827    _data: [u8; 0],
1828    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1829}
1830
1831impl ::std::fmt::Debug for AtkText {
1832    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1833        write!(f, "AtkText @ {self:p}")
1834    }
1835}
1836
1837#[repr(C)]
1838#[allow(dead_code)]
1839pub struct AtkValue {
1840    _data: [u8; 0],
1841    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1842}
1843
1844impl ::std::fmt::Debug for AtkValue {
1845    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1846        write!(f, "AtkValue @ {self:p}")
1847    }
1848}
1849
1850#[repr(C)]
1851#[allow(dead_code)]
1852pub struct AtkWindow {
1853    _data: [u8; 0],
1854    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1855}
1856
1857impl ::std::fmt::Debug for AtkWindow {
1858    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1859        write!(f, "AtkWindow @ {self:p}")
1860    }
1861}
1862
1863unsafe extern "C" {
1864
1865    //=========================================================================
1866    // AtkCoordType
1867    //=========================================================================
1868    pub fn atk_coord_type_get_type() -> GType;
1869
1870    //=========================================================================
1871    // AtkKeyEventType
1872    //=========================================================================
1873    pub fn atk_key_event_type_get_type() -> GType;
1874
1875    //=========================================================================
1876    // AtkLayer
1877    //=========================================================================
1878    pub fn atk_layer_get_type() -> GType;
1879
1880    //=========================================================================
1881    // AtkLive
1882    //=========================================================================
1883    #[cfg(feature = "v2_50")]
1884    #[cfg_attr(docsrs, doc(cfg(feature = "v2_50")))]
1885    pub fn atk_live_get_type() -> GType;
1886
1887    //=========================================================================
1888    // AtkRelationType
1889    //=========================================================================
1890    pub fn atk_relation_type_get_type() -> GType;
1891    pub fn atk_relation_type_for_name(name: *const c_char) -> AtkRelationType;
1892    pub fn atk_relation_type_get_name(type_: AtkRelationType) -> *const c_char;
1893    pub fn atk_relation_type_register(name: *const c_char) -> AtkRelationType;
1894
1895    //=========================================================================
1896    // AtkRole
1897    //=========================================================================
1898    pub fn atk_role_get_type() -> GType;
1899    pub fn atk_role_for_name(name: *const c_char) -> AtkRole;
1900    pub fn atk_role_get_localized_name(role: AtkRole) -> *const c_char;
1901    pub fn atk_role_get_name(role: AtkRole) -> *const c_char;
1902    pub fn atk_role_register(name: *const c_char) -> AtkRole;
1903
1904    //=========================================================================
1905    // AtkScrollType
1906    //=========================================================================
1907    #[cfg(feature = "v2_30")]
1908    #[cfg_attr(docsrs, doc(cfg(feature = "v2_30")))]
1909    pub fn atk_scroll_type_get_type() -> GType;
1910
1911    //=========================================================================
1912    // AtkStateType
1913    //=========================================================================
1914    pub fn atk_state_type_get_type() -> GType;
1915    pub fn atk_state_type_for_name(name: *const c_char) -> AtkStateType;
1916    pub fn atk_state_type_get_name(type_: AtkStateType) -> *const c_char;
1917    pub fn atk_state_type_register(name: *const c_char) -> AtkStateType;
1918
1919    //=========================================================================
1920    // AtkTextAttribute
1921    //=========================================================================
1922    pub fn atk_text_attribute_get_type() -> GType;
1923    pub fn atk_text_attribute_for_name(name: *const c_char) -> AtkTextAttribute;
1924    pub fn atk_text_attribute_get_name(attr: AtkTextAttribute) -> *const c_char;
1925    pub fn atk_text_attribute_get_value(attr: AtkTextAttribute, index_: c_int) -> *const c_char;
1926    pub fn atk_text_attribute_register(name: *const c_char) -> AtkTextAttribute;
1927
1928    //=========================================================================
1929    // AtkTextBoundary
1930    //=========================================================================
1931    pub fn atk_text_boundary_get_type() -> GType;
1932
1933    //=========================================================================
1934    // AtkTextClipType
1935    //=========================================================================
1936    pub fn atk_text_clip_type_get_type() -> GType;
1937
1938    //=========================================================================
1939    // AtkTextGranularity
1940    //=========================================================================
1941    pub fn atk_text_granularity_get_type() -> GType;
1942
1943    //=========================================================================
1944    // AtkValueType
1945    //=========================================================================
1946    pub fn atk_value_type_get_type() -> GType;
1947    pub fn atk_value_type_get_localized_name(value_type: AtkValueType) -> *const c_char;
1948    pub fn atk_value_type_get_name(value_type: AtkValueType) -> *const c_char;
1949
1950    //=========================================================================
1951    // AtkHyperlinkStateFlags
1952    //=========================================================================
1953    pub fn atk_hyperlink_state_flags_get_type() -> GType;
1954
1955    //=========================================================================
1956    // AtkAttribute
1957    //=========================================================================
1958    pub fn atk_attribute_set_free(attrib_set: *mut AtkAttributeSet);
1959
1960    //=========================================================================
1961    // AtkImplementor
1962    //=========================================================================
1963    pub fn atk_implementor_ref_accessible(implementor: *mut AtkImplementor) -> *mut AtkObject;
1964
1965    //=========================================================================
1966    // AtkRange
1967    //=========================================================================
1968    pub fn atk_range_get_type() -> GType;
1969    pub fn atk_range_new(
1970        lower_limit: c_double,
1971        upper_limit: c_double,
1972        description: *const c_char,
1973    ) -> *mut AtkRange;
1974    pub fn atk_range_copy(src: *mut AtkRange) -> *mut AtkRange;
1975    pub fn atk_range_free(range: *mut AtkRange);
1976    pub fn atk_range_get_description(range: *mut AtkRange) -> *const c_char;
1977    pub fn atk_range_get_lower_limit(range: *mut AtkRange) -> c_double;
1978    pub fn atk_range_get_upper_limit(range: *mut AtkRange) -> c_double;
1979
1980    //=========================================================================
1981    // AtkRectangle
1982    //=========================================================================
1983    pub fn atk_rectangle_get_type() -> GType;
1984
1985    //=========================================================================
1986    // AtkTextRange
1987    //=========================================================================
1988    pub fn atk_text_range_get_type() -> GType;
1989
1990    //=========================================================================
1991    // AtkGObjectAccessible
1992    //=========================================================================
1993    pub fn atk_gobject_accessible_get_type() -> GType;
1994    pub fn atk_gobject_accessible_for_object(obj: *mut gobject::GObject) -> *mut AtkObject;
1995    pub fn atk_gobject_accessible_get_object(
1996        obj: *mut AtkGObjectAccessible,
1997    ) -> *mut gobject::GObject;
1998
1999    //=========================================================================
2000    // AtkHyperlink
2001    //=========================================================================
2002    pub fn atk_hyperlink_get_type() -> GType;
2003    pub fn atk_hyperlink_get_end_index(link_: *mut AtkHyperlink) -> c_int;
2004    pub fn atk_hyperlink_get_n_anchors(link_: *mut AtkHyperlink) -> c_int;
2005    pub fn atk_hyperlink_get_object(link_: *mut AtkHyperlink, i: c_int) -> *mut AtkObject;
2006    pub fn atk_hyperlink_get_start_index(link_: *mut AtkHyperlink) -> c_int;
2007    pub fn atk_hyperlink_get_uri(link_: *mut AtkHyperlink, i: c_int) -> *mut c_char;
2008    pub fn atk_hyperlink_is_inline(link_: *mut AtkHyperlink) -> gboolean;
2009    pub fn atk_hyperlink_is_selected_link(link_: *mut AtkHyperlink) -> gboolean;
2010    pub fn atk_hyperlink_is_valid(link_: *mut AtkHyperlink) -> gboolean;
2011
2012    //=========================================================================
2013    // AtkMisc
2014    //=========================================================================
2015    pub fn atk_misc_get_type() -> GType;
2016    pub fn atk_misc_get_instance() -> *const AtkMisc;
2017    pub fn atk_misc_threads_enter(misc: *mut AtkMisc);
2018    pub fn atk_misc_threads_leave(misc: *mut AtkMisc);
2019
2020    //=========================================================================
2021    // AtkNoOpObject
2022    //=========================================================================
2023    pub fn atk_no_op_object_get_type() -> GType;
2024    pub fn atk_no_op_object_new(obj: *mut gobject::GObject) -> *mut AtkObject;
2025
2026    //=========================================================================
2027    // AtkNoOpObjectFactory
2028    //=========================================================================
2029    pub fn atk_no_op_object_factory_get_type() -> GType;
2030    pub fn atk_no_op_object_factory_new() -> *mut AtkObjectFactory;
2031
2032    //=========================================================================
2033    // AtkObject
2034    //=========================================================================
2035    pub fn atk_object_get_type() -> GType;
2036    pub fn atk_object_add_relationship(
2037        object: *mut AtkObject,
2038        relationship: AtkRelationType,
2039        target: *mut AtkObject,
2040    ) -> gboolean;
2041    pub fn atk_object_connect_property_change_handler(
2042        accessible: *mut AtkObject,
2043        handler: *mut AtkPropertyChangeHandler,
2044    ) -> c_uint;
2045    #[cfg(feature = "v2_34")]
2046    #[cfg_attr(docsrs, doc(cfg(feature = "v2_34")))]
2047    pub fn atk_object_get_accessible_id(accessible: *mut AtkObject) -> *const c_char;
2048    pub fn atk_object_get_attributes(accessible: *mut AtkObject) -> *mut AtkAttributeSet;
2049    pub fn atk_object_get_description(accessible: *mut AtkObject) -> *const c_char;
2050    #[cfg(feature = "v2_52")]
2051    #[cfg_attr(docsrs, doc(cfg(feature = "v2_52")))]
2052    pub fn atk_object_get_help_text(accessible: *mut AtkObject) -> *const c_char;
2053    pub fn atk_object_get_index_in_parent(accessible: *mut AtkObject) -> c_int;
2054    pub fn atk_object_get_layer(accessible: *mut AtkObject) -> AtkLayer;
2055    pub fn atk_object_get_mdi_zorder(accessible: *mut AtkObject) -> c_int;
2056    pub fn atk_object_get_n_accessible_children(accessible: *mut AtkObject) -> c_int;
2057    pub fn atk_object_get_name(accessible: *mut AtkObject) -> *const c_char;
2058    pub fn atk_object_get_object_locale(accessible: *mut AtkObject) -> *const c_char;
2059    pub fn atk_object_get_parent(accessible: *mut AtkObject) -> *mut AtkObject;
2060    pub fn atk_object_get_role(accessible: *mut AtkObject) -> AtkRole;
2061    pub fn atk_object_initialize(accessible: *mut AtkObject, data: gpointer);
2062    pub fn atk_object_notify_state_change(
2063        accessible: *mut AtkObject,
2064        state: AtkState,
2065        value: gboolean,
2066    );
2067    pub fn atk_object_peek_parent(accessible: *mut AtkObject) -> *mut AtkObject;
2068    pub fn atk_object_ref_accessible_child(accessible: *mut AtkObject, i: c_int) -> *mut AtkObject;
2069    pub fn atk_object_ref_relation_set(accessible: *mut AtkObject) -> *mut AtkRelationSet;
2070    pub fn atk_object_ref_state_set(accessible: *mut AtkObject) -> *mut AtkStateSet;
2071    pub fn atk_object_remove_property_change_handler(
2072        accessible: *mut AtkObject,
2073        handler_id: c_uint,
2074    );
2075    pub fn atk_object_remove_relationship(
2076        object: *mut AtkObject,
2077        relationship: AtkRelationType,
2078        target: *mut AtkObject,
2079    ) -> gboolean;
2080    #[cfg(feature = "v2_34")]
2081    #[cfg_attr(docsrs, doc(cfg(feature = "v2_34")))]
2082    pub fn atk_object_set_accessible_id(accessible: *mut AtkObject, id: *const c_char);
2083    pub fn atk_object_set_description(accessible: *mut AtkObject, description: *const c_char);
2084    #[cfg(feature = "v2_52")]
2085    #[cfg_attr(docsrs, doc(cfg(feature = "v2_52")))]
2086    pub fn atk_object_set_help_text(accessible: *mut AtkObject, help_text: *const c_char);
2087    pub fn atk_object_set_name(accessible: *mut AtkObject, name: *const c_char);
2088    pub fn atk_object_set_parent(accessible: *mut AtkObject, parent: *mut AtkObject);
2089    pub fn atk_object_set_role(accessible: *mut AtkObject, role: AtkRole);
2090
2091    //=========================================================================
2092    // AtkObjectFactory
2093    //=========================================================================
2094    pub fn atk_object_factory_get_type() -> GType;
2095    pub fn atk_object_factory_create_accessible(
2096        factory: *mut AtkObjectFactory,
2097        obj: *mut gobject::GObject,
2098    ) -> *mut AtkObject;
2099    pub fn atk_object_factory_get_accessible_type(factory: *mut AtkObjectFactory) -> GType;
2100    pub fn atk_object_factory_invalidate(factory: *mut AtkObjectFactory);
2101
2102    //=========================================================================
2103    // AtkPlug
2104    //=========================================================================
2105    pub fn atk_plug_get_type() -> GType;
2106    pub fn atk_plug_new() -> *mut AtkObject;
2107    pub fn atk_plug_get_id(plug: *mut AtkPlug) -> *mut c_char;
2108
2109    //=========================================================================
2110    // AtkRegistry
2111    //=========================================================================
2112    pub fn atk_registry_get_type() -> GType;
2113    pub fn atk_registry_get_factory(
2114        registry: *mut AtkRegistry,
2115        type_: GType,
2116    ) -> *mut AtkObjectFactory;
2117    pub fn atk_registry_get_factory_type(registry: *mut AtkRegistry, type_: GType) -> GType;
2118    pub fn atk_registry_set_factory_type(
2119        registry: *mut AtkRegistry,
2120        type_: GType,
2121        factory_type: GType,
2122    );
2123
2124    //=========================================================================
2125    // AtkRelation
2126    //=========================================================================
2127    pub fn atk_relation_get_type() -> GType;
2128    pub fn atk_relation_new(
2129        targets: *mut *mut AtkObject,
2130        n_targets: c_int,
2131        relationship: AtkRelationType,
2132    ) -> *mut AtkRelation;
2133    pub fn atk_relation_add_target(relation: *mut AtkRelation, target: *mut AtkObject);
2134    pub fn atk_relation_get_relation_type(relation: *mut AtkRelation) -> AtkRelationType;
2135    pub fn atk_relation_get_target(relation: *mut AtkRelation) -> *mut glib::GPtrArray;
2136    pub fn atk_relation_remove_target(
2137        relation: *mut AtkRelation,
2138        target: *mut AtkObject,
2139    ) -> gboolean;
2140
2141    //=========================================================================
2142    // AtkRelationSet
2143    //=========================================================================
2144    pub fn atk_relation_set_get_type() -> GType;
2145    pub fn atk_relation_set_new() -> *mut AtkRelationSet;
2146    pub fn atk_relation_set_add(set: *mut AtkRelationSet, relation: *mut AtkRelation);
2147    pub fn atk_relation_set_add_relation_by_type(
2148        set: *mut AtkRelationSet,
2149        relationship: AtkRelationType,
2150        target: *mut AtkObject,
2151    );
2152    pub fn atk_relation_set_contains(
2153        set: *mut AtkRelationSet,
2154        relationship: AtkRelationType,
2155    ) -> gboolean;
2156    pub fn atk_relation_set_contains_target(
2157        set: *mut AtkRelationSet,
2158        relationship: AtkRelationType,
2159        target: *mut AtkObject,
2160    ) -> gboolean;
2161    pub fn atk_relation_set_get_n_relations(set: *mut AtkRelationSet) -> c_int;
2162    pub fn atk_relation_set_get_relation(set: *mut AtkRelationSet, i: c_int) -> *mut AtkRelation;
2163    pub fn atk_relation_set_get_relation_by_type(
2164        set: *mut AtkRelationSet,
2165        relationship: AtkRelationType,
2166    ) -> *mut AtkRelation;
2167    pub fn atk_relation_set_remove(set: *mut AtkRelationSet, relation: *mut AtkRelation);
2168
2169    //=========================================================================
2170    // AtkSocket
2171    //=========================================================================
2172    pub fn atk_socket_get_type() -> GType;
2173    pub fn atk_socket_new() -> *mut AtkObject;
2174    pub fn atk_socket_embed(obj: *mut AtkSocket, plug_id: *const c_char);
2175    pub fn atk_socket_is_occupied(obj: *mut AtkSocket) -> gboolean;
2176
2177    //=========================================================================
2178    // AtkStateSet
2179    //=========================================================================
2180    pub fn atk_state_set_get_type() -> GType;
2181    pub fn atk_state_set_new() -> *mut AtkStateSet;
2182    pub fn atk_state_set_add_state(set: *mut AtkStateSet, type_: AtkStateType) -> gboolean;
2183    pub fn atk_state_set_add_states(
2184        set: *mut AtkStateSet,
2185        types: *mut AtkStateType,
2186        n_types: c_int,
2187    );
2188    pub fn atk_state_set_and_sets(
2189        set: *mut AtkStateSet,
2190        compare_set: *mut AtkStateSet,
2191    ) -> *mut AtkStateSet;
2192    pub fn atk_state_set_clear_states(set: *mut AtkStateSet);
2193    pub fn atk_state_set_contains_state(set: *mut AtkStateSet, type_: AtkStateType) -> gboolean;
2194    pub fn atk_state_set_contains_states(
2195        set: *mut AtkStateSet,
2196        types: *mut AtkStateType,
2197        n_types: c_int,
2198    ) -> gboolean;
2199    pub fn atk_state_set_is_empty(set: *mut AtkStateSet) -> gboolean;
2200    pub fn atk_state_set_or_sets(
2201        set: *mut AtkStateSet,
2202        compare_set: *mut AtkStateSet,
2203    ) -> *mut AtkStateSet;
2204    pub fn atk_state_set_remove_state(set: *mut AtkStateSet, type_: AtkStateType) -> gboolean;
2205    pub fn atk_state_set_xor_sets(
2206        set: *mut AtkStateSet,
2207        compare_set: *mut AtkStateSet,
2208    ) -> *mut AtkStateSet;
2209
2210    //=========================================================================
2211    // AtkUtil
2212    //=========================================================================
2213    pub fn atk_util_get_type() -> GType;
2214
2215    //=========================================================================
2216    // AtkAction
2217    //=========================================================================
2218    pub fn atk_action_get_type() -> GType;
2219    pub fn atk_action_do_action(action: *mut AtkAction, i: c_int) -> gboolean;
2220    pub fn atk_action_get_description(action: *mut AtkAction, i: c_int) -> *const c_char;
2221    pub fn atk_action_get_keybinding(action: *mut AtkAction, i: c_int) -> *const c_char;
2222    pub fn atk_action_get_localized_name(action: *mut AtkAction, i: c_int) -> *const c_char;
2223    pub fn atk_action_get_n_actions(action: *mut AtkAction) -> c_int;
2224    pub fn atk_action_get_name(action: *mut AtkAction, i: c_int) -> *const c_char;
2225    pub fn atk_action_set_description(
2226        action: *mut AtkAction,
2227        i: c_int,
2228        desc: *const c_char,
2229    ) -> gboolean;
2230
2231    //=========================================================================
2232    // AtkComponent
2233    //=========================================================================
2234    pub fn atk_component_get_type() -> GType;
2235    pub fn atk_component_add_focus_handler(
2236        component: *mut AtkComponent,
2237        handler: AtkFocusHandler,
2238    ) -> c_uint;
2239    pub fn atk_component_contains(
2240        component: *mut AtkComponent,
2241        x: c_int,
2242        y: c_int,
2243        coord_type: AtkCoordType,
2244    ) -> gboolean;
2245    pub fn atk_component_get_alpha(component: *mut AtkComponent) -> c_double;
2246    pub fn atk_component_get_extents(
2247        component: *mut AtkComponent,
2248        x: *mut c_int,
2249        y: *mut c_int,
2250        width: *mut c_int,
2251        height: *mut c_int,
2252        coord_type: AtkCoordType,
2253    );
2254    pub fn atk_component_get_layer(component: *mut AtkComponent) -> AtkLayer;
2255    pub fn atk_component_get_mdi_zorder(component: *mut AtkComponent) -> c_int;
2256    pub fn atk_component_get_position(
2257        component: *mut AtkComponent,
2258        x: *mut c_int,
2259        y: *mut c_int,
2260        coord_type: AtkCoordType,
2261    );
2262    pub fn atk_component_get_size(
2263        component: *mut AtkComponent,
2264        width: *mut c_int,
2265        height: *mut c_int,
2266    );
2267    pub fn atk_component_grab_focus(component: *mut AtkComponent) -> gboolean;
2268    pub fn atk_component_ref_accessible_at_point(
2269        component: *mut AtkComponent,
2270        x: c_int,
2271        y: c_int,
2272        coord_type: AtkCoordType,
2273    ) -> *mut AtkObject;
2274    pub fn atk_component_remove_focus_handler(component: *mut AtkComponent, handler_id: c_uint);
2275    #[cfg(feature = "v2_30")]
2276    #[cfg_attr(docsrs, doc(cfg(feature = "v2_30")))]
2277    pub fn atk_component_scroll_to(component: *mut AtkComponent, type_: AtkScrollType) -> gboolean;
2278    #[cfg(feature = "v2_30")]
2279    #[cfg_attr(docsrs, doc(cfg(feature = "v2_30")))]
2280    pub fn atk_component_scroll_to_point(
2281        component: *mut AtkComponent,
2282        coords: AtkCoordType,
2283        x: c_int,
2284        y: c_int,
2285    ) -> gboolean;
2286    pub fn atk_component_set_extents(
2287        component: *mut AtkComponent,
2288        x: c_int,
2289        y: c_int,
2290        width: c_int,
2291        height: c_int,
2292        coord_type: AtkCoordType,
2293    ) -> gboolean;
2294    pub fn atk_component_set_position(
2295        component: *mut AtkComponent,
2296        x: c_int,
2297        y: c_int,
2298        coord_type: AtkCoordType,
2299    ) -> gboolean;
2300    pub fn atk_component_set_size(
2301        component: *mut AtkComponent,
2302        width: c_int,
2303        height: c_int,
2304    ) -> gboolean;
2305
2306    //=========================================================================
2307    // AtkDocument
2308    //=========================================================================
2309    pub fn atk_document_get_type() -> GType;
2310    pub fn atk_document_get_attribute_value(
2311        document: *mut AtkDocument,
2312        attribute_name: *const c_char,
2313    ) -> *const c_char;
2314    pub fn atk_document_get_attributes(document: *mut AtkDocument) -> *mut AtkAttributeSet;
2315    pub fn atk_document_get_current_page_number(document: *mut AtkDocument) -> c_int;
2316    pub fn atk_document_get_document(document: *mut AtkDocument) -> gpointer;
2317    pub fn atk_document_get_document_type(document: *mut AtkDocument) -> *const c_char;
2318    pub fn atk_document_get_locale(document: *mut AtkDocument) -> *const c_char;
2319    pub fn atk_document_get_page_count(document: *mut AtkDocument) -> c_int;
2320    #[cfg(feature = "v2_52")]
2321    #[cfg_attr(docsrs, doc(cfg(feature = "v2_52")))]
2322    pub fn atk_document_get_text_selections(document: *mut AtkDocument) -> *mut glib::GArray;
2323    pub fn atk_document_set_attribute_value(
2324        document: *mut AtkDocument,
2325        attribute_name: *const c_char,
2326        attribute_value: *const c_char,
2327    ) -> gboolean;
2328    #[cfg(feature = "v2_52")]
2329    #[cfg_attr(docsrs, doc(cfg(feature = "v2_52")))]
2330    pub fn atk_document_set_text_selections(
2331        document: *mut AtkDocument,
2332        selections: *mut glib::GArray,
2333    ) -> gboolean;
2334
2335    //=========================================================================
2336    // AtkEditableText
2337    //=========================================================================
2338    pub fn atk_editable_text_get_type() -> GType;
2339    pub fn atk_editable_text_copy_text(
2340        text: *mut AtkEditableText,
2341        start_pos: c_int,
2342        end_pos: c_int,
2343    );
2344    pub fn atk_editable_text_cut_text(text: *mut AtkEditableText, start_pos: c_int, end_pos: c_int);
2345    pub fn atk_editable_text_delete_text(
2346        text: *mut AtkEditableText,
2347        start_pos: c_int,
2348        end_pos: c_int,
2349    );
2350    pub fn atk_editable_text_insert_text(
2351        text: *mut AtkEditableText,
2352        string: *const c_char,
2353        length: c_int,
2354        position: *mut c_int,
2355    );
2356    pub fn atk_editable_text_paste_text(text: *mut AtkEditableText, position: c_int);
2357    pub fn atk_editable_text_set_run_attributes(
2358        text: *mut AtkEditableText,
2359        attrib_set: *mut AtkAttributeSet,
2360        start_offset: c_int,
2361        end_offset: c_int,
2362    ) -> gboolean;
2363    pub fn atk_editable_text_set_text_contents(text: *mut AtkEditableText, string: *const c_char);
2364
2365    //=========================================================================
2366    // AtkHyperlinkImpl
2367    //=========================================================================
2368    pub fn atk_hyperlink_impl_get_type() -> GType;
2369    pub fn atk_hyperlink_impl_get_hyperlink(impl_: *mut AtkHyperlinkImpl) -> *mut AtkHyperlink;
2370
2371    //=========================================================================
2372    // AtkHypertext
2373    //=========================================================================
2374    pub fn atk_hypertext_get_type() -> GType;
2375    pub fn atk_hypertext_get_link(
2376        hypertext: *mut AtkHypertext,
2377        link_index: c_int,
2378    ) -> *mut AtkHyperlink;
2379    pub fn atk_hypertext_get_link_index(hypertext: *mut AtkHypertext, char_index: c_int) -> c_int;
2380    pub fn atk_hypertext_get_n_links(hypertext: *mut AtkHypertext) -> c_int;
2381
2382    //=========================================================================
2383    // AtkImage
2384    //=========================================================================
2385    pub fn atk_image_get_type() -> GType;
2386    pub fn atk_image_get_image_description(image: *mut AtkImage) -> *const c_char;
2387    pub fn atk_image_get_image_locale(image: *mut AtkImage) -> *const c_char;
2388    pub fn atk_image_get_image_position(
2389        image: *mut AtkImage,
2390        x: *mut c_int,
2391        y: *mut c_int,
2392        coord_type: AtkCoordType,
2393    );
2394    pub fn atk_image_get_image_size(image: *mut AtkImage, width: *mut c_int, height: *mut c_int);
2395    pub fn atk_image_set_image_description(
2396        image: *mut AtkImage,
2397        description: *const c_char,
2398    ) -> gboolean;
2399
2400    //=========================================================================
2401    // AtkImplementorIface
2402    //=========================================================================
2403    pub fn atk_implementor_get_type() -> GType;
2404
2405    //=========================================================================
2406    // AtkSelection
2407    //=========================================================================
2408    pub fn atk_selection_get_type() -> GType;
2409    pub fn atk_selection_add_selection(selection: *mut AtkSelection, i: c_int) -> gboolean;
2410    pub fn atk_selection_clear_selection(selection: *mut AtkSelection) -> gboolean;
2411    pub fn atk_selection_get_selection_count(selection: *mut AtkSelection) -> c_int;
2412    pub fn atk_selection_is_child_selected(selection: *mut AtkSelection, i: c_int) -> gboolean;
2413    pub fn atk_selection_ref_selection(selection: *mut AtkSelection, i: c_int) -> *mut AtkObject;
2414    pub fn atk_selection_remove_selection(selection: *mut AtkSelection, i: c_int) -> gboolean;
2415    pub fn atk_selection_select_all_selection(selection: *mut AtkSelection) -> gboolean;
2416
2417    //=========================================================================
2418    // AtkStreamableContent
2419    //=========================================================================
2420    pub fn atk_streamable_content_get_type() -> GType;
2421    pub fn atk_streamable_content_get_mime_type(
2422        streamable: *mut AtkStreamableContent,
2423        i: c_int,
2424    ) -> *const c_char;
2425    pub fn atk_streamable_content_get_n_mime_types(streamable: *mut AtkStreamableContent) -> c_int;
2426    pub fn atk_streamable_content_get_stream(
2427        streamable: *mut AtkStreamableContent,
2428        mime_type: *const c_char,
2429    ) -> *mut glib::GIOChannel;
2430    pub fn atk_streamable_content_get_uri(
2431        streamable: *mut AtkStreamableContent,
2432        mime_type: *const c_char,
2433    ) -> *const c_char;
2434
2435    //=========================================================================
2436    // AtkTable
2437    //=========================================================================
2438    pub fn atk_table_get_type() -> GType;
2439    pub fn atk_table_add_column_selection(table: *mut AtkTable, column: c_int) -> gboolean;
2440    pub fn atk_table_add_row_selection(table: *mut AtkTable, row: c_int) -> gboolean;
2441    pub fn atk_table_get_caption(table: *mut AtkTable) -> *mut AtkObject;
2442    pub fn atk_table_get_column_at_index(table: *mut AtkTable, index_: c_int) -> c_int;
2443    pub fn atk_table_get_column_description(table: *mut AtkTable, column: c_int) -> *const c_char;
2444    pub fn atk_table_get_column_extent_at(table: *mut AtkTable, row: c_int, column: c_int)
2445    -> c_int;
2446    pub fn atk_table_get_column_header(table: *mut AtkTable, column: c_int) -> *mut AtkObject;
2447    pub fn atk_table_get_index_at(table: *mut AtkTable, row: c_int, column: c_int) -> c_int;
2448    pub fn atk_table_get_n_columns(table: *mut AtkTable) -> c_int;
2449    pub fn atk_table_get_n_rows(table: *mut AtkTable) -> c_int;
2450    pub fn atk_table_get_row_at_index(table: *mut AtkTable, index_: c_int) -> c_int;
2451    pub fn atk_table_get_row_description(table: *mut AtkTable, row: c_int) -> *const c_char;
2452    pub fn atk_table_get_row_extent_at(table: *mut AtkTable, row: c_int, column: c_int) -> c_int;
2453    pub fn atk_table_get_row_header(table: *mut AtkTable, row: c_int) -> *mut AtkObject;
2454    pub fn atk_table_get_selected_columns(table: *mut AtkTable, selected: *mut *mut c_int)
2455    -> c_int;
2456    pub fn atk_table_get_selected_rows(table: *mut AtkTable, selected: *mut *mut c_int) -> c_int;
2457    pub fn atk_table_get_summary(table: *mut AtkTable) -> *mut AtkObject;
2458    pub fn atk_table_is_column_selected(table: *mut AtkTable, column: c_int) -> gboolean;
2459    pub fn atk_table_is_row_selected(table: *mut AtkTable, row: c_int) -> gboolean;
2460    pub fn atk_table_is_selected(table: *mut AtkTable, row: c_int, column: c_int) -> gboolean;
2461    pub fn atk_table_ref_at(table: *mut AtkTable, row: c_int, column: c_int) -> *mut AtkObject;
2462    pub fn atk_table_remove_column_selection(table: *mut AtkTable, column: c_int) -> gboolean;
2463    pub fn atk_table_remove_row_selection(table: *mut AtkTable, row: c_int) -> gboolean;
2464    pub fn atk_table_set_caption(table: *mut AtkTable, caption: *mut AtkObject);
2465    pub fn atk_table_set_column_description(
2466        table: *mut AtkTable,
2467        column: c_int,
2468        description: *const c_char,
2469    );
2470    pub fn atk_table_set_column_header(table: *mut AtkTable, column: c_int, header: *mut AtkObject);
2471    pub fn atk_table_set_row_description(
2472        table: *mut AtkTable,
2473        row: c_int,
2474        description: *const c_char,
2475    );
2476    pub fn atk_table_set_row_header(table: *mut AtkTable, row: c_int, header: *mut AtkObject);
2477    pub fn atk_table_set_summary(table: *mut AtkTable, accessible: *mut AtkObject);
2478
2479    //=========================================================================
2480    // AtkTableCell
2481    //=========================================================================
2482    pub fn atk_table_cell_get_type() -> GType;
2483    pub fn atk_table_cell_get_column_header_cells(cell: *mut AtkTableCell) -> *mut glib::GPtrArray;
2484    pub fn atk_table_cell_get_column_span(cell: *mut AtkTableCell) -> c_int;
2485    pub fn atk_table_cell_get_position(
2486        cell: *mut AtkTableCell,
2487        row: *mut c_int,
2488        column: *mut c_int,
2489    ) -> gboolean;
2490    pub fn atk_table_cell_get_row_column_span(
2491        cell: *mut AtkTableCell,
2492        row: *mut c_int,
2493        column: *mut c_int,
2494        row_span: *mut c_int,
2495        column_span: *mut c_int,
2496    ) -> gboolean;
2497    pub fn atk_table_cell_get_row_header_cells(cell: *mut AtkTableCell) -> *mut glib::GPtrArray;
2498    pub fn atk_table_cell_get_row_span(cell: *mut AtkTableCell) -> c_int;
2499    pub fn atk_table_cell_get_table(cell: *mut AtkTableCell) -> *mut AtkObject;
2500
2501    //=========================================================================
2502    // AtkText
2503    //=========================================================================
2504    pub fn atk_text_get_type() -> GType;
2505    pub fn atk_text_free_ranges(ranges: *mut *mut AtkTextRange);
2506    pub fn atk_text_add_selection(
2507        text: *mut AtkText,
2508        start_offset: c_int,
2509        end_offset: c_int,
2510    ) -> gboolean;
2511    pub fn atk_text_get_bounded_ranges(
2512        text: *mut AtkText,
2513        rect: *mut AtkTextRectangle,
2514        coord_type: AtkCoordType,
2515        x_clip_type: AtkTextClipType,
2516        y_clip_type: AtkTextClipType,
2517    ) -> *mut *mut AtkTextRange;
2518    pub fn atk_text_get_caret_offset(text: *mut AtkText) -> c_int;
2519    pub fn atk_text_get_character_at_offset(text: *mut AtkText, offset: c_int) -> u32;
2520    pub fn atk_text_get_character_count(text: *mut AtkText) -> c_int;
2521    pub fn atk_text_get_character_extents(
2522        text: *mut AtkText,
2523        offset: c_int,
2524        x: *mut c_int,
2525        y: *mut c_int,
2526        width: *mut c_int,
2527        height: *mut c_int,
2528        coords: AtkCoordType,
2529    );
2530    pub fn atk_text_get_default_attributes(text: *mut AtkText) -> *mut AtkAttributeSet;
2531    pub fn atk_text_get_n_selections(text: *mut AtkText) -> c_int;
2532    pub fn atk_text_get_offset_at_point(
2533        text: *mut AtkText,
2534        x: c_int,
2535        y: c_int,
2536        coords: AtkCoordType,
2537    ) -> c_int;
2538    pub fn atk_text_get_range_extents(
2539        text: *mut AtkText,
2540        start_offset: c_int,
2541        end_offset: c_int,
2542        coord_type: AtkCoordType,
2543        rect: *mut AtkTextRectangle,
2544    );
2545    pub fn atk_text_get_run_attributes(
2546        text: *mut AtkText,
2547        offset: c_int,
2548        start_offset: *mut c_int,
2549        end_offset: *mut c_int,
2550    ) -> *mut AtkAttributeSet;
2551    pub fn atk_text_get_selection(
2552        text: *mut AtkText,
2553        selection_num: c_int,
2554        start_offset: *mut c_int,
2555        end_offset: *mut c_int,
2556    ) -> *mut c_char;
2557    pub fn atk_text_get_string_at_offset(
2558        text: *mut AtkText,
2559        offset: c_int,
2560        granularity: AtkTextGranularity,
2561        start_offset: *mut c_int,
2562        end_offset: *mut c_int,
2563    ) -> *mut c_char;
2564    pub fn atk_text_get_text(
2565        text: *mut AtkText,
2566        start_offset: c_int,
2567        end_offset: c_int,
2568    ) -> *mut c_char;
2569    pub fn atk_text_get_text_after_offset(
2570        text: *mut AtkText,
2571        offset: c_int,
2572        boundary_type: AtkTextBoundary,
2573        start_offset: *mut c_int,
2574        end_offset: *mut c_int,
2575    ) -> *mut c_char;
2576    pub fn atk_text_get_text_at_offset(
2577        text: *mut AtkText,
2578        offset: c_int,
2579        boundary_type: AtkTextBoundary,
2580        start_offset: *mut c_int,
2581        end_offset: *mut c_int,
2582    ) -> *mut c_char;
2583    pub fn atk_text_get_text_before_offset(
2584        text: *mut AtkText,
2585        offset: c_int,
2586        boundary_type: AtkTextBoundary,
2587        start_offset: *mut c_int,
2588        end_offset: *mut c_int,
2589    ) -> *mut c_char;
2590    pub fn atk_text_remove_selection(text: *mut AtkText, selection_num: c_int) -> gboolean;
2591    #[cfg(feature = "v2_32")]
2592    #[cfg_attr(docsrs, doc(cfg(feature = "v2_32")))]
2593    pub fn atk_text_scroll_substring_to(
2594        text: *mut AtkText,
2595        start_offset: c_int,
2596        end_offset: c_int,
2597        type_: AtkScrollType,
2598    ) -> gboolean;
2599    #[cfg(feature = "v2_32")]
2600    #[cfg_attr(docsrs, doc(cfg(feature = "v2_32")))]
2601    pub fn atk_text_scroll_substring_to_point(
2602        text: *mut AtkText,
2603        start_offset: c_int,
2604        end_offset: c_int,
2605        coords: AtkCoordType,
2606        x: c_int,
2607        y: c_int,
2608    ) -> gboolean;
2609    pub fn atk_text_set_caret_offset(text: *mut AtkText, offset: c_int) -> gboolean;
2610    pub fn atk_text_set_selection(
2611        text: *mut AtkText,
2612        selection_num: c_int,
2613        start_offset: c_int,
2614        end_offset: c_int,
2615    ) -> gboolean;
2616
2617    //=========================================================================
2618    // AtkValue
2619    //=========================================================================
2620    pub fn atk_value_get_type() -> GType;
2621    pub fn atk_value_get_current_value(obj: *mut AtkValue, value: *mut gobject::GValue);
2622    pub fn atk_value_get_increment(obj: *mut AtkValue) -> c_double;
2623    pub fn atk_value_get_maximum_value(obj: *mut AtkValue, value: *mut gobject::GValue);
2624    pub fn atk_value_get_minimum_increment(obj: *mut AtkValue, value: *mut gobject::GValue);
2625    pub fn atk_value_get_minimum_value(obj: *mut AtkValue, value: *mut gobject::GValue);
2626    pub fn atk_value_get_range(obj: *mut AtkValue) -> *mut AtkRange;
2627    pub fn atk_value_get_sub_ranges(obj: *mut AtkValue) -> *mut glib::GSList;
2628    pub fn atk_value_get_value_and_text(
2629        obj: *mut AtkValue,
2630        value: *mut c_double,
2631        text: *mut *mut c_char,
2632    );
2633    pub fn atk_value_set_current_value(
2634        obj: *mut AtkValue,
2635        value: *const gobject::GValue,
2636    ) -> gboolean;
2637    pub fn atk_value_set_value(obj: *mut AtkValue, new_value: c_double);
2638
2639    //=========================================================================
2640    // AtkWindow
2641    //=========================================================================
2642    pub fn atk_window_get_type() -> GType;
2643
2644    //=========================================================================
2645    // Other functions
2646    //=========================================================================
2647    pub fn atk_add_focus_tracker(focus_tracker: AtkEventListener) -> c_uint;
2648    pub fn atk_add_global_event_listener(
2649        listener: gobject::GSignalEmissionHook,
2650        event_type: *const c_char,
2651    ) -> c_uint;
2652    pub fn atk_add_key_event_listener(listener: AtkKeySnoopFunc, data: gpointer) -> c_uint;
2653    pub fn atk_focus_tracker_init(init: AtkEventListenerInit);
2654    pub fn atk_focus_tracker_notify(object: *mut AtkObject);
2655    pub fn atk_get_binary_age() -> c_uint;
2656    pub fn atk_get_default_registry() -> *mut AtkRegistry;
2657    pub fn atk_get_focus_object() -> *mut AtkObject;
2658    pub fn atk_get_interface_age() -> c_uint;
2659    pub fn atk_get_major_version() -> c_uint;
2660    pub fn atk_get_micro_version() -> c_uint;
2661    pub fn atk_get_minor_version() -> c_uint;
2662    pub fn atk_get_root() -> *mut AtkObject;
2663    pub fn atk_get_toolkit_name() -> *const c_char;
2664    pub fn atk_get_toolkit_version() -> *const c_char;
2665    pub fn atk_get_version() -> *const c_char;
2666    pub fn atk_remove_focus_tracker(tracker_id: c_uint);
2667    pub fn atk_remove_global_event_listener(listener_id: c_uint);
2668    pub fn atk_remove_key_event_listener(listener_id: c_uint);
2669
2670}