Skip to main content

gtk4_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 cairo_sys as cairo;
15use gdk_pixbuf_sys as gdk_pixbuf;
16use gdk4_sys as gdk;
17use gio_sys as gio;
18use glib_sys as glib;
19use gobject_sys as gobject;
20use graphene_sys as graphene;
21use gsk4_sys as gsk;
22use pango_sys as pango;
23
24#[allow(unused_imports)]
25use libc::{FILE, intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t};
26#[cfg(unix)]
27#[allow(unused_imports)]
28use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
29#[allow(unused_imports)]
30use std::ffi::{
31    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
32};
33
34#[allow(unused_imports)]
35use glib::{GType, gboolean, gconstpointer, gpointer};
36
37pub const GTK_ENTRY_BUFFER_MAX_SIZE: u16 = u16::MAX;
38
39// Aliases
40pub type GtkAllocation = gdk::GdkRectangle;
41
42// Enums
43pub type GtkAccessibleAnnouncementPriority = c_int;
44pub const GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_LOW: GtkAccessibleAnnouncementPriority = 0;
45pub const GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_MEDIUM: GtkAccessibleAnnouncementPriority = 1;
46pub const GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_HIGH: GtkAccessibleAnnouncementPriority = 2;
47
48pub type GtkAccessibleAutocomplete = c_int;
49pub const GTK_ACCESSIBLE_AUTOCOMPLETE_NONE: GtkAccessibleAutocomplete = 0;
50pub const GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE: GtkAccessibleAutocomplete = 1;
51pub const GTK_ACCESSIBLE_AUTOCOMPLETE_LIST: GtkAccessibleAutocomplete = 2;
52pub const GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH: GtkAccessibleAutocomplete = 3;
53
54pub type GtkAccessibleInvalidState = c_int;
55pub const GTK_ACCESSIBLE_INVALID_FALSE: GtkAccessibleInvalidState = 0;
56pub const GTK_ACCESSIBLE_INVALID_TRUE: GtkAccessibleInvalidState = 1;
57pub const GTK_ACCESSIBLE_INVALID_GRAMMAR: GtkAccessibleInvalidState = 2;
58pub const GTK_ACCESSIBLE_INVALID_SPELLING: GtkAccessibleInvalidState = 3;
59
60pub type GtkAccessiblePlatformState = c_int;
61pub const GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE: GtkAccessiblePlatformState = 0;
62pub const GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED: GtkAccessiblePlatformState = 1;
63pub const GTK_ACCESSIBLE_PLATFORM_STATE_ACTIVE: GtkAccessiblePlatformState = 2;
64
65pub type GtkAccessibleProperty = c_int;
66pub const GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE: GtkAccessibleProperty = 0;
67pub const GTK_ACCESSIBLE_PROPERTY_DESCRIPTION: GtkAccessibleProperty = 1;
68pub const GTK_ACCESSIBLE_PROPERTY_HAS_POPUP: GtkAccessibleProperty = 2;
69pub const GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS: GtkAccessibleProperty = 3;
70pub const GTK_ACCESSIBLE_PROPERTY_LABEL: GtkAccessibleProperty = 4;
71pub const GTK_ACCESSIBLE_PROPERTY_LEVEL: GtkAccessibleProperty = 5;
72pub const GTK_ACCESSIBLE_PROPERTY_MODAL: GtkAccessibleProperty = 6;
73pub const GTK_ACCESSIBLE_PROPERTY_MULTI_LINE: GtkAccessibleProperty = 7;
74pub const GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE: GtkAccessibleProperty = 8;
75pub const GTK_ACCESSIBLE_PROPERTY_ORIENTATION: GtkAccessibleProperty = 9;
76pub const GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER: GtkAccessibleProperty = 10;
77pub const GTK_ACCESSIBLE_PROPERTY_READ_ONLY: GtkAccessibleProperty = 11;
78pub const GTK_ACCESSIBLE_PROPERTY_REQUIRED: GtkAccessibleProperty = 12;
79pub const GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION: GtkAccessibleProperty = 13;
80pub const GTK_ACCESSIBLE_PROPERTY_SORT: GtkAccessibleProperty = 14;
81pub const GTK_ACCESSIBLE_PROPERTY_VALUE_MAX: GtkAccessibleProperty = 15;
82pub const GTK_ACCESSIBLE_PROPERTY_VALUE_MIN: GtkAccessibleProperty = 16;
83pub const GTK_ACCESSIBLE_PROPERTY_VALUE_NOW: GtkAccessibleProperty = 17;
84pub const GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT: GtkAccessibleProperty = 18;
85#[cfg(feature = "v4_16")]
86#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
87pub const GTK_ACCESSIBLE_PROPERTY_HELP_TEXT: GtkAccessibleProperty = 19;
88
89pub type GtkAccessibleRelation = c_int;
90pub const GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT: GtkAccessibleRelation = 0;
91pub const GTK_ACCESSIBLE_RELATION_COL_COUNT: GtkAccessibleRelation = 1;
92pub const GTK_ACCESSIBLE_RELATION_COL_INDEX: GtkAccessibleRelation = 2;
93pub const GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT: GtkAccessibleRelation = 3;
94pub const GTK_ACCESSIBLE_RELATION_COL_SPAN: GtkAccessibleRelation = 4;
95pub const GTK_ACCESSIBLE_RELATION_CONTROLS: GtkAccessibleRelation = 5;
96pub const GTK_ACCESSIBLE_RELATION_DESCRIBED_BY: GtkAccessibleRelation = 6;
97pub const GTK_ACCESSIBLE_RELATION_DETAILS: GtkAccessibleRelation = 7;
98pub const GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE: GtkAccessibleRelation = 8;
99pub const GTK_ACCESSIBLE_RELATION_FLOW_TO: GtkAccessibleRelation = 9;
100pub const GTK_ACCESSIBLE_RELATION_LABELLED_BY: GtkAccessibleRelation = 10;
101pub const GTK_ACCESSIBLE_RELATION_OWNS: GtkAccessibleRelation = 11;
102pub const GTK_ACCESSIBLE_RELATION_POS_IN_SET: GtkAccessibleRelation = 12;
103pub const GTK_ACCESSIBLE_RELATION_ROW_COUNT: GtkAccessibleRelation = 13;
104pub const GTK_ACCESSIBLE_RELATION_ROW_INDEX: GtkAccessibleRelation = 14;
105pub const GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT: GtkAccessibleRelation = 15;
106pub const GTK_ACCESSIBLE_RELATION_ROW_SPAN: GtkAccessibleRelation = 16;
107pub const GTK_ACCESSIBLE_RELATION_SET_SIZE: GtkAccessibleRelation = 17;
108#[cfg(feature = "v4_18")]
109#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
110pub const GTK_ACCESSIBLE_RELATION_LABEL_FOR: GtkAccessibleRelation = 18;
111#[cfg(feature = "v4_18")]
112#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
113pub const GTK_ACCESSIBLE_RELATION_DESCRIPTION_FOR: GtkAccessibleRelation = 19;
114#[cfg(feature = "v4_18")]
115#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
116pub const GTK_ACCESSIBLE_RELATION_CONTROLLED_BY: GtkAccessibleRelation = 20;
117#[cfg(feature = "v4_18")]
118#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
119pub const GTK_ACCESSIBLE_RELATION_DETAILS_FOR: GtkAccessibleRelation = 21;
120#[cfg(feature = "v4_18")]
121#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
122pub const GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE_FOR: GtkAccessibleRelation = 22;
123#[cfg(feature = "v4_18")]
124#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
125pub const GTK_ACCESSIBLE_RELATION_FLOW_FROM: GtkAccessibleRelation = 23;
126
127pub type GtkAccessibleRole = c_int;
128pub const GTK_ACCESSIBLE_ROLE_ALERT: GtkAccessibleRole = 0;
129pub const GTK_ACCESSIBLE_ROLE_ALERT_DIALOG: GtkAccessibleRole = 1;
130pub const GTK_ACCESSIBLE_ROLE_BANNER: GtkAccessibleRole = 2;
131pub const GTK_ACCESSIBLE_ROLE_BUTTON: GtkAccessibleRole = 3;
132pub const GTK_ACCESSIBLE_ROLE_CAPTION: GtkAccessibleRole = 4;
133pub const GTK_ACCESSIBLE_ROLE_CELL: GtkAccessibleRole = 5;
134pub const GTK_ACCESSIBLE_ROLE_CHECKBOX: GtkAccessibleRole = 6;
135pub const GTK_ACCESSIBLE_ROLE_COLUMN_HEADER: GtkAccessibleRole = 7;
136pub const GTK_ACCESSIBLE_ROLE_COMBO_BOX: GtkAccessibleRole = 8;
137pub const GTK_ACCESSIBLE_ROLE_COMMAND: GtkAccessibleRole = 9;
138pub const GTK_ACCESSIBLE_ROLE_COMPOSITE: GtkAccessibleRole = 10;
139pub const GTK_ACCESSIBLE_ROLE_DIALOG: GtkAccessibleRole = 11;
140pub const GTK_ACCESSIBLE_ROLE_DOCUMENT: GtkAccessibleRole = 12;
141pub const GTK_ACCESSIBLE_ROLE_FEED: GtkAccessibleRole = 13;
142pub const GTK_ACCESSIBLE_ROLE_FORM: GtkAccessibleRole = 14;
143pub const GTK_ACCESSIBLE_ROLE_GENERIC: GtkAccessibleRole = 15;
144pub const GTK_ACCESSIBLE_ROLE_GRID: GtkAccessibleRole = 16;
145pub const GTK_ACCESSIBLE_ROLE_GRID_CELL: GtkAccessibleRole = 17;
146pub const GTK_ACCESSIBLE_ROLE_GROUP: GtkAccessibleRole = 18;
147pub const GTK_ACCESSIBLE_ROLE_HEADING: GtkAccessibleRole = 19;
148pub const GTK_ACCESSIBLE_ROLE_IMG: GtkAccessibleRole = 20;
149pub const GTK_ACCESSIBLE_ROLE_INPUT: GtkAccessibleRole = 21;
150pub const GTK_ACCESSIBLE_ROLE_LABEL: GtkAccessibleRole = 22;
151pub const GTK_ACCESSIBLE_ROLE_LANDMARK: GtkAccessibleRole = 23;
152pub const GTK_ACCESSIBLE_ROLE_LEGEND: GtkAccessibleRole = 24;
153pub const GTK_ACCESSIBLE_ROLE_LINK: GtkAccessibleRole = 25;
154pub const GTK_ACCESSIBLE_ROLE_LIST: GtkAccessibleRole = 26;
155pub const GTK_ACCESSIBLE_ROLE_LIST_BOX: GtkAccessibleRole = 27;
156pub const GTK_ACCESSIBLE_ROLE_LIST_ITEM: GtkAccessibleRole = 28;
157pub const GTK_ACCESSIBLE_ROLE_LOG: GtkAccessibleRole = 29;
158pub const GTK_ACCESSIBLE_ROLE_MAIN: GtkAccessibleRole = 30;
159pub const GTK_ACCESSIBLE_ROLE_MARQUEE: GtkAccessibleRole = 31;
160pub const GTK_ACCESSIBLE_ROLE_MATH: GtkAccessibleRole = 32;
161pub const GTK_ACCESSIBLE_ROLE_METER: GtkAccessibleRole = 33;
162pub const GTK_ACCESSIBLE_ROLE_MENU: GtkAccessibleRole = 34;
163pub const GTK_ACCESSIBLE_ROLE_MENU_BAR: GtkAccessibleRole = 35;
164pub const GTK_ACCESSIBLE_ROLE_MENU_ITEM: GtkAccessibleRole = 36;
165pub const GTK_ACCESSIBLE_ROLE_MENU_ITEM_CHECKBOX: GtkAccessibleRole = 37;
166pub const GTK_ACCESSIBLE_ROLE_MENU_ITEM_RADIO: GtkAccessibleRole = 38;
167pub const GTK_ACCESSIBLE_ROLE_NAVIGATION: GtkAccessibleRole = 39;
168pub const GTK_ACCESSIBLE_ROLE_NONE: GtkAccessibleRole = 40;
169pub const GTK_ACCESSIBLE_ROLE_NOTE: GtkAccessibleRole = 41;
170pub const GTK_ACCESSIBLE_ROLE_OPTION: GtkAccessibleRole = 42;
171pub const GTK_ACCESSIBLE_ROLE_PRESENTATION: GtkAccessibleRole = 43;
172pub const GTK_ACCESSIBLE_ROLE_PROGRESS_BAR: GtkAccessibleRole = 44;
173pub const GTK_ACCESSIBLE_ROLE_RADIO: GtkAccessibleRole = 45;
174pub const GTK_ACCESSIBLE_ROLE_RADIO_GROUP: GtkAccessibleRole = 46;
175pub const GTK_ACCESSIBLE_ROLE_RANGE: GtkAccessibleRole = 47;
176pub const GTK_ACCESSIBLE_ROLE_REGION: GtkAccessibleRole = 48;
177pub const GTK_ACCESSIBLE_ROLE_ROW: GtkAccessibleRole = 49;
178pub const GTK_ACCESSIBLE_ROLE_ROW_GROUP: GtkAccessibleRole = 50;
179pub const GTK_ACCESSIBLE_ROLE_ROW_HEADER: GtkAccessibleRole = 51;
180pub const GTK_ACCESSIBLE_ROLE_SCROLLBAR: GtkAccessibleRole = 52;
181pub const GTK_ACCESSIBLE_ROLE_SEARCH: GtkAccessibleRole = 53;
182pub const GTK_ACCESSIBLE_ROLE_SEARCH_BOX: GtkAccessibleRole = 54;
183pub const GTK_ACCESSIBLE_ROLE_SECTION: GtkAccessibleRole = 55;
184pub const GTK_ACCESSIBLE_ROLE_SECTION_HEAD: GtkAccessibleRole = 56;
185pub const GTK_ACCESSIBLE_ROLE_SELECT: GtkAccessibleRole = 57;
186pub const GTK_ACCESSIBLE_ROLE_SEPARATOR: GtkAccessibleRole = 58;
187pub const GTK_ACCESSIBLE_ROLE_SLIDER: GtkAccessibleRole = 59;
188pub const GTK_ACCESSIBLE_ROLE_SPIN_BUTTON: GtkAccessibleRole = 60;
189pub const GTK_ACCESSIBLE_ROLE_STATUS: GtkAccessibleRole = 61;
190pub const GTK_ACCESSIBLE_ROLE_STRUCTURE: GtkAccessibleRole = 62;
191pub const GTK_ACCESSIBLE_ROLE_SWITCH: GtkAccessibleRole = 63;
192pub const GTK_ACCESSIBLE_ROLE_TAB: GtkAccessibleRole = 64;
193pub const GTK_ACCESSIBLE_ROLE_TABLE: GtkAccessibleRole = 65;
194pub const GTK_ACCESSIBLE_ROLE_TAB_LIST: GtkAccessibleRole = 66;
195pub const GTK_ACCESSIBLE_ROLE_TAB_PANEL: GtkAccessibleRole = 67;
196pub const GTK_ACCESSIBLE_ROLE_TEXT_BOX: GtkAccessibleRole = 68;
197pub const GTK_ACCESSIBLE_ROLE_TIME: GtkAccessibleRole = 69;
198pub const GTK_ACCESSIBLE_ROLE_TIMER: GtkAccessibleRole = 70;
199pub const GTK_ACCESSIBLE_ROLE_TOOLBAR: GtkAccessibleRole = 71;
200pub const GTK_ACCESSIBLE_ROLE_TOOLTIP: GtkAccessibleRole = 72;
201pub const GTK_ACCESSIBLE_ROLE_TREE: GtkAccessibleRole = 73;
202pub const GTK_ACCESSIBLE_ROLE_TREE_GRID: GtkAccessibleRole = 74;
203pub const GTK_ACCESSIBLE_ROLE_TREE_ITEM: GtkAccessibleRole = 75;
204pub const GTK_ACCESSIBLE_ROLE_WIDGET: GtkAccessibleRole = 76;
205pub const GTK_ACCESSIBLE_ROLE_WINDOW: GtkAccessibleRole = 77;
206#[cfg(feature = "v4_10")]
207#[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
208pub const GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON: GtkAccessibleRole = 78;
209#[cfg(feature = "v4_12")]
210#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
211pub const GTK_ACCESSIBLE_ROLE_APPLICATION: GtkAccessibleRole = 79;
212#[cfg(feature = "v4_14")]
213#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
214pub const GTK_ACCESSIBLE_ROLE_PARAGRAPH: GtkAccessibleRole = 80;
215#[cfg(feature = "v4_14")]
216#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
217pub const GTK_ACCESSIBLE_ROLE_BLOCK_QUOTE: GtkAccessibleRole = 81;
218#[cfg(feature = "v4_14")]
219#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
220pub const GTK_ACCESSIBLE_ROLE_ARTICLE: GtkAccessibleRole = 82;
221#[cfg(feature = "v4_14")]
222#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
223pub const GTK_ACCESSIBLE_ROLE_COMMENT: GtkAccessibleRole = 83;
224#[cfg(feature = "v4_14")]
225#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
226pub const GTK_ACCESSIBLE_ROLE_TERMINAL: GtkAccessibleRole = 84;
227
228pub type GtkAccessibleSort = c_int;
229pub const GTK_ACCESSIBLE_SORT_NONE: GtkAccessibleSort = 0;
230pub const GTK_ACCESSIBLE_SORT_ASCENDING: GtkAccessibleSort = 1;
231pub const GTK_ACCESSIBLE_SORT_DESCENDING: GtkAccessibleSort = 2;
232pub const GTK_ACCESSIBLE_SORT_OTHER: GtkAccessibleSort = 3;
233
234pub type GtkAccessibleState = c_int;
235pub const GTK_ACCESSIBLE_STATE_BUSY: GtkAccessibleState = 0;
236pub const GTK_ACCESSIBLE_STATE_CHECKED: GtkAccessibleState = 1;
237pub const GTK_ACCESSIBLE_STATE_DISABLED: GtkAccessibleState = 2;
238pub const GTK_ACCESSIBLE_STATE_EXPANDED: GtkAccessibleState = 3;
239pub const GTK_ACCESSIBLE_STATE_HIDDEN: GtkAccessibleState = 4;
240pub const GTK_ACCESSIBLE_STATE_INVALID: GtkAccessibleState = 5;
241pub const GTK_ACCESSIBLE_STATE_PRESSED: GtkAccessibleState = 6;
242pub const GTK_ACCESSIBLE_STATE_SELECTED: GtkAccessibleState = 7;
243#[cfg(feature = "v4_12")]
244#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
245pub const GTK_ACCESSIBLE_STATE_VISITED: GtkAccessibleState = 8;
246
247pub type GtkAccessibleTextContentChange = c_int;
248pub const GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_INSERT: GtkAccessibleTextContentChange = 0;
249pub const GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_REMOVE: GtkAccessibleTextContentChange = 1;
250
251pub type GtkAccessibleTextGranularity = c_int;
252pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_CHARACTER: GtkAccessibleTextGranularity = 0;
253pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_WORD: GtkAccessibleTextGranularity = 1;
254pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_SENTENCE: GtkAccessibleTextGranularity = 2;
255pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_LINE: GtkAccessibleTextGranularity = 3;
256pub const GTK_ACCESSIBLE_TEXT_GRANULARITY_PARAGRAPH: GtkAccessibleTextGranularity = 4;
257
258pub type GtkAccessibleTristate = c_int;
259pub const GTK_ACCESSIBLE_TRISTATE_FALSE: GtkAccessibleTristate = 0;
260pub const GTK_ACCESSIBLE_TRISTATE_TRUE: GtkAccessibleTristate = 1;
261pub const GTK_ACCESSIBLE_TRISTATE_MIXED: GtkAccessibleTristate = 2;
262
263pub type GtkAlign = c_int;
264pub const GTK_ALIGN_FILL: GtkAlign = 0;
265pub const GTK_ALIGN_START: GtkAlign = 1;
266pub const GTK_ALIGN_END: GtkAlign = 2;
267pub const GTK_ALIGN_CENTER: GtkAlign = 3;
268#[cfg(feature = "v4_12")]
269#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
270pub const GTK_ALIGN_BASELINE_FILL: GtkAlign = 4;
271pub const GTK_ALIGN_BASELINE: GtkAlign = 4;
272#[cfg(feature = "v4_12")]
273#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
274pub const GTK_ALIGN_BASELINE_CENTER: GtkAlign = 5;
275
276pub type GtkArrowType = c_int;
277pub const GTK_ARROW_UP: GtkArrowType = 0;
278pub const GTK_ARROW_DOWN: GtkArrowType = 1;
279pub const GTK_ARROW_LEFT: GtkArrowType = 2;
280pub const GTK_ARROW_RIGHT: GtkArrowType = 3;
281pub const GTK_ARROW_NONE: GtkArrowType = 4;
282
283pub type GtkAssistantPageType = c_int;
284pub const GTK_ASSISTANT_PAGE_CONTENT: GtkAssistantPageType = 0;
285pub const GTK_ASSISTANT_PAGE_INTRO: GtkAssistantPageType = 1;
286pub const GTK_ASSISTANT_PAGE_CONFIRM: GtkAssistantPageType = 2;
287pub const GTK_ASSISTANT_PAGE_SUMMARY: GtkAssistantPageType = 3;
288pub const GTK_ASSISTANT_PAGE_PROGRESS: GtkAssistantPageType = 4;
289pub const GTK_ASSISTANT_PAGE_CUSTOM: GtkAssistantPageType = 5;
290
291pub type GtkBaselinePosition = c_int;
292pub const GTK_BASELINE_POSITION_TOP: GtkBaselinePosition = 0;
293pub const GTK_BASELINE_POSITION_CENTER: GtkBaselinePosition = 1;
294pub const GTK_BASELINE_POSITION_BOTTOM: GtkBaselinePosition = 2;
295
296pub type GtkBorderStyle = c_int;
297pub const GTK_BORDER_STYLE_NONE: GtkBorderStyle = 0;
298pub const GTK_BORDER_STYLE_HIDDEN: GtkBorderStyle = 1;
299pub const GTK_BORDER_STYLE_SOLID: GtkBorderStyle = 2;
300pub const GTK_BORDER_STYLE_INSET: GtkBorderStyle = 3;
301pub const GTK_BORDER_STYLE_OUTSET: GtkBorderStyle = 4;
302pub const GTK_BORDER_STYLE_DOTTED: GtkBorderStyle = 5;
303pub const GTK_BORDER_STYLE_DASHED: GtkBorderStyle = 6;
304pub const GTK_BORDER_STYLE_DOUBLE: GtkBorderStyle = 7;
305pub const GTK_BORDER_STYLE_GROOVE: GtkBorderStyle = 8;
306pub const GTK_BORDER_STYLE_RIDGE: GtkBorderStyle = 9;
307
308pub type GtkBuilderError = c_int;
309pub const GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION: GtkBuilderError = 0;
310pub const GTK_BUILDER_ERROR_UNHANDLED_TAG: GtkBuilderError = 1;
311pub const GTK_BUILDER_ERROR_MISSING_ATTRIBUTE: GtkBuilderError = 2;
312pub const GTK_BUILDER_ERROR_INVALID_ATTRIBUTE: GtkBuilderError = 3;
313pub const GTK_BUILDER_ERROR_INVALID_TAG: GtkBuilderError = 4;
314pub const GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE: GtkBuilderError = 5;
315pub const GTK_BUILDER_ERROR_INVALID_VALUE: GtkBuilderError = 6;
316pub const GTK_BUILDER_ERROR_VERSION_MISMATCH: GtkBuilderError = 7;
317pub const GTK_BUILDER_ERROR_DUPLICATE_ID: GtkBuilderError = 8;
318pub const GTK_BUILDER_ERROR_OBJECT_TYPE_REFUSED: GtkBuilderError = 9;
319pub const GTK_BUILDER_ERROR_TEMPLATE_MISMATCH: GtkBuilderError = 10;
320pub const GTK_BUILDER_ERROR_INVALID_PROPERTY: GtkBuilderError = 11;
321pub const GTK_BUILDER_ERROR_INVALID_SIGNAL: GtkBuilderError = 12;
322pub const GTK_BUILDER_ERROR_INVALID_ID: GtkBuilderError = 13;
323pub const GTK_BUILDER_ERROR_INVALID_FUNCTION: GtkBuilderError = 14;
324
325pub type GtkButtonsType = c_int;
326pub const GTK_BUTTONS_NONE: GtkButtonsType = 0;
327pub const GTK_BUTTONS_OK: GtkButtonsType = 1;
328pub const GTK_BUTTONS_CLOSE: GtkButtonsType = 2;
329pub const GTK_BUTTONS_CANCEL: GtkButtonsType = 3;
330pub const GTK_BUTTONS_YES_NO: GtkButtonsType = 4;
331pub const GTK_BUTTONS_OK_CANCEL: GtkButtonsType = 5;
332
333pub type GtkCellRendererAccelMode = c_int;
334pub const GTK_CELL_RENDERER_ACCEL_MODE_GTK: GtkCellRendererAccelMode = 0;
335pub const GTK_CELL_RENDERER_ACCEL_MODE_OTHER: GtkCellRendererAccelMode = 1;
336
337pub type GtkCellRendererMode = c_int;
338pub const GTK_CELL_RENDERER_MODE_INERT: GtkCellRendererMode = 0;
339pub const GTK_CELL_RENDERER_MODE_ACTIVATABLE: GtkCellRendererMode = 1;
340pub const GTK_CELL_RENDERER_MODE_EDITABLE: GtkCellRendererMode = 2;
341
342pub type GtkCollation = c_int;
343pub const GTK_COLLATION_NONE: GtkCollation = 0;
344pub const GTK_COLLATION_UNICODE: GtkCollation = 1;
345pub const GTK_COLLATION_FILENAME: GtkCollation = 2;
346
347pub type GtkConstraintAttribute = c_int;
348pub const GTK_CONSTRAINT_ATTRIBUTE_NONE: GtkConstraintAttribute = 0;
349pub const GTK_CONSTRAINT_ATTRIBUTE_LEFT: GtkConstraintAttribute = 1;
350pub const GTK_CONSTRAINT_ATTRIBUTE_RIGHT: GtkConstraintAttribute = 2;
351pub const GTK_CONSTRAINT_ATTRIBUTE_TOP: GtkConstraintAttribute = 3;
352pub const GTK_CONSTRAINT_ATTRIBUTE_BOTTOM: GtkConstraintAttribute = 4;
353pub const GTK_CONSTRAINT_ATTRIBUTE_START: GtkConstraintAttribute = 5;
354pub const GTK_CONSTRAINT_ATTRIBUTE_END: GtkConstraintAttribute = 6;
355pub const GTK_CONSTRAINT_ATTRIBUTE_WIDTH: GtkConstraintAttribute = 7;
356pub const GTK_CONSTRAINT_ATTRIBUTE_HEIGHT: GtkConstraintAttribute = 8;
357pub const GTK_CONSTRAINT_ATTRIBUTE_CENTER_X: GtkConstraintAttribute = 9;
358pub const GTK_CONSTRAINT_ATTRIBUTE_CENTER_Y: GtkConstraintAttribute = 10;
359pub const GTK_CONSTRAINT_ATTRIBUTE_BASELINE: GtkConstraintAttribute = 11;
360
361pub type GtkConstraintRelation = c_int;
362pub const GTK_CONSTRAINT_RELATION_LE: GtkConstraintRelation = -1;
363pub const GTK_CONSTRAINT_RELATION_EQ: GtkConstraintRelation = 0;
364pub const GTK_CONSTRAINT_RELATION_GE: GtkConstraintRelation = 1;
365
366pub type GtkConstraintStrength = c_int;
367pub const GTK_CONSTRAINT_STRENGTH_REQUIRED: GtkConstraintStrength = 1001001000;
368pub const GTK_CONSTRAINT_STRENGTH_STRONG: GtkConstraintStrength = 1000000000;
369pub const GTK_CONSTRAINT_STRENGTH_MEDIUM: GtkConstraintStrength = 1000;
370pub const GTK_CONSTRAINT_STRENGTH_WEAK: GtkConstraintStrength = 1;
371
372pub type GtkConstraintVflParserError = c_int;
373pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_SYMBOL: GtkConstraintVflParserError = 0;
374pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_ATTRIBUTE: GtkConstraintVflParserError = 1;
375pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_VIEW: GtkConstraintVflParserError = 2;
376pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_METRIC: GtkConstraintVflParserError = 3;
377pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_PRIORITY: GtkConstraintVflParserError = 4;
378pub const GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_RELATION: GtkConstraintVflParserError = 5;
379
380pub type GtkContentFit = c_int;
381pub const GTK_CONTENT_FIT_FILL: GtkContentFit = 0;
382pub const GTK_CONTENT_FIT_CONTAIN: GtkContentFit = 1;
383pub const GTK_CONTENT_FIT_COVER: GtkContentFit = 2;
384pub const GTK_CONTENT_FIT_SCALE_DOWN: GtkContentFit = 3;
385
386pub type GtkCornerType = c_int;
387pub const GTK_CORNER_TOP_LEFT: GtkCornerType = 0;
388pub const GTK_CORNER_BOTTOM_LEFT: GtkCornerType = 1;
389pub const GTK_CORNER_TOP_RIGHT: GtkCornerType = 2;
390pub const GTK_CORNER_BOTTOM_RIGHT: GtkCornerType = 3;
391
392pub type GtkCssParserError = c_int;
393pub const GTK_CSS_PARSER_ERROR_FAILED: GtkCssParserError = 0;
394pub const GTK_CSS_PARSER_ERROR_SYNTAX: GtkCssParserError = 1;
395pub const GTK_CSS_PARSER_ERROR_IMPORT: GtkCssParserError = 2;
396pub const GTK_CSS_PARSER_ERROR_NAME: GtkCssParserError = 3;
397pub const GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE: GtkCssParserError = 4;
398
399pub type GtkCssParserWarning = c_int;
400pub const GTK_CSS_PARSER_WARNING_DEPRECATED: GtkCssParserWarning = 0;
401pub const GTK_CSS_PARSER_WARNING_SYNTAX: GtkCssParserWarning = 1;
402pub const GTK_CSS_PARSER_WARNING_UNIMPLEMENTED: GtkCssParserWarning = 2;
403
404pub type GtkDeleteType = c_int;
405pub const GTK_DELETE_CHARS: GtkDeleteType = 0;
406pub const GTK_DELETE_WORD_ENDS: GtkDeleteType = 1;
407pub const GTK_DELETE_WORDS: GtkDeleteType = 2;
408pub const GTK_DELETE_DISPLAY_LINES: GtkDeleteType = 3;
409pub const GTK_DELETE_DISPLAY_LINE_ENDS: GtkDeleteType = 4;
410pub const GTK_DELETE_PARAGRAPH_ENDS: GtkDeleteType = 5;
411pub const GTK_DELETE_PARAGRAPHS: GtkDeleteType = 6;
412pub const GTK_DELETE_WHITESPACE: GtkDeleteType = 7;
413
414pub type GtkDialogError = c_int;
415pub const GTK_DIALOG_ERROR_FAILED: GtkDialogError = 0;
416pub const GTK_DIALOG_ERROR_CANCELLED: GtkDialogError = 1;
417pub const GTK_DIALOG_ERROR_DISMISSED: GtkDialogError = 2;
418
419pub type GtkDirectionType = c_int;
420pub const GTK_DIR_TAB_FORWARD: GtkDirectionType = 0;
421pub const GTK_DIR_TAB_BACKWARD: GtkDirectionType = 1;
422pub const GTK_DIR_UP: GtkDirectionType = 2;
423pub const GTK_DIR_DOWN: GtkDirectionType = 3;
424pub const GTK_DIR_LEFT: GtkDirectionType = 4;
425pub const GTK_DIR_RIGHT: GtkDirectionType = 5;
426
427pub type GtkEditableProperties = c_int;
428pub const GTK_EDITABLE_PROP_TEXT: GtkEditableProperties = 0;
429pub const GTK_EDITABLE_PROP_CURSOR_POSITION: GtkEditableProperties = 1;
430pub const GTK_EDITABLE_PROP_SELECTION_BOUND: GtkEditableProperties = 2;
431pub const GTK_EDITABLE_PROP_EDITABLE: GtkEditableProperties = 3;
432pub const GTK_EDITABLE_PROP_WIDTH_CHARS: GtkEditableProperties = 4;
433pub const GTK_EDITABLE_PROP_MAX_WIDTH_CHARS: GtkEditableProperties = 5;
434pub const GTK_EDITABLE_PROP_XALIGN: GtkEditableProperties = 6;
435pub const GTK_EDITABLE_PROP_ENABLE_UNDO: GtkEditableProperties = 7;
436pub const GTK_EDITABLE_PROP_COMPLETE_TEXT: GtkEditableProperties = 8;
437pub const GTK_EDITABLE_PROP_INPUT_INTERCEPTOR: GtkEditableProperties = 9;
438pub const GTK_EDITABLE_NUM_PROPERTIES: GtkEditableProperties = 10;
439
440pub type GtkEntryIconPosition = c_int;
441pub const GTK_ENTRY_ICON_PRIMARY: GtkEntryIconPosition = 0;
442pub const GTK_ENTRY_ICON_SECONDARY: GtkEntryIconPosition = 1;
443
444pub type GtkEventSequenceState = c_int;
445pub const GTK_EVENT_SEQUENCE_NONE: GtkEventSequenceState = 0;
446pub const GTK_EVENT_SEQUENCE_CLAIMED: GtkEventSequenceState = 1;
447pub const GTK_EVENT_SEQUENCE_DENIED: GtkEventSequenceState = 2;
448
449pub type GtkFileChooserAction = c_int;
450pub const GTK_FILE_CHOOSER_ACTION_OPEN: GtkFileChooserAction = 0;
451pub const GTK_FILE_CHOOSER_ACTION_SAVE: GtkFileChooserAction = 1;
452pub const GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER: GtkFileChooserAction = 2;
453
454pub type GtkFileChooserError = c_int;
455pub const GTK_FILE_CHOOSER_ERROR_NONEXISTENT: GtkFileChooserError = 0;
456pub const GTK_FILE_CHOOSER_ERROR_BAD_FILENAME: GtkFileChooserError = 1;
457pub const GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS: GtkFileChooserError = 2;
458pub const GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME: GtkFileChooserError = 3;
459
460pub type GtkFilterChange = c_int;
461pub const GTK_FILTER_CHANGE_DIFFERENT: GtkFilterChange = 0;
462pub const GTK_FILTER_CHANGE_LESS_STRICT: GtkFilterChange = 1;
463pub const GTK_FILTER_CHANGE_MORE_STRICT: GtkFilterChange = 2;
464#[cfg(feature = "v4_20")]
465#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
466pub const GTK_FILTER_CHANGE_DIFFERENT_REWATCH: GtkFilterChange = 3;
467#[cfg(feature = "v4_20")]
468#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
469pub const GTK_FILTER_CHANGE_LESS_STRICT_REWATCH: GtkFilterChange = 4;
470#[cfg(feature = "v4_20")]
471#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
472pub const GTK_FILTER_CHANGE_MORE_STRICT_REWATCH: GtkFilterChange = 5;
473
474pub type GtkFilterMatch = c_int;
475pub const GTK_FILTER_MATCH_SOME: GtkFilterMatch = 0;
476pub const GTK_FILTER_MATCH_NONE: GtkFilterMatch = 1;
477pub const GTK_FILTER_MATCH_ALL: GtkFilterMatch = 2;
478
479pub type GtkFontLevel = c_int;
480pub const GTK_FONT_LEVEL_FAMILY: GtkFontLevel = 0;
481pub const GTK_FONT_LEVEL_FACE: GtkFontLevel = 1;
482pub const GTK_FONT_LEVEL_FONT: GtkFontLevel = 2;
483pub const GTK_FONT_LEVEL_FEATURES: GtkFontLevel = 3;
484
485pub type GtkFontRendering = c_int;
486pub const GTK_FONT_RENDERING_AUTOMATIC: GtkFontRendering = 0;
487pub const GTK_FONT_RENDERING_MANUAL: GtkFontRendering = 1;
488
489pub type GtkGraphicsOffloadEnabled = c_int;
490pub const GTK_GRAPHICS_OFFLOAD_ENABLED: GtkGraphicsOffloadEnabled = 0;
491pub const GTK_GRAPHICS_OFFLOAD_DISABLED: GtkGraphicsOffloadEnabled = 1;
492
493pub type GtkIconSize = c_int;
494pub const GTK_ICON_SIZE_INHERIT: GtkIconSize = 0;
495pub const GTK_ICON_SIZE_NORMAL: GtkIconSize = 1;
496pub const GTK_ICON_SIZE_LARGE: GtkIconSize = 2;
497
498pub type GtkIconThemeError = c_int;
499pub const GTK_ICON_THEME_NOT_FOUND: GtkIconThemeError = 0;
500pub const GTK_ICON_THEME_FAILED: GtkIconThemeError = 1;
501
502pub type GtkIconViewDropPosition = c_int;
503pub const GTK_ICON_VIEW_NO_DROP: GtkIconViewDropPosition = 0;
504pub const GTK_ICON_VIEW_DROP_INTO: GtkIconViewDropPosition = 1;
505pub const GTK_ICON_VIEW_DROP_LEFT: GtkIconViewDropPosition = 2;
506pub const GTK_ICON_VIEW_DROP_RIGHT: GtkIconViewDropPosition = 3;
507pub const GTK_ICON_VIEW_DROP_ABOVE: GtkIconViewDropPosition = 4;
508pub const GTK_ICON_VIEW_DROP_BELOW: GtkIconViewDropPosition = 5;
509
510pub type GtkImageType = c_int;
511pub const GTK_IMAGE_EMPTY: GtkImageType = 0;
512pub const GTK_IMAGE_ICON_NAME: GtkImageType = 1;
513pub const GTK_IMAGE_GICON: GtkImageType = 2;
514pub const GTK_IMAGE_PAINTABLE: GtkImageType = 3;
515
516pub type GtkInputPurpose = c_int;
517pub const GTK_INPUT_PURPOSE_FREE_FORM: GtkInputPurpose = 0;
518pub const GTK_INPUT_PURPOSE_ALPHA: GtkInputPurpose = 1;
519pub const GTK_INPUT_PURPOSE_DIGITS: GtkInputPurpose = 2;
520pub const GTK_INPUT_PURPOSE_NUMBER: GtkInputPurpose = 3;
521pub const GTK_INPUT_PURPOSE_PHONE: GtkInputPurpose = 4;
522pub const GTK_INPUT_PURPOSE_URL: GtkInputPurpose = 5;
523pub const GTK_INPUT_PURPOSE_EMAIL: GtkInputPurpose = 6;
524pub const GTK_INPUT_PURPOSE_NAME: GtkInputPurpose = 7;
525pub const GTK_INPUT_PURPOSE_PASSWORD: GtkInputPurpose = 8;
526pub const GTK_INPUT_PURPOSE_PIN: GtkInputPurpose = 9;
527pub const GTK_INPUT_PURPOSE_TERMINAL: GtkInputPurpose = 10;
528
529pub type GtkInscriptionOverflow = c_int;
530pub const GTK_INSCRIPTION_OVERFLOW_CLIP: GtkInscriptionOverflow = 0;
531pub const GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_START: GtkInscriptionOverflow = 1;
532pub const GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_MIDDLE: GtkInscriptionOverflow = 2;
533pub const GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_END: GtkInscriptionOverflow = 3;
534
535pub type GtkInterfaceColorScheme = c_int;
536pub const GTK_INTERFACE_COLOR_SCHEME_UNSUPPORTED: GtkInterfaceColorScheme = 0;
537pub const GTK_INTERFACE_COLOR_SCHEME_DEFAULT: GtkInterfaceColorScheme = 1;
538pub const GTK_INTERFACE_COLOR_SCHEME_DARK: GtkInterfaceColorScheme = 2;
539pub const GTK_INTERFACE_COLOR_SCHEME_LIGHT: GtkInterfaceColorScheme = 3;
540
541pub type GtkInterfaceContrast = c_int;
542pub const GTK_INTERFACE_CONTRAST_UNSUPPORTED: GtkInterfaceContrast = 0;
543pub const GTK_INTERFACE_CONTRAST_NO_PREFERENCE: GtkInterfaceContrast = 1;
544pub const GTK_INTERFACE_CONTRAST_MORE: GtkInterfaceContrast = 2;
545pub const GTK_INTERFACE_CONTRAST_LESS: GtkInterfaceContrast = 3;
546
547pub type GtkJustification = c_int;
548pub const GTK_JUSTIFY_LEFT: GtkJustification = 0;
549pub const GTK_JUSTIFY_RIGHT: GtkJustification = 1;
550pub const GTK_JUSTIFY_CENTER: GtkJustification = 2;
551pub const GTK_JUSTIFY_FILL: GtkJustification = 3;
552
553pub type GtkLevelBarMode = c_int;
554pub const GTK_LEVEL_BAR_MODE_CONTINUOUS: GtkLevelBarMode = 0;
555pub const GTK_LEVEL_BAR_MODE_DISCRETE: GtkLevelBarMode = 1;
556
557pub type GtkLicense = c_int;
558pub const GTK_LICENSE_UNKNOWN: GtkLicense = 0;
559pub const GTK_LICENSE_CUSTOM: GtkLicense = 1;
560pub const GTK_LICENSE_GPL_2_0: GtkLicense = 2;
561pub const GTK_LICENSE_GPL_3_0: GtkLicense = 3;
562pub const GTK_LICENSE_LGPL_2_1: GtkLicense = 4;
563pub const GTK_LICENSE_LGPL_3_0: GtkLicense = 5;
564pub const GTK_LICENSE_BSD: GtkLicense = 6;
565pub const GTK_LICENSE_MIT_X11: GtkLicense = 7;
566pub const GTK_LICENSE_ARTISTIC: GtkLicense = 8;
567pub const GTK_LICENSE_GPL_2_0_ONLY: GtkLicense = 9;
568pub const GTK_LICENSE_GPL_3_0_ONLY: GtkLicense = 10;
569pub const GTK_LICENSE_LGPL_2_1_ONLY: GtkLicense = 11;
570pub const GTK_LICENSE_LGPL_3_0_ONLY: GtkLicense = 12;
571pub const GTK_LICENSE_AGPL_3_0: GtkLicense = 13;
572pub const GTK_LICENSE_AGPL_3_0_ONLY: GtkLicense = 14;
573pub const GTK_LICENSE_BSD_3: GtkLicense = 15;
574pub const GTK_LICENSE_APACHE_2_0: GtkLicense = 16;
575pub const GTK_LICENSE_MPL_2_0: GtkLicense = 17;
576pub const GTK_LICENSE_0BSD: GtkLicense = 18;
577
578pub type GtkListTabBehavior = c_int;
579pub const GTK_LIST_TAB_ALL: GtkListTabBehavior = 0;
580pub const GTK_LIST_TAB_ITEM: GtkListTabBehavior = 1;
581pub const GTK_LIST_TAB_CELL: GtkListTabBehavior = 2;
582
583pub type GtkMessageType = c_int;
584pub const GTK_MESSAGE_INFO: GtkMessageType = 0;
585pub const GTK_MESSAGE_WARNING: GtkMessageType = 1;
586pub const GTK_MESSAGE_QUESTION: GtkMessageType = 2;
587pub const GTK_MESSAGE_ERROR: GtkMessageType = 3;
588pub const GTK_MESSAGE_OTHER: GtkMessageType = 4;
589
590pub type GtkMovementStep = c_int;
591pub const GTK_MOVEMENT_LOGICAL_POSITIONS: GtkMovementStep = 0;
592pub const GTK_MOVEMENT_VISUAL_POSITIONS: GtkMovementStep = 1;
593pub const GTK_MOVEMENT_WORDS: GtkMovementStep = 2;
594pub const GTK_MOVEMENT_DISPLAY_LINES: GtkMovementStep = 3;
595pub const GTK_MOVEMENT_DISPLAY_LINE_ENDS: GtkMovementStep = 4;
596pub const GTK_MOVEMENT_PARAGRAPHS: GtkMovementStep = 5;
597pub const GTK_MOVEMENT_PARAGRAPH_ENDS: GtkMovementStep = 6;
598pub const GTK_MOVEMENT_PAGES: GtkMovementStep = 7;
599pub const GTK_MOVEMENT_BUFFER_ENDS: GtkMovementStep = 8;
600pub const GTK_MOVEMENT_HORIZONTAL_PAGES: GtkMovementStep = 9;
601
602pub type GtkNaturalWrapMode = c_int;
603pub const GTK_NATURAL_WRAP_INHERIT: GtkNaturalWrapMode = 0;
604pub const GTK_NATURAL_WRAP_NONE: GtkNaturalWrapMode = 1;
605pub const GTK_NATURAL_WRAP_WORD: GtkNaturalWrapMode = 2;
606
607pub type GtkNotebookTab = c_int;
608pub const GTK_NOTEBOOK_TAB_FIRST: GtkNotebookTab = 0;
609pub const GTK_NOTEBOOK_TAB_LAST: GtkNotebookTab = 1;
610
611pub type GtkNumberUpLayout = c_int;
612pub const GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM: GtkNumberUpLayout = 0;
613pub const GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP: GtkNumberUpLayout = 1;
614pub const GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM: GtkNumberUpLayout = 2;
615pub const GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP: GtkNumberUpLayout = 3;
616pub const GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT: GtkNumberUpLayout = 4;
617pub const GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT: GtkNumberUpLayout = 5;
618pub const GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT: GtkNumberUpLayout = 6;
619pub const GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT: GtkNumberUpLayout = 7;
620
621pub type GtkOrdering = c_int;
622pub const GTK_ORDERING_SMALLER: GtkOrdering = -1;
623pub const GTK_ORDERING_EQUAL: GtkOrdering = 0;
624pub const GTK_ORDERING_LARGER: GtkOrdering = 1;
625
626pub type GtkOrientation = c_int;
627pub const GTK_ORIENTATION_HORIZONTAL: GtkOrientation = 0;
628pub const GTK_ORIENTATION_VERTICAL: GtkOrientation = 1;
629
630pub type GtkOverflow = c_int;
631pub const GTK_OVERFLOW_VISIBLE: GtkOverflow = 0;
632pub const GTK_OVERFLOW_HIDDEN: GtkOverflow = 1;
633
634pub type GtkPackType = c_int;
635pub const GTK_PACK_START: GtkPackType = 0;
636pub const GTK_PACK_END: GtkPackType = 1;
637
638pub type GtkPadActionType = c_int;
639pub const GTK_PAD_ACTION_BUTTON: GtkPadActionType = 0;
640pub const GTK_PAD_ACTION_RING: GtkPadActionType = 1;
641pub const GTK_PAD_ACTION_STRIP: GtkPadActionType = 2;
642pub const GTK_PAD_ACTION_DIAL: GtkPadActionType = 3;
643
644pub type GtkPageOrientation = c_int;
645pub const GTK_PAGE_ORIENTATION_PORTRAIT: GtkPageOrientation = 0;
646pub const GTK_PAGE_ORIENTATION_LANDSCAPE: GtkPageOrientation = 1;
647pub const GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT: GtkPageOrientation = 2;
648pub const GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE: GtkPageOrientation = 3;
649
650pub type GtkPageSet = c_int;
651pub const GTK_PAGE_SET_ALL: GtkPageSet = 0;
652pub const GTK_PAGE_SET_EVEN: GtkPageSet = 1;
653pub const GTK_PAGE_SET_ODD: GtkPageSet = 2;
654
655pub type GtkPanDirection = c_int;
656pub const GTK_PAN_DIRECTION_LEFT: GtkPanDirection = 0;
657pub const GTK_PAN_DIRECTION_RIGHT: GtkPanDirection = 1;
658pub const GTK_PAN_DIRECTION_UP: GtkPanDirection = 2;
659pub const GTK_PAN_DIRECTION_DOWN: GtkPanDirection = 3;
660
661pub type GtkPolicyType = c_int;
662pub const GTK_POLICY_ALWAYS: GtkPolicyType = 0;
663pub const GTK_POLICY_AUTOMATIC: GtkPolicyType = 1;
664pub const GTK_POLICY_NEVER: GtkPolicyType = 2;
665pub const GTK_POLICY_EXTERNAL: GtkPolicyType = 3;
666
667pub type GtkPositionType = c_int;
668pub const GTK_POS_LEFT: GtkPositionType = 0;
669pub const GTK_POS_RIGHT: GtkPositionType = 1;
670pub const GTK_POS_TOP: GtkPositionType = 2;
671pub const GTK_POS_BOTTOM: GtkPositionType = 3;
672
673pub type GtkPrintDuplex = c_int;
674pub const GTK_PRINT_DUPLEX_SIMPLEX: GtkPrintDuplex = 0;
675pub const GTK_PRINT_DUPLEX_HORIZONTAL: GtkPrintDuplex = 1;
676pub const GTK_PRINT_DUPLEX_VERTICAL: GtkPrintDuplex = 2;
677
678pub type GtkPrintError = c_int;
679pub const GTK_PRINT_ERROR_GENERAL: GtkPrintError = 0;
680pub const GTK_PRINT_ERROR_INTERNAL_ERROR: GtkPrintError = 1;
681pub const GTK_PRINT_ERROR_NOMEM: GtkPrintError = 2;
682pub const GTK_PRINT_ERROR_INVALID_FILE: GtkPrintError = 3;
683
684pub type GtkPrintOperationAction = c_int;
685pub const GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG: GtkPrintOperationAction = 0;
686pub const GTK_PRINT_OPERATION_ACTION_PRINT: GtkPrintOperationAction = 1;
687pub const GTK_PRINT_OPERATION_ACTION_PREVIEW: GtkPrintOperationAction = 2;
688pub const GTK_PRINT_OPERATION_ACTION_EXPORT: GtkPrintOperationAction = 3;
689
690pub type GtkPrintOperationResult = c_int;
691pub const GTK_PRINT_OPERATION_RESULT_ERROR: GtkPrintOperationResult = 0;
692pub const GTK_PRINT_OPERATION_RESULT_APPLY: GtkPrintOperationResult = 1;
693pub const GTK_PRINT_OPERATION_RESULT_CANCEL: GtkPrintOperationResult = 2;
694pub const GTK_PRINT_OPERATION_RESULT_IN_PROGRESS: GtkPrintOperationResult = 3;
695
696pub type GtkPrintPages = c_int;
697pub const GTK_PRINT_PAGES_ALL: GtkPrintPages = 0;
698pub const GTK_PRINT_PAGES_CURRENT: GtkPrintPages = 1;
699pub const GTK_PRINT_PAGES_RANGES: GtkPrintPages = 2;
700pub const GTK_PRINT_PAGES_SELECTION: GtkPrintPages = 3;
701
702pub type GtkPrintQuality = c_int;
703pub const GTK_PRINT_QUALITY_LOW: GtkPrintQuality = 0;
704pub const GTK_PRINT_QUALITY_NORMAL: GtkPrintQuality = 1;
705pub const GTK_PRINT_QUALITY_HIGH: GtkPrintQuality = 2;
706pub const GTK_PRINT_QUALITY_DRAFT: GtkPrintQuality = 3;
707
708pub type GtkPrintStatus = c_int;
709pub const GTK_PRINT_STATUS_INITIAL: GtkPrintStatus = 0;
710pub const GTK_PRINT_STATUS_PREPARING: GtkPrintStatus = 1;
711pub const GTK_PRINT_STATUS_GENERATING_DATA: GtkPrintStatus = 2;
712pub const GTK_PRINT_STATUS_SENDING_DATA: GtkPrintStatus = 3;
713pub const GTK_PRINT_STATUS_PENDING: GtkPrintStatus = 4;
714pub const GTK_PRINT_STATUS_PENDING_ISSUE: GtkPrintStatus = 5;
715pub const GTK_PRINT_STATUS_PRINTING: GtkPrintStatus = 6;
716pub const GTK_PRINT_STATUS_FINISHED: GtkPrintStatus = 7;
717pub const GTK_PRINT_STATUS_FINISHED_ABORTED: GtkPrintStatus = 8;
718
719pub type GtkPropagationLimit = c_int;
720pub const GTK_LIMIT_NONE: GtkPropagationLimit = 0;
721pub const GTK_LIMIT_SAME_NATIVE: GtkPropagationLimit = 1;
722
723pub type GtkPropagationPhase = c_int;
724pub const GTK_PHASE_NONE: GtkPropagationPhase = 0;
725pub const GTK_PHASE_CAPTURE: GtkPropagationPhase = 1;
726pub const GTK_PHASE_BUBBLE: GtkPropagationPhase = 2;
727pub const GTK_PHASE_TARGET: GtkPropagationPhase = 3;
728
729pub type GtkRecentManagerError = c_int;
730pub const GTK_RECENT_MANAGER_ERROR_NOT_FOUND: GtkRecentManagerError = 0;
731pub const GTK_RECENT_MANAGER_ERROR_INVALID_URI: GtkRecentManagerError = 1;
732pub const GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING: GtkRecentManagerError = 2;
733pub const GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED: GtkRecentManagerError = 3;
734pub const GTK_RECENT_MANAGER_ERROR_READ: GtkRecentManagerError = 4;
735pub const GTK_RECENT_MANAGER_ERROR_WRITE: GtkRecentManagerError = 5;
736pub const GTK_RECENT_MANAGER_ERROR_UNKNOWN: GtkRecentManagerError = 6;
737
738pub type GtkReducedMotion = c_int;
739pub const GTK_REDUCED_MOTION_NO_PREFERENCE: GtkReducedMotion = 0;
740pub const GTK_REDUCED_MOTION_REDUCE: GtkReducedMotion = 1;
741
742pub type GtkResponseType = c_int;
743pub const GTK_RESPONSE_NONE: GtkResponseType = -1;
744pub const GTK_RESPONSE_REJECT: GtkResponseType = -2;
745pub const GTK_RESPONSE_ACCEPT: GtkResponseType = -3;
746pub const GTK_RESPONSE_DELETE_EVENT: GtkResponseType = -4;
747pub const GTK_RESPONSE_OK: GtkResponseType = -5;
748pub const GTK_RESPONSE_CANCEL: GtkResponseType = -6;
749pub const GTK_RESPONSE_CLOSE: GtkResponseType = -7;
750pub const GTK_RESPONSE_YES: GtkResponseType = -8;
751pub const GTK_RESPONSE_NO: GtkResponseType = -9;
752pub const GTK_RESPONSE_APPLY: GtkResponseType = -10;
753pub const GTK_RESPONSE_HELP: GtkResponseType = -11;
754
755pub type GtkRevealerTransitionType = c_int;
756pub const GTK_REVEALER_TRANSITION_TYPE_NONE: GtkRevealerTransitionType = 0;
757pub const GTK_REVEALER_TRANSITION_TYPE_CROSSFADE: GtkRevealerTransitionType = 1;
758pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT: GtkRevealerTransitionType = 2;
759pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT: GtkRevealerTransitionType = 3;
760pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP: GtkRevealerTransitionType = 4;
761pub const GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN: GtkRevealerTransitionType = 5;
762pub const GTK_REVEALER_TRANSITION_TYPE_SWING_RIGHT: GtkRevealerTransitionType = 6;
763pub const GTK_REVEALER_TRANSITION_TYPE_SWING_LEFT: GtkRevealerTransitionType = 7;
764pub const GTK_REVEALER_TRANSITION_TYPE_SWING_UP: GtkRevealerTransitionType = 8;
765pub const GTK_REVEALER_TRANSITION_TYPE_SWING_DOWN: GtkRevealerTransitionType = 9;
766#[cfg(feature = "v4_22")]
767#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
768pub const GTK_REVEALER_TRANSITION_TYPE_FADE_SLIDE_RIGHT: GtkRevealerTransitionType = 10;
769#[cfg(feature = "v4_22")]
770#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
771pub const GTK_REVEALER_TRANSITION_TYPE_FADE_SLIDE_LEFT: GtkRevealerTransitionType = 11;
772#[cfg(feature = "v4_22")]
773#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
774pub const GTK_REVEALER_TRANSITION_TYPE_FADE_SLIDE_UP: GtkRevealerTransitionType = 12;
775#[cfg(feature = "v4_22")]
776#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
777pub const GTK_REVEALER_TRANSITION_TYPE_FADE_SLIDE_DOWN: GtkRevealerTransitionType = 13;
778
779pub type GtkScrollStep = c_int;
780pub const GTK_SCROLL_STEPS: GtkScrollStep = 0;
781pub const GTK_SCROLL_PAGES: GtkScrollStep = 1;
782pub const GTK_SCROLL_ENDS: GtkScrollStep = 2;
783pub const GTK_SCROLL_HORIZONTAL_STEPS: GtkScrollStep = 3;
784pub const GTK_SCROLL_HORIZONTAL_PAGES: GtkScrollStep = 4;
785pub const GTK_SCROLL_HORIZONTAL_ENDS: GtkScrollStep = 5;
786
787pub type GtkScrollType = c_int;
788pub const GTK_SCROLL_NONE: GtkScrollType = 0;
789pub const GTK_SCROLL_JUMP: GtkScrollType = 1;
790pub const GTK_SCROLL_STEP_BACKWARD: GtkScrollType = 2;
791pub const GTK_SCROLL_STEP_FORWARD: GtkScrollType = 3;
792pub const GTK_SCROLL_PAGE_BACKWARD: GtkScrollType = 4;
793pub const GTK_SCROLL_PAGE_FORWARD: GtkScrollType = 5;
794pub const GTK_SCROLL_STEP_UP: GtkScrollType = 6;
795pub const GTK_SCROLL_STEP_DOWN: GtkScrollType = 7;
796pub const GTK_SCROLL_PAGE_UP: GtkScrollType = 8;
797pub const GTK_SCROLL_PAGE_DOWN: GtkScrollType = 9;
798pub const GTK_SCROLL_STEP_LEFT: GtkScrollType = 10;
799pub const GTK_SCROLL_STEP_RIGHT: GtkScrollType = 11;
800pub const GTK_SCROLL_PAGE_LEFT: GtkScrollType = 12;
801pub const GTK_SCROLL_PAGE_RIGHT: GtkScrollType = 13;
802pub const GTK_SCROLL_START: GtkScrollType = 14;
803pub const GTK_SCROLL_END: GtkScrollType = 15;
804
805pub type GtkScrollablePolicy = c_int;
806pub const GTK_SCROLL_MINIMUM: GtkScrollablePolicy = 0;
807pub const GTK_SCROLL_NATURAL: GtkScrollablePolicy = 1;
808
809pub type GtkSelectionMode = c_int;
810pub const GTK_SELECTION_NONE: GtkSelectionMode = 0;
811pub const GTK_SELECTION_SINGLE: GtkSelectionMode = 1;
812pub const GTK_SELECTION_BROWSE: GtkSelectionMode = 2;
813pub const GTK_SELECTION_MULTIPLE: GtkSelectionMode = 3;
814
815pub type GtkSensitivityType = c_int;
816pub const GTK_SENSITIVITY_AUTO: GtkSensitivityType = 0;
817pub const GTK_SENSITIVITY_ON: GtkSensitivityType = 1;
818pub const GTK_SENSITIVITY_OFF: GtkSensitivityType = 2;
819
820pub type GtkShortcutScope = c_int;
821pub const GTK_SHORTCUT_SCOPE_LOCAL: GtkShortcutScope = 0;
822pub const GTK_SHORTCUT_SCOPE_MANAGED: GtkShortcutScope = 1;
823pub const GTK_SHORTCUT_SCOPE_GLOBAL: GtkShortcutScope = 2;
824
825pub type GtkShortcutType = c_int;
826pub const GTK_SHORTCUT_ACCELERATOR: GtkShortcutType = 0;
827pub const GTK_SHORTCUT_GESTURE_PINCH: GtkShortcutType = 1;
828pub const GTK_SHORTCUT_GESTURE_STRETCH: GtkShortcutType = 2;
829pub const GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE: GtkShortcutType = 3;
830pub const GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE: GtkShortcutType = 4;
831pub const GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT: GtkShortcutType = 5;
832pub const GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT: GtkShortcutType = 6;
833pub const GTK_SHORTCUT_GESTURE: GtkShortcutType = 7;
834pub const GTK_SHORTCUT_GESTURE_SWIPE_LEFT: GtkShortcutType = 8;
835pub const GTK_SHORTCUT_GESTURE_SWIPE_RIGHT: GtkShortcutType = 9;
836
837pub type GtkSizeGroupMode = c_int;
838pub const GTK_SIZE_GROUP_NONE: GtkSizeGroupMode = 0;
839pub const GTK_SIZE_GROUP_HORIZONTAL: GtkSizeGroupMode = 1;
840pub const GTK_SIZE_GROUP_VERTICAL: GtkSizeGroupMode = 2;
841pub const GTK_SIZE_GROUP_BOTH: GtkSizeGroupMode = 3;
842
843pub type GtkSizeRequestMode = c_int;
844pub const GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH: GtkSizeRequestMode = 0;
845pub const GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT: GtkSizeRequestMode = 1;
846pub const GTK_SIZE_REQUEST_CONSTANT_SIZE: GtkSizeRequestMode = 2;
847
848pub type GtkSortType = c_int;
849pub const GTK_SORT_ASCENDING: GtkSortType = 0;
850pub const GTK_SORT_DESCENDING: GtkSortType = 1;
851
852pub type GtkSorterChange = c_int;
853pub const GTK_SORTER_CHANGE_DIFFERENT: GtkSorterChange = 0;
854pub const GTK_SORTER_CHANGE_INVERTED: GtkSorterChange = 1;
855pub const GTK_SORTER_CHANGE_LESS_STRICT: GtkSorterChange = 2;
856pub const GTK_SORTER_CHANGE_MORE_STRICT: GtkSorterChange = 3;
857
858pub type GtkSorterOrder = c_int;
859pub const GTK_SORTER_ORDER_PARTIAL: GtkSorterOrder = 0;
860pub const GTK_SORTER_ORDER_NONE: GtkSorterOrder = 1;
861pub const GTK_SORTER_ORDER_TOTAL: GtkSorterOrder = 2;
862
863pub type GtkSpinButtonUpdatePolicy = c_int;
864pub const GTK_UPDATE_ALWAYS: GtkSpinButtonUpdatePolicy = 0;
865pub const GTK_UPDATE_IF_VALID: GtkSpinButtonUpdatePolicy = 1;
866
867pub type GtkSpinType = c_int;
868pub const GTK_SPIN_STEP_FORWARD: GtkSpinType = 0;
869pub const GTK_SPIN_STEP_BACKWARD: GtkSpinType = 1;
870pub const GTK_SPIN_PAGE_FORWARD: GtkSpinType = 2;
871pub const GTK_SPIN_PAGE_BACKWARD: GtkSpinType = 3;
872pub const GTK_SPIN_HOME: GtkSpinType = 4;
873pub const GTK_SPIN_END: GtkSpinType = 5;
874pub const GTK_SPIN_USER_DEFINED: GtkSpinType = 6;
875
876pub type GtkStackTransitionType = c_int;
877pub const GTK_STACK_TRANSITION_TYPE_NONE: GtkStackTransitionType = 0;
878pub const GTK_STACK_TRANSITION_TYPE_CROSSFADE: GtkStackTransitionType = 1;
879pub const GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT: GtkStackTransitionType = 2;
880pub const GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT: GtkStackTransitionType = 3;
881pub const GTK_STACK_TRANSITION_TYPE_SLIDE_UP: GtkStackTransitionType = 4;
882pub const GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN: GtkStackTransitionType = 5;
883pub const GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT: GtkStackTransitionType = 6;
884pub const GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN: GtkStackTransitionType = 7;
885pub const GTK_STACK_TRANSITION_TYPE_OVER_UP: GtkStackTransitionType = 8;
886pub const GTK_STACK_TRANSITION_TYPE_OVER_DOWN: GtkStackTransitionType = 9;
887pub const GTK_STACK_TRANSITION_TYPE_OVER_LEFT: GtkStackTransitionType = 10;
888pub const GTK_STACK_TRANSITION_TYPE_OVER_RIGHT: GtkStackTransitionType = 11;
889pub const GTK_STACK_TRANSITION_TYPE_UNDER_UP: GtkStackTransitionType = 12;
890pub const GTK_STACK_TRANSITION_TYPE_UNDER_DOWN: GtkStackTransitionType = 13;
891pub const GTK_STACK_TRANSITION_TYPE_UNDER_LEFT: GtkStackTransitionType = 14;
892pub const GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT: GtkStackTransitionType = 15;
893pub const GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN: GtkStackTransitionType = 16;
894pub const GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP: GtkStackTransitionType = 17;
895pub const GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT: GtkStackTransitionType = 18;
896pub const GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT: GtkStackTransitionType = 19;
897pub const GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT: GtkStackTransitionType = 20;
898pub const GTK_STACK_TRANSITION_TYPE_ROTATE_RIGHT: GtkStackTransitionType = 21;
899pub const GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT_RIGHT: GtkStackTransitionType = 22;
900
901pub type GtkStringFilterMatchMode = c_int;
902pub const GTK_STRING_FILTER_MATCH_MODE_EXACT: GtkStringFilterMatchMode = 0;
903pub const GTK_STRING_FILTER_MATCH_MODE_SUBSTRING: GtkStringFilterMatchMode = 1;
904pub const GTK_STRING_FILTER_MATCH_MODE_PREFIX: GtkStringFilterMatchMode = 2;
905
906pub type GtkSvgError = c_int;
907pub const GTK_SVG_ERROR_INVALID_SYNTAX: GtkSvgError = 0;
908pub const GTK_SVG_ERROR_INVALID_ELEMENT: GtkSvgError = 1;
909pub const GTK_SVG_ERROR_INVALID_ATTRIBUTE: GtkSvgError = 2;
910pub const GTK_SVG_ERROR_MISSING_ATTRIBUTE: GtkSvgError = 3;
911pub const GTK_SVG_ERROR_INVALID_REFERENCE: GtkSvgError = 4;
912pub const GTK_SVG_ERROR_FAILED_UPDATE: GtkSvgError = 5;
913pub const GTK_SVG_ERROR_FAILED_RENDERING: GtkSvgError = 6;
914pub const GTK_SVG_ERROR_IGNORED_ELEMENT: GtkSvgError = 7;
915pub const GTK_SVG_ERROR_LIMITS_EXCEEDED: GtkSvgError = 8;
916pub const GTK_SVG_ERROR_NOT_IMPLEMENTED: GtkSvgError = 9;
917pub const GTK_SVG_ERROR_FEATURE_DISABLED: GtkSvgError = 10;
918
919pub type GtkSymbolicColor = c_int;
920pub const GTK_SYMBOLIC_COLOR_FOREGROUND: GtkSymbolicColor = 0;
921pub const GTK_SYMBOLIC_COLOR_ERROR: GtkSymbolicColor = 1;
922pub const GTK_SYMBOLIC_COLOR_WARNING: GtkSymbolicColor = 2;
923pub const GTK_SYMBOLIC_COLOR_SUCCESS: GtkSymbolicColor = 3;
924#[cfg(feature = "v4_22")]
925#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
926pub const GTK_SYMBOLIC_COLOR_ACCENT: GtkSymbolicColor = 4;
927
928pub type GtkSystemSetting = c_int;
929pub const GTK_SYSTEM_SETTING_DPI: GtkSystemSetting = 0;
930pub const GTK_SYSTEM_SETTING_FONT_NAME: GtkSystemSetting = 1;
931pub const GTK_SYSTEM_SETTING_FONT_CONFIG: GtkSystemSetting = 2;
932pub const GTK_SYSTEM_SETTING_DISPLAY: GtkSystemSetting = 3;
933pub const GTK_SYSTEM_SETTING_ICON_THEME: GtkSystemSetting = 4;
934
935pub type GtkTextDirection = c_int;
936pub const GTK_TEXT_DIR_NONE: GtkTextDirection = 0;
937pub const GTK_TEXT_DIR_LTR: GtkTextDirection = 1;
938pub const GTK_TEXT_DIR_RTL: GtkTextDirection = 2;
939
940pub type GtkTextExtendSelection = c_int;
941pub const GTK_TEXT_EXTEND_SELECTION_WORD: GtkTextExtendSelection = 0;
942pub const GTK_TEXT_EXTEND_SELECTION_LINE: GtkTextExtendSelection = 1;
943
944pub type GtkTextViewLayer = c_int;
945pub const GTK_TEXT_VIEW_LAYER_BELOW_TEXT: GtkTextViewLayer = 0;
946pub const GTK_TEXT_VIEW_LAYER_ABOVE_TEXT: GtkTextViewLayer = 1;
947
948pub type GtkTextWindowType = c_int;
949pub const GTK_TEXT_WINDOW_WIDGET: GtkTextWindowType = 1;
950pub const GTK_TEXT_WINDOW_TEXT: GtkTextWindowType = 2;
951pub const GTK_TEXT_WINDOW_LEFT: GtkTextWindowType = 3;
952pub const GTK_TEXT_WINDOW_RIGHT: GtkTextWindowType = 4;
953pub const GTK_TEXT_WINDOW_TOP: GtkTextWindowType = 5;
954pub const GTK_TEXT_WINDOW_BOTTOM: GtkTextWindowType = 6;
955
956pub type GtkTreeViewColumnSizing = c_int;
957pub const GTK_TREE_VIEW_COLUMN_GROW_ONLY: GtkTreeViewColumnSizing = 0;
958pub const GTK_TREE_VIEW_COLUMN_AUTOSIZE: GtkTreeViewColumnSizing = 1;
959pub const GTK_TREE_VIEW_COLUMN_FIXED: GtkTreeViewColumnSizing = 2;
960
961pub type GtkTreeViewDropPosition = c_int;
962pub const GTK_TREE_VIEW_DROP_BEFORE: GtkTreeViewDropPosition = 0;
963pub const GTK_TREE_VIEW_DROP_AFTER: GtkTreeViewDropPosition = 1;
964pub const GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: GtkTreeViewDropPosition = 2;
965pub const GTK_TREE_VIEW_DROP_INTO_OR_AFTER: GtkTreeViewDropPosition = 3;
966
967pub type GtkTreeViewGridLines = c_int;
968pub const GTK_TREE_VIEW_GRID_LINES_NONE: GtkTreeViewGridLines = 0;
969pub const GTK_TREE_VIEW_GRID_LINES_HORIZONTAL: GtkTreeViewGridLines = 1;
970pub const GTK_TREE_VIEW_GRID_LINES_VERTICAL: GtkTreeViewGridLines = 2;
971pub const GTK_TREE_VIEW_GRID_LINES_BOTH: GtkTreeViewGridLines = 3;
972
973pub type GtkUnit = c_int;
974pub const GTK_UNIT_NONE: GtkUnit = 0;
975pub const GTK_UNIT_POINTS: GtkUnit = 1;
976pub const GTK_UNIT_INCH: GtkUnit = 2;
977pub const GTK_UNIT_MM: GtkUnit = 3;
978
979pub type GtkWindowGravity = c_int;
980pub const GTK_WINDOW_GRAVITY_TOP_LEFT: GtkWindowGravity = 0;
981pub const GTK_WINDOW_GRAVITY_TOP: GtkWindowGravity = 1;
982pub const GTK_WINDOW_GRAVITY_TOP_RIGHT: GtkWindowGravity = 2;
983pub const GTK_WINDOW_GRAVITY_LEFT: GtkWindowGravity = 3;
984pub const GTK_WINDOW_GRAVITY_CENTER: GtkWindowGravity = 4;
985pub const GTK_WINDOW_GRAVITY_RIGHT: GtkWindowGravity = 5;
986pub const GTK_WINDOW_GRAVITY_BOTTOM_LEFT: GtkWindowGravity = 6;
987pub const GTK_WINDOW_GRAVITY_BOTTOM: GtkWindowGravity = 7;
988pub const GTK_WINDOW_GRAVITY_BOTTOM_RIGHT: GtkWindowGravity = 8;
989pub const GTK_WINDOW_GRAVITY_TOP_START: GtkWindowGravity = 9;
990pub const GTK_WINDOW_GRAVITY_TOP_END: GtkWindowGravity = 10;
991pub const GTK_WINDOW_GRAVITY_START: GtkWindowGravity = 11;
992pub const GTK_WINDOW_GRAVITY_END: GtkWindowGravity = 12;
993pub const GTK_WINDOW_GRAVITY_BOTTOM_START: GtkWindowGravity = 13;
994pub const GTK_WINDOW_GRAVITY_BOTTOM_END: GtkWindowGravity = 14;
995
996pub type GtkWrapMode = c_int;
997pub const GTK_WRAP_NONE: GtkWrapMode = 0;
998pub const GTK_WRAP_CHAR: GtkWrapMode = 1;
999pub const GTK_WRAP_WORD: GtkWrapMode = 2;
1000pub const GTK_WRAP_WORD_CHAR: GtkWrapMode = 3;
1001
1002// Constants
1003pub const GTK_ACCESSIBLE_ATTRIBUTE_BACKGROUND: &[u8] = b"bg-color\0";
1004pub const GTK_ACCESSIBLE_ATTRIBUTE_FAMILY: &[u8] = b"family-name\0";
1005pub const GTK_ACCESSIBLE_ATTRIBUTE_FOREGROUND: &[u8] = b"fg-color\0";
1006pub const GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE: &[u8] = b"overline\0";
1007pub const GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE_NONE: &[u8] = b"none\0";
1008pub const GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE_SINGLE: &[u8] = b"single\0";
1009pub const GTK_ACCESSIBLE_ATTRIBUTE_SIZE: &[u8] = b"size\0";
1010pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH: &[u8] = b"stretch\0";
1011pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_CONDENSED: &[u8] = b"condensed\0";
1012pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXPANDED: &[u8] = b"expanded\0";
1013pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_CONDENSED: &[u8] = b"extra_condensed\0";
1014pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_EXPANDED: &[u8] = b"extra_expanded\0";
1015pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_NORMAL: &[u8] = b"normal\0";
1016pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_CONDENSED: &[u8] = b"semi_condensed\0";
1017pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_EXPANDED: &[u8] = b"semi_expanded\0";
1018pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_CONDENSED: &[u8] = b"ultra_condensed\0";
1019pub const GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_EXPANDED: &[u8] = b"ultra_expanded\0";
1020pub const GTK_ACCESSIBLE_ATTRIBUTE_STRIKETHROUGH: &[u8] = b"strikethrough\0";
1021pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE: &[u8] = b"style\0";
1022pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE_ITALIC: &[u8] = b"italic\0";
1023pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE_NORMAL: &[u8] = b"normal\0";
1024pub const GTK_ACCESSIBLE_ATTRIBUTE_STYLE_OBLIQUE: &[u8] = b"oblique\0";
1025pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE: &[u8] = b"underline\0";
1026pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_DOUBLE: &[u8] = b"double\0";
1027pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_ERROR: &[u8] = b"error\0";
1028pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_NONE: &[u8] = b"none\0";
1029pub const GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_SINGLE: &[u8] = b"single\0";
1030pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT: &[u8] = b"variant\0";
1031pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_PETITE_CAPS: &[u8] = b"all-petite-caps\0";
1032pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_SMALL_CAPS: &[u8] = b"all-small-caps\0";
1033pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_PETITE_CAPS: &[u8] = b"petite-caps\0";
1034pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_SMALL_CAPS: &[u8] = b"small-caps\0";
1035pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_TITLE_CAPS: &[u8] = b"title-caps\0";
1036pub const GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_UNICASE: &[u8] = b"unicase\0";
1037pub const GTK_ACCESSIBLE_ATTRIBUTE_WEIGHT: &[u8] = b"weight\0";
1038pub const GTK_ACCESSIBLE_VALUE_UNDEFINED: c_int = -1;
1039pub const GTK_IM_MODULE_EXTENSION_POINT_NAME: &[u8] = b"gtk-im-module\0";
1040pub const GTK_INPUT_ERROR: c_int = -1;
1041pub const GTK_INVALID_LIST_POSITION: c_uint = 4294967295;
1042pub const GTK_LEVEL_BAR_OFFSET_FULL: &[u8] = b"full\0";
1043pub const GTK_LEVEL_BAR_OFFSET_HIGH: &[u8] = b"high\0";
1044pub const GTK_LEVEL_BAR_OFFSET_LOW: &[u8] = b"low\0";
1045pub const GTK_MAX_COMPOSE_LEN: c_int = 7;
1046pub const GTK_MEDIA_FILE_EXTENSION_POINT_NAME: &[u8] = b"gtk-media-file\0";
1047pub const GTK_PAPER_NAME_A3: &[u8] = b"iso_a3\0";
1048pub const GTK_PAPER_NAME_A4: &[u8] = b"iso_a4\0";
1049pub const GTK_PAPER_NAME_A5: &[u8] = b"iso_a5\0";
1050pub const GTK_PAPER_NAME_B5: &[u8] = b"iso_b5\0";
1051pub const GTK_PAPER_NAME_EXECUTIVE: &[u8] = b"na_executive\0";
1052pub const GTK_PAPER_NAME_LEGAL: &[u8] = b"na_legal\0";
1053pub const GTK_PAPER_NAME_LETTER: &[u8] = b"na_letter\0";
1054pub const GTK_PRINT_SETTINGS_COLLATE: &[u8] = b"collate\0";
1055pub const GTK_PRINT_SETTINGS_DEFAULT_SOURCE: &[u8] = b"default-source\0";
1056pub const GTK_PRINT_SETTINGS_DITHER: &[u8] = b"dither\0";
1057pub const GTK_PRINT_SETTINGS_DUPLEX: &[u8] = b"duplex\0";
1058pub const GTK_PRINT_SETTINGS_FINISHINGS: &[u8] = b"finishings\0";
1059pub const GTK_PRINT_SETTINGS_MEDIA_TYPE: &[u8] = b"media-type\0";
1060pub const GTK_PRINT_SETTINGS_NUMBER_UP: &[u8] = b"number-up\0";
1061pub const GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT: &[u8] = b"number-up-layout\0";
1062pub const GTK_PRINT_SETTINGS_N_COPIES: &[u8] = b"n-copies\0";
1063pub const GTK_PRINT_SETTINGS_ORIENTATION: &[u8] = b"orientation\0";
1064pub const GTK_PRINT_SETTINGS_OUTPUT_BASENAME: &[u8] = b"output-basename\0";
1065pub const GTK_PRINT_SETTINGS_OUTPUT_BIN: &[u8] = b"output-bin\0";
1066pub const GTK_PRINT_SETTINGS_OUTPUT_DIR: &[u8] = b"output-dir\0";
1067pub const GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT: &[u8] = b"output-file-format\0";
1068pub const GTK_PRINT_SETTINGS_OUTPUT_URI: &[u8] = b"output-uri\0";
1069pub const GTK_PRINT_SETTINGS_PAGE_RANGES: &[u8] = b"page-ranges\0";
1070pub const GTK_PRINT_SETTINGS_PAGE_SET: &[u8] = b"page-set\0";
1071pub const GTK_PRINT_SETTINGS_PAPER_FORMAT: &[u8] = b"paper-format\0";
1072pub const GTK_PRINT_SETTINGS_PAPER_HEIGHT: &[u8] = b"paper-height\0";
1073pub const GTK_PRINT_SETTINGS_PAPER_WIDTH: &[u8] = b"paper-width\0";
1074pub const GTK_PRINT_SETTINGS_PRINTER: &[u8] = b"printer\0";
1075pub const GTK_PRINT_SETTINGS_PRINTER_LPI: &[u8] = b"printer-lpi\0";
1076pub const GTK_PRINT_SETTINGS_PRINT_PAGES: &[u8] = b"print-pages\0";
1077pub const GTK_PRINT_SETTINGS_QUALITY: &[u8] = b"quality\0";
1078pub const GTK_PRINT_SETTINGS_RESOLUTION: &[u8] = b"resolution\0";
1079pub const GTK_PRINT_SETTINGS_RESOLUTION_X: &[u8] = b"resolution-x\0";
1080pub const GTK_PRINT_SETTINGS_RESOLUTION_Y: &[u8] = b"resolution-y\0";
1081pub const GTK_PRINT_SETTINGS_REVERSE: &[u8] = b"reverse\0";
1082pub const GTK_PRINT_SETTINGS_SCALE: &[u8] = b"scale\0";
1083pub const GTK_PRINT_SETTINGS_USE_COLOR: &[u8] = b"use-color\0";
1084pub const GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA: &[u8] = b"win32-driver-extra\0";
1085pub const GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION: &[u8] = b"win32-driver-version\0";
1086pub const GTK_PRIORITY_RESIZE: c_int = 110;
1087pub const GTK_STYLE_PROVIDER_PRIORITY_APPLICATION: c_int = 600;
1088pub const GTK_STYLE_PROVIDER_PRIORITY_FALLBACK: c_int = 1;
1089pub const GTK_STYLE_PROVIDER_PRIORITY_SETTINGS: c_int = 400;
1090pub const GTK_STYLE_PROVIDER_PRIORITY_THEME: c_int = 200;
1091pub const GTK_STYLE_PROVIDER_PRIORITY_USER: c_int = 800;
1092pub const GTK_SVG_DEFAULT_FEATURES: c_int = 15;
1093pub const GTK_TEXT_VIEW_PRIORITY_VALIDATE: c_int = 125;
1094pub const GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID: c_int = -1;
1095pub const GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID: c_int = -2;
1096
1097// Flags
1098pub type GtkApplicationInhibitFlags = c_uint;
1099pub const GTK_APPLICATION_INHIBIT_LOGOUT: GtkApplicationInhibitFlags = 1;
1100pub const GTK_APPLICATION_INHIBIT_SWITCH: GtkApplicationInhibitFlags = 2;
1101pub const GTK_APPLICATION_INHIBIT_SUSPEND: GtkApplicationInhibitFlags = 4;
1102pub const GTK_APPLICATION_INHIBIT_IDLE: GtkApplicationInhibitFlags = 8;
1103
1104pub type GtkBuilderClosureFlags = c_uint;
1105pub const GTK_BUILDER_CLOSURE_SWAPPED: GtkBuilderClosureFlags = 1;
1106
1107pub type GtkCellRendererState = c_uint;
1108pub const GTK_CELL_RENDERER_SELECTED: GtkCellRendererState = 1;
1109pub const GTK_CELL_RENDERER_PRELIT: GtkCellRendererState = 2;
1110pub const GTK_CELL_RENDERER_INSENSITIVE: GtkCellRendererState = 4;
1111pub const GTK_CELL_RENDERER_SORTED: GtkCellRendererState = 8;
1112pub const GTK_CELL_RENDERER_FOCUSED: GtkCellRendererState = 16;
1113pub const GTK_CELL_RENDERER_EXPANDABLE: GtkCellRendererState = 32;
1114pub const GTK_CELL_RENDERER_EXPANDED: GtkCellRendererState = 64;
1115
1116pub type GtkDebugFlags = c_uint;
1117pub const GTK_DEBUG_TEXT: GtkDebugFlags = 1;
1118pub const GTK_DEBUG_TREE: GtkDebugFlags = 2;
1119pub const GTK_DEBUG_KEYBINDINGS: GtkDebugFlags = 4;
1120pub const GTK_DEBUG_MODULES: GtkDebugFlags = 8;
1121pub const GTK_DEBUG_GEOMETRY: GtkDebugFlags = 16;
1122pub const GTK_DEBUG_ICONTHEME: GtkDebugFlags = 32;
1123pub const GTK_DEBUG_PRINTING: GtkDebugFlags = 64;
1124pub const GTK_DEBUG_BUILDER_TRACE: GtkDebugFlags = 128;
1125pub const GTK_DEBUG_SIZE_REQUEST: GtkDebugFlags = 256;
1126pub const GTK_DEBUG_NO_CSS_CACHE: GtkDebugFlags = 512;
1127pub const GTK_DEBUG_INTERACTIVE: GtkDebugFlags = 1024;
1128#[cfg(feature = "v4_20")]
1129#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1130pub const GTK_DEBUG_TOUCHSCREEN: GtkDebugFlags = 2048;
1131pub const GTK_DEBUG_ACTIONS: GtkDebugFlags = 4096;
1132pub const GTK_DEBUG_LAYOUT: GtkDebugFlags = 8192;
1133pub const GTK_DEBUG_SNAPSHOT: GtkDebugFlags = 16384;
1134pub const GTK_DEBUG_CONSTRAINTS: GtkDebugFlags = 32768;
1135pub const GTK_DEBUG_BUILDER_OBJECTS: GtkDebugFlags = 65536;
1136pub const GTK_DEBUG_A11Y: GtkDebugFlags = 131072;
1137#[cfg(feature = "v4_2")]
1138#[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
1139pub const GTK_DEBUG_ICONFALLBACK: GtkDebugFlags = 262144;
1140#[cfg(feature = "v4_8")]
1141#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
1142pub const GTK_DEBUG_INVERT_TEXT_DIR: GtkDebugFlags = 524288;
1143#[cfg(feature = "v4_16")]
1144#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
1145pub const GTK_DEBUG_CSS: GtkDebugFlags = 1048576;
1146#[cfg(feature = "v4_18")]
1147#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
1148pub const GTK_DEBUG_BUILDER: GtkDebugFlags = 2097152;
1149#[cfg(feature = "v4_22")]
1150#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
1151pub const GTK_DEBUG_SESSION: GtkDebugFlags = 4194304;
1152#[cfg(feature = "v4_24")]
1153#[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
1154pub const GTK_DEBUG_GENERAL_INFO: GtkDebugFlags = 8388608;
1155#[cfg(feature = "v4_26")]
1156#[cfg_attr(docsrs, doc(cfg(feature = "v4_26")))]
1157pub const GTK_DEBUG_SVG_ERRORS: GtkDebugFlags = 16777216;
1158#[cfg(feature = "v4_26")]
1159#[cfg_attr(docsrs, doc(cfg(feature = "v4_26")))]
1160pub const GTK_DEBUG_SVG_CONTINUOUS: GtkDebugFlags = 33554432;
1161
1162pub type GtkDialogFlags = c_uint;
1163pub const GTK_DIALOG_MODAL: GtkDialogFlags = 1;
1164pub const GTK_DIALOG_DESTROY_WITH_PARENT: GtkDialogFlags = 2;
1165pub const GTK_DIALOG_USE_HEADER_BAR: GtkDialogFlags = 4;
1166
1167pub type GtkEventControllerScrollFlags = c_uint;
1168pub const GTK_EVENT_CONTROLLER_SCROLL_NONE: GtkEventControllerScrollFlags = 0;
1169pub const GTK_EVENT_CONTROLLER_SCROLL_VERTICAL: GtkEventControllerScrollFlags = 1;
1170pub const GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL: GtkEventControllerScrollFlags = 2;
1171pub const GTK_EVENT_CONTROLLER_SCROLL_DISCRETE: GtkEventControllerScrollFlags = 4;
1172pub const GTK_EVENT_CONTROLLER_SCROLL_KINETIC: GtkEventControllerScrollFlags = 8;
1173#[cfg(feature = "v4_20")]
1174#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1175pub const GTK_EVENT_CONTROLLER_SCROLL_PHYSICAL_DIRECTION: GtkEventControllerScrollFlags = 16;
1176pub const GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES: GtkEventControllerScrollFlags = 3;
1177
1178pub type GtkFontChooserLevel = c_uint;
1179pub const GTK_FONT_CHOOSER_LEVEL_FAMILY: GtkFontChooserLevel = 0;
1180pub const GTK_FONT_CHOOSER_LEVEL_STYLE: GtkFontChooserLevel = 1;
1181pub const GTK_FONT_CHOOSER_LEVEL_SIZE: GtkFontChooserLevel = 2;
1182pub const GTK_FONT_CHOOSER_LEVEL_VARIATIONS: GtkFontChooserLevel = 4;
1183pub const GTK_FONT_CHOOSER_LEVEL_FEATURES: GtkFontChooserLevel = 8;
1184
1185pub type GtkIconLookupFlags = c_uint;
1186#[cfg(feature = "v4_18")]
1187#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
1188pub const GTK_ICON_LOOKUP_NONE: GtkIconLookupFlags = 0;
1189pub const GTK_ICON_LOOKUP_FORCE_REGULAR: GtkIconLookupFlags = 1;
1190pub const GTK_ICON_LOOKUP_FORCE_SYMBOLIC: GtkIconLookupFlags = 2;
1191pub const GTK_ICON_LOOKUP_PRELOAD: GtkIconLookupFlags = 4;
1192
1193pub type GtkInputHints = c_uint;
1194pub const GTK_INPUT_HINT_NONE: GtkInputHints = 0;
1195pub const GTK_INPUT_HINT_SPELLCHECK: GtkInputHints = 1;
1196pub const GTK_INPUT_HINT_NO_SPELLCHECK: GtkInputHints = 2;
1197pub const GTK_INPUT_HINT_WORD_COMPLETION: GtkInputHints = 4;
1198pub const GTK_INPUT_HINT_LOWERCASE: GtkInputHints = 8;
1199pub const GTK_INPUT_HINT_UPPERCASE_CHARS: GtkInputHints = 16;
1200pub const GTK_INPUT_HINT_UPPERCASE_WORDS: GtkInputHints = 32;
1201pub const GTK_INPUT_HINT_UPPERCASE_SENTENCES: GtkInputHints = 64;
1202pub const GTK_INPUT_HINT_INHIBIT_OSK: GtkInputHints = 128;
1203pub const GTK_INPUT_HINT_VERTICAL_WRITING: GtkInputHints = 256;
1204pub const GTK_INPUT_HINT_EMOJI: GtkInputHints = 512;
1205pub const GTK_INPUT_HINT_NO_EMOJI: GtkInputHints = 1024;
1206pub const GTK_INPUT_HINT_PRIVATE: GtkInputHints = 2048;
1207
1208pub type GtkListScrollFlags = c_uint;
1209pub const GTK_LIST_SCROLL_NONE: GtkListScrollFlags = 0;
1210pub const GTK_LIST_SCROLL_FOCUS: GtkListScrollFlags = 1;
1211pub const GTK_LIST_SCROLL_SELECT: GtkListScrollFlags = 2;
1212
1213pub type GtkPickFlags = c_uint;
1214pub const GTK_PICK_DEFAULT: GtkPickFlags = 0;
1215pub const GTK_PICK_INSENSITIVE: GtkPickFlags = 1;
1216pub const GTK_PICK_NON_TARGETABLE: GtkPickFlags = 2;
1217
1218pub type GtkPopoverMenuFlags = c_uint;
1219#[cfg(feature = "v4_14")]
1220#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
1221pub const GTK_POPOVER_MENU_SLIDING: GtkPopoverMenuFlags = 0;
1222pub const GTK_POPOVER_MENU_NESTED: GtkPopoverMenuFlags = 1;
1223
1224pub type GtkPrintCapabilities = c_uint;
1225pub const GTK_PRINT_CAPABILITY_PAGE_SET: GtkPrintCapabilities = 1;
1226pub const GTK_PRINT_CAPABILITY_COPIES: GtkPrintCapabilities = 2;
1227pub const GTK_PRINT_CAPABILITY_COLLATE: GtkPrintCapabilities = 4;
1228pub const GTK_PRINT_CAPABILITY_REVERSE: GtkPrintCapabilities = 8;
1229pub const GTK_PRINT_CAPABILITY_SCALE: GtkPrintCapabilities = 16;
1230pub const GTK_PRINT_CAPABILITY_GENERATE_PDF: GtkPrintCapabilities = 32;
1231pub const GTK_PRINT_CAPABILITY_GENERATE_PS: GtkPrintCapabilities = 64;
1232pub const GTK_PRINT_CAPABILITY_PREVIEW: GtkPrintCapabilities = 128;
1233pub const GTK_PRINT_CAPABILITY_NUMBER_UP: GtkPrintCapabilities = 256;
1234pub const GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT: GtkPrintCapabilities = 512;
1235
1236pub type GtkShortcutActionFlags = c_uint;
1237pub const GTK_SHORTCUT_ACTION_EXCLUSIVE: GtkShortcutActionFlags = 1;
1238
1239pub type GtkStateFlags = c_uint;
1240pub const GTK_STATE_FLAG_NORMAL: GtkStateFlags = 0;
1241pub const GTK_STATE_FLAG_ACTIVE: GtkStateFlags = 1;
1242pub const GTK_STATE_FLAG_PRELIGHT: GtkStateFlags = 2;
1243pub const GTK_STATE_FLAG_SELECTED: GtkStateFlags = 4;
1244pub const GTK_STATE_FLAG_INSENSITIVE: GtkStateFlags = 8;
1245pub const GTK_STATE_FLAG_INCONSISTENT: GtkStateFlags = 16;
1246pub const GTK_STATE_FLAG_FOCUSED: GtkStateFlags = 32;
1247pub const GTK_STATE_FLAG_BACKDROP: GtkStateFlags = 64;
1248pub const GTK_STATE_FLAG_DIR_LTR: GtkStateFlags = 128;
1249pub const GTK_STATE_FLAG_DIR_RTL: GtkStateFlags = 256;
1250pub const GTK_STATE_FLAG_LINK: GtkStateFlags = 512;
1251pub const GTK_STATE_FLAG_VISITED: GtkStateFlags = 1024;
1252pub const GTK_STATE_FLAG_CHECKED: GtkStateFlags = 2048;
1253pub const GTK_STATE_FLAG_DROP_ACTIVE: GtkStateFlags = 4096;
1254pub const GTK_STATE_FLAG_FOCUS_VISIBLE: GtkStateFlags = 8192;
1255pub const GTK_STATE_FLAG_FOCUS_WITHIN: GtkStateFlags = 16384;
1256
1257pub type GtkStyleContextPrintFlags = c_uint;
1258pub const GTK_STYLE_CONTEXT_PRINT_NONE: GtkStyleContextPrintFlags = 0;
1259pub const GTK_STYLE_CONTEXT_PRINT_RECURSE: GtkStyleContextPrintFlags = 1;
1260pub const GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE: GtkStyleContextPrintFlags = 2;
1261pub const GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE: GtkStyleContextPrintFlags = 4;
1262
1263pub type GtkSvgFeatures = c_uint;
1264pub const GTK_SVG_ANIMATIONS: GtkSvgFeatures = 1;
1265pub const GTK_SVG_SYSTEM_RESOURCES: GtkSvgFeatures = 2;
1266pub const GTK_SVG_EXTERNAL_RESOURCES: GtkSvgFeatures = 4;
1267pub const GTK_SVG_EXTENSIONS: GtkSvgFeatures = 8;
1268pub const GTK_SVG_TRADITIONAL_SYMBOLIC: GtkSvgFeatures = 16;
1269
1270pub type GtkTextBufferNotifyFlags = c_uint;
1271pub const GTK_TEXT_BUFFER_NOTIFY_BEFORE_INSERT: GtkTextBufferNotifyFlags = 1;
1272pub const GTK_TEXT_BUFFER_NOTIFY_AFTER_INSERT: GtkTextBufferNotifyFlags = 2;
1273pub const GTK_TEXT_BUFFER_NOTIFY_BEFORE_DELETE: GtkTextBufferNotifyFlags = 4;
1274pub const GTK_TEXT_BUFFER_NOTIFY_AFTER_DELETE: GtkTextBufferNotifyFlags = 8;
1275
1276pub type GtkTextSearchFlags = c_uint;
1277pub const GTK_TEXT_SEARCH_VISIBLE_ONLY: GtkTextSearchFlags = 1;
1278pub const GTK_TEXT_SEARCH_TEXT_ONLY: GtkTextSearchFlags = 2;
1279pub const GTK_TEXT_SEARCH_CASE_INSENSITIVE: GtkTextSearchFlags = 4;
1280
1281pub type GtkTreeModelFlags = c_uint;
1282pub const GTK_TREE_MODEL_ITERS_PERSIST: GtkTreeModelFlags = 1;
1283pub const GTK_TREE_MODEL_LIST_ONLY: GtkTreeModelFlags = 2;
1284
1285// Callbacks
1286pub type GtkAssistantPageFunc = Option<unsafe extern "C" fn(c_int, gpointer) -> c_int>;
1287pub type GtkCellAllocCallback = Option<
1288    unsafe extern "C" fn(
1289        *mut GtkCellRenderer,
1290        *const gdk::GdkRectangle,
1291        *const gdk::GdkRectangle,
1292        gpointer,
1293    ) -> gboolean,
1294>;
1295pub type GtkCellCallback = Option<unsafe extern "C" fn(*mut GtkCellRenderer, gpointer) -> gboolean>;
1296pub type GtkCellLayoutDataFunc = Option<
1297    unsafe extern "C" fn(
1298        *mut GtkCellLayout,
1299        *mut GtkCellRenderer,
1300        *mut GtkTreeModel,
1301        *mut GtkTreeIter,
1302        gpointer,
1303    ),
1304>;
1305pub type GtkCustomAllocateFunc = Option<unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, c_int)>;
1306pub type GtkCustomFilterFunc =
1307    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> gboolean>;
1308pub type GtkCustomMeasureFunc = Option<
1309    unsafe extern "C" fn(
1310        *mut GtkWidget,
1311        GtkOrientation,
1312        c_int,
1313        *mut c_int,
1314        *mut c_int,
1315        *mut c_int,
1316        *mut c_int,
1317    ),
1318>;
1319pub type GtkCustomRequestModeFunc =
1320    Option<unsafe extern "C" fn(*mut GtkWidget) -> GtkSizeRequestMode>;
1321pub type GtkDrawingAreaDrawFunc =
1322    Option<unsafe extern "C" fn(*mut GtkDrawingArea, *mut cairo::cairo_t, c_int, c_int, gpointer)>;
1323pub type GtkEntryCompletionMatchFunc = Option<
1324    unsafe extern "C" fn(
1325        *mut GtkEntryCompletion,
1326        *const c_char,
1327        *mut GtkTreeIter,
1328        gpointer,
1329    ) -> gboolean,
1330>;
1331pub type GtkExpressionNotify = Option<unsafe extern "C" fn(gpointer)>;
1332pub type GtkFlowBoxCreateWidgetFunc =
1333    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1334pub type GtkFlowBoxFilterFunc =
1335    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, gpointer) -> gboolean>;
1336pub type GtkFlowBoxForeachFunc =
1337    Option<unsafe extern "C" fn(*mut GtkFlowBox, *mut GtkFlowBoxChild, gpointer)>;
1338pub type GtkFlowBoxSortFunc =
1339    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, *mut GtkFlowBoxChild, gpointer) -> c_int>;
1340pub type GtkFontFilterFunc = Option<
1341    unsafe extern "C" fn(
1342        *const pango::PangoFontFamily,
1343        *const pango::PangoFontFace,
1344        gpointer,
1345    ) -> gboolean,
1346>;
1347pub type GtkIconViewForeachFunc =
1348    Option<unsafe extern "C" fn(*mut GtkIconView, *mut GtkTreePath, gpointer)>;
1349pub type GtkListBoxCreateWidgetFunc =
1350    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1351pub type GtkListBoxFilterFunc =
1352    Option<unsafe extern "C" fn(*mut GtkListBoxRow, gpointer) -> gboolean>;
1353pub type GtkListBoxForeachFunc =
1354    Option<unsafe extern "C" fn(*mut GtkListBox, *mut GtkListBoxRow, gpointer)>;
1355pub type GtkListBoxSortFunc =
1356    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer) -> c_int>;
1357pub type GtkListBoxUpdateHeaderFunc =
1358    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer)>;
1359pub type GtkMapListModelMapFunc =
1360    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut gobject::GObject>;
1361pub type GtkMenuButtonCreatePopupFunc = Option<unsafe extern "C" fn(*mut GtkMenuButton, gpointer)>;
1362pub type GtkPageSetupDoneFunc = Option<unsafe extern "C" fn(*mut GtkPageSetup, gpointer)>;
1363pub type GtkPrintJobCompleteFunc =
1364    Option<unsafe extern "C" fn(*mut GtkPrintJob, gpointer, *const glib::GError)>;
1365pub type GtkPrintSettingsFunc =
1366    Option<unsafe extern "C" fn(*const c_char, *const c_char, gpointer)>;
1367pub type GtkPrinterFunc = Option<unsafe extern "C" fn(*mut GtkPrinter, gpointer) -> gboolean>;
1368pub type GtkScaleFormatValueFunc =
1369    Option<unsafe extern "C" fn(*mut GtkScale, c_double, gpointer) -> *mut c_char>;
1370pub type GtkShortcutFunc =
1371    Option<unsafe extern "C" fn(*mut GtkWidget, *mut glib::GVariant, gpointer) -> gboolean>;
1372pub type GtkTextBufferCommitNotify = Option<
1373    unsafe extern "C" fn(*mut GtkTextBuffer, GtkTextBufferNotifyFlags, c_uint, c_uint, gpointer),
1374>;
1375pub type GtkTextCharPredicate = Option<unsafe extern "C" fn(u32, gpointer) -> gboolean>;
1376pub type GtkTextTagTableForeach = Option<unsafe extern "C" fn(*mut GtkTextTag, gpointer)>;
1377pub type GtkTickCallback =
1378    Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkFrameClock, gpointer) -> gboolean>;
1379pub type GtkTreeCellDataFunc = Option<
1380    unsafe extern "C" fn(
1381        *mut GtkTreeViewColumn,
1382        *mut GtkCellRenderer,
1383        *mut GtkTreeModel,
1384        *mut GtkTreeIter,
1385        gpointer,
1386    ),
1387>;
1388pub type GtkTreeIterCompareFunc = Option<
1389    unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter, gpointer) -> c_int,
1390>;
1391pub type GtkTreeListModelCreateModelFunc =
1392    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut gio::GListModel>;
1393pub type GtkTreeModelFilterModifyFunc = Option<
1394    unsafe extern "C" fn(
1395        *mut GtkTreeModel,
1396        *mut GtkTreeIter,
1397        *mut gobject::GValue,
1398        c_int,
1399        gpointer,
1400    ),
1401>;
1402pub type GtkTreeModelFilterVisibleFunc =
1403    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1404pub type GtkTreeModelForeachFunc = Option<
1405    unsafe extern "C" fn(
1406        *mut GtkTreeModel,
1407        *mut GtkTreePath,
1408        *mut GtkTreeIter,
1409        gpointer,
1410    ) -> gboolean,
1411>;
1412pub type GtkTreeSelectionForeachFunc =
1413    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, gpointer)>;
1414pub type GtkTreeSelectionFunc = Option<
1415    unsafe extern "C" fn(
1416        *mut GtkTreeSelection,
1417        *mut GtkTreeModel,
1418        *mut GtkTreePath,
1419        gboolean,
1420        gpointer,
1421    ) -> gboolean,
1422>;
1423pub type GtkTreeViewColumnDropFunc = Option<
1424    unsafe extern "C" fn(
1425        *mut GtkTreeView,
1426        *mut GtkTreeViewColumn,
1427        *mut GtkTreeViewColumn,
1428        *mut GtkTreeViewColumn,
1429        gpointer,
1430    ) -> gboolean,
1431>;
1432pub type GtkTreeViewMappingFunc =
1433    Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, gpointer)>;
1434pub type GtkTreeViewRowSeparatorFunc =
1435    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1436pub type GtkTreeViewSearchEqualFunc = Option<
1437    unsafe extern "C" fn(
1438        *mut GtkTreeModel,
1439        c_int,
1440        *const c_char,
1441        *mut GtkTreeIter,
1442        gpointer,
1443    ) -> gboolean,
1444>;
1445pub type GtkWidgetActionActivateFunc =
1446    Option<unsafe extern "C" fn(*mut GtkWidget, *const c_char, *mut glib::GVariant)>;
1447
1448// Records
1449#[repr(C)]
1450#[allow(dead_code)]
1451pub struct _GtkATContextClass {
1452    _data: [u8; 0],
1453    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1454}
1455
1456pub type GtkATContextClass = _GtkATContextClass;
1457
1458#[derive(Copy, Clone)]
1459#[repr(C)]
1460pub struct GtkAccessibleHyperlinkClass {
1461    pub parent_class: gobject::GObjectClass,
1462}
1463
1464impl ::std::fmt::Debug for GtkAccessibleHyperlinkClass {
1465    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1466        f.debug_struct(&format!("GtkAccessibleHyperlinkClass @ {self:p}"))
1467            .field("parent_class", &self.parent_class)
1468            .finish()
1469    }
1470}
1471
1472#[derive(Copy, Clone)]
1473#[repr(C)]
1474pub struct GtkAccessibleHypertextInterface {
1475    pub g_iface: gobject::GTypeInterface,
1476    pub get_n_links: Option<unsafe extern "C" fn(*mut GtkAccessibleHypertext) -> c_uint>,
1477    pub get_link: Option<
1478        unsafe extern "C" fn(*mut GtkAccessibleHypertext, c_uint) -> *mut GtkAccessibleHyperlink,
1479    >,
1480    pub get_link_at: Option<unsafe extern "C" fn(*mut GtkAccessibleHypertext, c_uint) -> c_uint>,
1481}
1482
1483impl ::std::fmt::Debug for GtkAccessibleHypertextInterface {
1484    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1485        f.debug_struct(&format!("GtkAccessibleHypertextInterface @ {self:p}"))
1486            .field("get_n_links", &self.get_n_links)
1487            .field("get_link", &self.get_link)
1488            .field("get_link_at", &self.get_link_at)
1489            .finish()
1490    }
1491}
1492
1493#[derive(Copy, Clone)]
1494#[repr(C)]
1495pub struct GtkAccessibleInterface {
1496    pub g_iface: gobject::GTypeInterface,
1497    pub get_at_context: Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkATContext>,
1498    pub get_platform_state:
1499        Option<unsafe extern "C" fn(*mut GtkAccessible, GtkAccessiblePlatformState) -> gboolean>,
1500    pub get_accessible_parent:
1501        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1502    pub get_first_accessible_child:
1503        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1504    pub get_next_accessible_sibling:
1505        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1506    pub get_bounds: Option<
1507        unsafe extern "C" fn(
1508            *mut GtkAccessible,
1509            *mut c_int,
1510            *mut c_int,
1511            *mut c_int,
1512            *mut c_int,
1513        ) -> gboolean,
1514    >,
1515    pub get_accessible_id: Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut c_char>,
1516}
1517
1518impl ::std::fmt::Debug for GtkAccessibleInterface {
1519    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1520        f.debug_struct(&format!("GtkAccessibleInterface @ {self:p}"))
1521            .field("g_iface", &self.g_iface)
1522            .field("get_at_context", &self.get_at_context)
1523            .field("get_platform_state", &self.get_platform_state)
1524            .field("get_accessible_parent", &self.get_accessible_parent)
1525            .field(
1526                "get_first_accessible_child",
1527                &self.get_first_accessible_child,
1528            )
1529            .field(
1530                "get_next_accessible_sibling",
1531                &self.get_next_accessible_sibling,
1532            )
1533            .field("get_bounds", &self.get_bounds)
1534            .field("get_accessible_id", &self.get_accessible_id)
1535            .finish()
1536    }
1537}
1538
1539#[repr(C)]
1540#[allow(dead_code)]
1541pub struct GtkAccessibleList {
1542    _data: [u8; 0],
1543    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1544}
1545
1546impl ::std::fmt::Debug for GtkAccessibleList {
1547    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1548        f.debug_struct(&format!("GtkAccessibleList @ {self:p}"))
1549            .finish()
1550    }
1551}
1552
1553#[derive(Copy, Clone)]
1554#[repr(C)]
1555pub struct GtkAccessibleRangeInterface {
1556    pub g_iface: gobject::GTypeInterface,
1557    pub set_current_value:
1558        Option<unsafe extern "C" fn(*mut GtkAccessibleRange, c_double) -> gboolean>,
1559}
1560
1561impl ::std::fmt::Debug for GtkAccessibleRangeInterface {
1562    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1563        f.debug_struct(&format!("GtkAccessibleRangeInterface @ {self:p}"))
1564            .field("g_iface", &self.g_iface)
1565            .field("set_current_value", &self.set_current_value)
1566            .finish()
1567    }
1568}
1569
1570#[derive(Copy, Clone)]
1571#[repr(C)]
1572pub struct GtkAccessibleTextInterface {
1573    pub g_iface: gobject::GTypeInterface,
1574    pub get_contents:
1575        Option<unsafe extern "C" fn(*mut GtkAccessibleText, c_uint, c_uint) -> *mut glib::GBytes>,
1576    pub get_contents_at: Option<
1577        unsafe extern "C" fn(
1578            *mut GtkAccessibleText,
1579            c_uint,
1580            GtkAccessibleTextGranularity,
1581            *mut c_uint,
1582            *mut c_uint,
1583        ) -> *mut glib::GBytes,
1584    >,
1585    pub get_caret_position: Option<unsafe extern "C" fn(*mut GtkAccessibleText) -> c_uint>,
1586    pub get_selection: Option<
1587        unsafe extern "C" fn(
1588            *mut GtkAccessibleText,
1589            *mut size_t,
1590            *mut *mut GtkAccessibleTextRange,
1591        ) -> gboolean,
1592    >,
1593    pub get_attributes: Option<
1594        unsafe extern "C" fn(
1595            *mut GtkAccessibleText,
1596            c_uint,
1597            *mut size_t,
1598            *mut *mut GtkAccessibleTextRange,
1599            *mut *mut *mut c_char,
1600            *mut *mut *mut c_char,
1601        ) -> gboolean,
1602    >,
1603    pub get_default_attributes: Option<
1604        unsafe extern "C" fn(*mut GtkAccessibleText, *mut *mut *mut c_char, *mut *mut *mut c_char),
1605    >,
1606    pub get_extents: Option<
1607        unsafe extern "C" fn(
1608            *mut GtkAccessibleText,
1609            c_uint,
1610            c_uint,
1611            *mut graphene::graphene_rect_t,
1612        ) -> gboolean,
1613    >,
1614    pub get_offset: Option<
1615        unsafe extern "C" fn(
1616            *mut GtkAccessibleText,
1617            *const graphene::graphene_point_t,
1618            *mut c_uint,
1619        ) -> gboolean,
1620    >,
1621    pub set_caret_position:
1622        Option<unsafe extern "C" fn(*mut GtkAccessibleText, c_uint) -> gboolean>,
1623    pub set_selection: Option<
1624        unsafe extern "C" fn(
1625            *mut GtkAccessibleText,
1626            size_t,
1627            *mut GtkAccessibleTextRange,
1628        ) -> gboolean,
1629    >,
1630}
1631
1632impl ::std::fmt::Debug for GtkAccessibleTextInterface {
1633    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1634        f.debug_struct(&format!("GtkAccessibleTextInterface @ {self:p}"))
1635            .field("get_contents", &self.get_contents)
1636            .field("get_contents_at", &self.get_contents_at)
1637            .field("get_caret_position", &self.get_caret_position)
1638            .field("get_selection", &self.get_selection)
1639            .field("get_attributes", &self.get_attributes)
1640            .field("get_default_attributes", &self.get_default_attributes)
1641            .field("get_extents", &self.get_extents)
1642            .field("get_offset", &self.get_offset)
1643            .field("set_caret_position", &self.set_caret_position)
1644            .field("set_selection", &self.set_selection)
1645            .finish()
1646    }
1647}
1648
1649#[derive(Copy, Clone)]
1650#[repr(C)]
1651pub struct GtkAccessibleTextRange {
1652    pub start: size_t,
1653    pub length: size_t,
1654}
1655
1656impl ::std::fmt::Debug for GtkAccessibleTextRange {
1657    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1658        f.debug_struct(&format!("GtkAccessibleTextRange @ {self:p}"))
1659            .field("start", &self.start)
1660            .field("length", &self.length)
1661            .finish()
1662    }
1663}
1664
1665#[derive(Copy, Clone)]
1666#[repr(C)]
1667pub struct GtkActionableInterface {
1668    pub g_iface: gobject::GTypeInterface,
1669    pub get_action_name: Option<unsafe extern "C" fn(*mut GtkActionable) -> *const c_char>,
1670    pub set_action_name: Option<unsafe extern "C" fn(*mut GtkActionable, *const c_char)>,
1671    pub get_action_target_value:
1672        Option<unsafe extern "C" fn(*mut GtkActionable) -> *mut glib::GVariant>,
1673    pub set_action_target_value:
1674        Option<unsafe extern "C" fn(*mut GtkActionable, *mut glib::GVariant)>,
1675}
1676
1677impl ::std::fmt::Debug for GtkActionableInterface {
1678    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1679        f.debug_struct(&format!("GtkActionableInterface @ {self:p}"))
1680            .field("get_action_name", &self.get_action_name)
1681            .field("set_action_name", &self.set_action_name)
1682            .field("get_action_target_value", &self.get_action_target_value)
1683            .field("set_action_target_value", &self.set_action_target_value)
1684            .finish()
1685    }
1686}
1687
1688#[repr(C)]
1689#[allow(dead_code)]
1690pub struct _GtkActivateActionClass {
1691    _data: [u8; 0],
1692    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1693}
1694
1695pub type GtkActivateActionClass = _GtkActivateActionClass;
1696
1697#[derive(Copy, Clone)]
1698#[repr(C)]
1699pub struct GtkAdjustmentClass {
1700    pub parent_class: gobject::GInitiallyUnownedClass,
1701    pub changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1702    pub value_changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1703    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1704    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1705    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1706    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1707}
1708
1709impl ::std::fmt::Debug for GtkAdjustmentClass {
1710    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1711        f.debug_struct(&format!("GtkAdjustmentClass @ {self:p}"))
1712            .field("parent_class", &self.parent_class)
1713            .field("changed", &self.changed)
1714            .field("value_changed", &self.value_changed)
1715            .field("_gtk_reserved1", &self._gtk_reserved1)
1716            .field("_gtk_reserved2", &self._gtk_reserved2)
1717            .field("_gtk_reserved3", &self._gtk_reserved3)
1718            .field("_gtk_reserved4", &self._gtk_reserved4)
1719            .finish()
1720    }
1721}
1722
1723#[derive(Copy, Clone)]
1724#[repr(C)]
1725pub struct GtkAlertDialogClass {
1726    pub parent_class: gobject::GObjectClass,
1727}
1728
1729impl ::std::fmt::Debug for GtkAlertDialogClass {
1730    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1731        f.debug_struct(&format!("GtkAlertDialogClass @ {self:p}"))
1732            .field("parent_class", &self.parent_class)
1733            .finish()
1734    }
1735}
1736
1737#[repr(C)]
1738#[allow(dead_code)]
1739pub struct _GtkAlternativeTriggerClass {
1740    _data: [u8; 0],
1741    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1742}
1743
1744pub type GtkAlternativeTriggerClass = _GtkAlternativeTriggerClass;
1745
1746#[repr(C)]
1747#[allow(dead_code)]
1748pub struct _GtkAnyFilterClass {
1749    _data: [u8; 0],
1750    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1751}
1752
1753pub type GtkAnyFilterClass = _GtkAnyFilterClass;
1754
1755#[derive(Copy, Clone)]
1756#[repr(C)]
1757pub struct GtkApplicationClass {
1758    pub parent_class: gio::GApplicationClass,
1759    pub window_added: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1760    pub window_removed: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1761    pub padding: [gpointer; 8],
1762}
1763
1764impl ::std::fmt::Debug for GtkApplicationClass {
1765    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1766        f.debug_struct(&format!("GtkApplicationClass @ {self:p}"))
1767            .field("parent_class", &self.parent_class)
1768            .field("window_added", &self.window_added)
1769            .field("window_removed", &self.window_removed)
1770            .finish()
1771    }
1772}
1773
1774#[derive(Copy, Clone)]
1775#[repr(C)]
1776pub struct GtkApplicationWindowClass {
1777    pub parent_class: GtkWindowClass,
1778    pub padding: [gpointer; 8],
1779}
1780
1781impl ::std::fmt::Debug for GtkApplicationWindowClass {
1782    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1783        f.debug_struct(&format!("GtkApplicationWindowClass @ {self:p}"))
1784            .field("parent_class", &self.parent_class)
1785            .finish()
1786    }
1787}
1788
1789#[derive(Copy, Clone)]
1790#[repr(C)]
1791pub struct GtkBinLayoutClass {
1792    pub parent_class: GtkLayoutManagerClass,
1793}
1794
1795impl ::std::fmt::Debug for GtkBinLayoutClass {
1796    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1797        f.debug_struct(&format!("GtkBinLayoutClass @ {self:p}"))
1798            .field("parent_class", &self.parent_class)
1799            .finish()
1800    }
1801}
1802
1803#[repr(C)]
1804#[allow(dead_code)]
1805pub struct GtkBitset {
1806    _data: [u8; 0],
1807    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1808}
1809
1810impl ::std::fmt::Debug for GtkBitset {
1811    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1812        f.debug_struct(&format!("GtkBitset @ {self:p}")).finish()
1813    }
1814}
1815
1816#[derive(Copy, Clone)]
1817#[repr(C)]
1818pub struct GtkBitsetIter {
1819    pub private_data: [gpointer; 10],
1820}
1821
1822impl ::std::fmt::Debug for GtkBitsetIter {
1823    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1824        f.debug_struct(&format!("GtkBitsetIter @ {self:p}"))
1825            .finish()
1826    }
1827}
1828
1829#[derive(Copy, Clone)]
1830#[repr(C)]
1831pub struct GtkBookmarkListClass {
1832    pub parent_class: gobject::GObjectClass,
1833}
1834
1835impl ::std::fmt::Debug for GtkBookmarkListClass {
1836    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1837        f.debug_struct(&format!("GtkBookmarkListClass @ {self:p}"))
1838            .field("parent_class", &self.parent_class)
1839            .finish()
1840    }
1841}
1842
1843#[derive(Copy, Clone)]
1844#[repr(C)]
1845pub struct GtkBoolFilterClass {
1846    pub parent_class: GtkFilterClass,
1847}
1848
1849impl ::std::fmt::Debug for GtkBoolFilterClass {
1850    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1851        f.debug_struct(&format!("GtkBoolFilterClass @ {self:p}"))
1852            .field("parent_class", &self.parent_class)
1853            .finish()
1854    }
1855}
1856
1857#[derive(Copy, Clone)]
1858#[repr(C)]
1859pub struct GtkBorder {
1860    pub left: i16,
1861    pub right: i16,
1862    pub top: i16,
1863    pub bottom: i16,
1864}
1865
1866impl ::std::fmt::Debug for GtkBorder {
1867    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1868        f.debug_struct(&format!("GtkBorder @ {self:p}"))
1869            .field("left", &self.left)
1870            .field("right", &self.right)
1871            .field("top", &self.top)
1872            .field("bottom", &self.bottom)
1873            .finish()
1874    }
1875}
1876
1877#[derive(Copy, Clone)]
1878#[repr(C)]
1879pub struct GtkBoxClass {
1880    pub parent_class: GtkWidgetClass,
1881    pub padding: [gpointer; 8],
1882}
1883
1884impl ::std::fmt::Debug for GtkBoxClass {
1885    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1886        f.debug_struct(&format!("GtkBoxClass @ {self:p}"))
1887            .field("parent_class", &self.parent_class)
1888            .finish()
1889    }
1890}
1891
1892#[derive(Copy, Clone)]
1893#[repr(C)]
1894pub struct GtkBoxLayoutClass {
1895    pub parent_class: GtkLayoutManagerClass,
1896}
1897
1898impl ::std::fmt::Debug for GtkBoxLayoutClass {
1899    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1900        f.debug_struct(&format!("GtkBoxLayoutClass @ {self:p}"))
1901            .field("parent_class", &self.parent_class)
1902            .finish()
1903    }
1904}
1905
1906#[derive(Copy, Clone)]
1907#[repr(C)]
1908pub struct GtkBuildableIface {
1909    pub g_iface: gobject::GTypeInterface,
1910    pub set_id: Option<unsafe extern "C" fn(*mut GtkBuildable, *const c_char)>,
1911    pub get_id: Option<unsafe extern "C" fn(*mut GtkBuildable) -> *const c_char>,
1912    pub add_child: Option<
1913        unsafe extern "C" fn(
1914            *mut GtkBuildable,
1915            *mut GtkBuilder,
1916            *mut gobject::GObject,
1917            *const c_char,
1918        ),
1919    >,
1920    pub set_buildable_property: Option<
1921        unsafe extern "C" fn(
1922            *mut GtkBuildable,
1923            *mut GtkBuilder,
1924            *const c_char,
1925            *const gobject::GValue,
1926        ),
1927    >,
1928    pub construct_child: Option<
1929        unsafe extern "C" fn(
1930            *mut GtkBuildable,
1931            *mut GtkBuilder,
1932            *const c_char,
1933        ) -> *mut gobject::GObject,
1934    >,
1935    pub custom_tag_start: Option<
1936        unsafe extern "C" fn(
1937            *mut GtkBuildable,
1938            *mut GtkBuilder,
1939            *mut gobject::GObject,
1940            *const c_char,
1941            *mut GtkBuildableParser,
1942            *mut gpointer,
1943        ) -> gboolean,
1944    >,
1945    pub custom_tag_end: Option<
1946        unsafe extern "C" fn(
1947            *mut GtkBuildable,
1948            *mut GtkBuilder,
1949            *mut gobject::GObject,
1950            *const c_char,
1951            gpointer,
1952        ),
1953    >,
1954    pub custom_finished: Option<
1955        unsafe extern "C" fn(
1956            *mut GtkBuildable,
1957            *mut GtkBuilder,
1958            *mut gobject::GObject,
1959            *const c_char,
1960            gpointer,
1961        ),
1962    >,
1963    pub parser_finished: Option<unsafe extern "C" fn(*mut GtkBuildable, *mut GtkBuilder)>,
1964    pub get_internal_child: Option<
1965        unsafe extern "C" fn(
1966            *mut GtkBuildable,
1967            *mut GtkBuilder,
1968            *const c_char,
1969        ) -> *mut gobject::GObject,
1970    >,
1971}
1972
1973impl ::std::fmt::Debug for GtkBuildableIface {
1974    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1975        f.debug_struct(&format!("GtkBuildableIface @ {self:p}"))
1976            .field("g_iface", &self.g_iface)
1977            .field("set_id", &self.set_id)
1978            .field("get_id", &self.get_id)
1979            .field("add_child", &self.add_child)
1980            .field("set_buildable_property", &self.set_buildable_property)
1981            .field("construct_child", &self.construct_child)
1982            .field("custom_tag_start", &self.custom_tag_start)
1983            .field("custom_tag_end", &self.custom_tag_end)
1984            .field("custom_finished", &self.custom_finished)
1985            .field("parser_finished", &self.parser_finished)
1986            .field("get_internal_child", &self.get_internal_child)
1987            .finish()
1988    }
1989}
1990
1991#[repr(C)]
1992#[allow(dead_code)]
1993pub struct _GtkBuildableParseContext {
1994    _data: [u8; 0],
1995    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1996}
1997
1998pub type GtkBuildableParseContext = _GtkBuildableParseContext;
1999
2000#[derive(Copy, Clone)]
2001#[repr(C)]
2002pub struct GtkBuildableParser {
2003    pub start_element: Option<
2004        unsafe extern "C" fn(
2005            *mut GtkBuildableParseContext,
2006            *const c_char,
2007            *mut *const c_char,
2008            *mut *const c_char,
2009            gpointer,
2010            *mut *mut glib::GError,
2011        ),
2012    >,
2013    pub end_element: Option<
2014        unsafe extern "C" fn(
2015            *mut GtkBuildableParseContext,
2016            *const c_char,
2017            gpointer,
2018            *mut *mut glib::GError,
2019        ),
2020    >,
2021    pub text: Option<
2022        unsafe extern "C" fn(
2023            *mut GtkBuildableParseContext,
2024            *const c_char,
2025            size_t,
2026            gpointer,
2027            *mut *mut glib::GError,
2028        ),
2029    >,
2030    pub error:
2031        Option<unsafe extern "C" fn(*mut GtkBuildableParseContext, *mut glib::GError, gpointer)>,
2032    pub padding: [gpointer; 4],
2033}
2034
2035impl ::std::fmt::Debug for GtkBuildableParser {
2036    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2037        f.debug_struct(&format!("GtkBuildableParser @ {self:p}"))
2038            .field("start_element", &self.start_element)
2039            .field("end_element", &self.end_element)
2040            .field("text", &self.text)
2041            .field("error", &self.error)
2042            .finish()
2043    }
2044}
2045
2046#[derive(Copy, Clone)]
2047#[repr(C)]
2048pub struct GtkBuilderCScopeClass {
2049    pub parent_class: gobject::GObjectClass,
2050}
2051
2052impl ::std::fmt::Debug for GtkBuilderCScopeClass {
2053    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2054        f.debug_struct(&format!("GtkBuilderCScopeClass @ {self:p}"))
2055            .field("parent_class", &self.parent_class)
2056            .finish()
2057    }
2058}
2059
2060#[repr(C)]
2061#[allow(dead_code)]
2062pub struct _GtkBuilderClass {
2063    _data: [u8; 0],
2064    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2065}
2066
2067pub type GtkBuilderClass = _GtkBuilderClass;
2068
2069#[repr(C)]
2070#[allow(dead_code)]
2071pub struct _GtkBuilderListItemFactoryClass {
2072    _data: [u8; 0],
2073    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2074}
2075
2076pub type GtkBuilderListItemFactoryClass = _GtkBuilderListItemFactoryClass;
2077
2078#[derive(Copy, Clone)]
2079#[repr(C)]
2080pub struct GtkBuilderScopeInterface {
2081    pub g_iface: gobject::GTypeInterface,
2082    pub get_type_from_name:
2083        Option<unsafe extern "C" fn(*mut GtkBuilderScope, *mut GtkBuilder, *const c_char) -> GType>,
2084    pub get_type_from_function:
2085        Option<unsafe extern "C" fn(*mut GtkBuilderScope, *mut GtkBuilder, *const c_char) -> GType>,
2086    pub create_closure: Option<
2087        unsafe extern "C" fn(
2088            *mut GtkBuilderScope,
2089            *mut GtkBuilder,
2090            *const c_char,
2091            GtkBuilderClosureFlags,
2092            *mut gobject::GObject,
2093            *mut *mut glib::GError,
2094        ) -> *mut gobject::GClosure,
2095    >,
2096}
2097
2098impl ::std::fmt::Debug for GtkBuilderScopeInterface {
2099    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2100        f.debug_struct(&format!("GtkBuilderScopeInterface @ {self:p}"))
2101            .field("get_type_from_name", &self.get_type_from_name)
2102            .field("get_type_from_function", &self.get_type_from_function)
2103            .field("create_closure", &self.create_closure)
2104            .finish()
2105    }
2106}
2107
2108#[derive(Copy, Clone)]
2109#[repr(C)]
2110pub struct GtkButtonClass {
2111    pub parent_class: GtkWidgetClass,
2112    pub clicked: Option<unsafe extern "C" fn(*mut GtkButton)>,
2113    pub activate: Option<unsafe extern "C" fn(*mut GtkButton)>,
2114    pub padding: [gpointer; 8],
2115}
2116
2117impl ::std::fmt::Debug for GtkButtonClass {
2118    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2119        f.debug_struct(&format!("GtkButtonClass @ {self:p}"))
2120            .field("parent_class", &self.parent_class)
2121            .field("clicked", &self.clicked)
2122            .field("activate", &self.activate)
2123            .finish()
2124    }
2125}
2126
2127#[repr(C)]
2128#[allow(dead_code)]
2129pub struct _GtkButtonPrivate {
2130    _data: [u8; 0],
2131    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2132}
2133
2134pub type GtkButtonPrivate = _GtkButtonPrivate;
2135
2136#[repr(C)]
2137#[allow(dead_code)]
2138pub struct _GtkCallbackActionClass {
2139    _data: [u8; 0],
2140    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2141}
2142
2143pub type GtkCallbackActionClass = _GtkCallbackActionClass;
2144
2145#[derive(Copy, Clone)]
2146#[repr(C)]
2147pub struct GtkCellAreaClass {
2148    pub parent_class: gobject::GInitiallyUnownedClass,
2149    pub add: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2150    pub remove: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2151    pub foreach: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkCellCallback, gpointer)>,
2152    pub foreach_alloc: Option<
2153        unsafe extern "C" fn(
2154            *mut GtkCellArea,
2155            *mut GtkCellAreaContext,
2156            *mut GtkWidget,
2157            *const gdk::GdkRectangle,
2158            *const gdk::GdkRectangle,
2159            GtkCellAllocCallback,
2160            gpointer,
2161        ),
2162    >,
2163    pub event: Option<
2164        unsafe extern "C" fn(
2165            *mut GtkCellArea,
2166            *mut GtkCellAreaContext,
2167            *mut GtkWidget,
2168            *mut gdk::GdkEvent,
2169            *const gdk::GdkRectangle,
2170            GtkCellRendererState,
2171        ) -> c_int,
2172    >,
2173    pub snapshot: Option<
2174        unsafe extern "C" fn(
2175            *mut GtkCellArea,
2176            *mut GtkCellAreaContext,
2177            *mut GtkWidget,
2178            *mut GtkSnapshot,
2179            *const gdk::GdkRectangle,
2180            *const gdk::GdkRectangle,
2181            GtkCellRendererState,
2182            gboolean,
2183        ),
2184    >,
2185    pub apply_attributes: Option<
2186        unsafe extern "C" fn(
2187            *mut GtkCellArea,
2188            *mut GtkTreeModel,
2189            *mut GtkTreeIter,
2190            gboolean,
2191            gboolean,
2192        ),
2193    >,
2194    pub create_context: Option<unsafe extern "C" fn(*mut GtkCellArea) -> *mut GtkCellAreaContext>,
2195    pub copy_context: Option<
2196        unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellAreaContext) -> *mut GtkCellAreaContext,
2197    >,
2198    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellArea) -> GtkSizeRequestMode>,
2199    pub get_preferred_width: Option<
2200        unsafe extern "C" fn(
2201            *mut GtkCellArea,
2202            *mut GtkCellAreaContext,
2203            *mut GtkWidget,
2204            *mut c_int,
2205            *mut c_int,
2206        ),
2207    >,
2208    pub get_preferred_height_for_width: Option<
2209        unsafe extern "C" fn(
2210            *mut GtkCellArea,
2211            *mut GtkCellAreaContext,
2212            *mut GtkWidget,
2213            c_int,
2214            *mut c_int,
2215            *mut c_int,
2216        ),
2217    >,
2218    pub get_preferred_height: Option<
2219        unsafe extern "C" fn(
2220            *mut GtkCellArea,
2221            *mut GtkCellAreaContext,
2222            *mut GtkWidget,
2223            *mut c_int,
2224            *mut c_int,
2225        ),
2226    >,
2227    pub get_preferred_width_for_height: Option<
2228        unsafe extern "C" fn(
2229            *mut GtkCellArea,
2230            *mut GtkCellAreaContext,
2231            *mut GtkWidget,
2232            c_int,
2233            *mut c_int,
2234            *mut c_int,
2235        ),
2236    >,
2237    pub set_cell_property: Option<
2238        unsafe extern "C" fn(
2239            *mut GtkCellArea,
2240            *mut GtkCellRenderer,
2241            c_uint,
2242            *mut gobject::GValue,
2243            *mut gobject::GParamSpec,
2244        ),
2245    >,
2246    pub get_cell_property: Option<
2247        unsafe extern "C" fn(
2248            *mut GtkCellArea,
2249            *mut GtkCellRenderer,
2250            c_uint,
2251            *mut gobject::GValue,
2252            *mut gobject::GParamSpec,
2253        ),
2254    >,
2255    pub focus: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkDirectionType) -> gboolean>,
2256    pub is_activatable: Option<unsafe extern "C" fn(*mut GtkCellArea) -> gboolean>,
2257    pub activate: Option<
2258        unsafe extern "C" fn(
2259            *mut GtkCellArea,
2260            *mut GtkCellAreaContext,
2261            *mut GtkWidget,
2262            *const gdk::GdkRectangle,
2263            GtkCellRendererState,
2264            gboolean,
2265        ) -> gboolean,
2266    >,
2267    pub padding: [gpointer; 8],
2268}
2269
2270impl ::std::fmt::Debug for GtkCellAreaClass {
2271    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2272        f.debug_struct(&format!("GtkCellAreaClass @ {self:p}"))
2273            .field("add", &self.add)
2274            .field("remove", &self.remove)
2275            .field("foreach", &self.foreach)
2276            .field("foreach_alloc", &self.foreach_alloc)
2277            .field("event", &self.event)
2278            .field("snapshot", &self.snapshot)
2279            .field("apply_attributes", &self.apply_attributes)
2280            .field("create_context", &self.create_context)
2281            .field("copy_context", &self.copy_context)
2282            .field("get_request_mode", &self.get_request_mode)
2283            .field("get_preferred_width", &self.get_preferred_width)
2284            .field(
2285                "get_preferred_height_for_width",
2286                &self.get_preferred_height_for_width,
2287            )
2288            .field("get_preferred_height", &self.get_preferred_height)
2289            .field(
2290                "get_preferred_width_for_height",
2291                &self.get_preferred_width_for_height,
2292            )
2293            .field("set_cell_property", &self.set_cell_property)
2294            .field("get_cell_property", &self.get_cell_property)
2295            .field("focus", &self.focus)
2296            .field("is_activatable", &self.is_activatable)
2297            .field("activate", &self.activate)
2298            .finish()
2299    }
2300}
2301
2302#[derive(Copy, Clone)]
2303#[repr(C)]
2304pub struct GtkCellAreaContextClass {
2305    pub parent_class: gobject::GObjectClass,
2306    pub allocate: Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, c_int)>,
2307    pub reset: Option<unsafe extern "C" fn(*mut GtkCellAreaContext)>,
2308    pub get_preferred_height_for_width:
2309        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2310    pub get_preferred_width_for_height:
2311        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2312    pub padding: [gpointer; 8],
2313}
2314
2315impl ::std::fmt::Debug for GtkCellAreaContextClass {
2316    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2317        f.debug_struct(&format!("GtkCellAreaContextClass @ {self:p}"))
2318            .field("allocate", &self.allocate)
2319            .field("reset", &self.reset)
2320            .field(
2321                "get_preferred_height_for_width",
2322                &self.get_preferred_height_for_width,
2323            )
2324            .field(
2325                "get_preferred_width_for_height",
2326                &self.get_preferred_width_for_height,
2327            )
2328            .finish()
2329    }
2330}
2331
2332#[repr(C)]
2333#[allow(dead_code)]
2334pub struct _GtkCellAreaContextPrivate {
2335    _data: [u8; 0],
2336    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2337}
2338
2339pub type GtkCellAreaContextPrivate = _GtkCellAreaContextPrivate;
2340
2341#[derive(Copy, Clone)]
2342#[repr(C)]
2343pub struct GtkCellEditableIface {
2344    pub g_iface: gobject::GTypeInterface,
2345    pub editing_done: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2346    pub remove_widget: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2347    pub start_editing: Option<unsafe extern "C" fn(*mut GtkCellEditable, *mut gdk::GdkEvent)>,
2348}
2349
2350impl ::std::fmt::Debug for GtkCellEditableIface {
2351    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2352        f.debug_struct(&format!("GtkCellEditableIface @ {self:p}"))
2353            .field("editing_done", &self.editing_done)
2354            .field("remove_widget", &self.remove_widget)
2355            .field("start_editing", &self.start_editing)
2356            .finish()
2357    }
2358}
2359
2360#[derive(Copy, Clone)]
2361#[repr(C)]
2362pub struct GtkCellLayoutIface {
2363    pub g_iface: gobject::GTypeInterface,
2364    pub pack_start:
2365        Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2366    pub pack_end: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2367    pub clear: Option<unsafe extern "C" fn(*mut GtkCellLayout)>,
2368    pub add_attribute: Option<
2369        unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, *const c_char, c_int),
2370    >,
2371    pub set_cell_data_func: Option<
2372        unsafe extern "C" fn(
2373            *mut GtkCellLayout,
2374            *mut GtkCellRenderer,
2375            GtkCellLayoutDataFunc,
2376            gpointer,
2377            glib::GDestroyNotify,
2378        ),
2379    >,
2380    pub clear_attributes: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer)>,
2381    pub reorder: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, c_int)>,
2382    pub get_cells: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut glib::GList>,
2383    pub get_area: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut GtkCellArea>,
2384}
2385
2386impl ::std::fmt::Debug for GtkCellLayoutIface {
2387    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2388        f.debug_struct(&format!("GtkCellLayoutIface @ {self:p}"))
2389            .field("pack_start", &self.pack_start)
2390            .field("pack_end", &self.pack_end)
2391            .field("clear", &self.clear)
2392            .field("add_attribute", &self.add_attribute)
2393            .field("set_cell_data_func", &self.set_cell_data_func)
2394            .field("clear_attributes", &self.clear_attributes)
2395            .field("reorder", &self.reorder)
2396            .field("get_cells", &self.get_cells)
2397            .field("get_area", &self.get_area)
2398            .finish()
2399    }
2400}
2401
2402#[derive(Copy, Clone)]
2403#[repr(C)]
2404pub struct GtkCellRendererClass {
2405    pub parent_class: gobject::GInitiallyUnownedClass,
2406    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellRenderer) -> GtkSizeRequestMode>,
2407    pub get_preferred_width:
2408        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
2409    pub get_preferred_height_for_width: Option<
2410        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
2411    >,
2412    pub get_preferred_height:
2413        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
2414    pub get_preferred_width_for_height: Option<
2415        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
2416    >,
2417    pub get_aligned_area: Option<
2418        unsafe extern "C" fn(
2419            *mut GtkCellRenderer,
2420            *mut GtkWidget,
2421            GtkCellRendererState,
2422            *const gdk::GdkRectangle,
2423            *mut gdk::GdkRectangle,
2424        ),
2425    >,
2426    pub snapshot: Option<
2427        unsafe extern "C" fn(
2428            *mut GtkCellRenderer,
2429            *mut GtkSnapshot,
2430            *mut GtkWidget,
2431            *const gdk::GdkRectangle,
2432            *const gdk::GdkRectangle,
2433            GtkCellRendererState,
2434        ),
2435    >,
2436    pub activate: Option<
2437        unsafe extern "C" fn(
2438            *mut GtkCellRenderer,
2439            *mut gdk::GdkEvent,
2440            *mut GtkWidget,
2441            *const c_char,
2442            *const gdk::GdkRectangle,
2443            *const gdk::GdkRectangle,
2444            GtkCellRendererState,
2445        ) -> gboolean,
2446    >,
2447    pub start_editing: Option<
2448        unsafe extern "C" fn(
2449            *mut GtkCellRenderer,
2450            *mut gdk::GdkEvent,
2451            *mut GtkWidget,
2452            *const c_char,
2453            *const gdk::GdkRectangle,
2454            *const gdk::GdkRectangle,
2455            GtkCellRendererState,
2456        ) -> *mut GtkCellEditable,
2457    >,
2458    pub editing_canceled: Option<unsafe extern "C" fn(*mut GtkCellRenderer)>,
2459    pub editing_started:
2460        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkCellEditable, *const c_char)>,
2461    pub padding: [gpointer; 8],
2462}
2463
2464impl ::std::fmt::Debug for GtkCellRendererClass {
2465    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2466        f.debug_struct(&format!("GtkCellRendererClass @ {self:p}"))
2467            .field("get_request_mode", &self.get_request_mode)
2468            .field("get_preferred_width", &self.get_preferred_width)
2469            .field(
2470                "get_preferred_height_for_width",
2471                &self.get_preferred_height_for_width,
2472            )
2473            .field("get_preferred_height", &self.get_preferred_height)
2474            .field(
2475                "get_preferred_width_for_height",
2476                &self.get_preferred_width_for_height,
2477            )
2478            .field("get_aligned_area", &self.get_aligned_area)
2479            .field("snapshot", &self.snapshot)
2480            .field("activate", &self.activate)
2481            .field("start_editing", &self.start_editing)
2482            .field("editing_canceled", &self.editing_canceled)
2483            .field("editing_started", &self.editing_started)
2484            .finish()
2485    }
2486}
2487
2488#[repr(C)]
2489#[allow(dead_code)]
2490pub struct _GtkCellRendererClassPrivate {
2491    _data: [u8; 0],
2492    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2493}
2494
2495pub type GtkCellRendererClassPrivate = _GtkCellRendererClassPrivate;
2496
2497#[repr(C)]
2498#[allow(dead_code)]
2499pub struct _GtkCellRendererPrivate {
2500    _data: [u8; 0],
2501    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2502}
2503
2504pub type GtkCellRendererPrivate = _GtkCellRendererPrivate;
2505
2506#[derive(Copy, Clone)]
2507#[repr(C)]
2508pub struct GtkCellRendererTextClass {
2509    pub parent_class: GtkCellRendererClass,
2510    pub edited:
2511        Option<unsafe extern "C" fn(*mut GtkCellRendererText, *const c_char, *const c_char)>,
2512    pub padding: [gpointer; 8],
2513}
2514
2515impl ::std::fmt::Debug for GtkCellRendererTextClass {
2516    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2517        f.debug_struct(&format!("GtkCellRendererTextClass @ {self:p}"))
2518            .field("parent_class", &self.parent_class)
2519            .field("edited", &self.edited)
2520            .finish()
2521    }
2522}
2523
2524#[repr(C)]
2525#[allow(dead_code)]
2526pub struct _GtkCenterBoxClass {
2527    _data: [u8; 0],
2528    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2529}
2530
2531pub type GtkCenterBoxClass = _GtkCenterBoxClass;
2532
2533#[derive(Copy, Clone)]
2534#[repr(C)]
2535pub struct GtkCenterLayoutClass {
2536    pub parent_class: GtkLayoutManagerClass,
2537}
2538
2539impl ::std::fmt::Debug for GtkCenterLayoutClass {
2540    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2541        f.debug_struct(&format!("GtkCenterLayoutClass @ {self:p}"))
2542            .field("parent_class", &self.parent_class)
2543            .finish()
2544    }
2545}
2546
2547#[derive(Copy, Clone)]
2548#[repr(C)]
2549pub struct GtkCheckButtonClass {
2550    pub parent_class: GtkWidgetClass,
2551    pub toggled: Option<unsafe extern "C" fn(*mut GtkCheckButton)>,
2552    pub activate: Option<unsafe extern "C" fn(*mut GtkCheckButton)>,
2553    pub padding: [gpointer; 7],
2554}
2555
2556impl ::std::fmt::Debug for GtkCheckButtonClass {
2557    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2558        f.debug_struct(&format!("GtkCheckButtonClass @ {self:p}"))
2559            .field("parent_class", &self.parent_class)
2560            .field("toggled", &self.toggled)
2561            .field("activate", &self.activate)
2562            .finish()
2563    }
2564}
2565
2566#[derive(Copy, Clone)]
2567#[repr(C)]
2568pub struct GtkColorChooserInterface {
2569    pub base_interface: gobject::GTypeInterface,
2570    pub get_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2571    pub set_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2572    pub add_palette: Option<
2573        unsafe extern "C" fn(*mut GtkColorChooser, GtkOrientation, c_int, c_int, *mut gdk::GdkRGBA),
2574    >,
2575    pub color_activated: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2576    pub padding: [gpointer; 12],
2577}
2578
2579impl ::std::fmt::Debug for GtkColorChooserInterface {
2580    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2581        f.debug_struct(&format!("GtkColorChooserInterface @ {self:p}"))
2582            .field("base_interface", &self.base_interface)
2583            .field("get_rgba", &self.get_rgba)
2584            .field("set_rgba", &self.set_rgba)
2585            .field("add_palette", &self.add_palette)
2586            .field("color_activated", &self.color_activated)
2587            .finish()
2588    }
2589}
2590
2591#[derive(Copy, Clone)]
2592#[repr(C)]
2593pub struct GtkColorDialogButtonClass {
2594    pub parent_class: GtkWidgetClass,
2595}
2596
2597impl ::std::fmt::Debug for GtkColorDialogButtonClass {
2598    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2599        f.debug_struct(&format!("GtkColorDialogButtonClass @ {self:p}"))
2600            .field("parent_class", &self.parent_class)
2601            .finish()
2602    }
2603}
2604
2605#[derive(Copy, Clone)]
2606#[repr(C)]
2607pub struct GtkColorDialogClass {
2608    pub parent_class: gobject::GObjectClass,
2609}
2610
2611impl ::std::fmt::Debug for GtkColorDialogClass {
2612    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2613        f.debug_struct(&format!("GtkColorDialogClass @ {self:p}"))
2614            .field("parent_class", &self.parent_class)
2615            .finish()
2616    }
2617}
2618
2619#[repr(C)]
2620#[allow(dead_code)]
2621pub struct _GtkColumnViewCellClass {
2622    _data: [u8; 0],
2623    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2624}
2625
2626pub type GtkColumnViewCellClass = _GtkColumnViewCellClass;
2627
2628#[repr(C)]
2629#[allow(dead_code)]
2630pub struct _GtkColumnViewClass {
2631    _data: [u8; 0],
2632    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2633}
2634
2635pub type GtkColumnViewClass = _GtkColumnViewClass;
2636
2637#[repr(C)]
2638#[allow(dead_code)]
2639pub struct _GtkColumnViewColumnClass {
2640    _data: [u8; 0],
2641    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2642}
2643
2644pub type GtkColumnViewColumnClass = _GtkColumnViewColumnClass;
2645
2646#[repr(C)]
2647#[allow(dead_code)]
2648pub struct _GtkColumnViewRowClass {
2649    _data: [u8; 0],
2650    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2651}
2652
2653pub type GtkColumnViewRowClass = _GtkColumnViewRowClass;
2654
2655#[derive(Copy, Clone)]
2656#[repr(C)]
2657pub struct GtkColumnViewSorterClass {
2658    pub parent_class: GtkSorterClass,
2659}
2660
2661impl ::std::fmt::Debug for GtkColumnViewSorterClass {
2662    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2663        f.debug_struct(&format!("GtkColumnViewSorterClass @ {self:p}"))
2664            .field("parent_class", &self.parent_class)
2665            .finish()
2666    }
2667}
2668
2669#[derive(Copy, Clone)]
2670#[repr(C)]
2671pub struct GtkComboBoxClass {
2672    pub parent_class: GtkWidgetClass,
2673    pub changed: Option<unsafe extern "C" fn(*mut GtkComboBox)>,
2674    pub format_entry_text:
2675        Option<unsafe extern "C" fn(*mut GtkComboBox, *const c_char) -> *mut c_char>,
2676    pub activate: Option<unsafe extern "C" fn(*mut GtkComboBox)>,
2677    pub padding: [gpointer; 7],
2678}
2679
2680impl ::std::fmt::Debug for GtkComboBoxClass {
2681    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2682        f.debug_struct(&format!("GtkComboBoxClass @ {self:p}"))
2683            .field("parent_class", &self.parent_class)
2684            .field("changed", &self.changed)
2685            .field("format_entry_text", &self.format_entry_text)
2686            .field("activate", &self.activate)
2687            .finish()
2688    }
2689}
2690
2691#[derive(Copy, Clone)]
2692#[repr(C)]
2693pub struct GtkConstraintClass {
2694    pub parent_class: gobject::GObjectClass,
2695}
2696
2697impl ::std::fmt::Debug for GtkConstraintClass {
2698    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2699        f.debug_struct(&format!("GtkConstraintClass @ {self:p}"))
2700            .field("parent_class", &self.parent_class)
2701            .finish()
2702    }
2703}
2704
2705#[derive(Copy, Clone)]
2706#[repr(C)]
2707pub struct GtkConstraintGuideClass {
2708    pub parent_class: gobject::GObjectClass,
2709}
2710
2711impl ::std::fmt::Debug for GtkConstraintGuideClass {
2712    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2713        f.debug_struct(&format!("GtkConstraintGuideClass @ {self:p}"))
2714            .field("parent_class", &self.parent_class)
2715            .finish()
2716    }
2717}
2718
2719#[derive(Copy, Clone)]
2720#[repr(C)]
2721pub struct GtkConstraintLayoutChildClass {
2722    pub parent_class: GtkLayoutChildClass,
2723}
2724
2725impl ::std::fmt::Debug for GtkConstraintLayoutChildClass {
2726    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2727        f.debug_struct(&format!("GtkConstraintLayoutChildClass @ {self:p}"))
2728            .field("parent_class", &self.parent_class)
2729            .finish()
2730    }
2731}
2732
2733#[derive(Copy, Clone)]
2734#[repr(C)]
2735pub struct GtkConstraintLayoutClass {
2736    pub parent_class: GtkLayoutManagerClass,
2737}
2738
2739impl ::std::fmt::Debug for GtkConstraintLayoutClass {
2740    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2741        f.debug_struct(&format!("GtkConstraintLayoutClass @ {self:p}"))
2742            .field("parent_class", &self.parent_class)
2743            .finish()
2744    }
2745}
2746
2747#[repr(C)]
2748#[allow(dead_code)]
2749pub struct _GtkConstraintTargetInterface {
2750    _data: [u8; 0],
2751    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2752}
2753
2754pub type GtkConstraintTargetInterface = _GtkConstraintTargetInterface;
2755
2756#[derive(Copy, Clone)]
2757#[repr(C)]
2758pub struct GtkCssLocation {
2759    pub bytes: size_t,
2760    pub chars: size_t,
2761    pub lines: size_t,
2762    pub line_bytes: size_t,
2763    pub line_chars: size_t,
2764}
2765
2766impl ::std::fmt::Debug for GtkCssLocation {
2767    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2768        f.debug_struct(&format!("GtkCssLocation @ {self:p}"))
2769            .field("bytes", &self.bytes)
2770            .field("chars", &self.chars)
2771            .field("lines", &self.lines)
2772            .field("line_bytes", &self.line_bytes)
2773            .field("line_chars", &self.line_chars)
2774            .finish()
2775    }
2776}
2777
2778#[repr(C)]
2779#[allow(dead_code)]
2780pub struct _GtkCssProviderClass {
2781    _data: [u8; 0],
2782    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2783}
2784
2785pub type GtkCssProviderClass = _GtkCssProviderClass;
2786
2787#[repr(C)]
2788#[allow(dead_code)]
2789pub struct _GtkCssProviderPrivate {
2790    _data: [u8; 0],
2791    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2792}
2793
2794pub type GtkCssProviderPrivate = _GtkCssProviderPrivate;
2795
2796#[repr(C)]
2797#[allow(dead_code)]
2798pub struct GtkCssSection {
2799    _data: [u8; 0],
2800    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2801}
2802
2803impl ::std::fmt::Debug for GtkCssSection {
2804    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2805        f.debug_struct(&format!("GtkCssSection @ {self:p}"))
2806            .finish()
2807    }
2808}
2809
2810#[repr(C)]
2811#[allow(dead_code)]
2812pub struct _GtkCssStyleChange {
2813    _data: [u8; 0],
2814    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2815}
2816
2817pub type GtkCssStyleChange = _GtkCssStyleChange;
2818
2819#[derive(Copy, Clone)]
2820#[repr(C)]
2821pub struct GtkCustomFilterClass {
2822    pub parent_class: GtkFilterClass,
2823}
2824
2825impl ::std::fmt::Debug for GtkCustomFilterClass {
2826    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2827        f.debug_struct(&format!("GtkCustomFilterClass @ {self:p}"))
2828            .field("parent_class", &self.parent_class)
2829            .finish()
2830    }
2831}
2832
2833#[derive(Copy, Clone)]
2834#[repr(C)]
2835pub struct GtkCustomLayoutClass {
2836    pub parent_class: GtkLayoutManagerClass,
2837}
2838
2839impl ::std::fmt::Debug for GtkCustomLayoutClass {
2840    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2841        f.debug_struct(&format!("GtkCustomLayoutClass @ {self:p}"))
2842            .field("parent_class", &self.parent_class)
2843            .finish()
2844    }
2845}
2846
2847#[derive(Copy, Clone)]
2848#[repr(C)]
2849pub struct GtkCustomSorterClass {
2850    pub parent_class: GtkSorterClass,
2851}
2852
2853impl ::std::fmt::Debug for GtkCustomSorterClass {
2854    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2855        f.debug_struct(&format!("GtkCustomSorterClass @ {self:p}"))
2856            .field("parent_class", &self.parent_class)
2857            .finish()
2858    }
2859}
2860
2861#[derive(Copy, Clone)]
2862#[repr(C)]
2863pub struct GtkDialogClass {
2864    pub parent_class: GtkWindowClass,
2865    pub response: Option<unsafe extern "C" fn(*mut GtkDialog, GtkResponseType)>,
2866    pub close: Option<unsafe extern "C" fn(*mut GtkDialog)>,
2867    pub padding: [gpointer; 8],
2868}
2869
2870impl ::std::fmt::Debug for GtkDialogClass {
2871    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2872        f.debug_struct(&format!("GtkDialogClass @ {self:p}"))
2873            .field("parent_class", &self.parent_class)
2874            .field("response", &self.response)
2875            .field("close", &self.close)
2876            .finish()
2877    }
2878}
2879
2880#[derive(Copy, Clone)]
2881#[repr(C)]
2882pub struct GtkDirectoryListClass {
2883    pub parent_class: gobject::GObjectClass,
2884}
2885
2886impl ::std::fmt::Debug for GtkDirectoryListClass {
2887    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2888        f.debug_struct(&format!("GtkDirectoryListClass @ {self:p}"))
2889            .field("parent_class", &self.parent_class)
2890            .finish()
2891    }
2892}
2893
2894#[derive(Copy, Clone)]
2895#[repr(C)]
2896pub struct GtkDragIconClass {
2897    pub parent_class: GtkWidgetClass,
2898}
2899
2900impl ::std::fmt::Debug for GtkDragIconClass {
2901    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2902        f.debug_struct(&format!("GtkDragIconClass @ {self:p}"))
2903            .field("parent_class", &self.parent_class)
2904            .finish()
2905    }
2906}
2907
2908#[repr(C)]
2909#[allow(dead_code)]
2910pub struct _GtkDragSourceClass {
2911    _data: [u8; 0],
2912    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2913}
2914
2915pub type GtkDragSourceClass = _GtkDragSourceClass;
2916
2917#[derive(Copy, Clone)]
2918#[repr(C)]
2919pub struct GtkDrawingAreaClass {
2920    pub parent_class: GtkWidgetClass,
2921    pub resize: Option<unsafe extern "C" fn(*mut GtkDrawingArea, c_int, c_int)>,
2922    pub padding: [gpointer; 8],
2923}
2924
2925impl ::std::fmt::Debug for GtkDrawingAreaClass {
2926    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2927        f.debug_struct(&format!("GtkDrawingAreaClass @ {self:p}"))
2928            .field("parent_class", &self.parent_class)
2929            .field("resize", &self.resize)
2930            .finish()
2931    }
2932}
2933
2934#[repr(C)]
2935#[allow(dead_code)]
2936pub struct _GtkDropControllerMotionClass {
2937    _data: [u8; 0],
2938    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2939}
2940
2941pub type GtkDropControllerMotionClass = _GtkDropControllerMotionClass;
2942
2943#[derive(Copy, Clone)]
2944#[repr(C)]
2945pub struct GtkDropDownClass {
2946    pub parent_class: GtkWidgetClass,
2947}
2948
2949impl ::std::fmt::Debug for GtkDropDownClass {
2950    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2951        f.debug_struct(&format!("GtkDropDownClass @ {self:p}"))
2952            .field("parent_class", &self.parent_class)
2953            .finish()
2954    }
2955}
2956
2957#[repr(C)]
2958#[allow(dead_code)]
2959pub struct _GtkDropTargetAsyncClass {
2960    _data: [u8; 0],
2961    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2962}
2963
2964pub type GtkDropTargetAsyncClass = _GtkDropTargetAsyncClass;
2965
2966#[repr(C)]
2967#[allow(dead_code)]
2968pub struct _GtkDropTargetClass {
2969    _data: [u8; 0],
2970    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2971}
2972
2973pub type GtkDropTargetClass = _GtkDropTargetClass;
2974
2975#[derive(Copy, Clone)]
2976#[repr(C)]
2977pub struct GtkEditableInterface {
2978    pub base_iface: gobject::GTypeInterface,
2979    pub insert_text:
2980        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
2981    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
2982    pub changed: Option<unsafe extern "C" fn(*mut GtkEditable)>,
2983    pub get_text: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut c_char>,
2984    pub do_insert_text:
2985        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
2986    pub do_delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
2987    pub get_selection_bounds:
2988        Option<unsafe extern "C" fn(*mut GtkEditable, *mut c_int, *mut c_int) -> gboolean>,
2989    pub set_selection_bounds: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
2990    pub get_delegate: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut GtkEditable>,
2991    pub get_complete_text: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut c_char>,
2992}
2993
2994impl ::std::fmt::Debug for GtkEditableInterface {
2995    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2996        f.debug_struct(&format!("GtkEditableInterface @ {self:p}"))
2997            .field("base_iface", &self.base_iface)
2998            .field("insert_text", &self.insert_text)
2999            .field("delete_text", &self.delete_text)
3000            .field("changed", &self.changed)
3001            .field("get_text", &self.get_text)
3002            .field("do_insert_text", &self.do_insert_text)
3003            .field("do_delete_text", &self.do_delete_text)
3004            .field("get_selection_bounds", &self.get_selection_bounds)
3005            .field("set_selection_bounds", &self.set_selection_bounds)
3006            .field("get_delegate", &self.get_delegate)
3007            .field("get_complete_text", &self.get_complete_text)
3008            .finish()
3009    }
3010}
3011
3012#[derive(Copy, Clone)]
3013#[repr(C)]
3014pub struct GtkEditableLabelClass {
3015    pub parent_class: GtkWidgetClass,
3016}
3017
3018impl ::std::fmt::Debug for GtkEditableLabelClass {
3019    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3020        f.debug_struct(&format!("GtkEditableLabelClass @ {self:p}"))
3021            .field("parent_class", &self.parent_class)
3022            .finish()
3023    }
3024}
3025
3026#[repr(C)]
3027#[allow(dead_code)]
3028pub struct _GtkEmojiChooserClass {
3029    _data: [u8; 0],
3030    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3031}
3032
3033pub type GtkEmojiChooserClass = _GtkEmojiChooserClass;
3034
3035#[derive(Copy, Clone)]
3036#[repr(C)]
3037pub struct GtkEntryBufferClass {
3038    pub parent_class: gobject::GObjectClass,
3039    pub inserted_text:
3040        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint)>,
3041    pub deleted_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint)>,
3042    pub get_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, *mut size_t) -> *const c_char>,
3043    pub get_length: Option<unsafe extern "C" fn(*mut GtkEntryBuffer) -> c_uint>,
3044    pub insert_text:
3045        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint) -> c_uint>,
3046    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint) -> c_uint>,
3047    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3048    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3049    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3050    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3051    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3052    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3053    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3054    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3055}
3056
3057impl ::std::fmt::Debug for GtkEntryBufferClass {
3058    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3059        f.debug_struct(&format!("GtkEntryBufferClass @ {self:p}"))
3060            .field("parent_class", &self.parent_class)
3061            .field("inserted_text", &self.inserted_text)
3062            .field("deleted_text", &self.deleted_text)
3063            .field("get_text", &self.get_text)
3064            .field("get_length", &self.get_length)
3065            .field("insert_text", &self.insert_text)
3066            .field("delete_text", &self.delete_text)
3067            .field("_gtk_reserved1", &self._gtk_reserved1)
3068            .field("_gtk_reserved2", &self._gtk_reserved2)
3069            .field("_gtk_reserved3", &self._gtk_reserved3)
3070            .field("_gtk_reserved4", &self._gtk_reserved4)
3071            .field("_gtk_reserved5", &self._gtk_reserved5)
3072            .field("_gtk_reserved6", &self._gtk_reserved6)
3073            .field("_gtk_reserved7", &self._gtk_reserved7)
3074            .field("_gtk_reserved8", &self._gtk_reserved8)
3075            .finish()
3076    }
3077}
3078
3079#[derive(Copy, Clone)]
3080#[repr(C)]
3081pub struct GtkEntryClass {
3082    pub parent_class: GtkWidgetClass,
3083    pub activate: Option<unsafe extern "C" fn(*mut GtkEntry)>,
3084    pub padding: [gpointer; 8],
3085}
3086
3087impl ::std::fmt::Debug for GtkEntryClass {
3088    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3089        f.debug_struct(&format!("GtkEntryClass @ {self:p}"))
3090            .field("parent_class", &self.parent_class)
3091            .field("activate", &self.activate)
3092            .finish()
3093    }
3094}
3095
3096#[derive(Copy, Clone)]
3097#[repr(C)]
3098pub struct GtkEnumListClass {
3099    pub parent_class: gobject::GObjectClass,
3100}
3101
3102impl ::std::fmt::Debug for GtkEnumListClass {
3103    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3104        f.debug_struct(&format!("GtkEnumListClass @ {self:p}"))
3105            .field("parent_class", &self.parent_class)
3106            .finish()
3107    }
3108}
3109
3110#[derive(Copy, Clone)]
3111#[repr(C)]
3112pub struct GtkEnumListItemClass {
3113    pub parent_class: gobject::GObjectClass,
3114}
3115
3116impl ::std::fmt::Debug for GtkEnumListItemClass {
3117    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3118        f.debug_struct(&format!("GtkEnumListItemClass @ {self:p}"))
3119            .field("parent_class", &self.parent_class)
3120            .finish()
3121    }
3122}
3123
3124#[repr(C)]
3125#[allow(dead_code)]
3126pub struct _GtkEventControllerClass {
3127    _data: [u8; 0],
3128    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3129}
3130
3131pub type GtkEventControllerClass = _GtkEventControllerClass;
3132
3133#[repr(C)]
3134#[allow(dead_code)]
3135pub struct _GtkEventControllerFocusClass {
3136    _data: [u8; 0],
3137    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3138}
3139
3140pub type GtkEventControllerFocusClass = _GtkEventControllerFocusClass;
3141
3142#[repr(C)]
3143#[allow(dead_code)]
3144pub struct _GtkEventControllerKeyClass {
3145    _data: [u8; 0],
3146    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3147}
3148
3149pub type GtkEventControllerKeyClass = _GtkEventControllerKeyClass;
3150
3151#[repr(C)]
3152#[allow(dead_code)]
3153pub struct _GtkEventControllerLegacyClass {
3154    _data: [u8; 0],
3155    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3156}
3157
3158pub type GtkEventControllerLegacyClass = _GtkEventControllerLegacyClass;
3159
3160#[repr(C)]
3161#[allow(dead_code)]
3162pub struct _GtkEventControllerMotionClass {
3163    _data: [u8; 0],
3164    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3165}
3166
3167pub type GtkEventControllerMotionClass = _GtkEventControllerMotionClass;
3168
3169#[repr(C)]
3170#[allow(dead_code)]
3171pub struct _GtkEventControllerScrollClass {
3172    _data: [u8; 0],
3173    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3174}
3175
3176pub type GtkEventControllerScrollClass = _GtkEventControllerScrollClass;
3177
3178#[repr(C)]
3179#[allow(dead_code)]
3180pub struct _GtkEveryFilterClass {
3181    _data: [u8; 0],
3182    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3183}
3184
3185pub type GtkEveryFilterClass = _GtkEveryFilterClass;
3186
3187#[repr(C)]
3188#[allow(dead_code)]
3189pub struct GtkExpressionWatch {
3190    _data: [u8; 0],
3191    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3192}
3193
3194impl ::std::fmt::Debug for GtkExpressionWatch {
3195    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3196        f.debug_struct(&format!("GtkExpressionWatch @ {self:p}"))
3197            .finish()
3198    }
3199}
3200
3201#[derive(Copy, Clone)]
3202#[repr(C)]
3203pub struct GtkFileChooserNativeClass {
3204    pub parent_class: GtkNativeDialogClass,
3205}
3206
3207impl ::std::fmt::Debug for GtkFileChooserNativeClass {
3208    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3209        f.debug_struct(&format!("GtkFileChooserNativeClass @ {self:p}"))
3210            .field("parent_class", &self.parent_class)
3211            .finish()
3212    }
3213}
3214
3215#[derive(Copy, Clone)]
3216#[repr(C)]
3217pub struct GtkFileDialogClass {
3218    pub parent_class: gobject::GObjectClass,
3219}
3220
3221impl ::std::fmt::Debug for GtkFileDialogClass {
3222    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3223        f.debug_struct(&format!("GtkFileDialogClass @ {self:p}"))
3224            .field("parent_class", &self.parent_class)
3225            .finish()
3226    }
3227}
3228
3229#[derive(Copy, Clone)]
3230#[repr(C)]
3231pub struct GtkFileLauncherClass {
3232    pub parent_class: gobject::GObjectClass,
3233}
3234
3235impl ::std::fmt::Debug for GtkFileLauncherClass {
3236    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3237        f.debug_struct(&format!("GtkFileLauncherClass @ {self:p}"))
3238            .field("parent_class", &self.parent_class)
3239            .finish()
3240    }
3241}
3242
3243#[derive(Copy, Clone)]
3244#[repr(C)]
3245pub struct GtkFilterClass {
3246    pub parent_class: gobject::GObjectClass,
3247    pub match_: Option<unsafe extern "C" fn(*mut GtkFilter, *mut gobject::GObject) -> gboolean>,
3248    pub get_strictness: Option<unsafe extern "C" fn(*mut GtkFilter) -> GtkFilterMatch>,
3249    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3250    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3251    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3252    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3253    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3254    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3255    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3256    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3257}
3258
3259impl ::std::fmt::Debug for GtkFilterClass {
3260    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3261        f.debug_struct(&format!("GtkFilterClass @ {self:p}"))
3262            .field("parent_class", &self.parent_class)
3263            .field("match_", &self.match_)
3264            .field("get_strictness", &self.get_strictness)
3265            .field("_gtk_reserved1", &self._gtk_reserved1)
3266            .field("_gtk_reserved2", &self._gtk_reserved2)
3267            .field("_gtk_reserved3", &self._gtk_reserved3)
3268            .field("_gtk_reserved4", &self._gtk_reserved4)
3269            .field("_gtk_reserved5", &self._gtk_reserved5)
3270            .field("_gtk_reserved6", &self._gtk_reserved6)
3271            .field("_gtk_reserved7", &self._gtk_reserved7)
3272            .field("_gtk_reserved8", &self._gtk_reserved8)
3273            .finish()
3274    }
3275}
3276
3277#[derive(Copy, Clone)]
3278#[repr(C)]
3279pub struct GtkFilterListModelClass {
3280    pub parent_class: gobject::GObjectClass,
3281}
3282
3283impl ::std::fmt::Debug for GtkFilterListModelClass {
3284    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3285        f.debug_struct(&format!("GtkFilterListModelClass @ {self:p}"))
3286            .field("parent_class", &self.parent_class)
3287            .finish()
3288    }
3289}
3290
3291#[derive(Copy, Clone)]
3292#[repr(C)]
3293pub struct GtkFixedClass {
3294    pub parent_class: GtkWidgetClass,
3295    pub padding: [gpointer; 8],
3296}
3297
3298impl ::std::fmt::Debug for GtkFixedClass {
3299    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3300        f.debug_struct(&format!("GtkFixedClass @ {self:p}"))
3301            .field("parent_class", &self.parent_class)
3302            .finish()
3303    }
3304}
3305
3306#[derive(Copy, Clone)]
3307#[repr(C)]
3308pub struct GtkFixedLayoutChildClass {
3309    pub parent_class: GtkLayoutChildClass,
3310}
3311
3312impl ::std::fmt::Debug for GtkFixedLayoutChildClass {
3313    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3314        f.debug_struct(&format!("GtkFixedLayoutChildClass @ {self:p}"))
3315            .field("parent_class", &self.parent_class)
3316            .finish()
3317    }
3318}
3319
3320#[derive(Copy, Clone)]
3321#[repr(C)]
3322pub struct GtkFixedLayoutClass {
3323    pub parent_class: GtkLayoutManagerClass,
3324}
3325
3326impl ::std::fmt::Debug for GtkFixedLayoutClass {
3327    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3328        f.debug_struct(&format!("GtkFixedLayoutClass @ {self:p}"))
3329            .field("parent_class", &self.parent_class)
3330            .finish()
3331    }
3332}
3333
3334#[derive(Copy, Clone)]
3335#[repr(C)]
3336pub struct GtkFlattenListModelClass {
3337    pub parent_class: gobject::GObjectClass,
3338}
3339
3340impl ::std::fmt::Debug for GtkFlattenListModelClass {
3341    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3342        f.debug_struct(&format!("GtkFlattenListModelClass @ {self:p}"))
3343            .field("parent_class", &self.parent_class)
3344            .finish()
3345    }
3346}
3347
3348#[derive(Copy, Clone)]
3349#[repr(C)]
3350pub struct GtkFlowBoxChildClass {
3351    pub parent_class: GtkWidgetClass,
3352    pub activate: Option<unsafe extern "C" fn(*mut GtkFlowBoxChild)>,
3353    pub padding: [gpointer; 8],
3354}
3355
3356impl ::std::fmt::Debug for GtkFlowBoxChildClass {
3357    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3358        f.debug_struct(&format!("GtkFlowBoxChildClass @ {self:p}"))
3359            .field("activate", &self.activate)
3360            .finish()
3361    }
3362}
3363
3364#[derive(Copy, Clone)]
3365#[repr(C)]
3366pub struct GtkFontChooserIface {
3367    pub base_iface: gobject::GTypeInterface,
3368    pub get_font_family:
3369        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFamily>,
3370    pub get_font_face:
3371        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFace>,
3372    pub get_font_size: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> c_int>,
3373    pub set_filter_func: Option<
3374        unsafe extern "C" fn(
3375            *mut GtkFontChooser,
3376            GtkFontFilterFunc,
3377            gpointer,
3378            glib::GDestroyNotify,
3379        ),
3380    >,
3381    pub font_activated: Option<unsafe extern "C" fn(*mut GtkFontChooser, *const c_char)>,
3382    pub set_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser, *mut pango::PangoFontMap)>,
3383    pub get_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontMap>,
3384    pub padding: [gpointer; 10],
3385}
3386
3387impl ::std::fmt::Debug for GtkFontChooserIface {
3388    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3389        f.debug_struct(&format!("GtkFontChooserIface @ {self:p}"))
3390            .field("base_iface", &self.base_iface)
3391            .field("get_font_family", &self.get_font_family)
3392            .field("get_font_face", &self.get_font_face)
3393            .field("get_font_size", &self.get_font_size)
3394            .field("set_filter_func", &self.set_filter_func)
3395            .field("font_activated", &self.font_activated)
3396            .field("set_font_map", &self.set_font_map)
3397            .field("get_font_map", &self.get_font_map)
3398            .finish()
3399    }
3400}
3401
3402#[derive(Copy, Clone)]
3403#[repr(C)]
3404pub struct GtkFontDialogButtonClass {
3405    pub parent_class: GtkWidgetClass,
3406}
3407
3408impl ::std::fmt::Debug for GtkFontDialogButtonClass {
3409    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3410        f.debug_struct(&format!("GtkFontDialogButtonClass @ {self:p}"))
3411            .field("parent_class", &self.parent_class)
3412            .finish()
3413    }
3414}
3415
3416#[derive(Copy, Clone)]
3417#[repr(C)]
3418pub struct GtkFontDialogClass {
3419    pub parent_class: gobject::GObjectClass,
3420}
3421
3422impl ::std::fmt::Debug for GtkFontDialogClass {
3423    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3424        f.debug_struct(&format!("GtkFontDialogClass @ {self:p}"))
3425            .field("parent_class", &self.parent_class)
3426            .finish()
3427    }
3428}
3429
3430#[derive(Copy, Clone)]
3431#[repr(C)]
3432pub struct GtkFrameClass {
3433    pub parent_class: GtkWidgetClass,
3434    pub compute_child_allocation: Option<unsafe extern "C" fn(*mut GtkFrame, *mut GtkAllocation)>,
3435    pub padding: [gpointer; 8],
3436}
3437
3438impl ::std::fmt::Debug for GtkFrameClass {
3439    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3440        f.debug_struct(&format!("GtkFrameClass @ {self:p}"))
3441            .field("parent_class", &self.parent_class)
3442            .field("compute_child_allocation", &self.compute_child_allocation)
3443            .finish()
3444    }
3445}
3446
3447#[derive(Copy, Clone)]
3448#[repr(C)]
3449pub struct GtkGLAreaClass {
3450    pub parent_class: GtkWidgetClass,
3451    pub render: Option<unsafe extern "C" fn(*mut GtkGLArea, *mut gdk::GdkGLContext) -> gboolean>,
3452    pub resize: Option<unsafe extern "C" fn(*mut GtkGLArea, c_int, c_int)>,
3453    pub create_context: Option<unsafe extern "C" fn(*mut GtkGLArea) -> *mut gdk::GdkGLContext>,
3454    pub _padding: [gpointer; 8],
3455}
3456
3457impl ::std::fmt::Debug for GtkGLAreaClass {
3458    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3459        f.debug_struct(&format!("GtkGLAreaClass @ {self:p}"))
3460            .field("render", &self.render)
3461            .field("resize", &self.resize)
3462            .field("create_context", &self.create_context)
3463            .finish()
3464    }
3465}
3466
3467#[repr(C)]
3468#[allow(dead_code)]
3469pub struct _GtkGestureClass {
3470    _data: [u8; 0],
3471    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3472}
3473
3474pub type GtkGestureClass = _GtkGestureClass;
3475
3476#[repr(C)]
3477#[allow(dead_code)]
3478pub struct _GtkGestureClickClass {
3479    _data: [u8; 0],
3480    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3481}
3482
3483pub type GtkGestureClickClass = _GtkGestureClickClass;
3484
3485#[repr(C)]
3486#[allow(dead_code)]
3487pub struct _GtkGestureDragClass {
3488    _data: [u8; 0],
3489    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3490}
3491
3492pub type GtkGestureDragClass = _GtkGestureDragClass;
3493
3494#[repr(C)]
3495#[allow(dead_code)]
3496pub struct _GtkGestureLongPressClass {
3497    _data: [u8; 0],
3498    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3499}
3500
3501pub type GtkGestureLongPressClass = _GtkGestureLongPressClass;
3502
3503#[repr(C)]
3504#[allow(dead_code)]
3505pub struct _GtkGesturePanClass {
3506    _data: [u8; 0],
3507    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3508}
3509
3510pub type GtkGesturePanClass = _GtkGesturePanClass;
3511
3512#[repr(C)]
3513#[allow(dead_code)]
3514pub struct _GtkGestureRotateClass {
3515    _data: [u8; 0],
3516    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3517}
3518
3519pub type GtkGestureRotateClass = _GtkGestureRotateClass;
3520
3521#[repr(C)]
3522#[allow(dead_code)]
3523pub struct _GtkGestureSingleClass {
3524    _data: [u8; 0],
3525    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3526}
3527
3528pub type GtkGestureSingleClass = _GtkGestureSingleClass;
3529
3530#[repr(C)]
3531#[allow(dead_code)]
3532pub struct _GtkGestureStylusClass {
3533    _data: [u8; 0],
3534    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3535}
3536
3537pub type GtkGestureStylusClass = _GtkGestureStylusClass;
3538
3539#[repr(C)]
3540#[allow(dead_code)]
3541pub struct _GtkGestureSwipeClass {
3542    _data: [u8; 0],
3543    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3544}
3545
3546pub type GtkGestureSwipeClass = _GtkGestureSwipeClass;
3547
3548#[repr(C)]
3549#[allow(dead_code)]
3550pub struct _GtkGestureZoomClass {
3551    _data: [u8; 0],
3552    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3553}
3554
3555pub type GtkGestureZoomClass = _GtkGestureZoomClass;
3556
3557#[derive(Copy, Clone)]
3558#[repr(C)]
3559pub struct GtkGraphicsOffloadClass {
3560    pub parent_class: GtkWidgetClass,
3561}
3562
3563impl ::std::fmt::Debug for GtkGraphicsOffloadClass {
3564    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3565        f.debug_struct(&format!("GtkGraphicsOffloadClass @ {self:p}"))
3566            .field("parent_class", &self.parent_class)
3567            .finish()
3568    }
3569}
3570
3571#[derive(Copy, Clone)]
3572#[repr(C)]
3573pub struct GtkGridClass {
3574    pub parent_class: GtkWidgetClass,
3575    pub padding: [gpointer; 8],
3576}
3577
3578impl ::std::fmt::Debug for GtkGridClass {
3579    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3580        f.debug_struct(&format!("GtkGridClass @ {self:p}"))
3581            .field("parent_class", &self.parent_class)
3582            .finish()
3583    }
3584}
3585
3586#[derive(Copy, Clone)]
3587#[repr(C)]
3588pub struct GtkGridLayoutChildClass {
3589    pub parent_class: GtkLayoutChildClass,
3590}
3591
3592impl ::std::fmt::Debug for GtkGridLayoutChildClass {
3593    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3594        f.debug_struct(&format!("GtkGridLayoutChildClass @ {self:p}"))
3595            .field("parent_class", &self.parent_class)
3596            .finish()
3597    }
3598}
3599
3600#[derive(Copy, Clone)]
3601#[repr(C)]
3602pub struct GtkGridLayoutClass {
3603    pub parent_class: GtkLayoutManagerClass,
3604}
3605
3606impl ::std::fmt::Debug for GtkGridLayoutClass {
3607    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3608        f.debug_struct(&format!("GtkGridLayoutClass @ {self:p}"))
3609            .field("parent_class", &self.parent_class)
3610            .finish()
3611    }
3612}
3613
3614#[repr(C)]
3615#[allow(dead_code)]
3616pub struct _GtkGridViewClass {
3617    _data: [u8; 0],
3618    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3619}
3620
3621pub type GtkGridViewClass = _GtkGridViewClass;
3622
3623#[derive(Copy, Clone)]
3624#[repr(C)]
3625pub struct GtkIMContextClass {
3626    pub parent_class: gobject::GObjectClass,
3627    pub preedit_start: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3628    pub preedit_end: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3629    pub preedit_changed: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3630    pub commit: Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char)>,
3631    pub retrieve_surrounding: Option<unsafe extern "C" fn(*mut GtkIMContext) -> gboolean>,
3632    pub delete_surrounding:
3633        Option<unsafe extern "C" fn(*mut GtkIMContext, c_int, c_int) -> gboolean>,
3634    pub set_client_widget: Option<unsafe extern "C" fn(*mut GtkIMContext, *mut GtkWidget)>,
3635    pub get_preedit_string: Option<
3636        unsafe extern "C" fn(
3637            *mut GtkIMContext,
3638            *mut *mut c_char,
3639            *mut *mut pango::PangoAttrList,
3640            *mut c_int,
3641        ),
3642    >,
3643    pub filter_keypress:
3644        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkEvent) -> gboolean>,
3645    pub focus_in: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3646    pub focus_out: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3647    pub reset: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3648    pub set_cursor_location:
3649        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkRectangle)>,
3650    pub set_use_preedit: Option<unsafe extern "C" fn(*mut GtkIMContext, gboolean)>,
3651    pub set_surrounding:
3652        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char, c_int, c_int)>,
3653    pub get_surrounding:
3654        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut *mut c_char, *mut c_int) -> gboolean>,
3655    pub set_surrounding_with_selection:
3656        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char, c_int, c_int, c_int)>,
3657    pub get_surrounding_with_selection: Option<
3658        unsafe extern "C" fn(
3659            *mut GtkIMContext,
3660            *mut *mut c_char,
3661            *mut c_int,
3662            *mut c_int,
3663        ) -> gboolean,
3664    >,
3665    pub activate_osk: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3666    pub activate_osk_with_event:
3667        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkEvent) -> gboolean>,
3668    pub invalid_composition:
3669        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char) -> gboolean>,
3670    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3671    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3672}
3673
3674impl ::std::fmt::Debug for GtkIMContextClass {
3675    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3676        f.debug_struct(&format!("GtkIMContextClass @ {self:p}"))
3677            .field("preedit_start", &self.preedit_start)
3678            .field("preedit_end", &self.preedit_end)
3679            .field("preedit_changed", &self.preedit_changed)
3680            .field("commit", &self.commit)
3681            .field("retrieve_surrounding", &self.retrieve_surrounding)
3682            .field("delete_surrounding", &self.delete_surrounding)
3683            .field("set_client_widget", &self.set_client_widget)
3684            .field("get_preedit_string", &self.get_preedit_string)
3685            .field("filter_keypress", &self.filter_keypress)
3686            .field("focus_in", &self.focus_in)
3687            .field("focus_out", &self.focus_out)
3688            .field("reset", &self.reset)
3689            .field("set_cursor_location", &self.set_cursor_location)
3690            .field("set_use_preedit", &self.set_use_preedit)
3691            .field("set_surrounding", &self.set_surrounding)
3692            .field("get_surrounding", &self.get_surrounding)
3693            .field(
3694                "set_surrounding_with_selection",
3695                &self.set_surrounding_with_selection,
3696            )
3697            .field(
3698                "get_surrounding_with_selection",
3699                &self.get_surrounding_with_selection,
3700            )
3701            .field("activate_osk", &self.activate_osk)
3702            .field("activate_osk_with_event", &self.activate_osk_with_event)
3703            .field("invalid_composition", &self.invalid_composition)
3704            .field("_gtk_reserved3", &self._gtk_reserved3)
3705            .field("_gtk_reserved4", &self._gtk_reserved4)
3706            .finish()
3707    }
3708}
3709
3710#[derive(Copy, Clone)]
3711#[repr(C)]
3712pub struct GtkIMContextSimpleClass {
3713    pub parent_class: GtkIMContextClass,
3714}
3715
3716impl ::std::fmt::Debug for GtkIMContextSimpleClass {
3717    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3718        f.debug_struct(&format!("GtkIMContextSimpleClass @ {self:p}"))
3719            .field("parent_class", &self.parent_class)
3720            .finish()
3721    }
3722}
3723
3724#[repr(C)]
3725#[allow(dead_code)]
3726pub struct _GtkIMContextSimplePrivate {
3727    _data: [u8; 0],
3728    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3729}
3730
3731pub type GtkIMContextSimplePrivate = _GtkIMContextSimplePrivate;
3732
3733#[derive(Copy, Clone)]
3734#[repr(C)]
3735pub struct GtkIMMulticontextClass {
3736    pub parent_class: GtkIMContextClass,
3737    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3738    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3739    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3740    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3741}
3742
3743impl ::std::fmt::Debug for GtkIMMulticontextClass {
3744    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3745        f.debug_struct(&format!("GtkIMMulticontextClass @ {self:p}"))
3746            .field("parent_class", &self.parent_class)
3747            .field("_gtk_reserved1", &self._gtk_reserved1)
3748            .field("_gtk_reserved2", &self._gtk_reserved2)
3749            .field("_gtk_reserved3", &self._gtk_reserved3)
3750            .field("_gtk_reserved4", &self._gtk_reserved4)
3751            .finish()
3752    }
3753}
3754
3755#[repr(C)]
3756#[allow(dead_code)]
3757pub struct _GtkIMMulticontextPrivate {
3758    _data: [u8; 0],
3759    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3760}
3761
3762pub type GtkIMMulticontextPrivate = _GtkIMMulticontextPrivate;
3763
3764#[derive(Copy, Clone)]
3765#[repr(C)]
3766pub struct GtkIconPaintableClass {
3767    pub parent_class: gobject::GObjectClass,
3768}
3769
3770impl ::std::fmt::Debug for GtkIconPaintableClass {
3771    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3772        f.debug_struct(&format!("GtkIconPaintableClass @ {self:p}"))
3773            .field("parent_class", &self.parent_class)
3774            .finish()
3775    }
3776}
3777
3778#[derive(Copy, Clone)]
3779#[repr(C)]
3780pub struct GtkInscriptionClass {
3781    pub parent_class: GtkWidgetClass,
3782}
3783
3784impl ::std::fmt::Debug for GtkInscriptionClass {
3785    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3786        f.debug_struct(&format!("GtkInscriptionClass @ {self:p}"))
3787            .field("parent_class", &self.parent_class)
3788            .finish()
3789    }
3790}
3791
3792#[repr(C)]
3793#[allow(dead_code)]
3794pub struct _GtkKeyvalTriggerClass {
3795    _data: [u8; 0],
3796    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3797}
3798
3799pub type GtkKeyvalTriggerClass = _GtkKeyvalTriggerClass;
3800
3801#[derive(Copy, Clone)]
3802#[repr(C)]
3803pub struct GtkLayoutChildClass {
3804    pub parent_class: gobject::GObjectClass,
3805}
3806
3807impl ::std::fmt::Debug for GtkLayoutChildClass {
3808    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3809        f.debug_struct(&format!("GtkLayoutChildClass @ {self:p}"))
3810            .finish()
3811    }
3812}
3813
3814#[derive(Copy, Clone)]
3815#[repr(C)]
3816pub struct GtkLayoutManagerClass {
3817    pub parent_class: gobject::GObjectClass,
3818    pub get_request_mode:
3819        Option<unsafe extern "C" fn(*mut GtkLayoutManager, *mut GtkWidget) -> GtkSizeRequestMode>,
3820    pub measure: Option<
3821        unsafe extern "C" fn(
3822            *mut GtkLayoutManager,
3823            *mut GtkWidget,
3824            GtkOrientation,
3825            c_int,
3826            *mut c_int,
3827            *mut c_int,
3828            *mut c_int,
3829            *mut c_int,
3830        ),
3831    >,
3832    pub allocate:
3833        Option<unsafe extern "C" fn(*mut GtkLayoutManager, *mut GtkWidget, c_int, c_int, c_int)>,
3834    pub layout_child_type: GType,
3835    pub create_layout_child: Option<
3836        unsafe extern "C" fn(
3837            *mut GtkLayoutManager,
3838            *mut GtkWidget,
3839            *mut GtkWidget,
3840        ) -> *mut GtkLayoutChild,
3841    >,
3842    pub root: Option<unsafe extern "C" fn(*mut GtkLayoutManager)>,
3843    pub unroot: Option<unsafe extern "C" fn(*mut GtkLayoutManager)>,
3844    pub _padding: [gpointer; 16],
3845}
3846
3847impl ::std::fmt::Debug for GtkLayoutManagerClass {
3848    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3849        f.debug_struct(&format!("GtkLayoutManagerClass @ {self:p}"))
3850            .field("get_request_mode", &self.get_request_mode)
3851            .field("measure", &self.measure)
3852            .field("allocate", &self.allocate)
3853            .field("layout_child_type", &self.layout_child_type)
3854            .field("create_layout_child", &self.create_layout_child)
3855            .field("root", &self.root)
3856            .field("unroot", &self.unroot)
3857            .finish()
3858    }
3859}
3860
3861#[repr(C)]
3862#[allow(dead_code)]
3863pub struct _GtkListBaseClass {
3864    _data: [u8; 0],
3865    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3866}
3867
3868pub type GtkListBaseClass = _GtkListBaseClass;
3869
3870#[derive(Copy, Clone)]
3871#[repr(C)]
3872pub struct GtkListBoxRowClass {
3873    pub parent_class: GtkWidgetClass,
3874    pub activate: Option<unsafe extern "C" fn(*mut GtkListBoxRow)>,
3875    pub padding: [gpointer; 8],
3876}
3877
3878impl ::std::fmt::Debug for GtkListBoxRowClass {
3879    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3880        f.debug_struct(&format!("GtkListBoxRowClass @ {self:p}"))
3881            .field("parent_class", &self.parent_class)
3882            .field("activate", &self.activate)
3883            .finish()
3884    }
3885}
3886
3887#[repr(C)]
3888#[allow(dead_code)]
3889pub struct _GtkListHeaderClass {
3890    _data: [u8; 0],
3891    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3892}
3893
3894pub type GtkListHeaderClass = _GtkListHeaderClass;
3895
3896#[repr(C)]
3897#[allow(dead_code)]
3898pub struct _GtkListItemClass {
3899    _data: [u8; 0],
3900    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3901}
3902
3903pub type GtkListItemClass = _GtkListItemClass;
3904
3905#[repr(C)]
3906#[allow(dead_code)]
3907pub struct _GtkListItemFactoryClass {
3908    _data: [u8; 0],
3909    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3910}
3911
3912pub type GtkListItemFactoryClass = _GtkListItemFactoryClass;
3913
3914#[derive(Copy, Clone)]
3915#[repr(C)]
3916pub struct GtkListStoreClass {
3917    pub parent_class: gobject::GObjectClass,
3918    pub padding: [gpointer; 8],
3919}
3920
3921impl ::std::fmt::Debug for GtkListStoreClass {
3922    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3923        f.debug_struct(&format!("GtkListStoreClass @ {self:p}"))
3924            .field("parent_class", &self.parent_class)
3925            .finish()
3926    }
3927}
3928
3929#[repr(C)]
3930#[allow(dead_code)]
3931pub struct _GtkListStorePrivate {
3932    _data: [u8; 0],
3933    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3934}
3935
3936pub type GtkListStorePrivate = _GtkListStorePrivate;
3937
3938#[repr(C)]
3939#[allow(dead_code)]
3940pub struct _GtkListViewClass {
3941    _data: [u8; 0],
3942    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3943}
3944
3945pub type GtkListViewClass = _GtkListViewClass;
3946
3947#[derive(Copy, Clone)]
3948#[repr(C)]
3949pub struct GtkMapListModelClass {
3950    pub parent_class: gobject::GObjectClass,
3951}
3952
3953impl ::std::fmt::Debug for GtkMapListModelClass {
3954    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3955        f.debug_struct(&format!("GtkMapListModelClass @ {self:p}"))
3956            .field("parent_class", &self.parent_class)
3957            .finish()
3958    }
3959}
3960
3961#[derive(Copy, Clone)]
3962#[repr(C)]
3963pub struct GtkMediaControlsClass {
3964    pub parent_class: GtkWidgetClass,
3965}
3966
3967impl ::std::fmt::Debug for GtkMediaControlsClass {
3968    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3969        f.debug_struct(&format!("GtkMediaControlsClass @ {self:p}"))
3970            .field("parent_class", &self.parent_class)
3971            .finish()
3972    }
3973}
3974
3975#[derive(Copy, Clone)]
3976#[repr(C)]
3977pub struct GtkMediaFileClass {
3978    pub parent_class: GtkMediaStreamClass,
3979    pub open: Option<unsafe extern "C" fn(*mut GtkMediaFile)>,
3980    pub close: Option<unsafe extern "C" fn(*mut GtkMediaFile)>,
3981    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3982    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3983    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3984    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3985}
3986
3987impl ::std::fmt::Debug for GtkMediaFileClass {
3988    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3989        f.debug_struct(&format!("GtkMediaFileClass @ {self:p}"))
3990            .field("parent_class", &self.parent_class)
3991            .field("open", &self.open)
3992            .field("close", &self.close)
3993            .field("_gtk_reserved1", &self._gtk_reserved1)
3994            .field("_gtk_reserved2", &self._gtk_reserved2)
3995            .field("_gtk_reserved3", &self._gtk_reserved3)
3996            .field("_gtk_reserved4", &self._gtk_reserved4)
3997            .finish()
3998    }
3999}
4000
4001#[derive(Copy, Clone)]
4002#[repr(C)]
4003pub struct GtkMediaStreamClass {
4004    pub parent_class: gobject::GObjectClass,
4005    pub play: Option<unsafe extern "C" fn(*mut GtkMediaStream) -> gboolean>,
4006    pub pause: Option<unsafe extern "C" fn(*mut GtkMediaStream)>,
4007    pub seek: Option<unsafe extern "C" fn(*mut GtkMediaStream, i64)>,
4008    pub update_audio: Option<unsafe extern "C" fn(*mut GtkMediaStream, gboolean, c_double)>,
4009    pub realize: Option<unsafe extern "C" fn(*mut GtkMediaStream, *mut gdk::GdkSurface)>,
4010    pub unrealize: Option<unsafe extern "C" fn(*mut GtkMediaStream, *mut gdk::GdkSurface)>,
4011    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4012    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4013    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4014    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4015    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4016    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4017    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4018    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4019}
4020
4021impl ::std::fmt::Debug for GtkMediaStreamClass {
4022    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4023        f.debug_struct(&format!("GtkMediaStreamClass @ {self:p}"))
4024            .field("parent_class", &self.parent_class)
4025            .field("play", &self.play)
4026            .field("pause", &self.pause)
4027            .field("seek", &self.seek)
4028            .field("update_audio", &self.update_audio)
4029            .field("realize", &self.realize)
4030            .field("unrealize", &self.unrealize)
4031            .field("_gtk_reserved1", &self._gtk_reserved1)
4032            .field("_gtk_reserved2", &self._gtk_reserved2)
4033            .field("_gtk_reserved3", &self._gtk_reserved3)
4034            .field("_gtk_reserved4", &self._gtk_reserved4)
4035            .field("_gtk_reserved5", &self._gtk_reserved5)
4036            .field("_gtk_reserved6", &self._gtk_reserved6)
4037            .field("_gtk_reserved7", &self._gtk_reserved7)
4038            .field("_gtk_reserved8", &self._gtk_reserved8)
4039            .finish()
4040    }
4041}
4042
4043#[repr(C)]
4044#[allow(dead_code)]
4045pub struct _GtkMessageDialogClass {
4046    _data: [u8; 0],
4047    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4048}
4049
4050pub type GtkMessageDialogClass = _GtkMessageDialogClass;
4051
4052#[repr(C)]
4053#[allow(dead_code)]
4054pub struct _GtkMnemonicActionClass {
4055    _data: [u8; 0],
4056    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4057}
4058
4059pub type GtkMnemonicActionClass = _GtkMnemonicActionClass;
4060
4061#[repr(C)]
4062#[allow(dead_code)]
4063pub struct _GtkMnemonicTriggerClass {
4064    _data: [u8; 0],
4065    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4066}
4067
4068pub type GtkMnemonicTriggerClass = _GtkMnemonicTriggerClass;
4069
4070#[derive(Copy, Clone)]
4071#[repr(C)]
4072pub struct GtkMountOperationClass {
4073    pub parent_class: gio::GMountOperationClass,
4074    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4075    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4076    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4077    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4078}
4079
4080impl ::std::fmt::Debug for GtkMountOperationClass {
4081    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4082        f.debug_struct(&format!("GtkMountOperationClass @ {self:p}"))
4083            .field("parent_class", &self.parent_class)
4084            .field("_gtk_reserved1", &self._gtk_reserved1)
4085            .field("_gtk_reserved2", &self._gtk_reserved2)
4086            .field("_gtk_reserved3", &self._gtk_reserved3)
4087            .field("_gtk_reserved4", &self._gtk_reserved4)
4088            .finish()
4089    }
4090}
4091
4092#[repr(C)]
4093#[allow(dead_code)]
4094pub struct _GtkMountOperationPrivate {
4095    _data: [u8; 0],
4096    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4097}
4098
4099pub type GtkMountOperationPrivate = _GtkMountOperationPrivate;
4100
4101#[repr(C)]
4102#[allow(dead_code)]
4103pub struct _GtkMultiFilterClass {
4104    _data: [u8; 0],
4105    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4106}
4107
4108pub type GtkMultiFilterClass = _GtkMultiFilterClass;
4109
4110#[derive(Copy, Clone)]
4111#[repr(C)]
4112pub struct GtkMultiSelectionClass {
4113    pub parent_class: gobject::GObjectClass,
4114}
4115
4116impl ::std::fmt::Debug for GtkMultiSelectionClass {
4117    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4118        f.debug_struct(&format!("GtkMultiSelectionClass @ {self:p}"))
4119            .field("parent_class", &self.parent_class)
4120            .finish()
4121    }
4122}
4123
4124#[derive(Copy, Clone)]
4125#[repr(C)]
4126pub struct GtkMultiSorterClass {
4127    pub parent_class: GtkSorterClass,
4128}
4129
4130impl ::std::fmt::Debug for GtkMultiSorterClass {
4131    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4132        f.debug_struct(&format!("GtkMultiSorterClass @ {self:p}"))
4133            .field("parent_class", &self.parent_class)
4134            .finish()
4135    }
4136}
4137
4138#[repr(C)]
4139#[allow(dead_code)]
4140pub struct _GtkNamedActionClass {
4141    _data: [u8; 0],
4142    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4143}
4144
4145pub type GtkNamedActionClass = _GtkNamedActionClass;
4146
4147#[derive(Copy, Clone)]
4148#[repr(C)]
4149pub struct GtkNativeDialogClass {
4150    pub parent_class: gobject::GObjectClass,
4151    pub response: Option<unsafe extern "C" fn(*mut GtkNativeDialog, GtkResponseType)>,
4152    pub show: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
4153    pub hide: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
4154    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4155    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4156    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4157    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4158}
4159
4160impl ::std::fmt::Debug for GtkNativeDialogClass {
4161    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4162        f.debug_struct(&format!("GtkNativeDialogClass @ {self:p}"))
4163            .field("response", &self.response)
4164            .field("show", &self.show)
4165            .field("hide", &self.hide)
4166            .field("_gtk_reserved1", &self._gtk_reserved1)
4167            .field("_gtk_reserved2", &self._gtk_reserved2)
4168            .field("_gtk_reserved3", &self._gtk_reserved3)
4169            .field("_gtk_reserved4", &self._gtk_reserved4)
4170            .finish()
4171    }
4172}
4173
4174#[repr(C)]
4175#[allow(dead_code)]
4176pub struct _GtkNativeInterface {
4177    _data: [u8; 0],
4178    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4179}
4180
4181pub type GtkNativeInterface = _GtkNativeInterface;
4182
4183#[repr(C)]
4184#[allow(dead_code)]
4185pub struct _GtkNeverTriggerClass {
4186    _data: [u8; 0],
4187    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4188}
4189
4190pub type GtkNeverTriggerClass = _GtkNeverTriggerClass;
4191
4192#[derive(Copy, Clone)]
4193#[repr(C)]
4194pub struct GtkNoSelectionClass {
4195    pub parent_class: gobject::GObjectClass,
4196}
4197
4198impl ::std::fmt::Debug for GtkNoSelectionClass {
4199    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4200        f.debug_struct(&format!("GtkNoSelectionClass @ {self:p}"))
4201            .field("parent_class", &self.parent_class)
4202            .finish()
4203    }
4204}
4205
4206#[repr(C)]
4207#[allow(dead_code)]
4208pub struct _GtkNothingActionClass {
4209    _data: [u8; 0],
4210    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4211}
4212
4213pub type GtkNothingActionClass = _GtkNothingActionClass;
4214
4215#[derive(Copy, Clone)]
4216#[repr(C)]
4217pub struct GtkNumericSorterClass {
4218    pub parent_class: GtkSorterClass,
4219}
4220
4221impl ::std::fmt::Debug for GtkNumericSorterClass {
4222    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4223        f.debug_struct(&format!("GtkNumericSorterClass @ {self:p}"))
4224            .field("parent_class", &self.parent_class)
4225            .finish()
4226    }
4227}
4228
4229#[derive(Copy, Clone)]
4230#[repr(C)]
4231pub struct GtkOrientableIface {
4232    pub base_iface: gobject::GTypeInterface,
4233}
4234
4235impl ::std::fmt::Debug for GtkOrientableIface {
4236    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4237        f.debug_struct(&format!("GtkOrientableIface @ {self:p}"))
4238            .field("base_iface", &self.base_iface)
4239            .finish()
4240    }
4241}
4242
4243#[derive(Copy, Clone)]
4244#[repr(C)]
4245pub struct GtkOverlayLayoutChildClass {
4246    pub parent_class: GtkLayoutChildClass,
4247}
4248
4249impl ::std::fmt::Debug for GtkOverlayLayoutChildClass {
4250    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4251        f.debug_struct(&format!("GtkOverlayLayoutChildClass @ {self:p}"))
4252            .field("parent_class", &self.parent_class)
4253            .finish()
4254    }
4255}
4256
4257#[derive(Copy, Clone)]
4258#[repr(C)]
4259pub struct GtkOverlayLayoutClass {
4260    pub parent_class: GtkLayoutManagerClass,
4261}
4262
4263impl ::std::fmt::Debug for GtkOverlayLayoutClass {
4264    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4265        f.debug_struct(&format!("GtkOverlayLayoutClass @ {self:p}"))
4266            .field("parent_class", &self.parent_class)
4267            .finish()
4268    }
4269}
4270
4271#[derive(Copy, Clone)]
4272#[repr(C)]
4273pub struct GtkPadActionEntry {
4274    pub type_: GtkPadActionType,
4275    pub index: c_int,
4276    pub mode: c_int,
4277    pub label: *const c_char,
4278    pub action_name: *const c_char,
4279}
4280
4281impl ::std::fmt::Debug for GtkPadActionEntry {
4282    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4283        f.debug_struct(&format!("GtkPadActionEntry @ {self:p}"))
4284            .field("type_", &self.type_)
4285            .field("index", &self.index)
4286            .field("mode", &self.mode)
4287            .field("label", &self.label)
4288            .field("action_name", &self.action_name)
4289            .finish()
4290    }
4291}
4292
4293#[repr(C)]
4294#[allow(dead_code)]
4295pub struct _GtkPadControllerClass {
4296    _data: [u8; 0],
4297    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4298}
4299
4300pub type GtkPadControllerClass = _GtkPadControllerClass;
4301
4302#[derive(Copy, Clone)]
4303#[repr(C)]
4304pub struct GtkPageRange {
4305    pub start: c_int,
4306    pub end: c_int,
4307}
4308
4309impl ::std::fmt::Debug for GtkPageRange {
4310    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4311        f.debug_struct(&format!("GtkPageRange @ {self:p}"))
4312            .field("start", &self.start)
4313            .field("end", &self.end)
4314            .finish()
4315    }
4316}
4317
4318#[repr(C)]
4319#[allow(dead_code)]
4320pub struct GtkPaperSize {
4321    _data: [u8; 0],
4322    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4323}
4324
4325impl ::std::fmt::Debug for GtkPaperSize {
4326    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4327        f.debug_struct(&format!("GtkPaperSize @ {self:p}")).finish()
4328    }
4329}
4330
4331#[derive(Copy, Clone)]
4332#[repr(C)]
4333pub struct GtkPasswordEntryBufferClass {
4334    pub parent_class: GtkEntryBufferClass,
4335}
4336
4337impl ::std::fmt::Debug for GtkPasswordEntryBufferClass {
4338    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4339        f.debug_struct(&format!("GtkPasswordEntryBufferClass @ {self:p}"))
4340            .field("parent_class", &self.parent_class)
4341            .finish()
4342    }
4343}
4344
4345#[repr(C)]
4346#[allow(dead_code)]
4347pub struct _GtkPasswordEntryClass {
4348    _data: [u8; 0],
4349    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4350}
4351
4352pub type GtkPasswordEntryClass = _GtkPasswordEntryClass;
4353
4354#[derive(Copy, Clone)]
4355#[repr(C)]
4356pub struct GtkPictureClass {
4357    pub parent_class: GtkWidgetClass,
4358}
4359
4360impl ::std::fmt::Debug for GtkPictureClass {
4361    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4362        f.debug_struct(&format!("GtkPictureClass @ {self:p}"))
4363            .field("parent_class", &self.parent_class)
4364            .finish()
4365    }
4366}
4367
4368#[derive(Copy, Clone)]
4369#[repr(C)]
4370pub struct GtkPopoverBinClass {
4371    pub parent_class: GtkWidgetClass,
4372}
4373
4374impl ::std::fmt::Debug for GtkPopoverBinClass {
4375    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4376        f.debug_struct(&format!("GtkPopoverBinClass @ {self:p}"))
4377            .field("parent_class", &self.parent_class)
4378            .finish()
4379    }
4380}
4381
4382#[derive(Copy, Clone)]
4383#[repr(C)]
4384pub struct GtkPopoverClass {
4385    pub parent_class: GtkWidgetClass,
4386    pub closed: Option<unsafe extern "C" fn(*mut GtkPopover)>,
4387    pub activate_default: Option<unsafe extern "C" fn(*mut GtkPopover)>,
4388    pub reserved: [gpointer; 8],
4389}
4390
4391impl ::std::fmt::Debug for GtkPopoverClass {
4392    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4393        f.debug_struct(&format!("GtkPopoverClass @ {self:p}"))
4394            .field("parent_class", &self.parent_class)
4395            .field("closed", &self.closed)
4396            .field("activate_default", &self.activate_default)
4397            .finish()
4398    }
4399}
4400
4401#[repr(C)]
4402#[allow(dead_code)]
4403pub struct _GtkPrintBackend {
4404    _data: [u8; 0],
4405    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4406}
4407
4408pub type GtkPrintBackend = _GtkPrintBackend;
4409
4410#[derive(Copy, Clone)]
4411#[repr(C)]
4412pub struct GtkPrintDialogClass {
4413    pub parent_class: gobject::GObjectClass,
4414}
4415
4416impl ::std::fmt::Debug for GtkPrintDialogClass {
4417    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4418        f.debug_struct(&format!("GtkPrintDialogClass @ {self:p}"))
4419            .field("parent_class", &self.parent_class)
4420            .finish()
4421    }
4422}
4423
4424#[derive(Copy, Clone)]
4425#[repr(C)]
4426pub struct GtkPrintOperationClass {
4427    pub parent_class: gobject::GObjectClass,
4428    pub done: Option<unsafe extern "C" fn(*mut GtkPrintOperation, GtkPrintOperationResult)>,
4429    pub begin_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
4430    pub paginate:
4431        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext) -> gboolean>,
4432    pub request_page_setup: Option<
4433        unsafe extern "C" fn(
4434            *mut GtkPrintOperation,
4435            *mut GtkPrintContext,
4436            c_int,
4437            *mut GtkPageSetup,
4438        ),
4439    >,
4440    pub draw_page:
4441        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext, c_int)>,
4442    pub end_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
4443    pub status_changed: Option<unsafe extern "C" fn(*mut GtkPrintOperation)>,
4444    pub create_custom_widget:
4445        Option<unsafe extern "C" fn(*mut GtkPrintOperation) -> *mut GtkWidget>,
4446    pub custom_widget_apply: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkWidget)>,
4447    pub preview: Option<
4448        unsafe extern "C" fn(
4449            *mut GtkPrintOperation,
4450            *mut GtkPrintOperationPreview,
4451            *mut GtkPrintContext,
4452            *mut GtkWindow,
4453        ) -> gboolean,
4454    >,
4455    pub update_custom_widget: Option<
4456        unsafe extern "C" fn(
4457            *mut GtkPrintOperation,
4458            *mut GtkWidget,
4459            *mut GtkPageSetup,
4460            *mut GtkPrintSettings,
4461        ),
4462    >,
4463    pub padding: [gpointer; 8],
4464}
4465
4466impl ::std::fmt::Debug for GtkPrintOperationClass {
4467    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4468        f.debug_struct(&format!("GtkPrintOperationClass @ {self:p}"))
4469            .field("parent_class", &self.parent_class)
4470            .field("done", &self.done)
4471            .field("begin_print", &self.begin_print)
4472            .field("paginate", &self.paginate)
4473            .field("request_page_setup", &self.request_page_setup)
4474            .field("draw_page", &self.draw_page)
4475            .field("end_print", &self.end_print)
4476            .field("status_changed", &self.status_changed)
4477            .field("create_custom_widget", &self.create_custom_widget)
4478            .field("custom_widget_apply", &self.custom_widget_apply)
4479            .field("preview", &self.preview)
4480            .field("update_custom_widget", &self.update_custom_widget)
4481            .finish()
4482    }
4483}
4484
4485#[derive(Copy, Clone)]
4486#[repr(C)]
4487pub struct GtkPrintOperationPreviewIface {
4488    pub g_iface: gobject::GTypeInterface,
4489    pub ready: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, *mut GtkPrintContext)>,
4490    pub got_page_size: Option<
4491        unsafe extern "C" fn(
4492            *mut GtkPrintOperationPreview,
4493            *mut GtkPrintContext,
4494            *mut GtkPageSetup,
4495        ),
4496    >,
4497    pub render_page: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int)>,
4498    pub is_selected: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int) -> gboolean>,
4499    pub end_preview: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview)>,
4500    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4501    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4502    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4503    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4504    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4505    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4506    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4507    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4508}
4509
4510impl ::std::fmt::Debug for GtkPrintOperationPreviewIface {
4511    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4512        f.debug_struct(&format!("GtkPrintOperationPreviewIface @ {self:p}"))
4513            .field("g_iface", &self.g_iface)
4514            .field("ready", &self.ready)
4515            .field("got_page_size", &self.got_page_size)
4516            .field("render_page", &self.render_page)
4517            .field("is_selected", &self.is_selected)
4518            .field("end_preview", &self.end_preview)
4519            .field("_gtk_reserved1", &self._gtk_reserved1)
4520            .field("_gtk_reserved2", &self._gtk_reserved2)
4521            .field("_gtk_reserved3", &self._gtk_reserved3)
4522            .field("_gtk_reserved4", &self._gtk_reserved4)
4523            .field("_gtk_reserved5", &self._gtk_reserved5)
4524            .field("_gtk_reserved6", &self._gtk_reserved6)
4525            .field("_gtk_reserved7", &self._gtk_reserved7)
4526            .field("_gtk_reserved8", &self._gtk_reserved8)
4527            .finish()
4528    }
4529}
4530
4531#[repr(C)]
4532#[allow(dead_code)]
4533pub struct _GtkPrintOperationPrivate {
4534    _data: [u8; 0],
4535    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4536}
4537
4538pub type GtkPrintOperationPrivate = _GtkPrintOperationPrivate;
4539
4540#[repr(C)]
4541#[allow(dead_code)]
4542pub struct GtkPrintSetup {
4543    _data: [u8; 0],
4544    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4545}
4546
4547impl ::std::fmt::Debug for GtkPrintSetup {
4548    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4549        f.debug_struct(&format!("GtkPrintSetup @ {self:p}"))
4550            .finish()
4551    }
4552}
4553
4554#[derive(Copy, Clone)]
4555#[repr(C)]
4556pub struct GtkRangeClass {
4557    pub parent_class: GtkWidgetClass,
4558    pub value_changed: Option<unsafe extern "C" fn(*mut GtkRange)>,
4559    pub adjust_bounds: Option<unsafe extern "C" fn(*mut GtkRange, c_double)>,
4560    pub move_slider: Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType)>,
4561    pub get_range_border: Option<unsafe extern "C" fn(*mut GtkRange, *mut GtkBorder)>,
4562    pub change_value:
4563        Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType, c_double) -> gboolean>,
4564    pub padding: [gpointer; 8],
4565}
4566
4567impl ::std::fmt::Debug for GtkRangeClass {
4568    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4569        f.debug_struct(&format!("GtkRangeClass @ {self:p}"))
4570            .field("parent_class", &self.parent_class)
4571            .field("value_changed", &self.value_changed)
4572            .field("adjust_bounds", &self.adjust_bounds)
4573            .field("move_slider", &self.move_slider)
4574            .field("get_range_border", &self.get_range_border)
4575            .field("change_value", &self.change_value)
4576            .finish()
4577    }
4578}
4579
4580#[derive(Copy, Clone)]
4581#[repr(C)]
4582pub struct GtkRecentData {
4583    pub display_name: *mut c_char,
4584    pub description: *mut c_char,
4585    pub mime_type: *mut c_char,
4586    pub app_name: *mut c_char,
4587    pub app_exec: *mut c_char,
4588    pub groups: *mut *mut c_char,
4589    pub is_private: gboolean,
4590}
4591
4592impl ::std::fmt::Debug for GtkRecentData {
4593    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4594        f.debug_struct(&format!("GtkRecentData @ {self:p}"))
4595            .field("display_name", &self.display_name)
4596            .field("description", &self.description)
4597            .field("mime_type", &self.mime_type)
4598            .field("app_name", &self.app_name)
4599            .field("app_exec", &self.app_exec)
4600            .field("groups", &self.groups)
4601            .field("is_private", &self.is_private)
4602            .finish()
4603    }
4604}
4605
4606#[repr(C)]
4607#[allow(dead_code)]
4608pub struct GtkRecentInfo {
4609    _data: [u8; 0],
4610    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4611}
4612
4613impl ::std::fmt::Debug for GtkRecentInfo {
4614    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4615        f.debug_struct(&format!("GtkRecentInfo @ {self:p}"))
4616            .finish()
4617    }
4618}
4619
4620#[derive(Copy, Clone)]
4621#[repr(C)]
4622pub struct GtkRecentManagerClass {
4623    pub parent_class: gobject::GObjectClass,
4624    pub changed: Option<unsafe extern "C" fn(*mut GtkRecentManager)>,
4625    pub _gtk_recent1: Option<unsafe extern "C" fn()>,
4626    pub _gtk_recent2: Option<unsafe extern "C" fn()>,
4627    pub _gtk_recent3: Option<unsafe extern "C" fn()>,
4628    pub _gtk_recent4: Option<unsafe extern "C" fn()>,
4629}
4630
4631impl ::std::fmt::Debug for GtkRecentManagerClass {
4632    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4633        f.debug_struct(&format!("GtkRecentManagerClass @ {self:p}"))
4634            .field("changed", &self.changed)
4635            .field("_gtk_recent1", &self._gtk_recent1)
4636            .field("_gtk_recent2", &self._gtk_recent2)
4637            .field("_gtk_recent3", &self._gtk_recent3)
4638            .field("_gtk_recent4", &self._gtk_recent4)
4639            .finish()
4640    }
4641}
4642
4643#[repr(C)]
4644#[allow(dead_code)]
4645pub struct _GtkRecentManagerPrivate {
4646    _data: [u8; 0],
4647    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4648}
4649
4650pub type GtkRecentManagerPrivate = _GtkRecentManagerPrivate;
4651
4652#[derive(Copy, Clone)]
4653#[repr(C)]
4654pub struct GtkRequestedSize {
4655    pub data: gpointer,
4656    pub minimum_size: c_int,
4657    pub natural_size: c_int,
4658}
4659
4660impl ::std::fmt::Debug for GtkRequestedSize {
4661    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4662        f.debug_struct(&format!("GtkRequestedSize @ {self:p}"))
4663            .field("data", &self.data)
4664            .field("minimum_size", &self.minimum_size)
4665            .field("natural_size", &self.natural_size)
4666            .finish()
4667    }
4668}
4669
4670#[derive(Copy, Clone)]
4671#[repr(C)]
4672pub struct GtkRequisition {
4673    pub width: c_int,
4674    pub height: c_int,
4675}
4676
4677impl ::std::fmt::Debug for GtkRequisition {
4678    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4679        f.debug_struct(&format!("GtkRequisition @ {self:p}"))
4680            .field("width", &self.width)
4681            .field("height", &self.height)
4682            .finish()
4683    }
4684}
4685
4686#[repr(C)]
4687#[allow(dead_code)]
4688pub struct _GtkRootInterface {
4689    _data: [u8; 0],
4690    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4691}
4692
4693pub type GtkRootInterface = _GtkRootInterface;
4694
4695#[derive(Copy, Clone)]
4696#[repr(C)]
4697pub struct GtkScaleButtonClass {
4698    pub parent_class: GtkWidgetClass,
4699    pub value_changed: Option<unsafe extern "C" fn(*mut GtkScaleButton, c_double)>,
4700    pub padding: [gpointer; 8],
4701}
4702
4703impl ::std::fmt::Debug for GtkScaleButtonClass {
4704    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4705        f.debug_struct(&format!("GtkScaleButtonClass @ {self:p}"))
4706            .field("parent_class", &self.parent_class)
4707            .field("value_changed", &self.value_changed)
4708            .finish()
4709    }
4710}
4711
4712#[derive(Copy, Clone)]
4713#[repr(C)]
4714pub struct GtkScaleClass {
4715    pub parent_class: GtkRangeClass,
4716    pub get_layout_offsets: Option<unsafe extern "C" fn(*mut GtkScale, *mut c_int, *mut c_int)>,
4717    pub padding: [gpointer; 8],
4718}
4719
4720impl ::std::fmt::Debug for GtkScaleClass {
4721    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4722        f.debug_struct(&format!("GtkScaleClass @ {self:p}"))
4723            .field("parent_class", &self.parent_class)
4724            .field("get_layout_offsets", &self.get_layout_offsets)
4725            .finish()
4726    }
4727}
4728
4729#[repr(C)]
4730#[allow(dead_code)]
4731pub struct GtkScrollInfo {
4732    _data: [u8; 0],
4733    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4734}
4735
4736impl ::std::fmt::Debug for GtkScrollInfo {
4737    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4738        f.debug_struct(&format!("GtkScrollInfo @ {self:p}"))
4739            .finish()
4740    }
4741}
4742
4743#[derive(Copy, Clone)]
4744#[repr(C)]
4745pub struct GtkScrollableInterface {
4746    pub base_iface: gobject::GTypeInterface,
4747    pub get_border: Option<unsafe extern "C" fn(*mut GtkScrollable, *mut GtkBorder) -> gboolean>,
4748}
4749
4750impl ::std::fmt::Debug for GtkScrollableInterface {
4751    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4752        f.debug_struct(&format!("GtkScrollableInterface @ {self:p}"))
4753            .field("base_iface", &self.base_iface)
4754            .field("get_border", &self.get_border)
4755            .finish()
4756    }
4757}
4758
4759#[derive(Copy, Clone)]
4760#[repr(C)]
4761pub struct GtkSectionModelInterface {
4762    pub g_iface: gobject::GTypeInterface,
4763    pub get_section:
4764        Option<unsafe extern "C" fn(*mut GtkSectionModel, c_uint, *mut c_uint, *mut c_uint)>,
4765}
4766
4767impl ::std::fmt::Debug for GtkSectionModelInterface {
4768    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4769        f.debug_struct(&format!("GtkSectionModelInterface @ {self:p}"))
4770            .field("get_section", &self.get_section)
4771            .finish()
4772    }
4773}
4774
4775#[derive(Copy, Clone)]
4776#[repr(C)]
4777pub struct GtkSelectionFilterModelClass {
4778    pub parent_class: gobject::GObjectClass,
4779}
4780
4781impl ::std::fmt::Debug for GtkSelectionFilterModelClass {
4782    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4783        f.debug_struct(&format!("GtkSelectionFilterModelClass @ {self:p}"))
4784            .field("parent_class", &self.parent_class)
4785            .finish()
4786    }
4787}
4788
4789#[derive(Copy, Clone)]
4790#[repr(C)]
4791pub struct GtkSelectionModelInterface {
4792    pub g_iface: gobject::GTypeInterface,
4793    pub is_selected: Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint) -> gboolean>,
4794    pub get_selection_in_range:
4795        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint) -> *mut GtkBitset>,
4796    pub select_item:
4797        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, gboolean) -> gboolean>,
4798    pub unselect_item: Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint) -> gboolean>,
4799    pub select_range:
4800        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint, gboolean) -> gboolean>,
4801    pub unselect_range:
4802        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint) -> gboolean>,
4803    pub select_all: Option<unsafe extern "C" fn(*mut GtkSelectionModel) -> gboolean>,
4804    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkSelectionModel) -> gboolean>,
4805    pub set_selection: Option<
4806        unsafe extern "C" fn(*mut GtkSelectionModel, *mut GtkBitset, *mut GtkBitset) -> gboolean,
4807    >,
4808}
4809
4810impl ::std::fmt::Debug for GtkSelectionModelInterface {
4811    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4812        f.debug_struct(&format!("GtkSelectionModelInterface @ {self:p}"))
4813            .field("is_selected", &self.is_selected)
4814            .field("get_selection_in_range", &self.get_selection_in_range)
4815            .field("select_item", &self.select_item)
4816            .field("unselect_item", &self.unselect_item)
4817            .field("select_range", &self.select_range)
4818            .field("unselect_range", &self.unselect_range)
4819            .field("select_all", &self.select_all)
4820            .field("unselect_all", &self.unselect_all)
4821            .field("set_selection", &self.set_selection)
4822            .finish()
4823    }
4824}
4825
4826#[repr(C)]
4827#[allow(dead_code)]
4828pub struct _GtkShortcutActionClass {
4829    _data: [u8; 0],
4830    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4831}
4832
4833pub type GtkShortcutActionClass = _GtkShortcutActionClass;
4834
4835#[derive(Copy, Clone)]
4836#[repr(C)]
4837pub struct GtkShortcutClass {
4838    pub parent_class: gobject::GObjectClass,
4839}
4840
4841impl ::std::fmt::Debug for GtkShortcutClass {
4842    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4843        f.debug_struct(&format!("GtkShortcutClass @ {self:p}"))
4844            .field("parent_class", &self.parent_class)
4845            .finish()
4846    }
4847}
4848
4849#[repr(C)]
4850#[allow(dead_code)]
4851pub struct _GtkShortcutControllerClass {
4852    _data: [u8; 0],
4853    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4854}
4855
4856pub type GtkShortcutControllerClass = _GtkShortcutControllerClass;
4857
4858#[repr(C)]
4859#[allow(dead_code)]
4860pub struct _GtkShortcutLabelClass {
4861    _data: [u8; 0],
4862    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4863}
4864
4865pub type GtkShortcutLabelClass = _GtkShortcutLabelClass;
4866
4867#[derive(Copy, Clone)]
4868#[repr(C)]
4869pub struct GtkShortcutManagerInterface {
4870    pub g_iface: gobject::GTypeInterface,
4871    pub add_controller:
4872        Option<unsafe extern "C" fn(*mut GtkShortcutManager, *mut GtkShortcutController)>,
4873    pub remove_controller:
4874        Option<unsafe extern "C" fn(*mut GtkShortcutManager, *mut GtkShortcutController)>,
4875}
4876
4877impl ::std::fmt::Debug for GtkShortcutManagerInterface {
4878    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4879        f.debug_struct(&format!("GtkShortcutManagerInterface @ {self:p}"))
4880            .field("add_controller", &self.add_controller)
4881            .field("remove_controller", &self.remove_controller)
4882            .finish()
4883    }
4884}
4885
4886#[repr(C)]
4887#[allow(dead_code)]
4888pub struct _GtkShortcutTriggerClass {
4889    _data: [u8; 0],
4890    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4891}
4892
4893pub type GtkShortcutTriggerClass = _GtkShortcutTriggerClass;
4894
4895#[repr(C)]
4896#[allow(dead_code)]
4897pub struct _GtkShortcutsGroupClass {
4898    _data: [u8; 0],
4899    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4900}
4901
4902pub type GtkShortcutsGroupClass = _GtkShortcutsGroupClass;
4903
4904#[repr(C)]
4905#[allow(dead_code)]
4906pub struct _GtkShortcutsSectionClass {
4907    _data: [u8; 0],
4908    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4909}
4910
4911pub type GtkShortcutsSectionClass = _GtkShortcutsSectionClass;
4912
4913#[repr(C)]
4914#[allow(dead_code)]
4915pub struct _GtkShortcutsShortcutClass {
4916    _data: [u8; 0],
4917    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4918}
4919
4920pub type GtkShortcutsShortcutClass = _GtkShortcutsShortcutClass;
4921
4922#[repr(C)]
4923#[allow(dead_code)]
4924pub struct _GtkSignalActionClass {
4925    _data: [u8; 0],
4926    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4927}
4928
4929pub type GtkSignalActionClass = _GtkSignalActionClass;
4930
4931#[repr(C)]
4932#[allow(dead_code)]
4933pub struct _GtkSignalListItemFactoryClass {
4934    _data: [u8; 0],
4935    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4936}
4937
4938pub type GtkSignalListItemFactoryClass = _GtkSignalListItemFactoryClass;
4939
4940#[derive(Copy, Clone)]
4941#[repr(C)]
4942pub struct GtkSingleSelectionClass {
4943    pub parent_class: gobject::GObjectClass,
4944}
4945
4946impl ::std::fmt::Debug for GtkSingleSelectionClass {
4947    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4948        f.debug_struct(&format!("GtkSingleSelectionClass @ {self:p}"))
4949            .field("parent_class", &self.parent_class)
4950            .finish()
4951    }
4952}
4953
4954#[derive(Copy, Clone)]
4955#[repr(C)]
4956pub struct GtkSliceListModelClass {
4957    pub parent_class: gobject::GObjectClass,
4958}
4959
4960impl ::std::fmt::Debug for GtkSliceListModelClass {
4961    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4962        f.debug_struct(&format!("GtkSliceListModelClass @ {self:p}"))
4963            .field("parent_class", &self.parent_class)
4964            .finish()
4965    }
4966}
4967
4968#[repr(C)]
4969#[allow(dead_code)]
4970pub struct _GtkSnapshotClass {
4971    _data: [u8; 0],
4972    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4973}
4974
4975pub type GtkSnapshotClass = _GtkSnapshotClass;
4976
4977#[derive(Copy, Clone)]
4978#[repr(C)]
4979pub struct GtkSortListModelClass {
4980    pub parent_class: gobject::GObjectClass,
4981}
4982
4983impl ::std::fmt::Debug for GtkSortListModelClass {
4984    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4985        f.debug_struct(&format!("GtkSortListModelClass @ {self:p}"))
4986            .field("parent_class", &self.parent_class)
4987            .finish()
4988    }
4989}
4990
4991#[derive(Copy, Clone)]
4992#[repr(C)]
4993pub struct GtkSorterClass {
4994    pub parent_class: gobject::GObjectClass,
4995    pub compare: Option<
4996        unsafe extern "C" fn(
4997            *mut GtkSorter,
4998            *mut gobject::GObject,
4999            *mut gobject::GObject,
5000        ) -> GtkOrdering,
5001    >,
5002    pub get_order: Option<unsafe extern "C" fn(*mut GtkSorter) -> GtkSorterOrder>,
5003    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5004    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5005    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5006    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5007    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
5008    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
5009    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
5010    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
5011}
5012
5013impl ::std::fmt::Debug for GtkSorterClass {
5014    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5015        f.debug_struct(&format!("GtkSorterClass @ {self:p}"))
5016            .field("parent_class", &self.parent_class)
5017            .field("compare", &self.compare)
5018            .field("get_order", &self.get_order)
5019            .field("_gtk_reserved1", &self._gtk_reserved1)
5020            .field("_gtk_reserved2", &self._gtk_reserved2)
5021            .field("_gtk_reserved3", &self._gtk_reserved3)
5022            .field("_gtk_reserved4", &self._gtk_reserved4)
5023            .field("_gtk_reserved5", &self._gtk_reserved5)
5024            .field("_gtk_reserved6", &self._gtk_reserved6)
5025            .field("_gtk_reserved7", &self._gtk_reserved7)
5026            .field("_gtk_reserved8", &self._gtk_reserved8)
5027            .finish()
5028    }
5029}
5030
5031#[derive(Copy, Clone)]
5032#[repr(C)]
5033pub struct GtkStringFilterClass {
5034    pub parent_class: GtkFilterClass,
5035}
5036
5037impl ::std::fmt::Debug for GtkStringFilterClass {
5038    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5039        f.debug_struct(&format!("GtkStringFilterClass @ {self:p}"))
5040            .field("parent_class", &self.parent_class)
5041            .finish()
5042    }
5043}
5044
5045#[derive(Copy, Clone)]
5046#[repr(C)]
5047pub struct GtkStringListClass {
5048    pub parent_class: gobject::GObjectClass,
5049}
5050
5051impl ::std::fmt::Debug for GtkStringListClass {
5052    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5053        f.debug_struct(&format!("GtkStringListClass @ {self:p}"))
5054            .field("parent_class", &self.parent_class)
5055            .finish()
5056    }
5057}
5058
5059#[derive(Copy, Clone)]
5060#[repr(C)]
5061pub struct GtkStringObjectClass {
5062    pub parent_class: gobject::GObjectClass,
5063}
5064
5065impl ::std::fmt::Debug for GtkStringObjectClass {
5066    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5067        f.debug_struct(&format!("GtkStringObjectClass @ {self:p}"))
5068            .field("parent_class", &self.parent_class)
5069            .finish()
5070    }
5071}
5072
5073#[derive(Copy, Clone)]
5074#[repr(C)]
5075pub struct GtkStringSorterClass {
5076    pub parent_class: GtkSorterClass,
5077}
5078
5079impl ::std::fmt::Debug for GtkStringSorterClass {
5080    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5081        f.debug_struct(&format!("GtkStringSorterClass @ {self:p}"))
5082            .field("parent_class", &self.parent_class)
5083            .finish()
5084    }
5085}
5086
5087#[derive(Copy, Clone)]
5088#[repr(C)]
5089pub struct GtkStyleContextClass {
5090    pub parent_class: gobject::GObjectClass,
5091    pub changed: Option<unsafe extern "C" fn(*mut GtkStyleContext)>,
5092    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5093    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5094    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5095    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5096}
5097
5098impl ::std::fmt::Debug for GtkStyleContextClass {
5099    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5100        f.debug_struct(&format!("GtkStyleContextClass @ {self:p}"))
5101            .field("parent_class", &self.parent_class)
5102            .field("changed", &self.changed)
5103            .field("_gtk_reserved1", &self._gtk_reserved1)
5104            .field("_gtk_reserved2", &self._gtk_reserved2)
5105            .field("_gtk_reserved3", &self._gtk_reserved3)
5106            .field("_gtk_reserved4", &self._gtk_reserved4)
5107            .finish()
5108    }
5109}
5110
5111#[derive(Copy, Clone)]
5112#[repr(C)]
5113pub struct GtkSvgClass {
5114    pub parent_class: gobject::GObjectClass,
5115}
5116
5117impl ::std::fmt::Debug for GtkSvgClass {
5118    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5119        f.debug_struct(&format!("GtkSvgClass @ {self:p}"))
5120            .field("parent_class", &self.parent_class)
5121            .finish()
5122    }
5123}
5124
5125#[derive(Copy, Clone)]
5126#[repr(C)]
5127pub struct GtkSvgLocation {
5128    pub bytes: size_t,
5129    pub lines: size_t,
5130    pub line_chars: size_t,
5131}
5132
5133impl ::std::fmt::Debug for GtkSvgLocation {
5134    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5135        f.debug_struct(&format!("GtkSvgLocation @ {self:p}"))
5136            .field("bytes", &self.bytes)
5137            .field("lines", &self.lines)
5138            .field("line_chars", &self.line_chars)
5139            .finish()
5140    }
5141}
5142
5143#[derive(Copy, Clone)]
5144#[repr(C)]
5145pub struct GtkSvgWidgetClass {
5146    pub parent_class: GtkWidgetClass,
5147}
5148
5149impl ::std::fmt::Debug for GtkSvgWidgetClass {
5150    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5151        f.debug_struct(&format!("GtkSvgWidgetClass @ {self:p}"))
5152            .field("parent_class", &self.parent_class)
5153            .finish()
5154    }
5155}
5156
5157#[derive(Copy, Clone)]
5158#[repr(C)]
5159pub struct GtkSymbolicPaintableInterface {
5160    pub g_iface: gobject::GTypeInterface,
5161    pub snapshot_symbolic: Option<
5162        unsafe extern "C" fn(
5163            *mut GtkSymbolicPaintable,
5164            *mut gdk::GdkSnapshot,
5165            c_double,
5166            c_double,
5167            *const gdk::GdkRGBA,
5168            size_t,
5169        ),
5170    >,
5171    pub snapshot_with_weight: Option<
5172        unsafe extern "C" fn(
5173            *mut GtkSymbolicPaintable,
5174            *mut gdk::GdkSnapshot,
5175            c_double,
5176            c_double,
5177            *const gdk::GdkRGBA,
5178            size_t,
5179            c_double,
5180        ),
5181    >,
5182}
5183
5184impl ::std::fmt::Debug for GtkSymbolicPaintableInterface {
5185    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5186        f.debug_struct(&format!("GtkSymbolicPaintableInterface @ {self:p}"))
5187            .field("snapshot_symbolic", &self.snapshot_symbolic)
5188            .field("snapshot_with_weight", &self.snapshot_with_weight)
5189            .finish()
5190    }
5191}
5192
5193#[derive(Copy, Clone)]
5194#[repr(C)]
5195pub struct GtkTextBufferClass {
5196    pub parent_class: gobject::GObjectClass,
5197    pub insert_text:
5198        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *const c_char, c_int)>,
5199    pub insert_paintable:
5200        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut gdk::GdkPaintable)>,
5201    pub insert_child_anchor:
5202        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextChildAnchor)>,
5203    pub delete_range:
5204        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextIter)>,
5205    pub changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5206    pub modified_changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5207    pub mark_set:
5208        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *const GtkTextIter, *mut GtkTextMark)>,
5209    pub mark_deleted: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextMark)>,
5210    pub apply_tag: Option<
5211        unsafe extern "C" fn(
5212            *mut GtkTextBuffer,
5213            *mut GtkTextTag,
5214            *const GtkTextIter,
5215            *const GtkTextIter,
5216        ),
5217    >,
5218    pub remove_tag: Option<
5219        unsafe extern "C" fn(
5220            *mut GtkTextBuffer,
5221            *mut GtkTextTag,
5222            *const GtkTextIter,
5223            *const GtkTextIter,
5224        ),
5225    >,
5226    pub begin_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5227    pub end_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5228    pub paste_done: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut gdk::GdkClipboard)>,
5229    pub undo: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5230    pub redo: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5231    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5232    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5233    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5234    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5235}
5236
5237impl ::std::fmt::Debug for GtkTextBufferClass {
5238    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5239        f.debug_struct(&format!("GtkTextBufferClass @ {self:p}"))
5240            .field("parent_class", &self.parent_class)
5241            .field("insert_text", &self.insert_text)
5242            .field("insert_paintable", &self.insert_paintable)
5243            .field("insert_child_anchor", &self.insert_child_anchor)
5244            .field("delete_range", &self.delete_range)
5245            .field("changed", &self.changed)
5246            .field("modified_changed", &self.modified_changed)
5247            .field("mark_set", &self.mark_set)
5248            .field("mark_deleted", &self.mark_deleted)
5249            .field("apply_tag", &self.apply_tag)
5250            .field("remove_tag", &self.remove_tag)
5251            .field("begin_user_action", &self.begin_user_action)
5252            .field("end_user_action", &self.end_user_action)
5253            .field("paste_done", &self.paste_done)
5254            .field("undo", &self.undo)
5255            .field("redo", &self.redo)
5256            .field("_gtk_reserved1", &self._gtk_reserved1)
5257            .field("_gtk_reserved2", &self._gtk_reserved2)
5258            .field("_gtk_reserved3", &self._gtk_reserved3)
5259            .field("_gtk_reserved4", &self._gtk_reserved4)
5260            .finish()
5261    }
5262}
5263
5264#[repr(C)]
5265#[allow(dead_code)]
5266pub struct _GtkTextBufferPrivate {
5267    _data: [u8; 0],
5268    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5269}
5270
5271pub type GtkTextBufferPrivate = _GtkTextBufferPrivate;
5272
5273#[derive(Copy, Clone)]
5274#[repr(C)]
5275pub struct GtkTextChildAnchorClass {
5276    pub parent_class: gobject::GObjectClass,
5277    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5278    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5279    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5280    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5281}
5282
5283impl ::std::fmt::Debug for GtkTextChildAnchorClass {
5284    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5285        f.debug_struct(&format!("GtkTextChildAnchorClass @ {self:p}"))
5286            .field("parent_class", &self.parent_class)
5287            .field("_gtk_reserved1", &self._gtk_reserved1)
5288            .field("_gtk_reserved2", &self._gtk_reserved2)
5289            .field("_gtk_reserved3", &self._gtk_reserved3)
5290            .field("_gtk_reserved4", &self._gtk_reserved4)
5291            .finish()
5292    }
5293}
5294
5295#[derive(Copy, Clone)]
5296#[repr(C)]
5297pub struct GtkTextIter {
5298    pub dummy1: gpointer,
5299    pub dummy2: gpointer,
5300    pub dummy3: c_int,
5301    pub dummy4: c_int,
5302    pub dummy5: c_int,
5303    pub dummy6: c_int,
5304    pub dummy7: c_int,
5305    pub dummy8: c_int,
5306    pub dummy9: gpointer,
5307    pub dummy10: gpointer,
5308    pub dummy11: c_int,
5309    pub dummy12: c_int,
5310    pub dummy13: c_int,
5311    pub dummy14: gpointer,
5312}
5313
5314impl ::std::fmt::Debug for GtkTextIter {
5315    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5316        f.debug_struct(&format!("GtkTextIter @ {self:p}")).finish()
5317    }
5318}
5319
5320#[derive(Copy, Clone)]
5321#[repr(C)]
5322pub struct GtkTextMarkClass {
5323    pub parent_class: gobject::GObjectClass,
5324    pub padding: [gpointer; 8],
5325}
5326
5327impl ::std::fmt::Debug for GtkTextMarkClass {
5328    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5329        f.debug_struct(&format!("GtkTextMarkClass @ {self:p}"))
5330            .field("parent_class", &self.parent_class)
5331            .finish()
5332    }
5333}
5334
5335#[derive(Copy, Clone)]
5336#[repr(C)]
5337pub struct GtkTextTagClass {
5338    pub parent_class: gobject::GObjectClass,
5339    pub padding: [gpointer; 8],
5340}
5341
5342impl ::std::fmt::Debug for GtkTextTagClass {
5343    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5344        f.debug_struct(&format!("GtkTextTagClass @ {self:p}"))
5345            .field("parent_class", &self.parent_class)
5346            .finish()
5347    }
5348}
5349
5350#[repr(C)]
5351#[allow(dead_code)]
5352pub struct _GtkTextTagPrivate {
5353    _data: [u8; 0],
5354    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5355}
5356
5357pub type GtkTextTagPrivate = _GtkTextTagPrivate;
5358
5359#[derive(Copy, Clone)]
5360#[repr(C)]
5361pub struct GtkTextViewClass {
5362    pub parent_class: GtkWidgetClass,
5363    pub move_cursor:
5364        Option<unsafe extern "C" fn(*mut GtkTextView, GtkMovementStep, c_int, gboolean)>,
5365    pub set_anchor: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5366    pub insert_at_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, *const c_char)>,
5367    pub delete_from_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, GtkDeleteType, c_int)>,
5368    pub backspace: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5369    pub cut_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5370    pub copy_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5371    pub paste_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5372    pub toggle_overwrite: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5373    pub create_buffer: Option<unsafe extern "C" fn(*mut GtkTextView) -> *mut GtkTextBuffer>,
5374    pub snapshot_layer:
5375        Option<unsafe extern "C" fn(*mut GtkTextView, GtkTextViewLayer, *mut GtkSnapshot)>,
5376    pub extend_selection: Option<
5377        unsafe extern "C" fn(
5378            *mut GtkTextView,
5379            GtkTextExtendSelection,
5380            *const GtkTextIter,
5381            *mut GtkTextIter,
5382            *mut GtkTextIter,
5383        ) -> gboolean,
5384    >,
5385    pub insert_emoji: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5386    pub padding: [gpointer; 8],
5387}
5388
5389impl ::std::fmt::Debug for GtkTextViewClass {
5390    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5391        f.debug_struct(&format!("GtkTextViewClass @ {self:p}"))
5392            .field("parent_class", &self.parent_class)
5393            .field("move_cursor", &self.move_cursor)
5394            .field("set_anchor", &self.set_anchor)
5395            .field("insert_at_cursor", &self.insert_at_cursor)
5396            .field("delete_from_cursor", &self.delete_from_cursor)
5397            .field("backspace", &self.backspace)
5398            .field("cut_clipboard", &self.cut_clipboard)
5399            .field("copy_clipboard", &self.copy_clipboard)
5400            .field("paste_clipboard", &self.paste_clipboard)
5401            .field("toggle_overwrite", &self.toggle_overwrite)
5402            .field("create_buffer", &self.create_buffer)
5403            .field("snapshot_layer", &self.snapshot_layer)
5404            .field("extend_selection", &self.extend_selection)
5405            .field("insert_emoji", &self.insert_emoji)
5406            .finish()
5407    }
5408}
5409
5410#[repr(C)]
5411#[allow(dead_code)]
5412pub struct _GtkTextViewPrivate {
5413    _data: [u8; 0],
5414    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5415}
5416
5417pub type GtkTextViewPrivate = _GtkTextViewPrivate;
5418
5419#[derive(Copy, Clone)]
5420#[repr(C)]
5421pub struct GtkToggleButtonClass {
5422    pub parent_class: GtkButtonClass,
5423    pub toggled: Option<unsafe extern "C" fn(*mut GtkToggleButton)>,
5424    pub padding: [gpointer; 8],
5425}
5426
5427impl ::std::fmt::Debug for GtkToggleButtonClass {
5428    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5429        f.debug_struct(&format!("GtkToggleButtonClass @ {self:p}"))
5430            .field("parent_class", &self.parent_class)
5431            .field("toggled", &self.toggled)
5432            .finish()
5433    }
5434}
5435
5436#[derive(Copy, Clone)]
5437#[repr(C)]
5438pub struct GtkTreeDragDestIface {
5439    pub g_iface: gobject::GTypeInterface,
5440    pub drag_data_received: Option<
5441        unsafe extern "C" fn(
5442            *mut GtkTreeDragDest,
5443            *mut GtkTreePath,
5444            *const gobject::GValue,
5445        ) -> gboolean,
5446    >,
5447    pub row_drop_possible: Option<
5448        unsafe extern "C" fn(
5449            *mut GtkTreeDragDest,
5450            *mut GtkTreePath,
5451            *const gobject::GValue,
5452        ) -> gboolean,
5453    >,
5454}
5455
5456impl ::std::fmt::Debug for GtkTreeDragDestIface {
5457    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5458        f.debug_struct(&format!("GtkTreeDragDestIface @ {self:p}"))
5459            .field("drag_data_received", &self.drag_data_received)
5460            .field("row_drop_possible", &self.row_drop_possible)
5461            .finish()
5462    }
5463}
5464
5465#[derive(Copy, Clone)]
5466#[repr(C)]
5467pub struct GtkTreeDragSourceIface {
5468    pub g_iface: gobject::GTypeInterface,
5469    pub row_draggable:
5470        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
5471    pub drag_data_get: Option<
5472        unsafe extern "C" fn(
5473            *mut GtkTreeDragSource,
5474            *mut GtkTreePath,
5475        ) -> *mut gdk::GdkContentProvider,
5476    >,
5477    pub drag_data_delete:
5478        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
5479}
5480
5481impl ::std::fmt::Debug for GtkTreeDragSourceIface {
5482    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5483        f.debug_struct(&format!("GtkTreeDragSourceIface @ {self:p}"))
5484            .field("row_draggable", &self.row_draggable)
5485            .field("drag_data_get", &self.drag_data_get)
5486            .field("drag_data_delete", &self.drag_data_delete)
5487            .finish()
5488    }
5489}
5490
5491#[derive(Copy, Clone)]
5492#[repr(C)]
5493pub struct GtkTreeExpanderClass {
5494    pub parent_class: GtkWidgetClass,
5495}
5496
5497impl ::std::fmt::Debug for GtkTreeExpanderClass {
5498    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5499        f.debug_struct(&format!("GtkTreeExpanderClass @ {self:p}"))
5500            .field("parent_class", &self.parent_class)
5501            .finish()
5502    }
5503}
5504
5505#[derive(Copy, Clone)]
5506#[repr(C)]
5507pub struct GtkTreeIter {
5508    pub stamp: c_int,
5509    pub user_data: gpointer,
5510    pub user_data2: gpointer,
5511    pub user_data3: gpointer,
5512}
5513
5514impl ::std::fmt::Debug for GtkTreeIter {
5515    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5516        f.debug_struct(&format!("GtkTreeIter @ {self:p}"))
5517            .field("stamp", &self.stamp)
5518            .field("user_data", &self.user_data)
5519            .field("user_data2", &self.user_data2)
5520            .field("user_data3", &self.user_data3)
5521            .finish()
5522    }
5523}
5524
5525#[derive(Copy, Clone)]
5526#[repr(C)]
5527pub struct GtkTreeListModelClass {
5528    pub parent_class: gobject::GObjectClass,
5529}
5530
5531impl ::std::fmt::Debug for GtkTreeListModelClass {
5532    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5533        f.debug_struct(&format!("GtkTreeListModelClass @ {self:p}"))
5534            .field("parent_class", &self.parent_class)
5535            .finish()
5536    }
5537}
5538
5539#[derive(Copy, Clone)]
5540#[repr(C)]
5541pub struct GtkTreeListRowClass {
5542    pub parent_class: gobject::GObjectClass,
5543}
5544
5545impl ::std::fmt::Debug for GtkTreeListRowClass {
5546    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5547        f.debug_struct(&format!("GtkTreeListRowClass @ {self:p}"))
5548            .field("parent_class", &self.parent_class)
5549            .finish()
5550    }
5551}
5552
5553#[derive(Copy, Clone)]
5554#[repr(C)]
5555pub struct GtkTreeListRowSorterClass {
5556    pub parent_class: GtkSorterClass,
5557}
5558
5559impl ::std::fmt::Debug for GtkTreeListRowSorterClass {
5560    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5561        f.debug_struct(&format!("GtkTreeListRowSorterClass @ {self:p}"))
5562            .field("parent_class", &self.parent_class)
5563            .finish()
5564    }
5565}
5566
5567#[derive(Copy, Clone)]
5568#[repr(C)]
5569pub struct GtkTreeModelFilterClass {
5570    pub parent_class: gobject::GObjectClass,
5571    pub visible: Option<
5572        unsafe extern "C" fn(
5573            *mut GtkTreeModelFilter,
5574            *mut GtkTreeModel,
5575            *mut GtkTreeIter,
5576        ) -> gboolean,
5577    >,
5578    pub modify: Option<
5579        unsafe extern "C" fn(
5580            *mut GtkTreeModelFilter,
5581            *mut GtkTreeModel,
5582            *mut GtkTreeIter,
5583            *mut gobject::GValue,
5584            c_int,
5585        ),
5586    >,
5587    pub padding: [gpointer; 8],
5588}
5589
5590impl ::std::fmt::Debug for GtkTreeModelFilterClass {
5591    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5592        f.debug_struct(&format!("GtkTreeModelFilterClass @ {self:p}"))
5593            .field("parent_class", &self.parent_class)
5594            .field("visible", &self.visible)
5595            .field("modify", &self.modify)
5596            .finish()
5597    }
5598}
5599
5600#[repr(C)]
5601#[allow(dead_code)]
5602pub struct _GtkTreeModelFilterPrivate {
5603    _data: [u8; 0],
5604    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5605}
5606
5607pub type GtkTreeModelFilterPrivate = _GtkTreeModelFilterPrivate;
5608
5609#[derive(Copy, Clone)]
5610#[repr(C)]
5611pub struct GtkTreeModelIface {
5612    pub g_iface: gobject::GTypeInterface,
5613    pub row_changed:
5614        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5615    pub row_inserted:
5616        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5617    pub row_has_child_toggled:
5618        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5619    pub row_deleted: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath)>,
5620    pub rows_reordered: Option<
5621        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, *mut c_int),
5622    >,
5623    pub get_flags: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> GtkTreeModelFlags>,
5624    pub get_n_columns: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> c_int>,
5625    pub get_column_type: Option<unsafe extern "C" fn(*mut GtkTreeModel, c_int) -> GType>,
5626    pub get_iter: Option<
5627        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5628    >,
5629    pub get_path:
5630        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> *mut GtkTreePath>,
5631    pub get_value: Option<
5632        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, c_int, *mut gobject::GValue),
5633    >,
5634    pub iter_next: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5635    pub iter_previous:
5636        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5637    pub iter_children: Option<
5638        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
5639    >,
5640    pub iter_has_child:
5641        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5642    pub iter_n_children: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> c_int>,
5643    pub iter_nth_child: Option<
5644        unsafe extern "C" fn(
5645            *mut GtkTreeModel,
5646            *mut GtkTreeIter,
5647            *mut GtkTreeIter,
5648            c_int,
5649        ) -> gboolean,
5650    >,
5651    pub iter_parent: Option<
5652        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
5653    >,
5654    pub ref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
5655    pub unref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
5656}
5657
5658impl ::std::fmt::Debug for GtkTreeModelIface {
5659    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5660        f.debug_struct(&format!("GtkTreeModelIface @ {self:p}"))
5661            .field("row_changed", &self.row_changed)
5662            .field("row_inserted", &self.row_inserted)
5663            .field("row_has_child_toggled", &self.row_has_child_toggled)
5664            .field("row_deleted", &self.row_deleted)
5665            .field("rows_reordered", &self.rows_reordered)
5666            .field("get_flags", &self.get_flags)
5667            .field("get_n_columns", &self.get_n_columns)
5668            .field("get_column_type", &self.get_column_type)
5669            .field("get_iter", &self.get_iter)
5670            .field("get_path", &self.get_path)
5671            .field("get_value", &self.get_value)
5672            .field("iter_next", &self.iter_next)
5673            .field("iter_previous", &self.iter_previous)
5674            .field("iter_children", &self.iter_children)
5675            .field("iter_has_child", &self.iter_has_child)
5676            .field("iter_n_children", &self.iter_n_children)
5677            .field("iter_nth_child", &self.iter_nth_child)
5678            .field("iter_parent", &self.iter_parent)
5679            .field("ref_node", &self.ref_node)
5680            .field("unref_node", &self.unref_node)
5681            .finish()
5682    }
5683}
5684
5685#[derive(Copy, Clone)]
5686#[repr(C)]
5687pub struct GtkTreeModelSortClass {
5688    pub parent_class: gobject::GObjectClass,
5689    pub padding: [gpointer; 8],
5690}
5691
5692impl ::std::fmt::Debug for GtkTreeModelSortClass {
5693    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5694        f.debug_struct(&format!("GtkTreeModelSortClass @ {self:p}"))
5695            .field("parent_class", &self.parent_class)
5696            .finish()
5697    }
5698}
5699
5700#[repr(C)]
5701#[allow(dead_code)]
5702pub struct _GtkTreeModelSortPrivate {
5703    _data: [u8; 0],
5704    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5705}
5706
5707pub type GtkTreeModelSortPrivate = _GtkTreeModelSortPrivate;
5708
5709#[repr(C)]
5710#[allow(dead_code)]
5711pub struct GtkTreePath {
5712    _data: [u8; 0],
5713    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5714}
5715
5716impl ::std::fmt::Debug for GtkTreePath {
5717    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5718        f.debug_struct(&format!("GtkTreePath @ {self:p}")).finish()
5719    }
5720}
5721
5722#[repr(C)]
5723#[allow(dead_code)]
5724pub struct GtkTreeRowReference {
5725    _data: [u8; 0],
5726    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5727}
5728
5729impl ::std::fmt::Debug for GtkTreeRowReference {
5730    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5731        f.debug_struct(&format!("GtkTreeRowReference @ {self:p}"))
5732            .finish()
5733    }
5734}
5735
5736#[derive(Copy, Clone)]
5737#[repr(C)]
5738pub struct GtkTreeSortableIface {
5739    pub g_iface: gobject::GTypeInterface,
5740    pub sort_column_changed: Option<unsafe extern "C" fn(*mut GtkTreeSortable)>,
5741    pub get_sort_column_id: Option<
5742        unsafe extern "C" fn(*mut GtkTreeSortable, *mut c_int, *mut GtkSortType) -> gboolean,
5743    >,
5744    pub set_sort_column_id: Option<unsafe extern "C" fn(*mut GtkTreeSortable, c_int, GtkSortType)>,
5745    pub set_sort_func: Option<
5746        unsafe extern "C" fn(
5747            *mut GtkTreeSortable,
5748            c_int,
5749            GtkTreeIterCompareFunc,
5750            gpointer,
5751            glib::GDestroyNotify,
5752        ),
5753    >,
5754    pub set_default_sort_func: Option<
5755        unsafe extern "C" fn(
5756            *mut GtkTreeSortable,
5757            GtkTreeIterCompareFunc,
5758            gpointer,
5759            glib::GDestroyNotify,
5760        ),
5761    >,
5762    pub has_default_sort_func: Option<unsafe extern "C" fn(*mut GtkTreeSortable) -> gboolean>,
5763}
5764
5765impl ::std::fmt::Debug for GtkTreeSortableIface {
5766    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5767        f.debug_struct(&format!("GtkTreeSortableIface @ {self:p}"))
5768            .field("sort_column_changed", &self.sort_column_changed)
5769            .field("get_sort_column_id", &self.get_sort_column_id)
5770            .field("set_sort_column_id", &self.set_sort_column_id)
5771            .field("set_sort_func", &self.set_sort_func)
5772            .field("set_default_sort_func", &self.set_default_sort_func)
5773            .field("has_default_sort_func", &self.has_default_sort_func)
5774            .finish()
5775    }
5776}
5777
5778#[derive(Copy, Clone)]
5779#[repr(C)]
5780pub struct GtkTreeStoreClass {
5781    pub parent_class: gobject::GObjectClass,
5782    pub padding: [gpointer; 8],
5783}
5784
5785impl ::std::fmt::Debug for GtkTreeStoreClass {
5786    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5787        f.debug_struct(&format!("GtkTreeStoreClass @ {self:p}"))
5788            .field("parent_class", &self.parent_class)
5789            .finish()
5790    }
5791}
5792
5793#[repr(C)]
5794#[allow(dead_code)]
5795pub struct _GtkTreeStorePrivate {
5796    _data: [u8; 0],
5797    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5798}
5799
5800pub type GtkTreeStorePrivate = _GtkTreeStorePrivate;
5801
5802#[derive(Copy, Clone)]
5803#[repr(C)]
5804pub struct GtkTreeViewClass {
5805    pub parent_class: GtkWidgetClass,
5806    pub row_activated:
5807        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, *mut GtkTreeViewColumn)>,
5808    pub test_expand_row: Option<
5809        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5810    >,
5811    pub test_collapse_row: Option<
5812        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5813    >,
5814    pub row_expanded:
5815        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
5816    pub row_collapsed:
5817        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
5818    pub columns_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
5819    pub cursor_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
5820    pub move_cursor: Option<
5821        unsafe extern "C" fn(
5822            *mut GtkTreeView,
5823            GtkMovementStep,
5824            c_int,
5825            gboolean,
5826            gboolean,
5827        ) -> gboolean,
5828    >,
5829    pub select_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5830    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5831    pub select_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean) -> gboolean>,
5832    pub toggle_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5833    pub expand_collapse_cursor_row:
5834        Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean, gboolean, gboolean) -> gboolean>,
5835    pub select_cursor_parent: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5836    pub start_interactive_search: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5837    pub _reserved: [gpointer; 16],
5838}
5839
5840impl ::std::fmt::Debug for GtkTreeViewClass {
5841    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5842        f.debug_struct(&format!("GtkTreeViewClass @ {self:p}"))
5843            .field("parent_class", &self.parent_class)
5844            .field("row_activated", &self.row_activated)
5845            .field("test_expand_row", &self.test_expand_row)
5846            .field("test_collapse_row", &self.test_collapse_row)
5847            .field("row_expanded", &self.row_expanded)
5848            .field("row_collapsed", &self.row_collapsed)
5849            .field("columns_changed", &self.columns_changed)
5850            .field("cursor_changed", &self.cursor_changed)
5851            .field("move_cursor", &self.move_cursor)
5852            .field("select_all", &self.select_all)
5853            .field("unselect_all", &self.unselect_all)
5854            .field("select_cursor_row", &self.select_cursor_row)
5855            .field("toggle_cursor_row", &self.toggle_cursor_row)
5856            .field(
5857                "expand_collapse_cursor_row",
5858                &self.expand_collapse_cursor_row,
5859            )
5860            .field("select_cursor_parent", &self.select_cursor_parent)
5861            .field("start_interactive_search", &self.start_interactive_search)
5862            .finish()
5863    }
5864}
5865
5866#[derive(Copy, Clone)]
5867#[repr(C)]
5868pub struct GtkUriLauncherClass {
5869    pub parent_class: gobject::GObjectClass,
5870}
5871
5872impl ::std::fmt::Debug for GtkUriLauncherClass {
5873    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5874        f.debug_struct(&format!("GtkUriLauncherClass @ {self:p}"))
5875            .field("parent_class", &self.parent_class)
5876            .finish()
5877    }
5878}
5879
5880#[derive(Copy, Clone)]
5881#[repr(C)]
5882pub struct GtkVideoClass {
5883    pub parent_class: GtkWidgetClass,
5884}
5885
5886impl ::std::fmt::Debug for GtkVideoClass {
5887    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5888        f.debug_struct(&format!("GtkVideoClass @ {self:p}"))
5889            .field("parent_class", &self.parent_class)
5890            .finish()
5891    }
5892}
5893
5894#[derive(Copy, Clone)]
5895#[repr(C)]
5896pub struct GtkWidgetClass {
5897    pub parent_class: gobject::GInitiallyUnownedClass,
5898    pub show: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5899    pub hide: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5900    pub map: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5901    pub unmap: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5902    pub realize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5903    pub unrealize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5904    pub root: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5905    pub unroot: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5906    pub size_allocate: Option<unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, c_int)>,
5907    pub state_flags_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkStateFlags)>,
5908    pub direction_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkTextDirection)>,
5909    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkWidget) -> GtkSizeRequestMode>,
5910    pub measure: Option<
5911        unsafe extern "C" fn(
5912            *mut GtkWidget,
5913            GtkOrientation,
5914            c_int,
5915            *mut c_int,
5916            *mut c_int,
5917            *mut c_int,
5918            *mut c_int,
5919        ),
5920    >,
5921    pub mnemonic_activate: Option<unsafe extern "C" fn(*mut GtkWidget, gboolean) -> gboolean>,
5922    pub grab_focus: Option<unsafe extern "C" fn(*mut GtkWidget) -> gboolean>,
5923    pub focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
5924    pub set_focus_child: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkWidget)>,
5925    pub move_focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType)>,
5926    pub keynav_failed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
5927    pub query_tooltip: Option<
5928        unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, gboolean, *mut GtkTooltip) -> gboolean,
5929    >,
5930    pub compute_expand: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gboolean, *mut gboolean)>,
5931    pub css_changed: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkCssStyleChange)>,
5932    pub system_setting_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkSystemSetting)>,
5933    pub snapshot: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkSnapshot)>,
5934    pub contains: Option<unsafe extern "C" fn(*mut GtkWidget, c_double, c_double) -> gboolean>,
5935    pub priv_: *mut GtkWidgetClassPrivate,
5936    pub padding: [gpointer; 8],
5937}
5938
5939impl ::std::fmt::Debug for GtkWidgetClass {
5940    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5941        f.debug_struct(&format!("GtkWidgetClass @ {self:p}"))
5942            .field("parent_class", &self.parent_class)
5943            .field("show", &self.show)
5944            .field("hide", &self.hide)
5945            .field("map", &self.map)
5946            .field("unmap", &self.unmap)
5947            .field("realize", &self.realize)
5948            .field("unrealize", &self.unrealize)
5949            .field("root", &self.root)
5950            .field("unroot", &self.unroot)
5951            .field("size_allocate", &self.size_allocate)
5952            .field("state_flags_changed", &self.state_flags_changed)
5953            .field("direction_changed", &self.direction_changed)
5954            .field("get_request_mode", &self.get_request_mode)
5955            .field("measure", &self.measure)
5956            .field("mnemonic_activate", &self.mnemonic_activate)
5957            .field("grab_focus", &self.grab_focus)
5958            .field("focus", &self.focus)
5959            .field("set_focus_child", &self.set_focus_child)
5960            .field("move_focus", &self.move_focus)
5961            .field("keynav_failed", &self.keynav_failed)
5962            .field("query_tooltip", &self.query_tooltip)
5963            .field("compute_expand", &self.compute_expand)
5964            .field("css_changed", &self.css_changed)
5965            .field("system_setting_changed", &self.system_setting_changed)
5966            .field("snapshot", &self.snapshot)
5967            .field("contains", &self.contains)
5968            .finish()
5969    }
5970}
5971
5972#[repr(C)]
5973#[allow(dead_code)]
5974pub struct _GtkWidgetClassPrivate {
5975    _data: [u8; 0],
5976    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5977}
5978
5979pub type GtkWidgetClassPrivate = _GtkWidgetClassPrivate;
5980
5981#[derive(Copy, Clone)]
5982#[repr(C)]
5983pub struct GtkWidgetPaintableClass {
5984    pub parent_class: gobject::GObjectClass,
5985}
5986
5987impl ::std::fmt::Debug for GtkWidgetPaintableClass {
5988    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5989        f.debug_struct(&format!("GtkWidgetPaintableClass @ {self:p}"))
5990            .field("parent_class", &self.parent_class)
5991            .finish()
5992    }
5993}
5994
5995#[repr(C)]
5996#[allow(dead_code)]
5997pub struct _GtkWidgetPrivate {
5998    _data: [u8; 0],
5999    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6000}
6001
6002pub type GtkWidgetPrivate = _GtkWidgetPrivate;
6003
6004#[derive(Copy, Clone)]
6005#[repr(C)]
6006pub struct GtkWindowClass {
6007    pub parent_class: GtkWidgetClass,
6008    pub activate_focus: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6009    pub activate_default: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6010    pub keys_changed: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6011    pub enable_debugging: Option<unsafe extern "C" fn(*mut GtkWindow, gboolean) -> gboolean>,
6012    pub close_request: Option<unsafe extern "C" fn(*mut GtkWindow) -> gboolean>,
6013    pub force_close: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6014    pub padding: [gpointer; 7],
6015}
6016
6017impl ::std::fmt::Debug for GtkWindowClass {
6018    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6019        f.debug_struct(&format!("GtkWindowClass @ {self:p}"))
6020            .field("parent_class", &self.parent_class)
6021            .field("activate_focus", &self.activate_focus)
6022            .field("activate_default", &self.activate_default)
6023            .field("keys_changed", &self.keys_changed)
6024            .field("enable_debugging", &self.enable_debugging)
6025            .field("close_request", &self.close_request)
6026            .field("force_close", &self.force_close)
6027            .finish()
6028    }
6029}
6030
6031#[derive(Copy, Clone)]
6032#[repr(C)]
6033pub struct GtkWindowControlsClass {
6034    pub parent_class: GtkWidgetClass,
6035}
6036
6037impl ::std::fmt::Debug for GtkWindowControlsClass {
6038    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6039        f.debug_struct(&format!("GtkWindowControlsClass @ {self:p}"))
6040            .field("parent_class", &self.parent_class)
6041            .finish()
6042    }
6043}
6044
6045#[derive(Copy, Clone)]
6046#[repr(C)]
6047pub struct GtkWindowGroupClass {
6048    pub parent_class: gobject::GObjectClass,
6049    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6050    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6051    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6052    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6053}
6054
6055impl ::std::fmt::Debug for GtkWindowGroupClass {
6056    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6057        f.debug_struct(&format!("GtkWindowGroupClass @ {self:p}"))
6058            .field("parent_class", &self.parent_class)
6059            .field("_gtk_reserved1", &self._gtk_reserved1)
6060            .field("_gtk_reserved2", &self._gtk_reserved2)
6061            .field("_gtk_reserved3", &self._gtk_reserved3)
6062            .field("_gtk_reserved4", &self._gtk_reserved4)
6063            .finish()
6064    }
6065}
6066
6067#[repr(C)]
6068#[allow(dead_code)]
6069pub struct _GtkWindowGroupPrivate {
6070    _data: [u8; 0],
6071    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6072}
6073
6074pub type GtkWindowGroupPrivate = _GtkWindowGroupPrivate;
6075
6076#[derive(Copy, Clone)]
6077#[repr(C)]
6078pub struct GtkWindowHandleClass {
6079    pub parent_class: GtkWidgetClass,
6080}
6081
6082impl ::std::fmt::Debug for GtkWindowHandleClass {
6083    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6084        f.debug_struct(&format!("GtkWindowHandleClass @ {self:p}"))
6085            .field("parent_class", &self.parent_class)
6086            .finish()
6087    }
6088}
6089
6090// Classes
6091#[repr(C)]
6092#[allow(dead_code)]
6093pub struct GtkATContext {
6094    _data: [u8; 0],
6095    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6096}
6097
6098impl ::std::fmt::Debug for GtkATContext {
6099    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6100        f.debug_struct(&format!("GtkATContext @ {self:p}")).finish()
6101    }
6102}
6103
6104#[repr(C)]
6105#[allow(dead_code)]
6106pub struct GtkAboutDialog {
6107    _data: [u8; 0],
6108    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6109}
6110
6111impl ::std::fmt::Debug for GtkAboutDialog {
6112    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6113        f.debug_struct(&format!("GtkAboutDialog @ {self:p}"))
6114            .finish()
6115    }
6116}
6117
6118#[repr(C)]
6119#[allow(dead_code)]
6120pub struct GtkAccessibleHyperlink {
6121    _data: [u8; 0],
6122    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6123}
6124
6125impl ::std::fmt::Debug for GtkAccessibleHyperlink {
6126    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6127        f.debug_struct(&format!("GtkAccessibleHyperlink @ {self:p}"))
6128            .finish()
6129    }
6130}
6131
6132#[repr(C)]
6133#[allow(dead_code)]
6134pub struct GtkActionBar {
6135    _data: [u8; 0],
6136    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6137}
6138
6139impl ::std::fmt::Debug for GtkActionBar {
6140    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6141        f.debug_struct(&format!("GtkActionBar @ {self:p}")).finish()
6142    }
6143}
6144
6145#[repr(C)]
6146#[allow(dead_code)]
6147pub struct GtkActivateAction {
6148    _data: [u8; 0],
6149    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6150}
6151
6152impl ::std::fmt::Debug for GtkActivateAction {
6153    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6154        f.debug_struct(&format!("GtkActivateAction @ {self:p}"))
6155            .finish()
6156    }
6157}
6158
6159#[derive(Copy, Clone)]
6160#[repr(C)]
6161pub struct GtkAdjustment {
6162    pub parent_instance: gobject::GInitiallyUnowned,
6163}
6164
6165impl ::std::fmt::Debug for GtkAdjustment {
6166    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6167        f.debug_struct(&format!("GtkAdjustment @ {self:p}"))
6168            .field("parent_instance", &self.parent_instance)
6169            .finish()
6170    }
6171}
6172
6173#[repr(C)]
6174#[allow(dead_code)]
6175pub struct GtkAlertDialog {
6176    _data: [u8; 0],
6177    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6178}
6179
6180impl ::std::fmt::Debug for GtkAlertDialog {
6181    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6182        f.debug_struct(&format!("GtkAlertDialog @ {self:p}"))
6183            .finish()
6184    }
6185}
6186
6187#[repr(C)]
6188#[allow(dead_code)]
6189pub struct GtkAlternativeTrigger {
6190    _data: [u8; 0],
6191    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6192}
6193
6194impl ::std::fmt::Debug for GtkAlternativeTrigger {
6195    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6196        f.debug_struct(&format!("GtkAlternativeTrigger @ {self:p}"))
6197            .finish()
6198    }
6199}
6200
6201#[repr(C)]
6202#[allow(dead_code)]
6203pub struct GtkAnyFilter {
6204    _data: [u8; 0],
6205    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6206}
6207
6208impl ::std::fmt::Debug for GtkAnyFilter {
6209    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6210        f.debug_struct(&format!("GtkAnyFilter @ {self:p}")).finish()
6211    }
6212}
6213
6214#[repr(C)]
6215#[allow(dead_code)]
6216pub struct GtkAppChooserButton {
6217    _data: [u8; 0],
6218    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6219}
6220
6221impl ::std::fmt::Debug for GtkAppChooserButton {
6222    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6223        f.debug_struct(&format!("GtkAppChooserButton @ {self:p}"))
6224            .finish()
6225    }
6226}
6227
6228#[repr(C)]
6229#[allow(dead_code)]
6230pub struct GtkAppChooserDialog {
6231    _data: [u8; 0],
6232    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6233}
6234
6235impl ::std::fmt::Debug for GtkAppChooserDialog {
6236    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6237        f.debug_struct(&format!("GtkAppChooserDialog @ {self:p}"))
6238            .finish()
6239    }
6240}
6241
6242#[repr(C)]
6243#[allow(dead_code)]
6244pub struct GtkAppChooserWidget {
6245    _data: [u8; 0],
6246    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6247}
6248
6249impl ::std::fmt::Debug for GtkAppChooserWidget {
6250    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6251        f.debug_struct(&format!("GtkAppChooserWidget @ {self:p}"))
6252            .finish()
6253    }
6254}
6255
6256#[derive(Copy, Clone)]
6257#[repr(C)]
6258pub struct GtkApplication {
6259    pub parent_instance: gio::GApplication,
6260}
6261
6262impl ::std::fmt::Debug for GtkApplication {
6263    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6264        f.debug_struct(&format!("GtkApplication @ {self:p}"))
6265            .field("parent_instance", &self.parent_instance)
6266            .finish()
6267    }
6268}
6269
6270#[derive(Copy, Clone)]
6271#[repr(C)]
6272pub struct GtkApplicationWindow {
6273    pub parent_instance: GtkWindow,
6274}
6275
6276impl ::std::fmt::Debug for GtkApplicationWindow {
6277    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6278        f.debug_struct(&format!("GtkApplicationWindow @ {self:p}"))
6279            .field("parent_instance", &self.parent_instance)
6280            .finish()
6281    }
6282}
6283
6284#[repr(C)]
6285#[allow(dead_code)]
6286pub struct GtkAspectFrame {
6287    _data: [u8; 0],
6288    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6289}
6290
6291impl ::std::fmt::Debug for GtkAspectFrame {
6292    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6293        f.debug_struct(&format!("GtkAspectFrame @ {self:p}"))
6294            .finish()
6295    }
6296}
6297
6298#[repr(C)]
6299#[allow(dead_code)]
6300pub struct GtkAssistant {
6301    _data: [u8; 0],
6302    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6303}
6304
6305impl ::std::fmt::Debug for GtkAssistant {
6306    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6307        f.debug_struct(&format!("GtkAssistant @ {self:p}")).finish()
6308    }
6309}
6310
6311#[repr(C)]
6312#[allow(dead_code)]
6313pub struct GtkAssistantPage {
6314    _data: [u8; 0],
6315    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6316}
6317
6318impl ::std::fmt::Debug for GtkAssistantPage {
6319    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6320        f.debug_struct(&format!("GtkAssistantPage @ {self:p}"))
6321            .finish()
6322    }
6323}
6324
6325#[repr(C)]
6326#[allow(dead_code)]
6327pub struct GtkBinLayout {
6328    _data: [u8; 0],
6329    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6330}
6331
6332impl ::std::fmt::Debug for GtkBinLayout {
6333    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6334        f.debug_struct(&format!("GtkBinLayout @ {self:p}")).finish()
6335    }
6336}
6337
6338#[repr(C)]
6339#[allow(dead_code)]
6340pub struct GtkBookmarkList {
6341    _data: [u8; 0],
6342    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6343}
6344
6345impl ::std::fmt::Debug for GtkBookmarkList {
6346    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6347        f.debug_struct(&format!("GtkBookmarkList @ {self:p}"))
6348            .finish()
6349    }
6350}
6351
6352#[repr(C)]
6353#[allow(dead_code)]
6354pub struct GtkBoolFilter {
6355    _data: [u8; 0],
6356    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6357}
6358
6359impl ::std::fmt::Debug for GtkBoolFilter {
6360    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6361        f.debug_struct(&format!("GtkBoolFilter @ {self:p}"))
6362            .finish()
6363    }
6364}
6365
6366#[derive(Copy, Clone)]
6367#[repr(C)]
6368pub struct GtkBox {
6369    pub parent_instance: GtkWidget,
6370}
6371
6372impl ::std::fmt::Debug for GtkBox {
6373    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6374        f.debug_struct(&format!("GtkBox @ {self:p}"))
6375            .field("parent_instance", &self.parent_instance)
6376            .finish()
6377    }
6378}
6379
6380#[repr(C)]
6381#[allow(dead_code)]
6382pub struct GtkBoxLayout {
6383    _data: [u8; 0],
6384    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6385}
6386
6387impl ::std::fmt::Debug for GtkBoxLayout {
6388    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6389        f.debug_struct(&format!("GtkBoxLayout @ {self:p}")).finish()
6390    }
6391}
6392
6393#[repr(C)]
6394#[allow(dead_code)]
6395pub struct GtkBuilder {
6396    _data: [u8; 0],
6397    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6398}
6399
6400impl ::std::fmt::Debug for GtkBuilder {
6401    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6402        f.debug_struct(&format!("GtkBuilder @ {self:p}")).finish()
6403    }
6404}
6405
6406#[derive(Copy, Clone)]
6407#[repr(C)]
6408pub struct GtkBuilderCScope {
6409    pub parent_instance: gobject::GObject,
6410}
6411
6412impl ::std::fmt::Debug for GtkBuilderCScope {
6413    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6414        f.debug_struct(&format!("GtkBuilderCScope @ {self:p}"))
6415            .field("parent_instance", &self.parent_instance)
6416            .finish()
6417    }
6418}
6419
6420#[repr(C)]
6421#[allow(dead_code)]
6422pub struct GtkBuilderListItemFactory {
6423    _data: [u8; 0],
6424    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6425}
6426
6427impl ::std::fmt::Debug for GtkBuilderListItemFactory {
6428    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6429        f.debug_struct(&format!("GtkBuilderListItemFactory @ {self:p}"))
6430            .finish()
6431    }
6432}
6433
6434#[derive(Copy, Clone)]
6435#[repr(C)]
6436pub struct GtkButton {
6437    pub parent_instance: GtkWidget,
6438}
6439
6440impl ::std::fmt::Debug for GtkButton {
6441    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6442        f.debug_struct(&format!("GtkButton @ {self:p}")).finish()
6443    }
6444}
6445
6446#[repr(C)]
6447#[allow(dead_code)]
6448pub struct GtkCClosureExpression {
6449    _data: [u8; 0],
6450    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6451}
6452
6453impl ::std::fmt::Debug for GtkCClosureExpression {
6454    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6455        f.debug_struct(&format!("GtkCClosureExpression @ {self:p}"))
6456            .finish()
6457    }
6458}
6459
6460#[repr(C)]
6461#[allow(dead_code)]
6462pub struct GtkCalendar {
6463    _data: [u8; 0],
6464    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6465}
6466
6467impl ::std::fmt::Debug for GtkCalendar {
6468    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6469        f.debug_struct(&format!("GtkCalendar @ {self:p}")).finish()
6470    }
6471}
6472
6473#[repr(C)]
6474#[allow(dead_code)]
6475pub struct GtkCallbackAction {
6476    _data: [u8; 0],
6477    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6478}
6479
6480impl ::std::fmt::Debug for GtkCallbackAction {
6481    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6482        f.debug_struct(&format!("GtkCallbackAction @ {self:p}"))
6483            .finish()
6484    }
6485}
6486
6487#[derive(Copy, Clone)]
6488#[repr(C)]
6489pub struct GtkCellArea {
6490    pub parent_instance: gobject::GInitiallyUnowned,
6491}
6492
6493impl ::std::fmt::Debug for GtkCellArea {
6494    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6495        f.debug_struct(&format!("GtkCellArea @ {self:p}")).finish()
6496    }
6497}
6498
6499#[repr(C)]
6500#[allow(dead_code)]
6501pub struct GtkCellAreaBox {
6502    _data: [u8; 0],
6503    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6504}
6505
6506impl ::std::fmt::Debug for GtkCellAreaBox {
6507    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6508        f.debug_struct(&format!("GtkCellAreaBox @ {self:p}"))
6509            .finish()
6510    }
6511}
6512
6513#[derive(Copy, Clone)]
6514#[repr(C)]
6515pub struct GtkCellAreaContext {
6516    pub parent_instance: gobject::GObject,
6517}
6518
6519impl ::std::fmt::Debug for GtkCellAreaContext {
6520    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6521        f.debug_struct(&format!("GtkCellAreaContext @ {self:p}"))
6522            .finish()
6523    }
6524}
6525
6526#[derive(Copy, Clone)]
6527#[repr(C)]
6528pub struct GtkCellRenderer {
6529    pub parent_instance: gobject::GInitiallyUnowned,
6530    pub priv_: *mut GtkCellRendererPrivate,
6531}
6532
6533impl ::std::fmt::Debug for GtkCellRenderer {
6534    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6535        f.debug_struct(&format!("GtkCellRenderer @ {self:p}"))
6536            .field("parent_instance", &self.parent_instance)
6537            .finish()
6538    }
6539}
6540
6541#[repr(C)]
6542#[allow(dead_code)]
6543pub struct GtkCellRendererAccel {
6544    _data: [u8; 0],
6545    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6546}
6547
6548impl ::std::fmt::Debug for GtkCellRendererAccel {
6549    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6550        f.debug_struct(&format!("GtkCellRendererAccel @ {self:p}"))
6551            .finish()
6552    }
6553}
6554
6555#[repr(C)]
6556#[allow(dead_code)]
6557pub struct GtkCellRendererCombo {
6558    _data: [u8; 0],
6559    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6560}
6561
6562impl ::std::fmt::Debug for GtkCellRendererCombo {
6563    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6564        f.debug_struct(&format!("GtkCellRendererCombo @ {self:p}"))
6565            .finish()
6566    }
6567}
6568
6569#[repr(C)]
6570#[allow(dead_code)]
6571pub struct GtkCellRendererPixbuf {
6572    _data: [u8; 0],
6573    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6574}
6575
6576impl ::std::fmt::Debug for GtkCellRendererPixbuf {
6577    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6578        f.debug_struct(&format!("GtkCellRendererPixbuf @ {self:p}"))
6579            .finish()
6580    }
6581}
6582
6583#[repr(C)]
6584#[allow(dead_code)]
6585pub struct GtkCellRendererProgress {
6586    _data: [u8; 0],
6587    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6588}
6589
6590impl ::std::fmt::Debug for GtkCellRendererProgress {
6591    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6592        f.debug_struct(&format!("GtkCellRendererProgress @ {self:p}"))
6593            .finish()
6594    }
6595}
6596
6597#[repr(C)]
6598#[allow(dead_code)]
6599pub struct GtkCellRendererSpin {
6600    _data: [u8; 0],
6601    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6602}
6603
6604impl ::std::fmt::Debug for GtkCellRendererSpin {
6605    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6606        f.debug_struct(&format!("GtkCellRendererSpin @ {self:p}"))
6607            .finish()
6608    }
6609}
6610
6611#[repr(C)]
6612#[allow(dead_code)]
6613pub struct GtkCellRendererSpinner {
6614    _data: [u8; 0],
6615    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6616}
6617
6618impl ::std::fmt::Debug for GtkCellRendererSpinner {
6619    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6620        f.debug_struct(&format!("GtkCellRendererSpinner @ {self:p}"))
6621            .finish()
6622    }
6623}
6624
6625#[derive(Copy, Clone)]
6626#[repr(C)]
6627pub struct GtkCellRendererText {
6628    pub parent: GtkCellRenderer,
6629}
6630
6631impl ::std::fmt::Debug for GtkCellRendererText {
6632    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6633        f.debug_struct(&format!("GtkCellRendererText @ {self:p}"))
6634            .field("parent", &self.parent)
6635            .finish()
6636    }
6637}
6638
6639#[repr(C)]
6640#[allow(dead_code)]
6641pub struct GtkCellRendererToggle {
6642    _data: [u8; 0],
6643    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6644}
6645
6646impl ::std::fmt::Debug for GtkCellRendererToggle {
6647    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6648        f.debug_struct(&format!("GtkCellRendererToggle @ {self:p}"))
6649            .finish()
6650    }
6651}
6652
6653#[repr(C)]
6654#[allow(dead_code)]
6655pub struct GtkCellView {
6656    _data: [u8; 0],
6657    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6658}
6659
6660impl ::std::fmt::Debug for GtkCellView {
6661    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6662        f.debug_struct(&format!("GtkCellView @ {self:p}")).finish()
6663    }
6664}
6665
6666#[repr(C)]
6667#[allow(dead_code)]
6668pub struct GtkCenterBox {
6669    _data: [u8; 0],
6670    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6671}
6672
6673impl ::std::fmt::Debug for GtkCenterBox {
6674    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6675        f.debug_struct(&format!("GtkCenterBox @ {self:p}")).finish()
6676    }
6677}
6678
6679#[repr(C)]
6680#[allow(dead_code)]
6681pub struct GtkCenterLayout {
6682    _data: [u8; 0],
6683    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6684}
6685
6686impl ::std::fmt::Debug for GtkCenterLayout {
6687    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6688        f.debug_struct(&format!("GtkCenterLayout @ {self:p}"))
6689            .finish()
6690    }
6691}
6692
6693#[derive(Copy, Clone)]
6694#[repr(C)]
6695pub struct GtkCheckButton {
6696    pub parent_instance: GtkWidget,
6697}
6698
6699impl ::std::fmt::Debug for GtkCheckButton {
6700    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6701        f.debug_struct(&format!("GtkCheckButton @ {self:p}"))
6702            .field("parent_instance", &self.parent_instance)
6703            .finish()
6704    }
6705}
6706
6707#[repr(C)]
6708#[allow(dead_code)]
6709pub struct GtkClosureExpression {
6710    _data: [u8; 0],
6711    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6712}
6713
6714impl ::std::fmt::Debug for GtkClosureExpression {
6715    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6716        f.debug_struct(&format!("GtkClosureExpression @ {self:p}"))
6717            .finish()
6718    }
6719}
6720
6721#[repr(C)]
6722#[allow(dead_code)]
6723pub struct GtkColorButton {
6724    _data: [u8; 0],
6725    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6726}
6727
6728impl ::std::fmt::Debug for GtkColorButton {
6729    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6730        f.debug_struct(&format!("GtkColorButton @ {self:p}"))
6731            .finish()
6732    }
6733}
6734
6735#[repr(C)]
6736#[allow(dead_code)]
6737pub struct GtkColorChooserDialog {
6738    _data: [u8; 0],
6739    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6740}
6741
6742impl ::std::fmt::Debug for GtkColorChooserDialog {
6743    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6744        f.debug_struct(&format!("GtkColorChooserDialog @ {self:p}"))
6745            .finish()
6746    }
6747}
6748
6749#[repr(C)]
6750#[allow(dead_code)]
6751pub struct GtkColorChooserWidget {
6752    _data: [u8; 0],
6753    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6754}
6755
6756impl ::std::fmt::Debug for GtkColorChooserWidget {
6757    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6758        f.debug_struct(&format!("GtkColorChooserWidget @ {self:p}"))
6759            .finish()
6760    }
6761}
6762
6763#[repr(C)]
6764#[allow(dead_code)]
6765pub struct GtkColorDialog {
6766    _data: [u8; 0],
6767    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6768}
6769
6770impl ::std::fmt::Debug for GtkColorDialog {
6771    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6772        f.debug_struct(&format!("GtkColorDialog @ {self:p}"))
6773            .finish()
6774    }
6775}
6776
6777#[repr(C)]
6778#[allow(dead_code)]
6779pub struct GtkColorDialogButton {
6780    _data: [u8; 0],
6781    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6782}
6783
6784impl ::std::fmt::Debug for GtkColorDialogButton {
6785    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6786        f.debug_struct(&format!("GtkColorDialogButton @ {self:p}"))
6787            .finish()
6788    }
6789}
6790
6791#[repr(C)]
6792#[allow(dead_code)]
6793pub struct GtkColumnView {
6794    _data: [u8; 0],
6795    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6796}
6797
6798impl ::std::fmt::Debug for GtkColumnView {
6799    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6800        f.debug_struct(&format!("GtkColumnView @ {self:p}"))
6801            .finish()
6802    }
6803}
6804
6805#[repr(C)]
6806#[allow(dead_code)]
6807pub struct GtkColumnViewCell {
6808    _data: [u8; 0],
6809    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6810}
6811
6812impl ::std::fmt::Debug for GtkColumnViewCell {
6813    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6814        f.debug_struct(&format!("GtkColumnViewCell @ {self:p}"))
6815            .finish()
6816    }
6817}
6818
6819#[repr(C)]
6820#[allow(dead_code)]
6821pub struct GtkColumnViewColumn {
6822    _data: [u8; 0],
6823    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6824}
6825
6826impl ::std::fmt::Debug for GtkColumnViewColumn {
6827    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6828        f.debug_struct(&format!("GtkColumnViewColumn @ {self:p}"))
6829            .finish()
6830    }
6831}
6832
6833#[repr(C)]
6834#[allow(dead_code)]
6835pub struct GtkColumnViewRow {
6836    _data: [u8; 0],
6837    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6838}
6839
6840impl ::std::fmt::Debug for GtkColumnViewRow {
6841    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6842        f.debug_struct(&format!("GtkColumnViewRow @ {self:p}"))
6843            .finish()
6844    }
6845}
6846
6847#[repr(C)]
6848#[allow(dead_code)]
6849pub struct GtkColumnViewSorter {
6850    _data: [u8; 0],
6851    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6852}
6853
6854impl ::std::fmt::Debug for GtkColumnViewSorter {
6855    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6856        f.debug_struct(&format!("GtkColumnViewSorter @ {self:p}"))
6857            .finish()
6858    }
6859}
6860
6861#[derive(Copy, Clone)]
6862#[repr(C)]
6863pub struct GtkComboBox {
6864    pub parent_instance: GtkWidget,
6865}
6866
6867impl ::std::fmt::Debug for GtkComboBox {
6868    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6869        f.debug_struct(&format!("GtkComboBox @ {self:p}"))
6870            .field("parent_instance", &self.parent_instance)
6871            .finish()
6872    }
6873}
6874
6875#[repr(C)]
6876#[allow(dead_code)]
6877pub struct GtkComboBoxText {
6878    _data: [u8; 0],
6879    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6880}
6881
6882impl ::std::fmt::Debug for GtkComboBoxText {
6883    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6884        f.debug_struct(&format!("GtkComboBoxText @ {self:p}"))
6885            .finish()
6886    }
6887}
6888
6889#[repr(C)]
6890#[allow(dead_code)]
6891pub struct GtkConstantExpression {
6892    _data: [u8; 0],
6893    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6894}
6895
6896impl ::std::fmt::Debug for GtkConstantExpression {
6897    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6898        f.debug_struct(&format!("GtkConstantExpression @ {self:p}"))
6899            .finish()
6900    }
6901}
6902
6903#[repr(C)]
6904#[allow(dead_code)]
6905pub struct GtkConstraint {
6906    _data: [u8; 0],
6907    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6908}
6909
6910impl ::std::fmt::Debug for GtkConstraint {
6911    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6912        f.debug_struct(&format!("GtkConstraint @ {self:p}"))
6913            .finish()
6914    }
6915}
6916
6917#[repr(C)]
6918#[allow(dead_code)]
6919pub struct GtkConstraintGuide {
6920    _data: [u8; 0],
6921    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6922}
6923
6924impl ::std::fmt::Debug for GtkConstraintGuide {
6925    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6926        f.debug_struct(&format!("GtkConstraintGuide @ {self:p}"))
6927            .finish()
6928    }
6929}
6930
6931#[repr(C)]
6932#[allow(dead_code)]
6933pub struct GtkConstraintLayout {
6934    _data: [u8; 0],
6935    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6936}
6937
6938impl ::std::fmt::Debug for GtkConstraintLayout {
6939    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6940        f.debug_struct(&format!("GtkConstraintLayout @ {self:p}"))
6941            .finish()
6942    }
6943}
6944
6945#[repr(C)]
6946#[allow(dead_code)]
6947pub struct GtkConstraintLayoutChild {
6948    _data: [u8; 0],
6949    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6950}
6951
6952impl ::std::fmt::Debug for GtkConstraintLayoutChild {
6953    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6954        f.debug_struct(&format!("GtkConstraintLayoutChild @ {self:p}"))
6955            .finish()
6956    }
6957}
6958
6959#[derive(Copy, Clone)]
6960#[repr(C)]
6961pub struct GtkCssProvider {
6962    pub parent_instance: gobject::GObject,
6963}
6964
6965impl ::std::fmt::Debug for GtkCssProvider {
6966    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6967        f.debug_struct(&format!("GtkCssProvider @ {self:p}"))
6968            .field("parent_instance", &self.parent_instance)
6969            .finish()
6970    }
6971}
6972
6973#[repr(C)]
6974#[allow(dead_code)]
6975pub struct GtkCustomFilter {
6976    _data: [u8; 0],
6977    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6978}
6979
6980impl ::std::fmt::Debug for GtkCustomFilter {
6981    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6982        f.debug_struct(&format!("GtkCustomFilter @ {self:p}"))
6983            .finish()
6984    }
6985}
6986
6987#[repr(C)]
6988#[allow(dead_code)]
6989pub struct GtkCustomLayout {
6990    _data: [u8; 0],
6991    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6992}
6993
6994impl ::std::fmt::Debug for GtkCustomLayout {
6995    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6996        f.debug_struct(&format!("GtkCustomLayout @ {self:p}"))
6997            .finish()
6998    }
6999}
7000
7001#[repr(C)]
7002#[allow(dead_code)]
7003pub struct GtkCustomSorter {
7004    _data: [u8; 0],
7005    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7006}
7007
7008impl ::std::fmt::Debug for GtkCustomSorter {
7009    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7010        f.debug_struct(&format!("GtkCustomSorter @ {self:p}"))
7011            .finish()
7012    }
7013}
7014
7015#[derive(Copy, Clone)]
7016#[repr(C)]
7017pub struct GtkDialog {
7018    pub parent_instance: GtkWindow,
7019}
7020
7021impl ::std::fmt::Debug for GtkDialog {
7022    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7023        f.debug_struct(&format!("GtkDialog @ {self:p}"))
7024            .field("parent_instance", &self.parent_instance)
7025            .finish()
7026    }
7027}
7028
7029#[repr(C)]
7030#[allow(dead_code)]
7031pub struct GtkDirectoryList {
7032    _data: [u8; 0],
7033    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7034}
7035
7036impl ::std::fmt::Debug for GtkDirectoryList {
7037    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7038        f.debug_struct(&format!("GtkDirectoryList @ {self:p}"))
7039            .finish()
7040    }
7041}
7042
7043#[repr(C)]
7044#[allow(dead_code)]
7045pub struct GtkDragIcon {
7046    _data: [u8; 0],
7047    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7048}
7049
7050impl ::std::fmt::Debug for GtkDragIcon {
7051    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7052        f.debug_struct(&format!("GtkDragIcon @ {self:p}")).finish()
7053    }
7054}
7055
7056#[repr(C)]
7057#[allow(dead_code)]
7058pub struct GtkDragSource {
7059    _data: [u8; 0],
7060    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7061}
7062
7063impl ::std::fmt::Debug for GtkDragSource {
7064    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7065        f.debug_struct(&format!("GtkDragSource @ {self:p}"))
7066            .finish()
7067    }
7068}
7069
7070#[derive(Copy, Clone)]
7071#[repr(C)]
7072pub struct GtkDrawingArea {
7073    pub widget: GtkWidget,
7074}
7075
7076impl ::std::fmt::Debug for GtkDrawingArea {
7077    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7078        f.debug_struct(&format!("GtkDrawingArea @ {self:p}"))
7079            .field("widget", &self.widget)
7080            .finish()
7081    }
7082}
7083
7084#[repr(C)]
7085#[allow(dead_code)]
7086pub struct GtkDropControllerMotion {
7087    _data: [u8; 0],
7088    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7089}
7090
7091impl ::std::fmt::Debug for GtkDropControllerMotion {
7092    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7093        f.debug_struct(&format!("GtkDropControllerMotion @ {self:p}"))
7094            .finish()
7095    }
7096}
7097
7098#[repr(C)]
7099#[allow(dead_code)]
7100pub struct GtkDropDown {
7101    _data: [u8; 0],
7102    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7103}
7104
7105impl ::std::fmt::Debug for GtkDropDown {
7106    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7107        f.debug_struct(&format!("GtkDropDown @ {self:p}")).finish()
7108    }
7109}
7110
7111#[repr(C)]
7112#[allow(dead_code)]
7113pub struct GtkDropTarget {
7114    _data: [u8; 0],
7115    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7116}
7117
7118impl ::std::fmt::Debug for GtkDropTarget {
7119    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7120        f.debug_struct(&format!("GtkDropTarget @ {self:p}"))
7121            .finish()
7122    }
7123}
7124
7125#[repr(C)]
7126#[allow(dead_code)]
7127pub struct GtkDropTargetAsync {
7128    _data: [u8; 0],
7129    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7130}
7131
7132impl ::std::fmt::Debug for GtkDropTargetAsync {
7133    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7134        f.debug_struct(&format!("GtkDropTargetAsync @ {self:p}"))
7135            .finish()
7136    }
7137}
7138
7139#[repr(C)]
7140#[allow(dead_code)]
7141pub struct GtkEditableLabel {
7142    _data: [u8; 0],
7143    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7144}
7145
7146impl ::std::fmt::Debug for GtkEditableLabel {
7147    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7148        f.debug_struct(&format!("GtkEditableLabel @ {self:p}"))
7149            .finish()
7150    }
7151}
7152
7153#[repr(C)]
7154#[allow(dead_code)]
7155pub struct GtkEmojiChooser {
7156    _data: [u8; 0],
7157    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7158}
7159
7160impl ::std::fmt::Debug for GtkEmojiChooser {
7161    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7162        f.debug_struct(&format!("GtkEmojiChooser @ {self:p}"))
7163            .finish()
7164    }
7165}
7166
7167#[derive(Copy, Clone)]
7168#[repr(C)]
7169pub struct GtkEntry {
7170    pub parent_instance: GtkWidget,
7171}
7172
7173impl ::std::fmt::Debug for GtkEntry {
7174    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7175        f.debug_struct(&format!("GtkEntry @ {self:p}")).finish()
7176    }
7177}
7178
7179#[derive(Copy, Clone)]
7180#[repr(C)]
7181pub struct GtkEntryBuffer {
7182    pub parent_instance: gobject::GObject,
7183}
7184
7185impl ::std::fmt::Debug for GtkEntryBuffer {
7186    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7187        f.debug_struct(&format!("GtkEntryBuffer @ {self:p}"))
7188            .field("parent_instance", &self.parent_instance)
7189            .finish()
7190    }
7191}
7192
7193#[repr(C)]
7194#[allow(dead_code)]
7195pub struct GtkEntryCompletion {
7196    _data: [u8; 0],
7197    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7198}
7199
7200impl ::std::fmt::Debug for GtkEntryCompletion {
7201    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7202        f.debug_struct(&format!("GtkEntryCompletion @ {self:p}"))
7203            .finish()
7204    }
7205}
7206
7207#[repr(C)]
7208#[allow(dead_code)]
7209pub struct GtkEnumList {
7210    _data: [u8; 0],
7211    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7212}
7213
7214impl ::std::fmt::Debug for GtkEnumList {
7215    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7216        f.debug_struct(&format!("GtkEnumList @ {self:p}")).finish()
7217    }
7218}
7219
7220#[repr(C)]
7221#[allow(dead_code)]
7222pub struct GtkEnumListItem {
7223    _data: [u8; 0],
7224    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7225}
7226
7227impl ::std::fmt::Debug for GtkEnumListItem {
7228    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7229        f.debug_struct(&format!("GtkEnumListItem @ {self:p}"))
7230            .finish()
7231    }
7232}
7233
7234#[repr(C)]
7235#[allow(dead_code)]
7236pub struct GtkEventController {
7237    _data: [u8; 0],
7238    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7239}
7240
7241impl ::std::fmt::Debug for GtkEventController {
7242    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7243        f.debug_struct(&format!("GtkEventController @ {self:p}"))
7244            .finish()
7245    }
7246}
7247
7248#[repr(C)]
7249#[allow(dead_code)]
7250pub struct GtkEventControllerFocus {
7251    _data: [u8; 0],
7252    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7253}
7254
7255impl ::std::fmt::Debug for GtkEventControllerFocus {
7256    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7257        f.debug_struct(&format!("GtkEventControllerFocus @ {self:p}"))
7258            .finish()
7259    }
7260}
7261
7262#[repr(C)]
7263#[allow(dead_code)]
7264pub struct GtkEventControllerKey {
7265    _data: [u8; 0],
7266    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7267}
7268
7269impl ::std::fmt::Debug for GtkEventControllerKey {
7270    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7271        f.debug_struct(&format!("GtkEventControllerKey @ {self:p}"))
7272            .finish()
7273    }
7274}
7275
7276#[repr(C)]
7277#[allow(dead_code)]
7278pub struct GtkEventControllerLegacy {
7279    _data: [u8; 0],
7280    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7281}
7282
7283impl ::std::fmt::Debug for GtkEventControllerLegacy {
7284    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7285        f.debug_struct(&format!("GtkEventControllerLegacy @ {self:p}"))
7286            .finish()
7287    }
7288}
7289
7290#[repr(C)]
7291#[allow(dead_code)]
7292pub struct GtkEventControllerMotion {
7293    _data: [u8; 0],
7294    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7295}
7296
7297impl ::std::fmt::Debug for GtkEventControllerMotion {
7298    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7299        f.debug_struct(&format!("GtkEventControllerMotion @ {self:p}"))
7300            .finish()
7301    }
7302}
7303
7304#[repr(C)]
7305#[allow(dead_code)]
7306pub struct GtkEventControllerScroll {
7307    _data: [u8; 0],
7308    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7309}
7310
7311impl ::std::fmt::Debug for GtkEventControllerScroll {
7312    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7313        f.debug_struct(&format!("GtkEventControllerScroll @ {self:p}"))
7314            .finish()
7315    }
7316}
7317
7318#[repr(C)]
7319#[allow(dead_code)]
7320pub struct GtkEveryFilter {
7321    _data: [u8; 0],
7322    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7323}
7324
7325impl ::std::fmt::Debug for GtkEveryFilter {
7326    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7327        f.debug_struct(&format!("GtkEveryFilter @ {self:p}"))
7328            .finish()
7329    }
7330}
7331
7332#[repr(C)]
7333#[allow(dead_code)]
7334pub struct GtkExpander {
7335    _data: [u8; 0],
7336    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7337}
7338
7339impl ::std::fmt::Debug for GtkExpander {
7340    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7341        f.debug_struct(&format!("GtkExpander @ {self:p}")).finish()
7342    }
7343}
7344
7345#[repr(C)]
7346#[allow(dead_code)]
7347pub struct GtkExpression {
7348    _data: [u8; 0],
7349    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7350}
7351
7352impl ::std::fmt::Debug for GtkExpression {
7353    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7354        f.debug_struct(&format!("GtkExpression @ {self:p}"))
7355            .finish()
7356    }
7357}
7358
7359#[repr(C)]
7360#[allow(dead_code)]
7361pub struct GtkFileChooserDialog {
7362    _data: [u8; 0],
7363    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7364}
7365
7366impl ::std::fmt::Debug for GtkFileChooserDialog {
7367    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7368        f.debug_struct(&format!("GtkFileChooserDialog @ {self:p}"))
7369            .finish()
7370    }
7371}
7372
7373#[repr(C)]
7374#[allow(dead_code)]
7375pub struct GtkFileChooserNative {
7376    _data: [u8; 0],
7377    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7378}
7379
7380impl ::std::fmt::Debug for GtkFileChooserNative {
7381    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7382        f.debug_struct(&format!("GtkFileChooserNative @ {self:p}"))
7383            .finish()
7384    }
7385}
7386
7387#[repr(C)]
7388#[allow(dead_code)]
7389pub struct GtkFileChooserWidget {
7390    _data: [u8; 0],
7391    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7392}
7393
7394impl ::std::fmt::Debug for GtkFileChooserWidget {
7395    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7396        f.debug_struct(&format!("GtkFileChooserWidget @ {self:p}"))
7397            .finish()
7398    }
7399}
7400
7401#[repr(C)]
7402#[allow(dead_code)]
7403pub struct GtkFileDialog {
7404    _data: [u8; 0],
7405    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7406}
7407
7408impl ::std::fmt::Debug for GtkFileDialog {
7409    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7410        f.debug_struct(&format!("GtkFileDialog @ {self:p}"))
7411            .finish()
7412    }
7413}
7414
7415#[repr(C)]
7416#[allow(dead_code)]
7417pub struct GtkFileFilter {
7418    _data: [u8; 0],
7419    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7420}
7421
7422impl ::std::fmt::Debug for GtkFileFilter {
7423    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7424        f.debug_struct(&format!("GtkFileFilter @ {self:p}"))
7425            .finish()
7426    }
7427}
7428
7429#[repr(C)]
7430#[allow(dead_code)]
7431pub struct GtkFileLauncher {
7432    _data: [u8; 0],
7433    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7434}
7435
7436impl ::std::fmt::Debug for GtkFileLauncher {
7437    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7438        f.debug_struct(&format!("GtkFileLauncher @ {self:p}"))
7439            .finish()
7440    }
7441}
7442
7443#[derive(Copy, Clone)]
7444#[repr(C)]
7445pub struct GtkFilter {
7446    pub parent_instance: gobject::GObject,
7447}
7448
7449impl ::std::fmt::Debug for GtkFilter {
7450    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7451        f.debug_struct(&format!("GtkFilter @ {self:p}"))
7452            .field("parent_instance", &self.parent_instance)
7453            .finish()
7454    }
7455}
7456
7457#[repr(C)]
7458#[allow(dead_code)]
7459pub struct GtkFilterListModel {
7460    _data: [u8; 0],
7461    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7462}
7463
7464impl ::std::fmt::Debug for GtkFilterListModel {
7465    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7466        f.debug_struct(&format!("GtkFilterListModel @ {self:p}"))
7467            .finish()
7468    }
7469}
7470
7471#[derive(Copy, Clone)]
7472#[repr(C)]
7473pub struct GtkFixed {
7474    pub parent_instance: GtkWidget,
7475}
7476
7477impl ::std::fmt::Debug for GtkFixed {
7478    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7479        f.debug_struct(&format!("GtkFixed @ {self:p}"))
7480            .field("parent_instance", &self.parent_instance)
7481            .finish()
7482    }
7483}
7484
7485#[repr(C)]
7486#[allow(dead_code)]
7487pub struct GtkFixedLayout {
7488    _data: [u8; 0],
7489    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7490}
7491
7492impl ::std::fmt::Debug for GtkFixedLayout {
7493    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7494        f.debug_struct(&format!("GtkFixedLayout @ {self:p}"))
7495            .finish()
7496    }
7497}
7498
7499#[repr(C)]
7500#[allow(dead_code)]
7501pub struct GtkFixedLayoutChild {
7502    _data: [u8; 0],
7503    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7504}
7505
7506impl ::std::fmt::Debug for GtkFixedLayoutChild {
7507    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7508        f.debug_struct(&format!("GtkFixedLayoutChild @ {self:p}"))
7509            .finish()
7510    }
7511}
7512
7513#[repr(C)]
7514#[allow(dead_code)]
7515pub struct GtkFlattenListModel {
7516    _data: [u8; 0],
7517    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7518}
7519
7520impl ::std::fmt::Debug for GtkFlattenListModel {
7521    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7522        f.debug_struct(&format!("GtkFlattenListModel @ {self:p}"))
7523            .finish()
7524    }
7525}
7526
7527#[repr(C)]
7528#[allow(dead_code)]
7529pub struct GtkFlowBox {
7530    _data: [u8; 0],
7531    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7532}
7533
7534impl ::std::fmt::Debug for GtkFlowBox {
7535    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7536        f.debug_struct(&format!("GtkFlowBox @ {self:p}")).finish()
7537    }
7538}
7539
7540#[derive(Copy, Clone)]
7541#[repr(C)]
7542pub struct GtkFlowBoxChild {
7543    pub parent_instance: GtkWidget,
7544}
7545
7546impl ::std::fmt::Debug for GtkFlowBoxChild {
7547    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7548        f.debug_struct(&format!("GtkFlowBoxChild @ {self:p}"))
7549            .finish()
7550    }
7551}
7552
7553#[repr(C)]
7554#[allow(dead_code)]
7555pub struct GtkFontButton {
7556    _data: [u8; 0],
7557    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7558}
7559
7560impl ::std::fmt::Debug for GtkFontButton {
7561    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7562        f.debug_struct(&format!("GtkFontButton @ {self:p}"))
7563            .finish()
7564    }
7565}
7566
7567#[repr(C)]
7568#[allow(dead_code)]
7569pub struct GtkFontChooserDialog {
7570    _data: [u8; 0],
7571    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7572}
7573
7574impl ::std::fmt::Debug for GtkFontChooserDialog {
7575    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7576        f.debug_struct(&format!("GtkFontChooserDialog @ {self:p}"))
7577            .finish()
7578    }
7579}
7580
7581#[repr(C)]
7582#[allow(dead_code)]
7583pub struct GtkFontChooserWidget {
7584    _data: [u8; 0],
7585    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7586}
7587
7588impl ::std::fmt::Debug for GtkFontChooserWidget {
7589    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7590        f.debug_struct(&format!("GtkFontChooserWidget @ {self:p}"))
7591            .finish()
7592    }
7593}
7594
7595#[repr(C)]
7596#[allow(dead_code)]
7597pub struct GtkFontDialog {
7598    _data: [u8; 0],
7599    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7600}
7601
7602impl ::std::fmt::Debug for GtkFontDialog {
7603    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7604        f.debug_struct(&format!("GtkFontDialog @ {self:p}"))
7605            .finish()
7606    }
7607}
7608
7609#[repr(C)]
7610#[allow(dead_code)]
7611pub struct GtkFontDialogButton {
7612    _data: [u8; 0],
7613    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7614}
7615
7616impl ::std::fmt::Debug for GtkFontDialogButton {
7617    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7618        f.debug_struct(&format!("GtkFontDialogButton @ {self:p}"))
7619            .finish()
7620    }
7621}
7622
7623#[derive(Copy, Clone)]
7624#[repr(C)]
7625pub struct GtkFrame {
7626    pub parent_instance: GtkWidget,
7627}
7628
7629impl ::std::fmt::Debug for GtkFrame {
7630    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7631        f.debug_struct(&format!("GtkFrame @ {self:p}"))
7632            .field("parent_instance", &self.parent_instance)
7633            .finish()
7634    }
7635}
7636
7637#[derive(Copy, Clone)]
7638#[repr(C)]
7639pub struct GtkGLArea {
7640    pub parent_instance: GtkWidget,
7641}
7642
7643impl ::std::fmt::Debug for GtkGLArea {
7644    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7645        f.debug_struct(&format!("GtkGLArea @ {self:p}")).finish()
7646    }
7647}
7648
7649#[repr(C)]
7650#[allow(dead_code)]
7651pub struct GtkGesture {
7652    _data: [u8; 0],
7653    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7654}
7655
7656impl ::std::fmt::Debug for GtkGesture {
7657    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7658        f.debug_struct(&format!("GtkGesture @ {self:p}")).finish()
7659    }
7660}
7661
7662#[repr(C)]
7663#[allow(dead_code)]
7664pub struct GtkGestureClick {
7665    _data: [u8; 0],
7666    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7667}
7668
7669impl ::std::fmt::Debug for GtkGestureClick {
7670    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7671        f.debug_struct(&format!("GtkGestureClick @ {self:p}"))
7672            .finish()
7673    }
7674}
7675
7676#[repr(C)]
7677#[allow(dead_code)]
7678pub struct GtkGestureDrag {
7679    _data: [u8; 0],
7680    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7681}
7682
7683impl ::std::fmt::Debug for GtkGestureDrag {
7684    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7685        f.debug_struct(&format!("GtkGestureDrag @ {self:p}"))
7686            .finish()
7687    }
7688}
7689
7690#[repr(C)]
7691#[allow(dead_code)]
7692pub struct GtkGestureLongPress {
7693    _data: [u8; 0],
7694    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7695}
7696
7697impl ::std::fmt::Debug for GtkGestureLongPress {
7698    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7699        f.debug_struct(&format!("GtkGestureLongPress @ {self:p}"))
7700            .finish()
7701    }
7702}
7703
7704#[repr(C)]
7705#[allow(dead_code)]
7706pub struct GtkGesturePan {
7707    _data: [u8; 0],
7708    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7709}
7710
7711impl ::std::fmt::Debug for GtkGesturePan {
7712    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7713        f.debug_struct(&format!("GtkGesturePan @ {self:p}"))
7714            .finish()
7715    }
7716}
7717
7718#[repr(C)]
7719#[allow(dead_code)]
7720pub struct GtkGestureRotate {
7721    _data: [u8; 0],
7722    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7723}
7724
7725impl ::std::fmt::Debug for GtkGestureRotate {
7726    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7727        f.debug_struct(&format!("GtkGestureRotate @ {self:p}"))
7728            .finish()
7729    }
7730}
7731
7732#[repr(C)]
7733#[allow(dead_code)]
7734pub struct GtkGestureSingle {
7735    _data: [u8; 0],
7736    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7737}
7738
7739impl ::std::fmt::Debug for GtkGestureSingle {
7740    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7741        f.debug_struct(&format!("GtkGestureSingle @ {self:p}"))
7742            .finish()
7743    }
7744}
7745
7746#[repr(C)]
7747#[allow(dead_code)]
7748pub struct GtkGestureStylus {
7749    _data: [u8; 0],
7750    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7751}
7752
7753impl ::std::fmt::Debug for GtkGestureStylus {
7754    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7755        f.debug_struct(&format!("GtkGestureStylus @ {self:p}"))
7756            .finish()
7757    }
7758}
7759
7760#[repr(C)]
7761#[allow(dead_code)]
7762pub struct GtkGestureSwipe {
7763    _data: [u8; 0],
7764    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7765}
7766
7767impl ::std::fmt::Debug for GtkGestureSwipe {
7768    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7769        f.debug_struct(&format!("GtkGestureSwipe @ {self:p}"))
7770            .finish()
7771    }
7772}
7773
7774#[repr(C)]
7775#[allow(dead_code)]
7776pub struct GtkGestureZoom {
7777    _data: [u8; 0],
7778    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7779}
7780
7781impl ::std::fmt::Debug for GtkGestureZoom {
7782    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7783        f.debug_struct(&format!("GtkGestureZoom @ {self:p}"))
7784            .finish()
7785    }
7786}
7787
7788#[repr(C)]
7789#[allow(dead_code)]
7790pub struct GtkGraphicsOffload {
7791    _data: [u8; 0],
7792    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7793}
7794
7795impl ::std::fmt::Debug for GtkGraphicsOffload {
7796    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7797        f.debug_struct(&format!("GtkGraphicsOffload @ {self:p}"))
7798            .finish()
7799    }
7800}
7801
7802#[derive(Copy, Clone)]
7803#[repr(C)]
7804pub struct GtkGrid {
7805    pub parent_instance: GtkWidget,
7806}
7807
7808impl ::std::fmt::Debug for GtkGrid {
7809    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7810        f.debug_struct(&format!("GtkGrid @ {self:p}")).finish()
7811    }
7812}
7813
7814#[repr(C)]
7815#[allow(dead_code)]
7816pub struct GtkGridLayout {
7817    _data: [u8; 0],
7818    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7819}
7820
7821impl ::std::fmt::Debug for GtkGridLayout {
7822    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7823        f.debug_struct(&format!("GtkGridLayout @ {self:p}"))
7824            .finish()
7825    }
7826}
7827
7828#[repr(C)]
7829#[allow(dead_code)]
7830pub struct GtkGridLayoutChild {
7831    _data: [u8; 0],
7832    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7833}
7834
7835impl ::std::fmt::Debug for GtkGridLayoutChild {
7836    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7837        f.debug_struct(&format!("GtkGridLayoutChild @ {self:p}"))
7838            .finish()
7839    }
7840}
7841
7842#[repr(C)]
7843#[allow(dead_code)]
7844pub struct GtkGridView {
7845    _data: [u8; 0],
7846    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7847}
7848
7849impl ::std::fmt::Debug for GtkGridView {
7850    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7851        f.debug_struct(&format!("GtkGridView @ {self:p}")).finish()
7852    }
7853}
7854
7855#[repr(C)]
7856#[allow(dead_code)]
7857pub struct GtkHeaderBar {
7858    _data: [u8; 0],
7859    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7860}
7861
7862impl ::std::fmt::Debug for GtkHeaderBar {
7863    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7864        f.debug_struct(&format!("GtkHeaderBar @ {self:p}")).finish()
7865    }
7866}
7867
7868#[derive(Copy, Clone)]
7869#[repr(C)]
7870pub struct GtkIMContext {
7871    pub parent_instance: gobject::GObject,
7872}
7873
7874impl ::std::fmt::Debug for GtkIMContext {
7875    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7876        f.debug_struct(&format!("GtkIMContext @ {self:p}"))
7877            .field("parent_instance", &self.parent_instance)
7878            .finish()
7879    }
7880}
7881
7882#[derive(Copy, Clone)]
7883#[repr(C)]
7884pub struct GtkIMContextSimple {
7885    pub object: GtkIMContext,
7886    pub priv_: *mut GtkIMContextSimplePrivate,
7887}
7888
7889impl ::std::fmt::Debug for GtkIMContextSimple {
7890    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7891        f.debug_struct(&format!("GtkIMContextSimple @ {self:p}"))
7892            .field("object", &self.object)
7893            .finish()
7894    }
7895}
7896
7897#[derive(Copy, Clone)]
7898#[repr(C)]
7899pub struct GtkIMMulticontext {
7900    pub object: GtkIMContext,
7901    pub priv_: *mut GtkIMMulticontextPrivate,
7902}
7903
7904impl ::std::fmt::Debug for GtkIMMulticontext {
7905    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7906        f.debug_struct(&format!("GtkIMMulticontext @ {self:p}"))
7907            .field("object", &self.object)
7908            .finish()
7909    }
7910}
7911
7912#[repr(C)]
7913#[allow(dead_code)]
7914pub struct GtkIconPaintable {
7915    _data: [u8; 0],
7916    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7917}
7918
7919impl ::std::fmt::Debug for GtkIconPaintable {
7920    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7921        f.debug_struct(&format!("GtkIconPaintable @ {self:p}"))
7922            .finish()
7923    }
7924}
7925
7926#[repr(C)]
7927#[allow(dead_code)]
7928pub struct GtkIconTheme {
7929    _data: [u8; 0],
7930    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7931}
7932
7933impl ::std::fmt::Debug for GtkIconTheme {
7934    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7935        f.debug_struct(&format!("GtkIconTheme @ {self:p}")).finish()
7936    }
7937}
7938
7939#[repr(C)]
7940#[allow(dead_code)]
7941pub struct GtkIconView {
7942    _data: [u8; 0],
7943    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7944}
7945
7946impl ::std::fmt::Debug for GtkIconView {
7947    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7948        f.debug_struct(&format!("GtkIconView @ {self:p}")).finish()
7949    }
7950}
7951
7952#[repr(C)]
7953#[allow(dead_code)]
7954pub struct GtkImage {
7955    _data: [u8; 0],
7956    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7957}
7958
7959impl ::std::fmt::Debug for GtkImage {
7960    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7961        f.debug_struct(&format!("GtkImage @ {self:p}")).finish()
7962    }
7963}
7964
7965#[repr(C)]
7966#[allow(dead_code)]
7967pub struct GtkInfoBar {
7968    _data: [u8; 0],
7969    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7970}
7971
7972impl ::std::fmt::Debug for GtkInfoBar {
7973    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7974        f.debug_struct(&format!("GtkInfoBar @ {self:p}")).finish()
7975    }
7976}
7977
7978#[repr(C)]
7979#[allow(dead_code)]
7980pub struct GtkInscription {
7981    _data: [u8; 0],
7982    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7983}
7984
7985impl ::std::fmt::Debug for GtkInscription {
7986    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7987        f.debug_struct(&format!("GtkInscription @ {self:p}"))
7988            .finish()
7989    }
7990}
7991
7992#[repr(C)]
7993#[allow(dead_code)]
7994pub struct GtkKeyvalTrigger {
7995    _data: [u8; 0],
7996    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7997}
7998
7999impl ::std::fmt::Debug for GtkKeyvalTrigger {
8000    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8001        f.debug_struct(&format!("GtkKeyvalTrigger @ {self:p}"))
8002            .finish()
8003    }
8004}
8005
8006#[repr(C)]
8007#[allow(dead_code)]
8008pub struct GtkLabel {
8009    _data: [u8; 0],
8010    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8011}
8012
8013impl ::std::fmt::Debug for GtkLabel {
8014    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8015        f.debug_struct(&format!("GtkLabel @ {self:p}")).finish()
8016    }
8017}
8018
8019#[derive(Copy, Clone)]
8020#[repr(C)]
8021pub struct GtkLayoutChild {
8022    pub parent_instance: gobject::GObject,
8023}
8024
8025impl ::std::fmt::Debug for GtkLayoutChild {
8026    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8027        f.debug_struct(&format!("GtkLayoutChild @ {self:p}"))
8028            .field("parent_instance", &self.parent_instance)
8029            .finish()
8030    }
8031}
8032
8033#[derive(Copy, Clone)]
8034#[repr(C)]
8035pub struct GtkLayoutManager {
8036    pub parent_instance: gobject::GObject,
8037}
8038
8039impl ::std::fmt::Debug for GtkLayoutManager {
8040    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8041        f.debug_struct(&format!("GtkLayoutManager @ {self:p}"))
8042            .field("parent_instance", &self.parent_instance)
8043            .finish()
8044    }
8045}
8046
8047#[repr(C)]
8048#[allow(dead_code)]
8049pub struct GtkLevelBar {
8050    _data: [u8; 0],
8051    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8052}
8053
8054impl ::std::fmt::Debug for GtkLevelBar {
8055    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8056        f.debug_struct(&format!("GtkLevelBar @ {self:p}")).finish()
8057    }
8058}
8059
8060#[repr(C)]
8061#[allow(dead_code)]
8062pub struct GtkLinkButton {
8063    _data: [u8; 0],
8064    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8065}
8066
8067impl ::std::fmt::Debug for GtkLinkButton {
8068    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8069        f.debug_struct(&format!("GtkLinkButton @ {self:p}"))
8070            .finish()
8071    }
8072}
8073
8074#[repr(C)]
8075#[allow(dead_code)]
8076pub struct GtkListBase {
8077    _data: [u8; 0],
8078    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8079}
8080
8081impl ::std::fmt::Debug for GtkListBase {
8082    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8083        f.debug_struct(&format!("GtkListBase @ {self:p}")).finish()
8084    }
8085}
8086
8087#[repr(C)]
8088#[allow(dead_code)]
8089pub struct GtkListBox {
8090    _data: [u8; 0],
8091    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8092}
8093
8094impl ::std::fmt::Debug for GtkListBox {
8095    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8096        f.debug_struct(&format!("GtkListBox @ {self:p}")).finish()
8097    }
8098}
8099
8100#[derive(Copy, Clone)]
8101#[repr(C)]
8102pub struct GtkListBoxRow {
8103    pub parent_instance: GtkWidget,
8104}
8105
8106impl ::std::fmt::Debug for GtkListBoxRow {
8107    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8108        f.debug_struct(&format!("GtkListBoxRow @ {self:p}"))
8109            .field("parent_instance", &self.parent_instance)
8110            .finish()
8111    }
8112}
8113
8114#[repr(C)]
8115#[allow(dead_code)]
8116pub struct GtkListHeader {
8117    _data: [u8; 0],
8118    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8119}
8120
8121impl ::std::fmt::Debug for GtkListHeader {
8122    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8123        f.debug_struct(&format!("GtkListHeader @ {self:p}"))
8124            .finish()
8125    }
8126}
8127
8128#[repr(C)]
8129#[allow(dead_code)]
8130pub struct GtkListItem {
8131    _data: [u8; 0],
8132    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8133}
8134
8135impl ::std::fmt::Debug for GtkListItem {
8136    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8137        f.debug_struct(&format!("GtkListItem @ {self:p}")).finish()
8138    }
8139}
8140
8141#[repr(C)]
8142#[allow(dead_code)]
8143pub struct GtkListItemFactory {
8144    _data: [u8; 0],
8145    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8146}
8147
8148impl ::std::fmt::Debug for GtkListItemFactory {
8149    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8150        f.debug_struct(&format!("GtkListItemFactory @ {self:p}"))
8151            .finish()
8152    }
8153}
8154
8155#[derive(Copy, Clone)]
8156#[repr(C)]
8157pub struct GtkListStore {
8158    pub parent: gobject::GObject,
8159    pub priv_: *mut GtkListStorePrivate,
8160}
8161
8162impl ::std::fmt::Debug for GtkListStore {
8163    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8164        f.debug_struct(&format!("GtkListStore @ {self:p}"))
8165            .field("parent", &self.parent)
8166            .finish()
8167    }
8168}
8169
8170#[repr(C)]
8171#[allow(dead_code)]
8172pub struct GtkListView {
8173    _data: [u8; 0],
8174    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8175}
8176
8177impl ::std::fmt::Debug for GtkListView {
8178    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8179        f.debug_struct(&format!("GtkListView @ {self:p}")).finish()
8180    }
8181}
8182
8183#[repr(C)]
8184#[allow(dead_code)]
8185pub struct GtkLockButton {
8186    _data: [u8; 0],
8187    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8188}
8189
8190impl ::std::fmt::Debug for GtkLockButton {
8191    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8192        f.debug_struct(&format!("GtkLockButton @ {self:p}"))
8193            .finish()
8194    }
8195}
8196
8197#[repr(C)]
8198#[allow(dead_code)]
8199pub struct GtkMapListModel {
8200    _data: [u8; 0],
8201    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8202}
8203
8204impl ::std::fmt::Debug for GtkMapListModel {
8205    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8206        f.debug_struct(&format!("GtkMapListModel @ {self:p}"))
8207            .finish()
8208    }
8209}
8210
8211#[repr(C)]
8212#[allow(dead_code)]
8213pub struct GtkMediaControls {
8214    _data: [u8; 0],
8215    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8216}
8217
8218impl ::std::fmt::Debug for GtkMediaControls {
8219    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8220        f.debug_struct(&format!("GtkMediaControls @ {self:p}"))
8221            .finish()
8222    }
8223}
8224
8225#[derive(Copy, Clone)]
8226#[repr(C)]
8227pub struct GtkMediaFile {
8228    pub parent_instance: GtkMediaStream,
8229}
8230
8231impl ::std::fmt::Debug for GtkMediaFile {
8232    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8233        f.debug_struct(&format!("GtkMediaFile @ {self:p}"))
8234            .field("parent_instance", &self.parent_instance)
8235            .finish()
8236    }
8237}
8238
8239#[derive(Copy, Clone)]
8240#[repr(C)]
8241pub struct GtkMediaStream {
8242    pub parent_instance: gobject::GObject,
8243}
8244
8245impl ::std::fmt::Debug for GtkMediaStream {
8246    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8247        f.debug_struct(&format!("GtkMediaStream @ {self:p}"))
8248            .field("parent_instance", &self.parent_instance)
8249            .finish()
8250    }
8251}
8252
8253#[repr(C)]
8254#[allow(dead_code)]
8255pub struct GtkMenuButton {
8256    _data: [u8; 0],
8257    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8258}
8259
8260impl ::std::fmt::Debug for GtkMenuButton {
8261    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8262        f.debug_struct(&format!("GtkMenuButton @ {self:p}"))
8263            .finish()
8264    }
8265}
8266
8267#[derive(Copy, Clone)]
8268#[repr(C)]
8269pub struct GtkMessageDialog {
8270    pub parent_instance: GtkDialog,
8271}
8272
8273impl ::std::fmt::Debug for GtkMessageDialog {
8274    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8275        f.debug_struct(&format!("GtkMessageDialog @ {self:p}"))
8276            .field("parent_instance", &self.parent_instance)
8277            .finish()
8278    }
8279}
8280
8281#[repr(C)]
8282#[allow(dead_code)]
8283pub struct GtkMnemonicAction {
8284    _data: [u8; 0],
8285    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8286}
8287
8288impl ::std::fmt::Debug for GtkMnemonicAction {
8289    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8290        f.debug_struct(&format!("GtkMnemonicAction @ {self:p}"))
8291            .finish()
8292    }
8293}
8294
8295#[repr(C)]
8296#[allow(dead_code)]
8297pub struct GtkMnemonicTrigger {
8298    _data: [u8; 0],
8299    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8300}
8301
8302impl ::std::fmt::Debug for GtkMnemonicTrigger {
8303    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8304        f.debug_struct(&format!("GtkMnemonicTrigger @ {self:p}"))
8305            .finish()
8306    }
8307}
8308
8309#[derive(Copy, Clone)]
8310#[repr(C)]
8311pub struct GtkMountOperation {
8312    pub parent_instance: gio::GMountOperation,
8313    pub priv_: *mut GtkMountOperationPrivate,
8314}
8315
8316impl ::std::fmt::Debug for GtkMountOperation {
8317    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8318        f.debug_struct(&format!("GtkMountOperation @ {self:p}"))
8319            .field("parent_instance", &self.parent_instance)
8320            .field("priv_", &self.priv_)
8321            .finish()
8322    }
8323}
8324
8325#[repr(C)]
8326#[allow(dead_code)]
8327pub struct GtkMultiFilter {
8328    _data: [u8; 0],
8329    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8330}
8331
8332impl ::std::fmt::Debug for GtkMultiFilter {
8333    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8334        f.debug_struct(&format!("GtkMultiFilter @ {self:p}"))
8335            .finish()
8336    }
8337}
8338
8339#[repr(C)]
8340#[allow(dead_code)]
8341pub struct GtkMultiSelection {
8342    _data: [u8; 0],
8343    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8344}
8345
8346impl ::std::fmt::Debug for GtkMultiSelection {
8347    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8348        f.debug_struct(&format!("GtkMultiSelection @ {self:p}"))
8349            .finish()
8350    }
8351}
8352
8353#[repr(C)]
8354#[allow(dead_code)]
8355pub struct GtkMultiSorter {
8356    _data: [u8; 0],
8357    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8358}
8359
8360impl ::std::fmt::Debug for GtkMultiSorter {
8361    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8362        f.debug_struct(&format!("GtkMultiSorter @ {self:p}"))
8363            .finish()
8364    }
8365}
8366
8367#[repr(C)]
8368#[allow(dead_code)]
8369pub struct GtkNamedAction {
8370    _data: [u8; 0],
8371    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8372}
8373
8374impl ::std::fmt::Debug for GtkNamedAction {
8375    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8376        f.debug_struct(&format!("GtkNamedAction @ {self:p}"))
8377            .finish()
8378    }
8379}
8380
8381#[derive(Copy, Clone)]
8382#[repr(C)]
8383pub struct GtkNativeDialog {
8384    pub parent_instance: gobject::GObject,
8385}
8386
8387impl ::std::fmt::Debug for GtkNativeDialog {
8388    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8389        f.debug_struct(&format!("GtkNativeDialog @ {self:p}"))
8390            .field("parent_instance", &self.parent_instance)
8391            .finish()
8392    }
8393}
8394
8395#[repr(C)]
8396#[allow(dead_code)]
8397pub struct GtkNeverTrigger {
8398    _data: [u8; 0],
8399    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8400}
8401
8402impl ::std::fmt::Debug for GtkNeverTrigger {
8403    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8404        f.debug_struct(&format!("GtkNeverTrigger @ {self:p}"))
8405            .finish()
8406    }
8407}
8408
8409#[repr(C)]
8410#[allow(dead_code)]
8411pub struct GtkNoSelection {
8412    _data: [u8; 0],
8413    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8414}
8415
8416impl ::std::fmt::Debug for GtkNoSelection {
8417    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8418        f.debug_struct(&format!("GtkNoSelection @ {self:p}"))
8419            .finish()
8420    }
8421}
8422
8423#[repr(C)]
8424#[allow(dead_code)]
8425pub struct GtkNotebook {
8426    _data: [u8; 0],
8427    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8428}
8429
8430impl ::std::fmt::Debug for GtkNotebook {
8431    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8432        f.debug_struct(&format!("GtkNotebook @ {self:p}")).finish()
8433    }
8434}
8435
8436#[repr(C)]
8437#[allow(dead_code)]
8438pub struct GtkNotebookPage {
8439    _data: [u8; 0],
8440    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8441}
8442
8443impl ::std::fmt::Debug for GtkNotebookPage {
8444    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8445        f.debug_struct(&format!("GtkNotebookPage @ {self:p}"))
8446            .finish()
8447    }
8448}
8449
8450#[repr(C)]
8451#[allow(dead_code)]
8452pub struct GtkNothingAction {
8453    _data: [u8; 0],
8454    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8455}
8456
8457impl ::std::fmt::Debug for GtkNothingAction {
8458    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8459        f.debug_struct(&format!("GtkNothingAction @ {self:p}"))
8460            .finish()
8461    }
8462}
8463
8464#[repr(C)]
8465#[allow(dead_code)]
8466pub struct GtkNumericSorter {
8467    _data: [u8; 0],
8468    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8469}
8470
8471impl ::std::fmt::Debug for GtkNumericSorter {
8472    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8473        f.debug_struct(&format!("GtkNumericSorter @ {self:p}"))
8474            .finish()
8475    }
8476}
8477
8478#[repr(C)]
8479#[allow(dead_code)]
8480pub struct GtkObjectExpression {
8481    _data: [u8; 0],
8482    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8483}
8484
8485impl ::std::fmt::Debug for GtkObjectExpression {
8486    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8487        f.debug_struct(&format!("GtkObjectExpression @ {self:p}"))
8488            .finish()
8489    }
8490}
8491
8492#[repr(C)]
8493#[allow(dead_code)]
8494pub struct GtkOverlay {
8495    _data: [u8; 0],
8496    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8497}
8498
8499impl ::std::fmt::Debug for GtkOverlay {
8500    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8501        f.debug_struct(&format!("GtkOverlay @ {self:p}")).finish()
8502    }
8503}
8504
8505#[repr(C)]
8506#[allow(dead_code)]
8507pub struct GtkOverlayLayout {
8508    _data: [u8; 0],
8509    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8510}
8511
8512impl ::std::fmt::Debug for GtkOverlayLayout {
8513    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8514        f.debug_struct(&format!("GtkOverlayLayout @ {self:p}"))
8515            .finish()
8516    }
8517}
8518
8519#[repr(C)]
8520#[allow(dead_code)]
8521pub struct GtkOverlayLayoutChild {
8522    _data: [u8; 0],
8523    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8524}
8525
8526impl ::std::fmt::Debug for GtkOverlayLayoutChild {
8527    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8528        f.debug_struct(&format!("GtkOverlayLayoutChild @ {self:p}"))
8529            .finish()
8530    }
8531}
8532
8533#[repr(C)]
8534#[allow(dead_code)]
8535pub struct GtkPadController {
8536    _data: [u8; 0],
8537    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8538}
8539
8540impl ::std::fmt::Debug for GtkPadController {
8541    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8542        f.debug_struct(&format!("GtkPadController @ {self:p}"))
8543            .finish()
8544    }
8545}
8546
8547#[repr(C)]
8548#[allow(dead_code)]
8549pub struct GtkPageSetup {
8550    _data: [u8; 0],
8551    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8552}
8553
8554impl ::std::fmt::Debug for GtkPageSetup {
8555    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8556        f.debug_struct(&format!("GtkPageSetup @ {self:p}")).finish()
8557    }
8558}
8559
8560#[repr(C)]
8561#[allow(dead_code)]
8562pub struct GtkPageSetupUnixDialog {
8563    _data: [u8; 0],
8564    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8565}
8566
8567impl ::std::fmt::Debug for GtkPageSetupUnixDialog {
8568    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8569        f.debug_struct(&format!("GtkPageSetupUnixDialog @ {self:p}"))
8570            .finish()
8571    }
8572}
8573
8574#[repr(C)]
8575#[allow(dead_code)]
8576pub struct GtkPaned {
8577    _data: [u8; 0],
8578    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8579}
8580
8581impl ::std::fmt::Debug for GtkPaned {
8582    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8583        f.debug_struct(&format!("GtkPaned @ {self:p}")).finish()
8584    }
8585}
8586
8587#[derive(Copy, Clone)]
8588#[repr(C)]
8589pub struct GtkParamSpecExpression {
8590    pub parent_instance: gobject::GParamSpec,
8591}
8592
8593impl ::std::fmt::Debug for GtkParamSpecExpression {
8594    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8595        f.debug_struct(&format!("GtkParamSpecExpression @ {self:p}"))
8596            .finish()
8597    }
8598}
8599
8600#[repr(C)]
8601#[allow(dead_code)]
8602pub struct GtkPasswordEntry {
8603    _data: [u8; 0],
8604    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8605}
8606
8607impl ::std::fmt::Debug for GtkPasswordEntry {
8608    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8609        f.debug_struct(&format!("GtkPasswordEntry @ {self:p}"))
8610            .finish()
8611    }
8612}
8613
8614#[repr(C)]
8615#[allow(dead_code)]
8616pub struct GtkPasswordEntryBuffer {
8617    _data: [u8; 0],
8618    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8619}
8620
8621impl ::std::fmt::Debug for GtkPasswordEntryBuffer {
8622    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8623        f.debug_struct(&format!("GtkPasswordEntryBuffer @ {self:p}"))
8624            .finish()
8625    }
8626}
8627
8628#[repr(C)]
8629#[allow(dead_code)]
8630pub struct GtkPicture {
8631    _data: [u8; 0],
8632    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8633}
8634
8635impl ::std::fmt::Debug for GtkPicture {
8636    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8637        f.debug_struct(&format!("GtkPicture @ {self:p}")).finish()
8638    }
8639}
8640
8641#[derive(Copy, Clone)]
8642#[repr(C)]
8643pub struct GtkPopover {
8644    pub parent: GtkWidget,
8645}
8646
8647impl ::std::fmt::Debug for GtkPopover {
8648    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8649        f.debug_struct(&format!("GtkPopover @ {self:p}"))
8650            .field("parent", &self.parent)
8651            .finish()
8652    }
8653}
8654
8655#[repr(C)]
8656#[allow(dead_code)]
8657pub struct GtkPopoverBin {
8658    _data: [u8; 0],
8659    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8660}
8661
8662impl ::std::fmt::Debug for GtkPopoverBin {
8663    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8664        f.debug_struct(&format!("GtkPopoverBin @ {self:p}"))
8665            .finish()
8666    }
8667}
8668
8669#[repr(C)]
8670#[allow(dead_code)]
8671pub struct GtkPopoverMenu {
8672    _data: [u8; 0],
8673    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8674}
8675
8676impl ::std::fmt::Debug for GtkPopoverMenu {
8677    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8678        f.debug_struct(&format!("GtkPopoverMenu @ {self:p}"))
8679            .finish()
8680    }
8681}
8682
8683#[repr(C)]
8684#[allow(dead_code)]
8685pub struct GtkPopoverMenuBar {
8686    _data: [u8; 0],
8687    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8688}
8689
8690impl ::std::fmt::Debug for GtkPopoverMenuBar {
8691    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8692        f.debug_struct(&format!("GtkPopoverMenuBar @ {self:p}"))
8693            .finish()
8694    }
8695}
8696
8697#[repr(C)]
8698#[allow(dead_code)]
8699pub struct GtkPrintContext {
8700    _data: [u8; 0],
8701    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8702}
8703
8704impl ::std::fmt::Debug for GtkPrintContext {
8705    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8706        f.debug_struct(&format!("GtkPrintContext @ {self:p}"))
8707            .finish()
8708    }
8709}
8710
8711#[repr(C)]
8712#[allow(dead_code)]
8713pub struct GtkPrintDialog {
8714    _data: [u8; 0],
8715    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8716}
8717
8718impl ::std::fmt::Debug for GtkPrintDialog {
8719    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8720        f.debug_struct(&format!("GtkPrintDialog @ {self:p}"))
8721            .finish()
8722    }
8723}
8724
8725#[repr(C)]
8726#[allow(dead_code)]
8727pub struct GtkPrintJob {
8728    _data: [u8; 0],
8729    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8730}
8731
8732impl ::std::fmt::Debug for GtkPrintJob {
8733    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8734        f.debug_struct(&format!("GtkPrintJob @ {self:p}")).finish()
8735    }
8736}
8737
8738#[derive(Copy, Clone)]
8739#[repr(C)]
8740pub struct GtkPrintOperation {
8741    pub parent_instance: gobject::GObject,
8742    pub priv_: *mut GtkPrintOperationPrivate,
8743}
8744
8745impl ::std::fmt::Debug for GtkPrintOperation {
8746    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8747        f.debug_struct(&format!("GtkPrintOperation @ {self:p}"))
8748            .field("parent_instance", &self.parent_instance)
8749            .finish()
8750    }
8751}
8752
8753#[repr(C)]
8754#[allow(dead_code)]
8755pub struct GtkPrintSettings {
8756    _data: [u8; 0],
8757    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8758}
8759
8760impl ::std::fmt::Debug for GtkPrintSettings {
8761    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8762        f.debug_struct(&format!("GtkPrintSettings @ {self:p}"))
8763            .finish()
8764    }
8765}
8766
8767#[repr(C)]
8768#[allow(dead_code)]
8769pub struct GtkPrintUnixDialog {
8770    _data: [u8; 0],
8771    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8772}
8773
8774impl ::std::fmt::Debug for GtkPrintUnixDialog {
8775    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8776        f.debug_struct(&format!("GtkPrintUnixDialog @ {self:p}"))
8777            .finish()
8778    }
8779}
8780
8781#[repr(C)]
8782#[allow(dead_code)]
8783pub struct GtkPrinter {
8784    _data: [u8; 0],
8785    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8786}
8787
8788impl ::std::fmt::Debug for GtkPrinter {
8789    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8790        f.debug_struct(&format!("GtkPrinter @ {self:p}")).finish()
8791    }
8792}
8793
8794#[repr(C)]
8795#[allow(dead_code)]
8796pub struct GtkProgressBar {
8797    _data: [u8; 0],
8798    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8799}
8800
8801impl ::std::fmt::Debug for GtkProgressBar {
8802    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8803        f.debug_struct(&format!("GtkProgressBar @ {self:p}"))
8804            .finish()
8805    }
8806}
8807
8808#[repr(C)]
8809#[allow(dead_code)]
8810pub struct GtkPropertyExpression {
8811    _data: [u8; 0],
8812    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8813}
8814
8815impl ::std::fmt::Debug for GtkPropertyExpression {
8816    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8817        f.debug_struct(&format!("GtkPropertyExpression @ {self:p}"))
8818            .finish()
8819    }
8820}
8821
8822#[derive(Copy, Clone)]
8823#[repr(C)]
8824pub struct GtkRange {
8825    pub parent_instance: GtkWidget,
8826}
8827
8828impl ::std::fmt::Debug for GtkRange {
8829    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8830        f.debug_struct(&format!("GtkRange @ {self:p}"))
8831            .field("parent_instance", &self.parent_instance)
8832            .finish()
8833    }
8834}
8835
8836#[derive(Copy, Clone)]
8837#[repr(C)]
8838pub struct GtkRecentManager {
8839    pub parent_instance: gobject::GObject,
8840    pub priv_: *mut GtkRecentManagerPrivate,
8841}
8842
8843impl ::std::fmt::Debug for GtkRecentManager {
8844    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8845        f.debug_struct(&format!("GtkRecentManager @ {self:p}"))
8846            .finish()
8847    }
8848}
8849
8850#[repr(C)]
8851#[allow(dead_code)]
8852pub struct GtkRevealer {
8853    _data: [u8; 0],
8854    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8855}
8856
8857impl ::std::fmt::Debug for GtkRevealer {
8858    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8859        f.debug_struct(&format!("GtkRevealer @ {self:p}")).finish()
8860    }
8861}
8862
8863#[derive(Copy, Clone)]
8864#[repr(C)]
8865pub struct GtkScale {
8866    pub parent_instance: GtkRange,
8867}
8868
8869impl ::std::fmt::Debug for GtkScale {
8870    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8871        f.debug_struct(&format!("GtkScale @ {self:p}"))
8872            .field("parent_instance", &self.parent_instance)
8873            .finish()
8874    }
8875}
8876
8877#[derive(Copy, Clone)]
8878#[repr(C)]
8879pub struct GtkScaleButton {
8880    pub parent_instance: GtkWidget,
8881}
8882
8883impl ::std::fmt::Debug for GtkScaleButton {
8884    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8885        f.debug_struct(&format!("GtkScaleButton @ {self:p}"))
8886            .field("parent_instance", &self.parent_instance)
8887            .finish()
8888    }
8889}
8890
8891#[repr(C)]
8892#[allow(dead_code)]
8893pub struct GtkScrollbar {
8894    _data: [u8; 0],
8895    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8896}
8897
8898impl ::std::fmt::Debug for GtkScrollbar {
8899    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8900        f.debug_struct(&format!("GtkScrollbar @ {self:p}")).finish()
8901    }
8902}
8903
8904#[repr(C)]
8905#[allow(dead_code)]
8906pub struct GtkScrolledWindow {
8907    _data: [u8; 0],
8908    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8909}
8910
8911impl ::std::fmt::Debug for GtkScrolledWindow {
8912    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8913        f.debug_struct(&format!("GtkScrolledWindow @ {self:p}"))
8914            .finish()
8915    }
8916}
8917
8918#[repr(C)]
8919#[allow(dead_code)]
8920pub struct GtkSearchBar {
8921    _data: [u8; 0],
8922    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8923}
8924
8925impl ::std::fmt::Debug for GtkSearchBar {
8926    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8927        f.debug_struct(&format!("GtkSearchBar @ {self:p}")).finish()
8928    }
8929}
8930
8931#[repr(C)]
8932#[allow(dead_code)]
8933pub struct GtkSearchEntry {
8934    _data: [u8; 0],
8935    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8936}
8937
8938impl ::std::fmt::Debug for GtkSearchEntry {
8939    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8940        f.debug_struct(&format!("GtkSearchEntry @ {self:p}"))
8941            .finish()
8942    }
8943}
8944
8945#[repr(C)]
8946#[allow(dead_code)]
8947pub struct GtkSelectionFilterModel {
8948    _data: [u8; 0],
8949    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8950}
8951
8952impl ::std::fmt::Debug for GtkSelectionFilterModel {
8953    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8954        f.debug_struct(&format!("GtkSelectionFilterModel @ {self:p}"))
8955            .finish()
8956    }
8957}
8958
8959#[repr(C)]
8960#[allow(dead_code)]
8961pub struct GtkSeparator {
8962    _data: [u8; 0],
8963    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8964}
8965
8966impl ::std::fmt::Debug for GtkSeparator {
8967    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8968        f.debug_struct(&format!("GtkSeparator @ {self:p}")).finish()
8969    }
8970}
8971
8972#[repr(C)]
8973#[allow(dead_code)]
8974pub struct GtkSettings {
8975    _data: [u8; 0],
8976    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8977}
8978
8979impl ::std::fmt::Debug for GtkSettings {
8980    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8981        f.debug_struct(&format!("GtkSettings @ {self:p}")).finish()
8982    }
8983}
8984
8985#[repr(C)]
8986#[allow(dead_code)]
8987pub struct GtkShortcut {
8988    _data: [u8; 0],
8989    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8990}
8991
8992impl ::std::fmt::Debug for GtkShortcut {
8993    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8994        f.debug_struct(&format!("GtkShortcut @ {self:p}")).finish()
8995    }
8996}
8997
8998#[repr(C)]
8999#[allow(dead_code)]
9000pub struct GtkShortcutAction {
9001    _data: [u8; 0],
9002    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9003}
9004
9005impl ::std::fmt::Debug for GtkShortcutAction {
9006    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9007        f.debug_struct(&format!("GtkShortcutAction @ {self:p}"))
9008            .finish()
9009    }
9010}
9011
9012#[repr(C)]
9013#[allow(dead_code)]
9014pub struct GtkShortcutController {
9015    _data: [u8; 0],
9016    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9017}
9018
9019impl ::std::fmt::Debug for GtkShortcutController {
9020    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9021        f.debug_struct(&format!("GtkShortcutController @ {self:p}"))
9022            .finish()
9023    }
9024}
9025
9026#[repr(C)]
9027#[allow(dead_code)]
9028pub struct GtkShortcutLabel {
9029    _data: [u8; 0],
9030    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9031}
9032
9033impl ::std::fmt::Debug for GtkShortcutLabel {
9034    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9035        f.debug_struct(&format!("GtkShortcutLabel @ {self:p}"))
9036            .finish()
9037    }
9038}
9039
9040#[repr(C)]
9041#[allow(dead_code)]
9042pub struct GtkShortcutTrigger {
9043    _data: [u8; 0],
9044    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9045}
9046
9047impl ::std::fmt::Debug for GtkShortcutTrigger {
9048    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9049        f.debug_struct(&format!("GtkShortcutTrigger @ {self:p}"))
9050            .finish()
9051    }
9052}
9053
9054#[repr(C)]
9055#[allow(dead_code)]
9056pub struct GtkShortcutsGroup {
9057    _data: [u8; 0],
9058    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9059}
9060
9061impl ::std::fmt::Debug for GtkShortcutsGroup {
9062    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9063        f.debug_struct(&format!("GtkShortcutsGroup @ {self:p}"))
9064            .finish()
9065    }
9066}
9067
9068#[repr(C)]
9069#[allow(dead_code)]
9070pub struct GtkShortcutsSection {
9071    _data: [u8; 0],
9072    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9073}
9074
9075impl ::std::fmt::Debug for GtkShortcutsSection {
9076    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9077        f.debug_struct(&format!("GtkShortcutsSection @ {self:p}"))
9078            .finish()
9079    }
9080}
9081
9082#[repr(C)]
9083#[allow(dead_code)]
9084pub struct GtkShortcutsShortcut {
9085    _data: [u8; 0],
9086    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9087}
9088
9089impl ::std::fmt::Debug for GtkShortcutsShortcut {
9090    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9091        f.debug_struct(&format!("GtkShortcutsShortcut @ {self:p}"))
9092            .finish()
9093    }
9094}
9095
9096#[repr(C)]
9097#[allow(dead_code)]
9098pub struct GtkShortcutsWindow {
9099    _data: [u8; 0],
9100    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9101}
9102
9103impl ::std::fmt::Debug for GtkShortcutsWindow {
9104    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9105        f.debug_struct(&format!("GtkShortcutsWindow @ {self:p}"))
9106            .finish()
9107    }
9108}
9109
9110#[repr(C)]
9111#[allow(dead_code)]
9112pub struct GtkSignalAction {
9113    _data: [u8; 0],
9114    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9115}
9116
9117impl ::std::fmt::Debug for GtkSignalAction {
9118    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9119        f.debug_struct(&format!("GtkSignalAction @ {self:p}"))
9120            .finish()
9121    }
9122}
9123
9124#[repr(C)]
9125#[allow(dead_code)]
9126pub struct GtkSignalListItemFactory {
9127    _data: [u8; 0],
9128    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9129}
9130
9131impl ::std::fmt::Debug for GtkSignalListItemFactory {
9132    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9133        f.debug_struct(&format!("GtkSignalListItemFactory @ {self:p}"))
9134            .finish()
9135    }
9136}
9137
9138#[repr(C)]
9139#[allow(dead_code)]
9140pub struct GtkSingleSelection {
9141    _data: [u8; 0],
9142    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9143}
9144
9145impl ::std::fmt::Debug for GtkSingleSelection {
9146    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9147        f.debug_struct(&format!("GtkSingleSelection @ {self:p}"))
9148            .finish()
9149    }
9150}
9151
9152#[derive(Copy, Clone)]
9153#[repr(C)]
9154pub struct GtkSizeGroup {
9155    pub parent_instance: gobject::GObject,
9156}
9157
9158impl ::std::fmt::Debug for GtkSizeGroup {
9159    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9160        f.debug_struct(&format!("GtkSizeGroup @ {self:p}"))
9161            .field("parent_instance", &self.parent_instance)
9162            .finish()
9163    }
9164}
9165
9166#[repr(C)]
9167#[allow(dead_code)]
9168pub struct GtkSliceListModel {
9169    _data: [u8; 0],
9170    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9171}
9172
9173impl ::std::fmt::Debug for GtkSliceListModel {
9174    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9175        f.debug_struct(&format!("GtkSliceListModel @ {self:p}"))
9176            .finish()
9177    }
9178}
9179
9180#[repr(C)]
9181#[allow(dead_code)]
9182pub struct GtkSnapshot {
9183    _data: [u8; 0],
9184    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9185}
9186
9187impl ::std::fmt::Debug for GtkSnapshot {
9188    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9189        f.debug_struct(&format!("GtkSnapshot @ {self:p}")).finish()
9190    }
9191}
9192
9193#[repr(C)]
9194#[allow(dead_code)]
9195pub struct GtkSortListModel {
9196    _data: [u8; 0],
9197    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9198}
9199
9200impl ::std::fmt::Debug for GtkSortListModel {
9201    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9202        f.debug_struct(&format!("GtkSortListModel @ {self:p}"))
9203            .finish()
9204    }
9205}
9206
9207#[derive(Copy, Clone)]
9208#[repr(C)]
9209pub struct GtkSorter {
9210    pub parent_instance: gobject::GObject,
9211}
9212
9213impl ::std::fmt::Debug for GtkSorter {
9214    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9215        f.debug_struct(&format!("GtkSorter @ {self:p}"))
9216            .field("parent_instance", &self.parent_instance)
9217            .finish()
9218    }
9219}
9220
9221#[repr(C)]
9222#[allow(dead_code)]
9223pub struct GtkSpinButton {
9224    _data: [u8; 0],
9225    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9226}
9227
9228impl ::std::fmt::Debug for GtkSpinButton {
9229    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9230        f.debug_struct(&format!("GtkSpinButton @ {self:p}"))
9231            .finish()
9232    }
9233}
9234
9235#[repr(C)]
9236#[allow(dead_code)]
9237pub struct GtkSpinner {
9238    _data: [u8; 0],
9239    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9240}
9241
9242impl ::std::fmt::Debug for GtkSpinner {
9243    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9244        f.debug_struct(&format!("GtkSpinner @ {self:p}")).finish()
9245    }
9246}
9247
9248#[repr(C)]
9249#[allow(dead_code)]
9250pub struct GtkStack {
9251    _data: [u8; 0],
9252    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9253}
9254
9255impl ::std::fmt::Debug for GtkStack {
9256    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9257        f.debug_struct(&format!("GtkStack @ {self:p}")).finish()
9258    }
9259}
9260
9261#[repr(C)]
9262#[allow(dead_code)]
9263pub struct GtkStackPage {
9264    _data: [u8; 0],
9265    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9266}
9267
9268impl ::std::fmt::Debug for GtkStackPage {
9269    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9270        f.debug_struct(&format!("GtkStackPage @ {self:p}")).finish()
9271    }
9272}
9273
9274#[repr(C)]
9275#[allow(dead_code)]
9276pub struct GtkStackSidebar {
9277    _data: [u8; 0],
9278    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9279}
9280
9281impl ::std::fmt::Debug for GtkStackSidebar {
9282    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9283        f.debug_struct(&format!("GtkStackSidebar @ {self:p}"))
9284            .finish()
9285    }
9286}
9287
9288#[repr(C)]
9289#[allow(dead_code)]
9290pub struct GtkStackSwitcher {
9291    _data: [u8; 0],
9292    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9293}
9294
9295impl ::std::fmt::Debug for GtkStackSwitcher {
9296    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9297        f.debug_struct(&format!("GtkStackSwitcher @ {self:p}"))
9298            .finish()
9299    }
9300}
9301
9302#[repr(C)]
9303#[allow(dead_code)]
9304pub struct GtkStatusbar {
9305    _data: [u8; 0],
9306    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9307}
9308
9309impl ::std::fmt::Debug for GtkStatusbar {
9310    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9311        f.debug_struct(&format!("GtkStatusbar @ {self:p}")).finish()
9312    }
9313}
9314
9315#[repr(C)]
9316#[allow(dead_code)]
9317pub struct GtkStringFilter {
9318    _data: [u8; 0],
9319    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9320}
9321
9322impl ::std::fmt::Debug for GtkStringFilter {
9323    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9324        f.debug_struct(&format!("GtkStringFilter @ {self:p}"))
9325            .finish()
9326    }
9327}
9328
9329#[repr(C)]
9330#[allow(dead_code)]
9331pub struct GtkStringList {
9332    _data: [u8; 0],
9333    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9334}
9335
9336impl ::std::fmt::Debug for GtkStringList {
9337    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9338        f.debug_struct(&format!("GtkStringList @ {self:p}"))
9339            .finish()
9340    }
9341}
9342
9343#[repr(C)]
9344#[allow(dead_code)]
9345pub struct GtkStringObject {
9346    _data: [u8; 0],
9347    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9348}
9349
9350impl ::std::fmt::Debug for GtkStringObject {
9351    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9352        f.debug_struct(&format!("GtkStringObject @ {self:p}"))
9353            .finish()
9354    }
9355}
9356
9357#[repr(C)]
9358#[allow(dead_code)]
9359pub struct GtkStringSorter {
9360    _data: [u8; 0],
9361    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9362}
9363
9364impl ::std::fmt::Debug for GtkStringSorter {
9365    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9366        f.debug_struct(&format!("GtkStringSorter @ {self:p}"))
9367            .finish()
9368    }
9369}
9370
9371#[derive(Copy, Clone)]
9372#[repr(C)]
9373pub struct GtkStyleContext {
9374    pub parent_object: gobject::GObject,
9375}
9376
9377impl ::std::fmt::Debug for GtkStyleContext {
9378    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9379        f.debug_struct(&format!("GtkStyleContext @ {self:p}"))
9380            .field("parent_object", &self.parent_object)
9381            .finish()
9382    }
9383}
9384
9385#[repr(C)]
9386#[allow(dead_code)]
9387pub struct GtkSvg {
9388    _data: [u8; 0],
9389    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9390}
9391
9392impl ::std::fmt::Debug for GtkSvg {
9393    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9394        f.debug_struct(&format!("GtkSvg @ {self:p}")).finish()
9395    }
9396}
9397
9398#[repr(C)]
9399#[allow(dead_code)]
9400pub struct GtkSvgWidget {
9401    _data: [u8; 0],
9402    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9403}
9404
9405impl ::std::fmt::Debug for GtkSvgWidget {
9406    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9407        f.debug_struct(&format!("GtkSvgWidget @ {self:p}")).finish()
9408    }
9409}
9410
9411#[repr(C)]
9412#[allow(dead_code)]
9413pub struct GtkSwitch {
9414    _data: [u8; 0],
9415    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9416}
9417
9418impl ::std::fmt::Debug for GtkSwitch {
9419    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9420        f.debug_struct(&format!("GtkSwitch @ {self:p}")).finish()
9421    }
9422}
9423
9424#[derive(Copy, Clone)]
9425#[repr(C)]
9426pub struct GtkText {
9427    pub parent_instance: GtkWidget,
9428}
9429
9430impl ::std::fmt::Debug for GtkText {
9431    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9432        f.debug_struct(&format!("GtkText @ {self:p}")).finish()
9433    }
9434}
9435
9436#[derive(Copy, Clone)]
9437#[repr(C)]
9438pub struct GtkTextBuffer {
9439    pub parent_instance: gobject::GObject,
9440    pub priv_: *mut GtkTextBufferPrivate,
9441}
9442
9443impl ::std::fmt::Debug for GtkTextBuffer {
9444    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9445        f.debug_struct(&format!("GtkTextBuffer @ {self:p}"))
9446            .field("parent_instance", &self.parent_instance)
9447            .field("priv_", &self.priv_)
9448            .finish()
9449    }
9450}
9451
9452#[derive(Copy, Clone)]
9453#[repr(C)]
9454pub struct GtkTextChildAnchor {
9455    pub parent_instance: gobject::GObject,
9456    pub segment: gpointer,
9457}
9458
9459impl ::std::fmt::Debug for GtkTextChildAnchor {
9460    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9461        f.debug_struct(&format!("GtkTextChildAnchor @ {self:p}"))
9462            .field("parent_instance", &self.parent_instance)
9463            .finish()
9464    }
9465}
9466
9467#[derive(Copy, Clone)]
9468#[repr(C)]
9469pub struct GtkTextMark {
9470    pub parent_instance: gobject::GObject,
9471    pub segment: gpointer,
9472}
9473
9474impl ::std::fmt::Debug for GtkTextMark {
9475    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9476        f.debug_struct(&format!("GtkTextMark @ {self:p}"))
9477            .field("parent_instance", &self.parent_instance)
9478            .finish()
9479    }
9480}
9481
9482#[derive(Copy, Clone)]
9483#[repr(C)]
9484pub struct GtkTextTag {
9485    pub parent_instance: gobject::GObject,
9486    pub priv_: *mut GtkTextTagPrivate,
9487}
9488
9489impl ::std::fmt::Debug for GtkTextTag {
9490    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9491        f.debug_struct(&format!("GtkTextTag @ {self:p}"))
9492            .field("parent_instance", &self.parent_instance)
9493            .field("priv_", &self.priv_)
9494            .finish()
9495    }
9496}
9497
9498#[repr(C)]
9499#[allow(dead_code)]
9500pub struct GtkTextTagTable {
9501    _data: [u8; 0],
9502    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9503}
9504
9505impl ::std::fmt::Debug for GtkTextTagTable {
9506    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9507        f.debug_struct(&format!("GtkTextTagTable @ {self:p}"))
9508            .finish()
9509    }
9510}
9511
9512#[derive(Copy, Clone)]
9513#[repr(C)]
9514pub struct GtkTextView {
9515    pub parent_instance: GtkWidget,
9516    pub priv_: *mut GtkTextViewPrivate,
9517}
9518
9519impl ::std::fmt::Debug for GtkTextView {
9520    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9521        f.debug_struct(&format!("GtkTextView @ {self:p}"))
9522            .field("parent_instance", &self.parent_instance)
9523            .finish()
9524    }
9525}
9526
9527#[derive(Copy, Clone)]
9528#[repr(C)]
9529pub struct GtkToggleButton {
9530    pub button: GtkButton,
9531}
9532
9533impl ::std::fmt::Debug for GtkToggleButton {
9534    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9535        f.debug_struct(&format!("GtkToggleButton @ {self:p}"))
9536            .finish()
9537    }
9538}
9539
9540#[repr(C)]
9541#[allow(dead_code)]
9542pub struct GtkTooltip {
9543    _data: [u8; 0],
9544    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9545}
9546
9547impl ::std::fmt::Debug for GtkTooltip {
9548    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9549        f.debug_struct(&format!("GtkTooltip @ {self:p}")).finish()
9550    }
9551}
9552
9553#[repr(C)]
9554#[allow(dead_code)]
9555pub struct GtkTreeExpander {
9556    _data: [u8; 0],
9557    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9558}
9559
9560impl ::std::fmt::Debug for GtkTreeExpander {
9561    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9562        f.debug_struct(&format!("GtkTreeExpander @ {self:p}"))
9563            .finish()
9564    }
9565}
9566
9567#[repr(C)]
9568#[allow(dead_code)]
9569pub struct GtkTreeListModel {
9570    _data: [u8; 0],
9571    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9572}
9573
9574impl ::std::fmt::Debug for GtkTreeListModel {
9575    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9576        f.debug_struct(&format!("GtkTreeListModel @ {self:p}"))
9577            .finish()
9578    }
9579}
9580
9581#[repr(C)]
9582#[allow(dead_code)]
9583pub struct GtkTreeListRow {
9584    _data: [u8; 0],
9585    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9586}
9587
9588impl ::std::fmt::Debug for GtkTreeListRow {
9589    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9590        f.debug_struct(&format!("GtkTreeListRow @ {self:p}"))
9591            .finish()
9592    }
9593}
9594
9595#[repr(C)]
9596#[allow(dead_code)]
9597pub struct GtkTreeListRowSorter {
9598    _data: [u8; 0],
9599    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9600}
9601
9602impl ::std::fmt::Debug for GtkTreeListRowSorter {
9603    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9604        f.debug_struct(&format!("GtkTreeListRowSorter @ {self:p}"))
9605            .finish()
9606    }
9607}
9608
9609#[derive(Copy, Clone)]
9610#[repr(C)]
9611pub struct GtkTreeModelFilter {
9612    pub parent: gobject::GObject,
9613    pub priv_: *mut GtkTreeModelFilterPrivate,
9614}
9615
9616impl ::std::fmt::Debug for GtkTreeModelFilter {
9617    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9618        f.debug_struct(&format!("GtkTreeModelFilter @ {self:p}"))
9619            .field("parent", &self.parent)
9620            .finish()
9621    }
9622}
9623
9624#[derive(Copy, Clone)]
9625#[repr(C)]
9626pub struct GtkTreeModelSort {
9627    pub parent: gobject::GObject,
9628    pub priv_: *mut GtkTreeModelSortPrivate,
9629}
9630
9631impl ::std::fmt::Debug for GtkTreeModelSort {
9632    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9633        f.debug_struct(&format!("GtkTreeModelSort @ {self:p}"))
9634            .field("parent", &self.parent)
9635            .finish()
9636    }
9637}
9638
9639#[repr(C)]
9640#[allow(dead_code)]
9641pub struct GtkTreeSelection {
9642    _data: [u8; 0],
9643    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9644}
9645
9646impl ::std::fmt::Debug for GtkTreeSelection {
9647    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9648        f.debug_struct(&format!("GtkTreeSelection @ {self:p}"))
9649            .finish()
9650    }
9651}
9652
9653#[derive(Copy, Clone)]
9654#[repr(C)]
9655pub struct GtkTreeStore {
9656    pub parent: gobject::GObject,
9657    pub priv_: *mut GtkTreeStorePrivate,
9658}
9659
9660impl ::std::fmt::Debug for GtkTreeStore {
9661    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9662        f.debug_struct(&format!("GtkTreeStore @ {self:p}"))
9663            .field("parent", &self.parent)
9664            .field("priv_", &self.priv_)
9665            .finish()
9666    }
9667}
9668
9669#[derive(Copy, Clone)]
9670#[repr(C)]
9671pub struct GtkTreeView {
9672    pub parent_instance: GtkWidget,
9673}
9674
9675impl ::std::fmt::Debug for GtkTreeView {
9676    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9677        f.debug_struct(&format!("GtkTreeView @ {self:p}"))
9678            .field("parent_instance", &self.parent_instance)
9679            .finish()
9680    }
9681}
9682
9683#[repr(C)]
9684#[allow(dead_code)]
9685pub struct GtkTreeViewColumn {
9686    _data: [u8; 0],
9687    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9688}
9689
9690impl ::std::fmt::Debug for GtkTreeViewColumn {
9691    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9692        f.debug_struct(&format!("GtkTreeViewColumn @ {self:p}"))
9693            .finish()
9694    }
9695}
9696
9697#[repr(C)]
9698#[allow(dead_code)]
9699pub struct GtkTryExpression {
9700    _data: [u8; 0],
9701    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9702}
9703
9704impl ::std::fmt::Debug for GtkTryExpression {
9705    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9706        f.debug_struct(&format!("GtkTryExpression @ {self:p}"))
9707            .finish()
9708    }
9709}
9710
9711#[repr(C)]
9712#[allow(dead_code)]
9713pub struct GtkUriLauncher {
9714    _data: [u8; 0],
9715    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9716}
9717
9718impl ::std::fmt::Debug for GtkUriLauncher {
9719    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9720        f.debug_struct(&format!("GtkUriLauncher @ {self:p}"))
9721            .finish()
9722    }
9723}
9724
9725#[repr(C)]
9726#[allow(dead_code)]
9727pub struct GtkVideo {
9728    _data: [u8; 0],
9729    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9730}
9731
9732impl ::std::fmt::Debug for GtkVideo {
9733    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9734        f.debug_struct(&format!("GtkVideo @ {self:p}")).finish()
9735    }
9736}
9737
9738#[repr(C)]
9739#[allow(dead_code)]
9740pub struct GtkViewport {
9741    _data: [u8; 0],
9742    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9743}
9744
9745impl ::std::fmt::Debug for GtkViewport {
9746    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9747        f.debug_struct(&format!("GtkViewport @ {self:p}")).finish()
9748    }
9749}
9750
9751#[derive(Copy, Clone)]
9752#[repr(C)]
9753pub struct GtkVolumeButton {
9754    pub parent: GtkScaleButton,
9755}
9756
9757impl ::std::fmt::Debug for GtkVolumeButton {
9758    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9759        f.debug_struct(&format!("GtkVolumeButton @ {self:p}"))
9760            .field("parent", &self.parent)
9761            .finish()
9762    }
9763}
9764
9765#[derive(Copy, Clone)]
9766#[repr(C)]
9767pub struct GtkWidget {
9768    pub parent_instance: gobject::GInitiallyUnowned,
9769    pub priv_: *mut GtkWidgetPrivate,
9770}
9771
9772impl ::std::fmt::Debug for GtkWidget {
9773    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9774        f.debug_struct(&format!("GtkWidget @ {self:p}"))
9775            .field("parent_instance", &self.parent_instance)
9776            .finish()
9777    }
9778}
9779
9780#[repr(C)]
9781#[allow(dead_code)]
9782pub struct GtkWidgetPaintable {
9783    _data: [u8; 0],
9784    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9785}
9786
9787impl ::std::fmt::Debug for GtkWidgetPaintable {
9788    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9789        f.debug_struct(&format!("GtkWidgetPaintable @ {self:p}"))
9790            .finish()
9791    }
9792}
9793
9794#[derive(Copy, Clone)]
9795#[repr(C)]
9796pub struct GtkWindow {
9797    pub parent_instance: GtkWidget,
9798}
9799
9800impl ::std::fmt::Debug for GtkWindow {
9801    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9802        f.debug_struct(&format!("GtkWindow @ {self:p}"))
9803            .field("parent_instance", &self.parent_instance)
9804            .finish()
9805    }
9806}
9807
9808#[repr(C)]
9809#[allow(dead_code)]
9810pub struct GtkWindowControls {
9811    _data: [u8; 0],
9812    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9813}
9814
9815impl ::std::fmt::Debug for GtkWindowControls {
9816    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9817        f.debug_struct(&format!("GtkWindowControls @ {self:p}"))
9818            .finish()
9819    }
9820}
9821
9822#[derive(Copy, Clone)]
9823#[repr(C)]
9824pub struct GtkWindowGroup {
9825    pub parent_instance: gobject::GObject,
9826    pub priv_: *mut GtkWindowGroupPrivate,
9827}
9828
9829impl ::std::fmt::Debug for GtkWindowGroup {
9830    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9831        f.debug_struct(&format!("GtkWindowGroup @ {self:p}"))
9832            .field("parent_instance", &self.parent_instance)
9833            .field("priv_", &self.priv_)
9834            .finish()
9835    }
9836}
9837
9838#[repr(C)]
9839#[allow(dead_code)]
9840pub struct GtkWindowHandle {
9841    _data: [u8; 0],
9842    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9843}
9844
9845impl ::std::fmt::Debug for GtkWindowHandle {
9846    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9847        f.debug_struct(&format!("GtkWindowHandle @ {self:p}"))
9848            .finish()
9849    }
9850}
9851
9852// Interfaces
9853#[repr(C)]
9854#[allow(dead_code)]
9855pub struct GtkAccessible {
9856    _data: [u8; 0],
9857    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9858}
9859
9860impl ::std::fmt::Debug for GtkAccessible {
9861    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9862        write!(f, "GtkAccessible @ {self:p}")
9863    }
9864}
9865
9866#[repr(C)]
9867#[allow(dead_code)]
9868pub struct GtkAccessibleHypertext {
9869    _data: [u8; 0],
9870    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9871}
9872
9873impl ::std::fmt::Debug for GtkAccessibleHypertext {
9874    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9875        write!(f, "GtkAccessibleHypertext @ {self:p}")
9876    }
9877}
9878
9879#[repr(C)]
9880#[allow(dead_code)]
9881pub struct GtkAccessibleRange {
9882    _data: [u8; 0],
9883    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9884}
9885
9886impl ::std::fmt::Debug for GtkAccessibleRange {
9887    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9888        write!(f, "GtkAccessibleRange @ {self:p}")
9889    }
9890}
9891
9892#[repr(C)]
9893#[allow(dead_code)]
9894pub struct GtkAccessibleText {
9895    _data: [u8; 0],
9896    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9897}
9898
9899impl ::std::fmt::Debug for GtkAccessibleText {
9900    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9901        write!(f, "GtkAccessibleText @ {self:p}")
9902    }
9903}
9904
9905#[repr(C)]
9906#[allow(dead_code)]
9907pub struct GtkActionable {
9908    _data: [u8; 0],
9909    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9910}
9911
9912impl ::std::fmt::Debug for GtkActionable {
9913    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9914        write!(f, "GtkActionable @ {self:p}")
9915    }
9916}
9917
9918#[repr(C)]
9919#[allow(dead_code)]
9920pub struct GtkAppChooser {
9921    _data: [u8; 0],
9922    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9923}
9924
9925impl ::std::fmt::Debug for GtkAppChooser {
9926    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9927        write!(f, "GtkAppChooser @ {self:p}")
9928    }
9929}
9930
9931#[repr(C)]
9932#[allow(dead_code)]
9933pub struct GtkBuildable {
9934    _data: [u8; 0],
9935    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9936}
9937
9938impl ::std::fmt::Debug for GtkBuildable {
9939    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9940        write!(f, "GtkBuildable @ {self:p}")
9941    }
9942}
9943
9944#[repr(C)]
9945#[allow(dead_code)]
9946pub struct GtkBuilderScope {
9947    _data: [u8; 0],
9948    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9949}
9950
9951impl ::std::fmt::Debug for GtkBuilderScope {
9952    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9953        write!(f, "GtkBuilderScope @ {self:p}")
9954    }
9955}
9956
9957#[repr(C)]
9958#[allow(dead_code)]
9959pub struct GtkCellEditable {
9960    _data: [u8; 0],
9961    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9962}
9963
9964impl ::std::fmt::Debug for GtkCellEditable {
9965    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9966        write!(f, "GtkCellEditable @ {self:p}")
9967    }
9968}
9969
9970#[repr(C)]
9971#[allow(dead_code)]
9972pub struct GtkCellLayout {
9973    _data: [u8; 0],
9974    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9975}
9976
9977impl ::std::fmt::Debug for GtkCellLayout {
9978    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9979        write!(f, "GtkCellLayout @ {self:p}")
9980    }
9981}
9982
9983#[repr(C)]
9984#[allow(dead_code)]
9985pub struct GtkColorChooser {
9986    _data: [u8; 0],
9987    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9988}
9989
9990impl ::std::fmt::Debug for GtkColorChooser {
9991    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9992        write!(f, "GtkColorChooser @ {self:p}")
9993    }
9994}
9995
9996#[repr(C)]
9997#[allow(dead_code)]
9998pub struct GtkConstraintTarget {
9999    _data: [u8; 0],
10000    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10001}
10002
10003impl ::std::fmt::Debug for GtkConstraintTarget {
10004    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10005        write!(f, "GtkConstraintTarget @ {self:p}")
10006    }
10007}
10008
10009#[repr(C)]
10010#[allow(dead_code)]
10011pub struct GtkEditable {
10012    _data: [u8; 0],
10013    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10014}
10015
10016impl ::std::fmt::Debug for GtkEditable {
10017    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10018        write!(f, "GtkEditable @ {self:p}")
10019    }
10020}
10021
10022#[repr(C)]
10023#[allow(dead_code)]
10024pub struct GtkFileChooser {
10025    _data: [u8; 0],
10026    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10027}
10028
10029impl ::std::fmt::Debug for GtkFileChooser {
10030    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10031        write!(f, "GtkFileChooser @ {self:p}")
10032    }
10033}
10034
10035#[repr(C)]
10036#[allow(dead_code)]
10037pub struct GtkFontChooser {
10038    _data: [u8; 0],
10039    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10040}
10041
10042impl ::std::fmt::Debug for GtkFontChooser {
10043    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10044        write!(f, "GtkFontChooser @ {self:p}")
10045    }
10046}
10047
10048#[repr(C)]
10049#[allow(dead_code)]
10050pub struct GtkNative {
10051    _data: [u8; 0],
10052    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10053}
10054
10055impl ::std::fmt::Debug for GtkNative {
10056    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10057        write!(f, "GtkNative @ {self:p}")
10058    }
10059}
10060
10061#[repr(C)]
10062#[allow(dead_code)]
10063pub struct GtkOrientable {
10064    _data: [u8; 0],
10065    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10066}
10067
10068impl ::std::fmt::Debug for GtkOrientable {
10069    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10070        write!(f, "GtkOrientable @ {self:p}")
10071    }
10072}
10073
10074#[repr(C)]
10075#[allow(dead_code)]
10076pub struct GtkPrintOperationPreview {
10077    _data: [u8; 0],
10078    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10079}
10080
10081impl ::std::fmt::Debug for GtkPrintOperationPreview {
10082    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10083        write!(f, "GtkPrintOperationPreview @ {self:p}")
10084    }
10085}
10086
10087#[repr(C)]
10088#[allow(dead_code)]
10089pub struct GtkRoot {
10090    _data: [u8; 0],
10091    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10092}
10093
10094impl ::std::fmt::Debug for GtkRoot {
10095    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10096        write!(f, "GtkRoot @ {self:p}")
10097    }
10098}
10099
10100#[repr(C)]
10101#[allow(dead_code)]
10102pub struct GtkScrollable {
10103    _data: [u8; 0],
10104    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10105}
10106
10107impl ::std::fmt::Debug for GtkScrollable {
10108    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10109        write!(f, "GtkScrollable @ {self:p}")
10110    }
10111}
10112
10113#[repr(C)]
10114#[allow(dead_code)]
10115pub struct GtkSectionModel {
10116    _data: [u8; 0],
10117    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10118}
10119
10120impl ::std::fmt::Debug for GtkSectionModel {
10121    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10122        write!(f, "GtkSectionModel @ {self:p}")
10123    }
10124}
10125
10126#[repr(C)]
10127#[allow(dead_code)]
10128pub struct GtkSelectionModel {
10129    _data: [u8; 0],
10130    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10131}
10132
10133impl ::std::fmt::Debug for GtkSelectionModel {
10134    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10135        write!(f, "GtkSelectionModel @ {self:p}")
10136    }
10137}
10138
10139#[repr(C)]
10140#[allow(dead_code)]
10141pub struct GtkShortcutManager {
10142    _data: [u8; 0],
10143    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10144}
10145
10146impl ::std::fmt::Debug for GtkShortcutManager {
10147    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10148        write!(f, "GtkShortcutManager @ {self:p}")
10149    }
10150}
10151
10152#[repr(C)]
10153#[allow(dead_code)]
10154pub struct GtkStyleProvider {
10155    _data: [u8; 0],
10156    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10157}
10158
10159impl ::std::fmt::Debug for GtkStyleProvider {
10160    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10161        write!(f, "GtkStyleProvider @ {self:p}")
10162    }
10163}
10164
10165#[repr(C)]
10166#[allow(dead_code)]
10167pub struct GtkSymbolicPaintable {
10168    _data: [u8; 0],
10169    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10170}
10171
10172impl ::std::fmt::Debug for GtkSymbolicPaintable {
10173    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10174        write!(f, "GtkSymbolicPaintable @ {self:p}")
10175    }
10176}
10177
10178#[repr(C)]
10179#[allow(dead_code)]
10180pub struct GtkTreeDragDest {
10181    _data: [u8; 0],
10182    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10183}
10184
10185impl ::std::fmt::Debug for GtkTreeDragDest {
10186    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10187        write!(f, "GtkTreeDragDest @ {self:p}")
10188    }
10189}
10190
10191#[repr(C)]
10192#[allow(dead_code)]
10193pub struct GtkTreeDragSource {
10194    _data: [u8; 0],
10195    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10196}
10197
10198impl ::std::fmt::Debug for GtkTreeDragSource {
10199    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10200        write!(f, "GtkTreeDragSource @ {self:p}")
10201    }
10202}
10203
10204#[repr(C)]
10205#[allow(dead_code)]
10206pub struct GtkTreeModel {
10207    _data: [u8; 0],
10208    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10209}
10210
10211impl ::std::fmt::Debug for GtkTreeModel {
10212    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10213        write!(f, "GtkTreeModel @ {self:p}")
10214    }
10215}
10216
10217#[repr(C)]
10218#[allow(dead_code)]
10219pub struct GtkTreeSortable {
10220    _data: [u8; 0],
10221    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10222}
10223
10224impl ::std::fmt::Debug for GtkTreeSortable {
10225    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10226        write!(f, "GtkTreeSortable @ {self:p}")
10227    }
10228}
10229
10230unsafe extern "C" {
10231
10232    //=========================================================================
10233    // GtkAccessibleAnnouncementPriority
10234    //=========================================================================
10235    #[cfg(feature = "v4_14")]
10236    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10237    pub fn gtk_accessible_announcement_priority_get_type() -> GType;
10238
10239    //=========================================================================
10240    // GtkAccessibleAutocomplete
10241    //=========================================================================
10242    pub fn gtk_accessible_autocomplete_get_type() -> GType;
10243
10244    //=========================================================================
10245    // GtkAccessibleInvalidState
10246    //=========================================================================
10247    pub fn gtk_accessible_invalid_state_get_type() -> GType;
10248
10249    //=========================================================================
10250    // GtkAccessiblePlatformState
10251    //=========================================================================
10252    #[cfg(feature = "v4_10")]
10253    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10254    pub fn gtk_accessible_platform_state_get_type() -> GType;
10255
10256    //=========================================================================
10257    // GtkAccessibleProperty
10258    //=========================================================================
10259    pub fn gtk_accessible_property_get_type() -> GType;
10260    pub fn gtk_accessible_property_init_value(
10261        property: GtkAccessibleProperty,
10262        value: *mut gobject::GValue,
10263    );
10264
10265    //=========================================================================
10266    // GtkAccessibleRelation
10267    //=========================================================================
10268    pub fn gtk_accessible_relation_get_type() -> GType;
10269    pub fn gtk_accessible_relation_init_value(
10270        relation: GtkAccessibleRelation,
10271        value: *mut gobject::GValue,
10272    );
10273
10274    //=========================================================================
10275    // GtkAccessibleRole
10276    //=========================================================================
10277    pub fn gtk_accessible_role_get_type() -> GType;
10278
10279    //=========================================================================
10280    // GtkAccessibleSort
10281    //=========================================================================
10282    pub fn gtk_accessible_sort_get_type() -> GType;
10283
10284    //=========================================================================
10285    // GtkAccessibleState
10286    //=========================================================================
10287    pub fn gtk_accessible_state_get_type() -> GType;
10288    pub fn gtk_accessible_state_init_value(state: GtkAccessibleState, value: *mut gobject::GValue);
10289
10290    //=========================================================================
10291    // GtkAccessibleTextContentChange
10292    //=========================================================================
10293    #[cfg(feature = "v4_14")]
10294    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10295    pub fn gtk_accessible_text_content_change_get_type() -> GType;
10296
10297    //=========================================================================
10298    // GtkAccessibleTextGranularity
10299    //=========================================================================
10300    #[cfg(feature = "v4_14")]
10301    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10302    pub fn gtk_accessible_text_granularity_get_type() -> GType;
10303
10304    //=========================================================================
10305    // GtkAccessibleTristate
10306    //=========================================================================
10307    pub fn gtk_accessible_tristate_get_type() -> GType;
10308
10309    //=========================================================================
10310    // GtkAlign
10311    //=========================================================================
10312    pub fn gtk_align_get_type() -> GType;
10313
10314    //=========================================================================
10315    // GtkArrowType
10316    //=========================================================================
10317    pub fn gtk_arrow_type_get_type() -> GType;
10318
10319    //=========================================================================
10320    // GtkAssistantPageType
10321    //=========================================================================
10322    pub fn gtk_assistant_page_type_get_type() -> GType;
10323
10324    //=========================================================================
10325    // GtkBaselinePosition
10326    //=========================================================================
10327    pub fn gtk_baseline_position_get_type() -> GType;
10328
10329    //=========================================================================
10330    // GtkBorderStyle
10331    //=========================================================================
10332    pub fn gtk_border_style_get_type() -> GType;
10333
10334    //=========================================================================
10335    // GtkBuilderError
10336    //=========================================================================
10337    pub fn gtk_builder_error_get_type() -> GType;
10338    pub fn gtk_builder_error_quark() -> glib::GQuark;
10339
10340    //=========================================================================
10341    // GtkButtonsType
10342    //=========================================================================
10343    pub fn gtk_buttons_type_get_type() -> GType;
10344
10345    //=========================================================================
10346    // GtkCellRendererAccelMode
10347    //=========================================================================
10348    pub fn gtk_cell_renderer_accel_mode_get_type() -> GType;
10349
10350    //=========================================================================
10351    // GtkCellRendererMode
10352    //=========================================================================
10353    pub fn gtk_cell_renderer_mode_get_type() -> GType;
10354
10355    //=========================================================================
10356    // GtkCollation
10357    //=========================================================================
10358    #[cfg(feature = "v4_10")]
10359    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10360    pub fn gtk_collation_get_type() -> GType;
10361
10362    //=========================================================================
10363    // GtkConstraintAttribute
10364    //=========================================================================
10365    pub fn gtk_constraint_attribute_get_type() -> GType;
10366
10367    //=========================================================================
10368    // GtkConstraintRelation
10369    //=========================================================================
10370    pub fn gtk_constraint_relation_get_type() -> GType;
10371
10372    //=========================================================================
10373    // GtkConstraintStrength
10374    //=========================================================================
10375    pub fn gtk_constraint_strength_get_type() -> GType;
10376
10377    //=========================================================================
10378    // GtkConstraintVflParserError
10379    //=========================================================================
10380    pub fn gtk_constraint_vfl_parser_error_get_type() -> GType;
10381    pub fn gtk_constraint_vfl_parser_error_quark() -> glib::GQuark;
10382
10383    //=========================================================================
10384    // GtkContentFit
10385    //=========================================================================
10386    #[cfg(feature = "v4_8")]
10387    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
10388    pub fn gtk_content_fit_get_type() -> GType;
10389
10390    //=========================================================================
10391    // GtkCornerType
10392    //=========================================================================
10393    pub fn gtk_corner_type_get_type() -> GType;
10394
10395    //=========================================================================
10396    // GtkDeleteType
10397    //=========================================================================
10398    pub fn gtk_delete_type_get_type() -> GType;
10399
10400    //=========================================================================
10401    // GtkDialogError
10402    //=========================================================================
10403    #[cfg(feature = "v4_10")]
10404    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10405    pub fn gtk_dialog_error_get_type() -> GType;
10406    #[cfg(feature = "v4_10")]
10407    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10408    pub fn gtk_dialog_error_quark() -> glib::GQuark;
10409
10410    //=========================================================================
10411    // GtkDirectionType
10412    //=========================================================================
10413    pub fn gtk_direction_type_get_type() -> GType;
10414
10415    //=========================================================================
10416    // GtkEditableProperties
10417    //=========================================================================
10418    pub fn gtk_editable_properties_get_type() -> GType;
10419
10420    //=========================================================================
10421    // GtkEntryIconPosition
10422    //=========================================================================
10423    pub fn gtk_entry_icon_position_get_type() -> GType;
10424
10425    //=========================================================================
10426    // GtkEventSequenceState
10427    //=========================================================================
10428    pub fn gtk_event_sequence_state_get_type() -> GType;
10429
10430    //=========================================================================
10431    // GtkFileChooserAction
10432    //=========================================================================
10433    pub fn gtk_file_chooser_action_get_type() -> GType;
10434
10435    //=========================================================================
10436    // GtkFileChooserError
10437    //=========================================================================
10438    pub fn gtk_file_chooser_error_get_type() -> GType;
10439    pub fn gtk_file_chooser_error_quark() -> glib::GQuark;
10440
10441    //=========================================================================
10442    // GtkFilterChange
10443    //=========================================================================
10444    pub fn gtk_filter_change_get_type() -> GType;
10445
10446    //=========================================================================
10447    // GtkFilterMatch
10448    //=========================================================================
10449    pub fn gtk_filter_match_get_type() -> GType;
10450
10451    //=========================================================================
10452    // GtkFontLevel
10453    //=========================================================================
10454    #[cfg(feature = "v4_10")]
10455    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10456    pub fn gtk_font_level_get_type() -> GType;
10457
10458    //=========================================================================
10459    // GtkFontRendering
10460    //=========================================================================
10461    #[cfg(feature = "v4_16")]
10462    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10463    pub fn gtk_font_rendering_get_type() -> GType;
10464
10465    //=========================================================================
10466    // GtkGraphicsOffloadEnabled
10467    //=========================================================================
10468    #[cfg(feature = "v4_14")]
10469    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10470    pub fn gtk_graphics_offload_enabled_get_type() -> GType;
10471
10472    //=========================================================================
10473    // GtkIconSize
10474    //=========================================================================
10475    pub fn gtk_icon_size_get_type() -> GType;
10476
10477    //=========================================================================
10478    // GtkIconThemeError
10479    //=========================================================================
10480    pub fn gtk_icon_theme_error_get_type() -> GType;
10481    pub fn gtk_icon_theme_error_quark() -> glib::GQuark;
10482
10483    //=========================================================================
10484    // GtkIconViewDropPosition
10485    //=========================================================================
10486    pub fn gtk_icon_view_drop_position_get_type() -> GType;
10487
10488    //=========================================================================
10489    // GtkImageType
10490    //=========================================================================
10491    pub fn gtk_image_type_get_type() -> GType;
10492
10493    //=========================================================================
10494    // GtkInputPurpose
10495    //=========================================================================
10496    pub fn gtk_input_purpose_get_type() -> GType;
10497
10498    //=========================================================================
10499    // GtkInscriptionOverflow
10500    //=========================================================================
10501    #[cfg(feature = "v4_8")]
10502    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
10503    pub fn gtk_inscription_overflow_get_type() -> GType;
10504
10505    //=========================================================================
10506    // GtkInterfaceColorScheme
10507    //=========================================================================
10508    #[cfg(feature = "v4_20")]
10509    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10510    pub fn gtk_interface_color_scheme_get_type() -> GType;
10511
10512    //=========================================================================
10513    // GtkInterfaceContrast
10514    //=========================================================================
10515    #[cfg(feature = "v4_20")]
10516    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10517    pub fn gtk_interface_contrast_get_type() -> GType;
10518
10519    //=========================================================================
10520    // GtkJustification
10521    //=========================================================================
10522    pub fn gtk_justification_get_type() -> GType;
10523
10524    //=========================================================================
10525    // GtkLevelBarMode
10526    //=========================================================================
10527    pub fn gtk_level_bar_mode_get_type() -> GType;
10528
10529    //=========================================================================
10530    // GtkLicense
10531    //=========================================================================
10532    pub fn gtk_license_get_type() -> GType;
10533
10534    //=========================================================================
10535    // GtkListTabBehavior
10536    //=========================================================================
10537    #[cfg(feature = "v4_12")]
10538    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10539    pub fn gtk_list_tab_behavior_get_type() -> GType;
10540
10541    //=========================================================================
10542    // GtkMessageType
10543    //=========================================================================
10544    pub fn gtk_message_type_get_type() -> GType;
10545
10546    //=========================================================================
10547    // GtkMovementStep
10548    //=========================================================================
10549    pub fn gtk_movement_step_get_type() -> GType;
10550
10551    //=========================================================================
10552    // GtkNaturalWrapMode
10553    //=========================================================================
10554    #[cfg(feature = "v4_6")]
10555    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
10556    pub fn gtk_natural_wrap_mode_get_type() -> GType;
10557
10558    //=========================================================================
10559    // GtkNotebookTab
10560    //=========================================================================
10561    pub fn gtk_notebook_tab_get_type() -> GType;
10562
10563    //=========================================================================
10564    // GtkNumberUpLayout
10565    //=========================================================================
10566    pub fn gtk_number_up_layout_get_type() -> GType;
10567
10568    //=========================================================================
10569    // GtkOrdering
10570    //=========================================================================
10571    pub fn gtk_ordering_get_type() -> GType;
10572    pub fn gtk_ordering_from_cmpfunc(cmpfunc_result: c_int) -> GtkOrdering;
10573
10574    //=========================================================================
10575    // GtkOrientation
10576    //=========================================================================
10577    pub fn gtk_orientation_get_type() -> GType;
10578
10579    //=========================================================================
10580    // GtkOverflow
10581    //=========================================================================
10582    pub fn gtk_overflow_get_type() -> GType;
10583
10584    //=========================================================================
10585    // GtkPackType
10586    //=========================================================================
10587    pub fn gtk_pack_type_get_type() -> GType;
10588
10589    //=========================================================================
10590    // GtkPadActionType
10591    //=========================================================================
10592    pub fn gtk_pad_action_type_get_type() -> GType;
10593
10594    //=========================================================================
10595    // GtkPageOrientation
10596    //=========================================================================
10597    pub fn gtk_page_orientation_get_type() -> GType;
10598
10599    //=========================================================================
10600    // GtkPageSet
10601    //=========================================================================
10602    pub fn gtk_page_set_get_type() -> GType;
10603
10604    //=========================================================================
10605    // GtkPanDirection
10606    //=========================================================================
10607    pub fn gtk_pan_direction_get_type() -> GType;
10608
10609    //=========================================================================
10610    // GtkPolicyType
10611    //=========================================================================
10612    pub fn gtk_policy_type_get_type() -> GType;
10613
10614    //=========================================================================
10615    // GtkPositionType
10616    //=========================================================================
10617    pub fn gtk_position_type_get_type() -> GType;
10618
10619    //=========================================================================
10620    // GtkPrintDuplex
10621    //=========================================================================
10622    pub fn gtk_print_duplex_get_type() -> GType;
10623
10624    //=========================================================================
10625    // GtkPrintError
10626    //=========================================================================
10627    pub fn gtk_print_error_get_type() -> GType;
10628    pub fn gtk_print_error_quark() -> glib::GQuark;
10629
10630    //=========================================================================
10631    // GtkPrintOperationAction
10632    //=========================================================================
10633    pub fn gtk_print_operation_action_get_type() -> GType;
10634
10635    //=========================================================================
10636    // GtkPrintOperationResult
10637    //=========================================================================
10638    pub fn gtk_print_operation_result_get_type() -> GType;
10639
10640    //=========================================================================
10641    // GtkPrintPages
10642    //=========================================================================
10643    pub fn gtk_print_pages_get_type() -> GType;
10644
10645    //=========================================================================
10646    // GtkPrintQuality
10647    //=========================================================================
10648    pub fn gtk_print_quality_get_type() -> GType;
10649
10650    //=========================================================================
10651    // GtkPrintStatus
10652    //=========================================================================
10653    pub fn gtk_print_status_get_type() -> GType;
10654
10655    //=========================================================================
10656    // GtkPropagationLimit
10657    //=========================================================================
10658    pub fn gtk_propagation_limit_get_type() -> GType;
10659
10660    //=========================================================================
10661    // GtkPropagationPhase
10662    //=========================================================================
10663    pub fn gtk_propagation_phase_get_type() -> GType;
10664
10665    //=========================================================================
10666    // GtkRecentManagerError
10667    //=========================================================================
10668    pub fn gtk_recent_manager_error_get_type() -> GType;
10669    pub fn gtk_recent_manager_error_quark() -> glib::GQuark;
10670
10671    //=========================================================================
10672    // GtkReducedMotion
10673    //=========================================================================
10674    #[cfg(feature = "v4_22")]
10675    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10676    pub fn gtk_reduced_motion_get_type() -> GType;
10677
10678    //=========================================================================
10679    // GtkResponseType
10680    //=========================================================================
10681    pub fn gtk_response_type_get_type() -> GType;
10682
10683    //=========================================================================
10684    // GtkRevealerTransitionType
10685    //=========================================================================
10686    pub fn gtk_revealer_transition_type_get_type() -> GType;
10687
10688    //=========================================================================
10689    // GtkScrollStep
10690    //=========================================================================
10691    pub fn gtk_scroll_step_get_type() -> GType;
10692
10693    //=========================================================================
10694    // GtkScrollType
10695    //=========================================================================
10696    pub fn gtk_scroll_type_get_type() -> GType;
10697
10698    //=========================================================================
10699    // GtkScrollablePolicy
10700    //=========================================================================
10701    pub fn gtk_scrollable_policy_get_type() -> GType;
10702
10703    //=========================================================================
10704    // GtkSelectionMode
10705    //=========================================================================
10706    pub fn gtk_selection_mode_get_type() -> GType;
10707
10708    //=========================================================================
10709    // GtkSensitivityType
10710    //=========================================================================
10711    pub fn gtk_sensitivity_type_get_type() -> GType;
10712
10713    //=========================================================================
10714    // GtkShortcutScope
10715    //=========================================================================
10716    pub fn gtk_shortcut_scope_get_type() -> GType;
10717
10718    //=========================================================================
10719    // GtkShortcutType
10720    //=========================================================================
10721    pub fn gtk_shortcut_type_get_type() -> GType;
10722
10723    //=========================================================================
10724    // GtkSizeGroupMode
10725    //=========================================================================
10726    pub fn gtk_size_group_mode_get_type() -> GType;
10727
10728    //=========================================================================
10729    // GtkSizeRequestMode
10730    //=========================================================================
10731    pub fn gtk_size_request_mode_get_type() -> GType;
10732
10733    //=========================================================================
10734    // GtkSortType
10735    //=========================================================================
10736    pub fn gtk_sort_type_get_type() -> GType;
10737
10738    //=========================================================================
10739    // GtkSorterChange
10740    //=========================================================================
10741    pub fn gtk_sorter_change_get_type() -> GType;
10742
10743    //=========================================================================
10744    // GtkSorterOrder
10745    //=========================================================================
10746    pub fn gtk_sorter_order_get_type() -> GType;
10747
10748    //=========================================================================
10749    // GtkSpinButtonUpdatePolicy
10750    //=========================================================================
10751    pub fn gtk_spin_button_update_policy_get_type() -> GType;
10752
10753    //=========================================================================
10754    // GtkSpinType
10755    //=========================================================================
10756    pub fn gtk_spin_type_get_type() -> GType;
10757
10758    //=========================================================================
10759    // GtkStackTransitionType
10760    //=========================================================================
10761    pub fn gtk_stack_transition_type_get_type() -> GType;
10762
10763    //=========================================================================
10764    // GtkStringFilterMatchMode
10765    //=========================================================================
10766    pub fn gtk_string_filter_match_mode_get_type() -> GType;
10767
10768    //=========================================================================
10769    // GtkSvgError
10770    //=========================================================================
10771    #[cfg(feature = "v4_22")]
10772    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10773    pub fn gtk_svg_error_get_type() -> GType;
10774    #[cfg(feature = "v4_22")]
10775    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10776    pub fn gtk_svg_error_get_attribute(error: *const glib::GError) -> *const c_char;
10777    #[cfg(feature = "v4_22")]
10778    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10779    pub fn gtk_svg_error_get_element(error: *const glib::GError) -> *const c_char;
10780    #[cfg(feature = "v4_22")]
10781    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10782    pub fn gtk_svg_error_get_end(error: *const glib::GError) -> *const GtkSvgLocation;
10783    #[cfg(feature = "v4_24")]
10784    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
10785    pub fn gtk_svg_error_get_input(error: *const glib::GError) -> *const c_char;
10786    #[cfg(feature = "v4_22")]
10787    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10788    pub fn gtk_svg_error_get_start(error: *const glib::GError) -> *const GtkSvgLocation;
10789    #[cfg(feature = "v4_22")]
10790    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10791    pub fn gtk_svg_error_quark() -> glib::GQuark;
10792
10793    //=========================================================================
10794    // GtkSymbolicColor
10795    //=========================================================================
10796    #[cfg(feature = "v4_6")]
10797    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
10798    pub fn gtk_symbolic_color_get_type() -> GType;
10799
10800    //=========================================================================
10801    // GtkSystemSetting
10802    //=========================================================================
10803    pub fn gtk_system_setting_get_type() -> GType;
10804
10805    //=========================================================================
10806    // GtkTextDirection
10807    //=========================================================================
10808    pub fn gtk_text_direction_get_type() -> GType;
10809
10810    //=========================================================================
10811    // GtkTextExtendSelection
10812    //=========================================================================
10813    pub fn gtk_text_extend_selection_get_type() -> GType;
10814
10815    //=========================================================================
10816    // GtkTextViewLayer
10817    //=========================================================================
10818    pub fn gtk_text_view_layer_get_type() -> GType;
10819
10820    //=========================================================================
10821    // GtkTextWindowType
10822    //=========================================================================
10823    pub fn gtk_text_window_type_get_type() -> GType;
10824
10825    //=========================================================================
10826    // GtkTreeViewColumnSizing
10827    //=========================================================================
10828    pub fn gtk_tree_view_column_sizing_get_type() -> GType;
10829
10830    //=========================================================================
10831    // GtkTreeViewDropPosition
10832    //=========================================================================
10833    pub fn gtk_tree_view_drop_position_get_type() -> GType;
10834
10835    //=========================================================================
10836    // GtkTreeViewGridLines
10837    //=========================================================================
10838    pub fn gtk_tree_view_grid_lines_get_type() -> GType;
10839
10840    //=========================================================================
10841    // GtkUnit
10842    //=========================================================================
10843    pub fn gtk_unit_get_type() -> GType;
10844
10845    //=========================================================================
10846    // GtkWindowGravity
10847    //=========================================================================
10848    #[cfg(feature = "v4_20")]
10849    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10850    pub fn gtk_window_gravity_get_type() -> GType;
10851
10852    //=========================================================================
10853    // GtkWrapMode
10854    //=========================================================================
10855    pub fn gtk_wrap_mode_get_type() -> GType;
10856
10857    //=========================================================================
10858    // GtkApplicationInhibitFlags
10859    //=========================================================================
10860    pub fn gtk_application_inhibit_flags_get_type() -> GType;
10861
10862    //=========================================================================
10863    // GtkBuilderClosureFlags
10864    //=========================================================================
10865    pub fn gtk_builder_closure_flags_get_type() -> GType;
10866
10867    //=========================================================================
10868    // GtkCellRendererState
10869    //=========================================================================
10870    pub fn gtk_cell_renderer_state_get_type() -> GType;
10871
10872    //=========================================================================
10873    // GtkDebugFlags
10874    //=========================================================================
10875    pub fn gtk_debug_flags_get_type() -> GType;
10876
10877    //=========================================================================
10878    // GtkDialogFlags
10879    //=========================================================================
10880    pub fn gtk_dialog_flags_get_type() -> GType;
10881
10882    //=========================================================================
10883    // GtkEventControllerScrollFlags
10884    //=========================================================================
10885    pub fn gtk_event_controller_scroll_flags_get_type() -> GType;
10886
10887    //=========================================================================
10888    // GtkFontChooserLevel
10889    //=========================================================================
10890    pub fn gtk_font_chooser_level_get_type() -> GType;
10891
10892    //=========================================================================
10893    // GtkIconLookupFlags
10894    //=========================================================================
10895    pub fn gtk_icon_lookup_flags_get_type() -> GType;
10896
10897    //=========================================================================
10898    // GtkInputHints
10899    //=========================================================================
10900    pub fn gtk_input_hints_get_type() -> GType;
10901
10902    //=========================================================================
10903    // GtkListScrollFlags
10904    //=========================================================================
10905    #[cfg(feature = "v4_12")]
10906    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10907    pub fn gtk_list_scroll_flags_get_type() -> GType;
10908
10909    //=========================================================================
10910    // GtkPickFlags
10911    //=========================================================================
10912    pub fn gtk_pick_flags_get_type() -> GType;
10913
10914    //=========================================================================
10915    // GtkPopoverMenuFlags
10916    //=========================================================================
10917    pub fn gtk_popover_menu_flags_get_type() -> GType;
10918
10919    //=========================================================================
10920    // GtkPrintCapabilities
10921    //=========================================================================
10922    pub fn gtk_print_capabilities_get_type() -> GType;
10923
10924    //=========================================================================
10925    // GtkShortcutActionFlags
10926    //=========================================================================
10927    pub fn gtk_shortcut_action_flags_get_type() -> GType;
10928
10929    //=========================================================================
10930    // GtkStateFlags
10931    //=========================================================================
10932    pub fn gtk_state_flags_get_type() -> GType;
10933
10934    //=========================================================================
10935    // GtkStyleContextPrintFlags
10936    //=========================================================================
10937    pub fn gtk_style_context_print_flags_get_type() -> GType;
10938
10939    //=========================================================================
10940    // GtkSvgFeatures
10941    //=========================================================================
10942    #[cfg(feature = "v4_22")]
10943    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10944    pub fn gtk_svg_features_get_type() -> GType;
10945
10946    //=========================================================================
10947    // GtkTextBufferNotifyFlags
10948    //=========================================================================
10949    #[cfg(feature = "v4_16")]
10950    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10951    pub fn gtk_text_buffer_notify_flags_get_type() -> GType;
10952
10953    //=========================================================================
10954    // GtkTextSearchFlags
10955    //=========================================================================
10956    pub fn gtk_text_search_flags_get_type() -> GType;
10957
10958    //=========================================================================
10959    // GtkTreeModelFlags
10960    //=========================================================================
10961    pub fn gtk_tree_model_flags_get_type() -> GType;
10962
10963    //=========================================================================
10964    // GtkAccessibleList
10965    //=========================================================================
10966    #[cfg(feature = "v4_14")]
10967    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10968    pub fn gtk_accessible_list_get_type() -> GType;
10969    #[cfg(feature = "v4_14")]
10970    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10971    pub fn gtk_accessible_list_new_from_array(
10972        accessibles: *mut *mut GtkAccessible,
10973        n_accessibles: size_t,
10974    ) -> *mut GtkAccessibleList;
10975    #[cfg(feature = "v4_14")]
10976    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10977    pub fn gtk_accessible_list_new_from_list(list: *mut glib::GList) -> *mut GtkAccessibleList;
10978    #[cfg(feature = "v4_14")]
10979    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10980    pub fn gtk_accessible_list_get_objects(
10981        accessible_list: *mut GtkAccessibleList,
10982    ) -> *mut glib::GList;
10983
10984    //=========================================================================
10985    // GtkBitset
10986    //=========================================================================
10987    pub fn gtk_bitset_get_type() -> GType;
10988    pub fn gtk_bitset_new_empty() -> *mut GtkBitset;
10989    pub fn gtk_bitset_new_range(start: c_uint, n_items: c_uint) -> *mut GtkBitset;
10990    pub fn gtk_bitset_add(self_: *mut GtkBitset, value: c_uint) -> gboolean;
10991    pub fn gtk_bitset_add_range(self_: *mut GtkBitset, start: c_uint, n_items: c_uint);
10992    pub fn gtk_bitset_add_range_closed(self_: *mut GtkBitset, first: c_uint, last: c_uint);
10993    pub fn gtk_bitset_add_rectangle(
10994        self_: *mut GtkBitset,
10995        start: c_uint,
10996        width: c_uint,
10997        height: c_uint,
10998        stride: c_uint,
10999    );
11000    pub fn gtk_bitset_contains(self_: *const GtkBitset, value: c_uint) -> gboolean;
11001    pub fn gtk_bitset_copy(self_: *const GtkBitset) -> *mut GtkBitset;
11002    pub fn gtk_bitset_difference(self_: *mut GtkBitset, other: *const GtkBitset);
11003    pub fn gtk_bitset_equals(self_: *const GtkBitset, other: *const GtkBitset) -> gboolean;
11004    pub fn gtk_bitset_get_maximum(self_: *const GtkBitset) -> c_uint;
11005    pub fn gtk_bitset_get_minimum(self_: *const GtkBitset) -> c_uint;
11006    pub fn gtk_bitset_get_nth(self_: *const GtkBitset, nth: c_uint) -> c_uint;
11007    pub fn gtk_bitset_get_size(self_: *const GtkBitset) -> u64;
11008    pub fn gtk_bitset_get_size_in_range(
11009        self_: *const GtkBitset,
11010        first: c_uint,
11011        last: c_uint,
11012    ) -> u64;
11013    pub fn gtk_bitset_intersect(self_: *mut GtkBitset, other: *const GtkBitset);
11014    pub fn gtk_bitset_is_empty(self_: *const GtkBitset) -> gboolean;
11015    pub fn gtk_bitset_ref(self_: *mut GtkBitset) -> *mut GtkBitset;
11016    pub fn gtk_bitset_remove(self_: *mut GtkBitset, value: c_uint) -> gboolean;
11017    pub fn gtk_bitset_remove_all(self_: *mut GtkBitset);
11018    pub fn gtk_bitset_remove_range(self_: *mut GtkBitset, start: c_uint, n_items: c_uint);
11019    pub fn gtk_bitset_remove_range_closed(self_: *mut GtkBitset, first: c_uint, last: c_uint);
11020    pub fn gtk_bitset_remove_rectangle(
11021        self_: *mut GtkBitset,
11022        start: c_uint,
11023        width: c_uint,
11024        height: c_uint,
11025        stride: c_uint,
11026    );
11027    pub fn gtk_bitset_shift_left(self_: *mut GtkBitset, amount: c_uint);
11028    pub fn gtk_bitset_shift_right(self_: *mut GtkBitset, amount: c_uint);
11029    pub fn gtk_bitset_splice(
11030        self_: *mut GtkBitset,
11031        position: c_uint,
11032        removed: c_uint,
11033        added: c_uint,
11034    );
11035    pub fn gtk_bitset_subtract(self_: *mut GtkBitset, other: *const GtkBitset);
11036    pub fn gtk_bitset_union(self_: *mut GtkBitset, other: *const GtkBitset);
11037    pub fn gtk_bitset_unref(self_: *mut GtkBitset);
11038
11039    //=========================================================================
11040    // GtkBitsetIter
11041    //=========================================================================
11042    pub fn gtk_bitset_iter_get_type() -> GType;
11043    pub fn gtk_bitset_iter_get_value(iter: *const GtkBitsetIter) -> c_uint;
11044    pub fn gtk_bitset_iter_is_valid(iter: *const GtkBitsetIter) -> gboolean;
11045    pub fn gtk_bitset_iter_next(iter: *mut GtkBitsetIter, value: *mut c_uint) -> gboolean;
11046    pub fn gtk_bitset_iter_previous(iter: *mut GtkBitsetIter, value: *mut c_uint) -> gboolean;
11047    pub fn gtk_bitset_iter_init_at(
11048        iter: *mut GtkBitsetIter,
11049        set: *const GtkBitset,
11050        target: c_uint,
11051        value: *mut c_uint,
11052    ) -> gboolean;
11053    pub fn gtk_bitset_iter_init_first(
11054        iter: *mut GtkBitsetIter,
11055        set: *const GtkBitset,
11056        value: *mut c_uint,
11057    ) -> gboolean;
11058    pub fn gtk_bitset_iter_init_last(
11059        iter: *mut GtkBitsetIter,
11060        set: *const GtkBitset,
11061        value: *mut c_uint,
11062    ) -> gboolean;
11063
11064    //=========================================================================
11065    // GtkBorder
11066    //=========================================================================
11067    pub fn gtk_border_get_type() -> GType;
11068    pub fn gtk_border_new() -> *mut GtkBorder;
11069    pub fn gtk_border_copy(border_: *const GtkBorder) -> *mut GtkBorder;
11070    pub fn gtk_border_free(border_: *mut GtkBorder);
11071
11072    //=========================================================================
11073    // GtkBuildableParseContext
11074    //=========================================================================
11075    pub fn gtk_buildable_parse_context_get_element(
11076        context: *mut GtkBuildableParseContext,
11077    ) -> *const c_char;
11078    pub fn gtk_buildable_parse_context_get_element_stack(
11079        context: *mut GtkBuildableParseContext,
11080    ) -> *mut glib::GPtrArray;
11081    pub fn gtk_buildable_parse_context_get_position(
11082        context: *mut GtkBuildableParseContext,
11083        line_number: *mut c_int,
11084        char_number: *mut c_int,
11085    );
11086    pub fn gtk_buildable_parse_context_pop(context: *mut GtkBuildableParseContext) -> gpointer;
11087    pub fn gtk_buildable_parse_context_push(
11088        context: *mut GtkBuildableParseContext,
11089        parser: *const GtkBuildableParser,
11090        user_data: gpointer,
11091    );
11092
11093    //=========================================================================
11094    // GtkCellAreaClass
11095    //=========================================================================
11096    pub fn gtk_cell_area_class_find_cell_property(
11097        aclass: *mut GtkCellAreaClass,
11098        property_name: *const c_char,
11099    ) -> *mut gobject::GParamSpec;
11100    pub fn gtk_cell_area_class_install_cell_property(
11101        aclass: *mut GtkCellAreaClass,
11102        property_id: c_uint,
11103        pspec: *mut gobject::GParamSpec,
11104    );
11105    pub fn gtk_cell_area_class_list_cell_properties(
11106        aclass: *mut GtkCellAreaClass,
11107        n_properties: *mut c_uint,
11108    ) -> *mut *mut gobject::GParamSpec;
11109
11110    //=========================================================================
11111    // GtkCssSection
11112    //=========================================================================
11113    pub fn gtk_css_section_get_type() -> GType;
11114    pub fn gtk_css_section_new(
11115        file: *mut gio::GFile,
11116        start: *const GtkCssLocation,
11117        end: *const GtkCssLocation,
11118    ) -> *mut GtkCssSection;
11119    #[cfg(feature = "v4_16")]
11120    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
11121    pub fn gtk_css_section_new_with_bytes(
11122        file: *mut gio::GFile,
11123        bytes: *mut glib::GBytes,
11124        start: *const GtkCssLocation,
11125        end: *const GtkCssLocation,
11126    ) -> *mut GtkCssSection;
11127    #[cfg(feature = "v4_16")]
11128    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
11129    pub fn gtk_css_section_get_bytes(section: *const GtkCssSection) -> *mut glib::GBytes;
11130    pub fn gtk_css_section_get_end_location(section: *const GtkCssSection)
11131    -> *const GtkCssLocation;
11132    pub fn gtk_css_section_get_file(section: *const GtkCssSection) -> *mut gio::GFile;
11133    pub fn gtk_css_section_get_parent(section: *const GtkCssSection) -> *mut GtkCssSection;
11134    pub fn gtk_css_section_get_start_location(
11135        section: *const GtkCssSection,
11136    ) -> *const GtkCssLocation;
11137    pub fn gtk_css_section_print(section: *const GtkCssSection, string: *mut glib::GString);
11138    pub fn gtk_css_section_ref(section: *mut GtkCssSection) -> *mut GtkCssSection;
11139    pub fn gtk_css_section_to_string(section: *const GtkCssSection) -> *mut c_char;
11140    pub fn gtk_css_section_unref(section: *mut GtkCssSection);
11141
11142    //=========================================================================
11143    // GtkExpressionWatch
11144    //=========================================================================
11145    #[cfg(feature = "v4_2")]
11146    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
11147    pub fn gtk_expression_watch_get_type() -> GType;
11148    pub fn gtk_expression_watch_evaluate(
11149        watch: *mut GtkExpressionWatch,
11150        value: *mut gobject::GValue,
11151    ) -> gboolean;
11152    pub fn gtk_expression_watch_ref(watch: *mut GtkExpressionWatch) -> *mut GtkExpressionWatch;
11153    pub fn gtk_expression_watch_unref(watch: *mut GtkExpressionWatch);
11154    pub fn gtk_expression_watch_unwatch(watch: *mut GtkExpressionWatch);
11155
11156    //=========================================================================
11157    // GtkPaperSize
11158    //=========================================================================
11159    pub fn gtk_paper_size_get_type() -> GType;
11160    pub fn gtk_paper_size_new(name: *const c_char) -> *mut GtkPaperSize;
11161    pub fn gtk_paper_size_new_custom(
11162        name: *const c_char,
11163        display_name: *const c_char,
11164        width: c_double,
11165        height: c_double,
11166        unit: GtkUnit,
11167    ) -> *mut GtkPaperSize;
11168    pub fn gtk_paper_size_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPaperSize;
11169    pub fn gtk_paper_size_new_from_ipp(
11170        ipp_name: *const c_char,
11171        width: c_double,
11172        height: c_double,
11173    ) -> *mut GtkPaperSize;
11174    pub fn gtk_paper_size_new_from_key_file(
11175        key_file: *mut glib::GKeyFile,
11176        group_name: *const c_char,
11177        error: *mut *mut glib::GError,
11178    ) -> *mut GtkPaperSize;
11179    pub fn gtk_paper_size_new_from_ppd(
11180        ppd_name: *const c_char,
11181        ppd_display_name: *const c_char,
11182        width: c_double,
11183        height: c_double,
11184    ) -> *mut GtkPaperSize;
11185    pub fn gtk_paper_size_copy(other: *mut GtkPaperSize) -> *mut GtkPaperSize;
11186    pub fn gtk_paper_size_free(size: *mut GtkPaperSize);
11187    pub fn gtk_paper_size_get_default_bottom_margin(
11188        size: *mut GtkPaperSize,
11189        unit: GtkUnit,
11190    ) -> c_double;
11191    pub fn gtk_paper_size_get_default_left_margin(
11192        size: *mut GtkPaperSize,
11193        unit: GtkUnit,
11194    ) -> c_double;
11195    pub fn gtk_paper_size_get_default_right_margin(
11196        size: *mut GtkPaperSize,
11197        unit: GtkUnit,
11198    ) -> c_double;
11199    pub fn gtk_paper_size_get_default_top_margin(
11200        size: *mut GtkPaperSize,
11201        unit: GtkUnit,
11202    ) -> c_double;
11203    pub fn gtk_paper_size_get_display_name(size: *mut GtkPaperSize) -> *const c_char;
11204    pub fn gtk_paper_size_get_height(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
11205    pub fn gtk_paper_size_get_name(size: *mut GtkPaperSize) -> *const c_char;
11206    pub fn gtk_paper_size_get_ppd_name(size: *mut GtkPaperSize) -> *const c_char;
11207    pub fn gtk_paper_size_get_width(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
11208    pub fn gtk_paper_size_is_custom(size: *mut GtkPaperSize) -> gboolean;
11209    pub fn gtk_paper_size_is_equal(size1: *mut GtkPaperSize, size2: *mut GtkPaperSize) -> gboolean;
11210    pub fn gtk_paper_size_is_ipp(size: *mut GtkPaperSize) -> gboolean;
11211    pub fn gtk_paper_size_set_size(
11212        size: *mut GtkPaperSize,
11213        width: c_double,
11214        height: c_double,
11215        unit: GtkUnit,
11216    );
11217    pub fn gtk_paper_size_to_gvariant(paper_size: *mut GtkPaperSize) -> *mut glib::GVariant;
11218    pub fn gtk_paper_size_to_key_file(
11219        size: *mut GtkPaperSize,
11220        key_file: *mut glib::GKeyFile,
11221        group_name: *const c_char,
11222    );
11223    pub fn gtk_paper_size_get_default() -> *const c_char;
11224    pub fn gtk_paper_size_get_paper_sizes(include_custom: gboolean) -> *mut glib::GList;
11225
11226    //=========================================================================
11227    // GtkPrintSetup
11228    //=========================================================================
11229    #[cfg(feature = "v4_14")]
11230    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11231    pub fn gtk_print_setup_get_type() -> GType;
11232    #[cfg(feature = "v4_14")]
11233    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11234    pub fn gtk_print_setup_get_page_setup(setup: *mut GtkPrintSetup) -> *mut GtkPageSetup;
11235    #[cfg(feature = "v4_14")]
11236    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11237    pub fn gtk_print_setup_get_print_settings(setup: *mut GtkPrintSetup) -> *mut GtkPrintSettings;
11238    #[cfg(feature = "v4_14")]
11239    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11240    pub fn gtk_print_setup_ref(setup: *mut GtkPrintSetup) -> *mut GtkPrintSetup;
11241    #[cfg(feature = "v4_14")]
11242    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11243    pub fn gtk_print_setup_unref(setup: *mut GtkPrintSetup);
11244
11245    //=========================================================================
11246    // GtkRecentInfo
11247    //=========================================================================
11248    pub fn gtk_recent_info_get_type() -> GType;
11249    pub fn gtk_recent_info_create_app_info(
11250        info: *mut GtkRecentInfo,
11251        app_name: *const c_char,
11252        error: *mut *mut glib::GError,
11253    ) -> *mut gio::GAppInfo;
11254    pub fn gtk_recent_info_exists(info: *mut GtkRecentInfo) -> gboolean;
11255    pub fn gtk_recent_info_get_added(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11256    pub fn gtk_recent_info_get_age(info: *mut GtkRecentInfo) -> c_int;
11257    pub fn gtk_recent_info_get_application_info(
11258        info: *mut GtkRecentInfo,
11259        app_name: *const c_char,
11260        app_exec: *mut *const c_char,
11261        count: *mut c_uint,
11262        stamp: *mut *mut glib::GDateTime,
11263    ) -> gboolean;
11264    pub fn gtk_recent_info_get_applications(
11265        info: *mut GtkRecentInfo,
11266        length: *mut size_t,
11267    ) -> *mut *mut c_char;
11268    pub fn gtk_recent_info_get_description(info: *mut GtkRecentInfo) -> *const c_char;
11269    pub fn gtk_recent_info_get_display_name(info: *mut GtkRecentInfo) -> *const c_char;
11270    pub fn gtk_recent_info_get_gicon(info: *mut GtkRecentInfo) -> *mut gio::GIcon;
11271    pub fn gtk_recent_info_get_groups(
11272        info: *mut GtkRecentInfo,
11273        length: *mut size_t,
11274    ) -> *mut *mut c_char;
11275    pub fn gtk_recent_info_get_mime_type(info: *mut GtkRecentInfo) -> *const c_char;
11276    pub fn gtk_recent_info_get_modified(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11277    pub fn gtk_recent_info_get_private_hint(info: *mut GtkRecentInfo) -> gboolean;
11278    pub fn gtk_recent_info_get_short_name(info: *mut GtkRecentInfo) -> *mut c_char;
11279    pub fn gtk_recent_info_get_uri(info: *mut GtkRecentInfo) -> *const c_char;
11280    pub fn gtk_recent_info_get_uri_display(info: *mut GtkRecentInfo) -> *mut c_char;
11281    pub fn gtk_recent_info_get_visited(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11282    pub fn gtk_recent_info_has_application(
11283        info: *mut GtkRecentInfo,
11284        app_name: *const c_char,
11285    ) -> gboolean;
11286    pub fn gtk_recent_info_has_group(
11287        info: *mut GtkRecentInfo,
11288        group_name: *const c_char,
11289    ) -> gboolean;
11290    pub fn gtk_recent_info_is_local(info: *mut GtkRecentInfo) -> gboolean;
11291    pub fn gtk_recent_info_last_application(info: *mut GtkRecentInfo) -> *mut c_char;
11292    pub fn gtk_recent_info_match(
11293        info_a: *mut GtkRecentInfo,
11294        info_b: *mut GtkRecentInfo,
11295    ) -> gboolean;
11296    pub fn gtk_recent_info_ref(info: *mut GtkRecentInfo) -> *mut GtkRecentInfo;
11297    pub fn gtk_recent_info_unref(info: *mut GtkRecentInfo);
11298
11299    //=========================================================================
11300    // GtkRequisition
11301    //=========================================================================
11302    pub fn gtk_requisition_get_type() -> GType;
11303    pub fn gtk_requisition_new() -> *mut GtkRequisition;
11304    pub fn gtk_requisition_copy(requisition: *const GtkRequisition) -> *mut GtkRequisition;
11305    pub fn gtk_requisition_free(requisition: *mut GtkRequisition);
11306
11307    //=========================================================================
11308    // GtkScrollInfo
11309    //=========================================================================
11310    #[cfg(feature = "v4_12")]
11311    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11312    pub fn gtk_scroll_info_get_type() -> GType;
11313    #[cfg(feature = "v4_12")]
11314    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11315    pub fn gtk_scroll_info_new() -> *mut GtkScrollInfo;
11316    #[cfg(feature = "v4_12")]
11317    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11318    pub fn gtk_scroll_info_get_enable_horizontal(self_: *mut GtkScrollInfo) -> gboolean;
11319    #[cfg(feature = "v4_12")]
11320    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11321    pub fn gtk_scroll_info_get_enable_vertical(self_: *mut GtkScrollInfo) -> gboolean;
11322    #[cfg(feature = "v4_12")]
11323    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11324    pub fn gtk_scroll_info_ref(self_: *mut GtkScrollInfo) -> *mut GtkScrollInfo;
11325    #[cfg(feature = "v4_12")]
11326    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11327    pub fn gtk_scroll_info_set_enable_horizontal(self_: *mut GtkScrollInfo, horizontal: gboolean);
11328    #[cfg(feature = "v4_12")]
11329    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11330    pub fn gtk_scroll_info_set_enable_vertical(self_: *mut GtkScrollInfo, vertical: gboolean);
11331    #[cfg(feature = "v4_12")]
11332    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11333    pub fn gtk_scroll_info_unref(self_: *mut GtkScrollInfo);
11334
11335    //=========================================================================
11336    // GtkTextIter
11337    //=========================================================================
11338    pub fn gtk_text_iter_get_type() -> GType;
11339    pub fn gtk_text_iter_assign(iter: *mut GtkTextIter, other: *const GtkTextIter);
11340    pub fn gtk_text_iter_backward_char(iter: *mut GtkTextIter) -> gboolean;
11341    pub fn gtk_text_iter_backward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11342    pub fn gtk_text_iter_backward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11343    pub fn gtk_text_iter_backward_cursor_positions(
11344        iter: *mut GtkTextIter,
11345        count: c_int,
11346    ) -> gboolean;
11347    pub fn gtk_text_iter_backward_find_char(
11348        iter: *mut GtkTextIter,
11349        pred: GtkTextCharPredicate,
11350        user_data: gpointer,
11351        limit: *const GtkTextIter,
11352    ) -> gboolean;
11353    pub fn gtk_text_iter_backward_line(iter: *mut GtkTextIter) -> gboolean;
11354    pub fn gtk_text_iter_backward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11355    pub fn gtk_text_iter_backward_search(
11356        iter: *const GtkTextIter,
11357        str: *const c_char,
11358        flags: GtkTextSearchFlags,
11359        match_start: *mut GtkTextIter,
11360        match_end: *mut GtkTextIter,
11361        limit: *const GtkTextIter,
11362    ) -> gboolean;
11363    pub fn gtk_text_iter_backward_sentence_start(iter: *mut GtkTextIter) -> gboolean;
11364    pub fn gtk_text_iter_backward_sentence_starts(iter: *mut GtkTextIter, count: c_int)
11365    -> gboolean;
11366    pub fn gtk_text_iter_backward_to_tag_toggle(
11367        iter: *mut GtkTextIter,
11368        tag: *mut GtkTextTag,
11369    ) -> gboolean;
11370    pub fn gtk_text_iter_backward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11371    pub fn gtk_text_iter_backward_visible_cursor_positions(
11372        iter: *mut GtkTextIter,
11373        count: c_int,
11374    ) -> gboolean;
11375    pub fn gtk_text_iter_backward_visible_line(iter: *mut GtkTextIter) -> gboolean;
11376    pub fn gtk_text_iter_backward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11377    pub fn gtk_text_iter_backward_visible_word_start(iter: *mut GtkTextIter) -> gboolean;
11378    pub fn gtk_text_iter_backward_visible_word_starts(
11379        iter: *mut GtkTextIter,
11380        count: c_int,
11381    ) -> gboolean;
11382    pub fn gtk_text_iter_backward_word_start(iter: *mut GtkTextIter) -> gboolean;
11383    pub fn gtk_text_iter_backward_word_starts(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11384    pub fn gtk_text_iter_can_insert(
11385        iter: *const GtkTextIter,
11386        default_editability: gboolean,
11387    ) -> gboolean;
11388    pub fn gtk_text_iter_compare(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> c_int;
11389    pub fn gtk_text_iter_copy(iter: *const GtkTextIter) -> *mut GtkTextIter;
11390    pub fn gtk_text_iter_editable(iter: *const GtkTextIter, default_setting: gboolean) -> gboolean;
11391    pub fn gtk_text_iter_ends_line(iter: *const GtkTextIter) -> gboolean;
11392    pub fn gtk_text_iter_ends_sentence(iter: *const GtkTextIter) -> gboolean;
11393    pub fn gtk_text_iter_ends_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11394    pub fn gtk_text_iter_ends_word(iter: *const GtkTextIter) -> gboolean;
11395    pub fn gtk_text_iter_equal(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> gboolean;
11396    pub fn gtk_text_iter_forward_char(iter: *mut GtkTextIter) -> gboolean;
11397    pub fn gtk_text_iter_forward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11398    pub fn gtk_text_iter_forward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11399    pub fn gtk_text_iter_forward_cursor_positions(iter: *mut GtkTextIter, count: c_int)
11400    -> gboolean;
11401    pub fn gtk_text_iter_forward_find_char(
11402        iter: *mut GtkTextIter,
11403        pred: GtkTextCharPredicate,
11404        user_data: gpointer,
11405        limit: *const GtkTextIter,
11406    ) -> gboolean;
11407    pub fn gtk_text_iter_forward_line(iter: *mut GtkTextIter) -> gboolean;
11408    pub fn gtk_text_iter_forward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11409    pub fn gtk_text_iter_forward_search(
11410        iter: *const GtkTextIter,
11411        str: *const c_char,
11412        flags: GtkTextSearchFlags,
11413        match_start: *mut GtkTextIter,
11414        match_end: *mut GtkTextIter,
11415        limit: *const GtkTextIter,
11416    ) -> gboolean;
11417    pub fn gtk_text_iter_forward_sentence_end(iter: *mut GtkTextIter) -> gboolean;
11418    pub fn gtk_text_iter_forward_sentence_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11419    pub fn gtk_text_iter_forward_to_end(iter: *mut GtkTextIter);
11420    pub fn gtk_text_iter_forward_to_line_end(iter: *mut GtkTextIter) -> gboolean;
11421    pub fn gtk_text_iter_forward_to_tag_toggle(
11422        iter: *mut GtkTextIter,
11423        tag: *mut GtkTextTag,
11424    ) -> gboolean;
11425    pub fn gtk_text_iter_forward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11426    pub fn gtk_text_iter_forward_visible_cursor_positions(
11427        iter: *mut GtkTextIter,
11428        count: c_int,
11429    ) -> gboolean;
11430    pub fn gtk_text_iter_forward_visible_line(iter: *mut GtkTextIter) -> gboolean;
11431    pub fn gtk_text_iter_forward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11432    pub fn gtk_text_iter_forward_visible_word_end(iter: *mut GtkTextIter) -> gboolean;
11433    pub fn gtk_text_iter_forward_visible_word_ends(
11434        iter: *mut GtkTextIter,
11435        count: c_int,
11436    ) -> gboolean;
11437    pub fn gtk_text_iter_forward_word_end(iter: *mut GtkTextIter) -> gboolean;
11438    pub fn gtk_text_iter_forward_word_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11439    pub fn gtk_text_iter_free(iter: *mut GtkTextIter);
11440    pub fn gtk_text_iter_get_buffer(iter: *const GtkTextIter) -> *mut GtkTextBuffer;
11441    pub fn gtk_text_iter_get_bytes_in_line(iter: *const GtkTextIter) -> c_int;
11442    pub fn gtk_text_iter_get_char(iter: *const GtkTextIter) -> u32;
11443    pub fn gtk_text_iter_get_chars_in_line(iter: *const GtkTextIter) -> c_int;
11444    pub fn gtk_text_iter_get_child_anchor(iter: *const GtkTextIter) -> *mut GtkTextChildAnchor;
11445    pub fn gtk_text_iter_get_language(iter: *const GtkTextIter) -> *mut pango::PangoLanguage;
11446    pub fn gtk_text_iter_get_line(iter: *const GtkTextIter) -> c_int;
11447    pub fn gtk_text_iter_get_line_index(iter: *const GtkTextIter) -> c_int;
11448    pub fn gtk_text_iter_get_line_offset(iter: *const GtkTextIter) -> c_int;
11449    pub fn gtk_text_iter_get_marks(iter: *const GtkTextIter) -> *mut glib::GSList;
11450    pub fn gtk_text_iter_get_offset(iter: *const GtkTextIter) -> c_int;
11451    pub fn gtk_text_iter_get_paintable(iter: *const GtkTextIter) -> *mut gdk::GdkPaintable;
11452    pub fn gtk_text_iter_get_slice(
11453        start: *const GtkTextIter,
11454        end: *const GtkTextIter,
11455    ) -> *mut c_char;
11456    pub fn gtk_text_iter_get_tags(iter: *const GtkTextIter) -> *mut glib::GSList;
11457    pub fn gtk_text_iter_get_text(
11458        start: *const GtkTextIter,
11459        end: *const GtkTextIter,
11460    ) -> *mut c_char;
11461    pub fn gtk_text_iter_get_toggled_tags(
11462        iter: *const GtkTextIter,
11463        toggled_on: gboolean,
11464    ) -> *mut glib::GSList;
11465    pub fn gtk_text_iter_get_visible_line_index(iter: *const GtkTextIter) -> c_int;
11466    pub fn gtk_text_iter_get_visible_line_offset(iter: *const GtkTextIter) -> c_int;
11467    pub fn gtk_text_iter_get_visible_slice(
11468        start: *const GtkTextIter,
11469        end: *const GtkTextIter,
11470    ) -> *mut c_char;
11471    pub fn gtk_text_iter_get_visible_text(
11472        start: *const GtkTextIter,
11473        end: *const GtkTextIter,
11474    ) -> *mut c_char;
11475    pub fn gtk_text_iter_has_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11476    pub fn gtk_text_iter_in_range(
11477        iter: *const GtkTextIter,
11478        start: *const GtkTextIter,
11479        end: *const GtkTextIter,
11480    ) -> gboolean;
11481    pub fn gtk_text_iter_inside_sentence(iter: *const GtkTextIter) -> gboolean;
11482    pub fn gtk_text_iter_inside_word(iter: *const GtkTextIter) -> gboolean;
11483    pub fn gtk_text_iter_is_cursor_position(iter: *const GtkTextIter) -> gboolean;
11484    pub fn gtk_text_iter_is_end(iter: *const GtkTextIter) -> gboolean;
11485    pub fn gtk_text_iter_is_start(iter: *const GtkTextIter) -> gboolean;
11486    pub fn gtk_text_iter_order(first: *mut GtkTextIter, second: *mut GtkTextIter);
11487    pub fn gtk_text_iter_set_line(iter: *mut GtkTextIter, line_number: c_int);
11488    pub fn gtk_text_iter_set_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
11489    pub fn gtk_text_iter_set_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
11490    pub fn gtk_text_iter_set_offset(iter: *mut GtkTextIter, char_offset: c_int);
11491    pub fn gtk_text_iter_set_visible_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
11492    pub fn gtk_text_iter_set_visible_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
11493    pub fn gtk_text_iter_starts_line(iter: *const GtkTextIter) -> gboolean;
11494    pub fn gtk_text_iter_starts_sentence(iter: *const GtkTextIter) -> gboolean;
11495    pub fn gtk_text_iter_starts_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11496    pub fn gtk_text_iter_starts_word(iter: *const GtkTextIter) -> gboolean;
11497    pub fn gtk_text_iter_toggles_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11498
11499    //=========================================================================
11500    // GtkTreeIter
11501    //=========================================================================
11502    pub fn gtk_tree_iter_get_type() -> GType;
11503    pub fn gtk_tree_iter_copy(iter: *mut GtkTreeIter) -> *mut GtkTreeIter;
11504    pub fn gtk_tree_iter_free(iter: *mut GtkTreeIter);
11505
11506    //=========================================================================
11507    // GtkTreePath
11508    //=========================================================================
11509    pub fn gtk_tree_path_get_type() -> GType;
11510    pub fn gtk_tree_path_new() -> *mut GtkTreePath;
11511    pub fn gtk_tree_path_new_first() -> *mut GtkTreePath;
11512    pub fn gtk_tree_path_new_from_indices(first_index: c_int, ...) -> *mut GtkTreePath;
11513    pub fn gtk_tree_path_new_from_indicesv(indices: *mut c_int, length: size_t)
11514    -> *mut GtkTreePath;
11515    pub fn gtk_tree_path_new_from_string(path: *const c_char) -> *mut GtkTreePath;
11516    pub fn gtk_tree_path_append_index(path: *mut GtkTreePath, index_: c_int);
11517    pub fn gtk_tree_path_compare(a: *const GtkTreePath, b: *const GtkTreePath) -> c_int;
11518    pub fn gtk_tree_path_copy(path: *const GtkTreePath) -> *mut GtkTreePath;
11519    pub fn gtk_tree_path_down(path: *mut GtkTreePath);
11520    pub fn gtk_tree_path_free(path: *mut GtkTreePath);
11521    pub fn gtk_tree_path_get_depth(path: *mut GtkTreePath) -> c_int;
11522    pub fn gtk_tree_path_get_indices(path: *mut GtkTreePath) -> *mut c_int;
11523    pub fn gtk_tree_path_get_indices_with_depth(
11524        path: *mut GtkTreePath,
11525        depth: *mut c_int,
11526    ) -> *mut c_int;
11527    pub fn gtk_tree_path_is_ancestor(
11528        path: *mut GtkTreePath,
11529        descendant: *mut GtkTreePath,
11530    ) -> gboolean;
11531    pub fn gtk_tree_path_is_descendant(
11532        path: *mut GtkTreePath,
11533        ancestor: *mut GtkTreePath,
11534    ) -> gboolean;
11535    pub fn gtk_tree_path_next(path: *mut GtkTreePath);
11536    pub fn gtk_tree_path_prepend_index(path: *mut GtkTreePath, index_: c_int);
11537    pub fn gtk_tree_path_prev(path: *mut GtkTreePath) -> gboolean;
11538    pub fn gtk_tree_path_to_string(path: *mut GtkTreePath) -> *mut c_char;
11539    pub fn gtk_tree_path_up(path: *mut GtkTreePath) -> gboolean;
11540
11541    //=========================================================================
11542    // GtkTreeRowReference
11543    //=========================================================================
11544    pub fn gtk_tree_row_reference_get_type() -> GType;
11545    pub fn gtk_tree_row_reference_new(
11546        model: *mut GtkTreeModel,
11547        path: *mut GtkTreePath,
11548    ) -> *mut GtkTreeRowReference;
11549    pub fn gtk_tree_row_reference_new_proxy(
11550        proxy: *mut gobject::GObject,
11551        model: *mut GtkTreeModel,
11552        path: *mut GtkTreePath,
11553    ) -> *mut GtkTreeRowReference;
11554    pub fn gtk_tree_row_reference_copy(
11555        reference: *mut GtkTreeRowReference,
11556    ) -> *mut GtkTreeRowReference;
11557    pub fn gtk_tree_row_reference_free(reference: *mut GtkTreeRowReference);
11558    pub fn gtk_tree_row_reference_get_model(
11559        reference: *mut GtkTreeRowReference,
11560    ) -> *mut GtkTreeModel;
11561    pub fn gtk_tree_row_reference_get_path(reference: *mut GtkTreeRowReference)
11562    -> *mut GtkTreePath;
11563    pub fn gtk_tree_row_reference_valid(reference: *mut GtkTreeRowReference) -> gboolean;
11564    pub fn gtk_tree_row_reference_deleted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
11565    pub fn gtk_tree_row_reference_inserted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
11566    pub fn gtk_tree_row_reference_reordered(
11567        proxy: *mut gobject::GObject,
11568        path: *mut GtkTreePath,
11569        iter: *mut GtkTreeIter,
11570        new_order: *mut c_int,
11571    );
11572
11573    //=========================================================================
11574    // GtkWidgetClass
11575    //=========================================================================
11576    pub fn gtk_widget_class_add_binding(
11577        widget_class: *mut GtkWidgetClass,
11578        keyval: c_uint,
11579        mods: gdk::GdkModifierType,
11580        callback: GtkShortcutFunc,
11581        format_string: *const c_char,
11582        ...
11583    );
11584    pub fn gtk_widget_class_add_binding_action(
11585        widget_class: *mut GtkWidgetClass,
11586        keyval: c_uint,
11587        mods: gdk::GdkModifierType,
11588        action_name: *const c_char,
11589        format_string: *const c_char,
11590        ...
11591    );
11592    pub fn gtk_widget_class_add_binding_signal(
11593        widget_class: *mut GtkWidgetClass,
11594        keyval: c_uint,
11595        mods: gdk::GdkModifierType,
11596        signal: *const c_char,
11597        format_string: *const c_char,
11598        ...
11599    );
11600    pub fn gtk_widget_class_add_shortcut(
11601        widget_class: *mut GtkWidgetClass,
11602        shortcut: *mut GtkShortcut,
11603    );
11604    pub fn gtk_widget_class_bind_template_callback_full(
11605        widget_class: *mut GtkWidgetClass,
11606        callback_name: *const c_char,
11607        callback_symbol: gobject::GCallback,
11608    );
11609    pub fn gtk_widget_class_bind_template_child_full(
11610        widget_class: *mut GtkWidgetClass,
11611        name: *const c_char,
11612        internal_child: gboolean,
11613        struct_offset: ssize_t,
11614    );
11615    pub fn gtk_widget_class_get_accessible_role(
11616        widget_class: *mut GtkWidgetClass,
11617    ) -> GtkAccessibleRole;
11618    pub fn gtk_widget_class_get_activate_signal(widget_class: *mut GtkWidgetClass) -> c_uint;
11619    pub fn gtk_widget_class_get_css_name(widget_class: *mut GtkWidgetClass) -> *const c_char;
11620    pub fn gtk_widget_class_get_layout_manager_type(widget_class: *mut GtkWidgetClass) -> GType;
11621    pub fn gtk_widget_class_install_action(
11622        widget_class: *mut GtkWidgetClass,
11623        action_name: *const c_char,
11624        parameter_type: *const c_char,
11625        activate: GtkWidgetActionActivateFunc,
11626    );
11627    pub fn gtk_widget_class_install_property_action(
11628        widget_class: *mut GtkWidgetClass,
11629        action_name: *const c_char,
11630        property_name: *const c_char,
11631    );
11632    pub fn gtk_widget_class_query_action(
11633        widget_class: *mut GtkWidgetClass,
11634        index_: c_uint,
11635        owner: *mut GType,
11636        action_name: *mut *const c_char,
11637        parameter_type: *mut *const glib::GVariantType,
11638        property_name: *mut *const c_char,
11639    ) -> gboolean;
11640    pub fn gtk_widget_class_set_accessible_role(
11641        widget_class: *mut GtkWidgetClass,
11642        accessible_role: GtkAccessibleRole,
11643    );
11644    pub fn gtk_widget_class_set_activate_signal(
11645        widget_class: *mut GtkWidgetClass,
11646        signal_id: c_uint,
11647    );
11648    pub fn gtk_widget_class_set_activate_signal_from_name(
11649        widget_class: *mut GtkWidgetClass,
11650        signal_name: *const c_char,
11651    );
11652    pub fn gtk_widget_class_set_css_name(widget_class: *mut GtkWidgetClass, name: *const c_char);
11653    pub fn gtk_widget_class_set_layout_manager_type(
11654        widget_class: *mut GtkWidgetClass,
11655        type_: GType,
11656    );
11657    pub fn gtk_widget_class_set_template(
11658        widget_class: *mut GtkWidgetClass,
11659        template_bytes: *mut glib::GBytes,
11660    );
11661    pub fn gtk_widget_class_set_template_from_resource(
11662        widget_class: *mut GtkWidgetClass,
11663        resource_name: *const c_char,
11664    );
11665    pub fn gtk_widget_class_set_template_scope(
11666        widget_class: *mut GtkWidgetClass,
11667        scope: *mut GtkBuilderScope,
11668    );
11669
11670    //=========================================================================
11671    // GtkATContext
11672    //=========================================================================
11673    pub fn gtk_at_context_get_type() -> GType;
11674    #[cfg(feature = "v4_10")]
11675    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11676    pub fn gtk_at_context_create(
11677        accessible_role: GtkAccessibleRole,
11678        accessible: *mut GtkAccessible,
11679        display: *mut gdk::GdkDisplay,
11680    ) -> *mut GtkATContext;
11681    #[cfg(feature = "v4_10")]
11682    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11683    pub fn gtk_at_context_get_accessible(self_: *mut GtkATContext) -> *mut GtkAccessible;
11684    pub fn gtk_at_context_get_accessible_role(self_: *mut GtkATContext) -> GtkAccessibleRole;
11685
11686    //=========================================================================
11687    // GtkAboutDialog
11688    //=========================================================================
11689    pub fn gtk_about_dialog_get_type() -> GType;
11690    pub fn gtk_about_dialog_new() -> *mut GtkWidget;
11691    pub fn gtk_about_dialog_add_credit_section(
11692        about: *mut GtkAboutDialog,
11693        section_name: *const c_char,
11694        people: *mut *const c_char,
11695    );
11696    pub fn gtk_about_dialog_get_artists(about: *mut GtkAboutDialog) -> *const *const c_char;
11697    pub fn gtk_about_dialog_get_authors(about: *mut GtkAboutDialog) -> *const *const c_char;
11698    pub fn gtk_about_dialog_get_comments(about: *mut GtkAboutDialog) -> *const c_char;
11699    pub fn gtk_about_dialog_get_copyright(about: *mut GtkAboutDialog) -> *const c_char;
11700    pub fn gtk_about_dialog_get_documenters(about: *mut GtkAboutDialog) -> *const *const c_char;
11701    pub fn gtk_about_dialog_get_license(about: *mut GtkAboutDialog) -> *const c_char;
11702    pub fn gtk_about_dialog_get_license_type(about: *mut GtkAboutDialog) -> GtkLicense;
11703    pub fn gtk_about_dialog_get_logo(about: *mut GtkAboutDialog) -> *mut gdk::GdkPaintable;
11704    pub fn gtk_about_dialog_get_logo_icon_name(about: *mut GtkAboutDialog) -> *const c_char;
11705    pub fn gtk_about_dialog_get_program_name(about: *mut GtkAboutDialog) -> *const c_char;
11706    pub fn gtk_about_dialog_get_system_information(about: *mut GtkAboutDialog) -> *const c_char;
11707    pub fn gtk_about_dialog_get_translator_credits(about: *mut GtkAboutDialog) -> *const c_char;
11708    pub fn gtk_about_dialog_get_version(about: *mut GtkAboutDialog) -> *const c_char;
11709    pub fn gtk_about_dialog_get_website(about: *mut GtkAboutDialog) -> *const c_char;
11710    pub fn gtk_about_dialog_get_website_label(about: *mut GtkAboutDialog) -> *const c_char;
11711    pub fn gtk_about_dialog_get_wrap_license(about: *mut GtkAboutDialog) -> gboolean;
11712    pub fn gtk_about_dialog_set_artists(about: *mut GtkAboutDialog, artists: *mut *const c_char);
11713    pub fn gtk_about_dialog_set_authors(about: *mut GtkAboutDialog, authors: *mut *const c_char);
11714    pub fn gtk_about_dialog_set_comments(about: *mut GtkAboutDialog, comments: *const c_char);
11715    pub fn gtk_about_dialog_set_copyright(about: *mut GtkAboutDialog, copyright: *const c_char);
11716    pub fn gtk_about_dialog_set_documenters(
11717        about: *mut GtkAboutDialog,
11718        documenters: *mut *const c_char,
11719    );
11720    pub fn gtk_about_dialog_set_license(about: *mut GtkAboutDialog, license: *const c_char);
11721    pub fn gtk_about_dialog_set_license_type(about: *mut GtkAboutDialog, license_type: GtkLicense);
11722    pub fn gtk_about_dialog_set_logo(about: *mut GtkAboutDialog, logo: *mut gdk::GdkPaintable);
11723    pub fn gtk_about_dialog_set_logo_icon_name(
11724        about: *mut GtkAboutDialog,
11725        icon_name: *const c_char,
11726    );
11727    pub fn gtk_about_dialog_set_program_name(about: *mut GtkAboutDialog, name: *const c_char);
11728    pub fn gtk_about_dialog_set_system_information(
11729        about: *mut GtkAboutDialog,
11730        system_information: *const c_char,
11731    );
11732    pub fn gtk_about_dialog_set_translator_credits(
11733        about: *mut GtkAboutDialog,
11734        translator_credits: *const c_char,
11735    );
11736    pub fn gtk_about_dialog_set_version(about: *mut GtkAboutDialog, version: *const c_char);
11737    pub fn gtk_about_dialog_set_website(about: *mut GtkAboutDialog, website: *const c_char);
11738    pub fn gtk_about_dialog_set_website_label(
11739        about: *mut GtkAboutDialog,
11740        website_label: *const c_char,
11741    );
11742    pub fn gtk_about_dialog_set_wrap_license(about: *mut GtkAboutDialog, wrap_license: gboolean);
11743
11744    //=========================================================================
11745    // GtkAccessibleHyperlink
11746    //=========================================================================
11747    #[cfg(feature = "v4_22")]
11748    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11749    pub fn gtk_accessible_hyperlink_get_type() -> GType;
11750    #[cfg(feature = "v4_22")]
11751    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11752    pub fn gtk_accessible_hyperlink_new(
11753        parent: *mut GtkAccessibleHypertext,
11754        index: c_uint,
11755        uri: *const c_char,
11756        bounds: *mut GtkAccessibleTextRange,
11757    ) -> *mut GtkAccessibleHyperlink;
11758    #[cfg(feature = "v4_22")]
11759    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11760    pub fn gtk_accessible_hyperlink_set_platform_state(
11761        self_: *mut GtkAccessibleHyperlink,
11762        state: GtkAccessiblePlatformState,
11763        enabled: gboolean,
11764    );
11765
11766    //=========================================================================
11767    // GtkActionBar
11768    //=========================================================================
11769    pub fn gtk_action_bar_get_type() -> GType;
11770    pub fn gtk_action_bar_new() -> *mut GtkWidget;
11771    pub fn gtk_action_bar_get_center_widget(action_bar: *mut GtkActionBar) -> *mut GtkWidget;
11772    pub fn gtk_action_bar_get_revealed(action_bar: *mut GtkActionBar) -> gboolean;
11773    pub fn gtk_action_bar_pack_end(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11774    pub fn gtk_action_bar_pack_start(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11775    pub fn gtk_action_bar_remove(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11776    pub fn gtk_action_bar_set_center_widget(
11777        action_bar: *mut GtkActionBar,
11778        center_widget: *mut GtkWidget,
11779    );
11780    pub fn gtk_action_bar_set_revealed(action_bar: *mut GtkActionBar, revealed: gboolean);
11781
11782    //=========================================================================
11783    // GtkActivateAction
11784    //=========================================================================
11785    pub fn gtk_activate_action_get_type() -> GType;
11786    pub fn gtk_activate_action_get() -> *mut GtkActivateAction;
11787
11788    //=========================================================================
11789    // GtkAdjustment
11790    //=========================================================================
11791    pub fn gtk_adjustment_get_type() -> GType;
11792    pub fn gtk_adjustment_new(
11793        value: c_double,
11794        lower: c_double,
11795        upper: c_double,
11796        step_increment: c_double,
11797        page_increment: c_double,
11798        page_size: c_double,
11799    ) -> *mut GtkAdjustment;
11800    pub fn gtk_adjustment_clamp_page(
11801        adjustment: *mut GtkAdjustment,
11802        lower: c_double,
11803        upper: c_double,
11804    );
11805    pub fn gtk_adjustment_configure(
11806        adjustment: *mut GtkAdjustment,
11807        value: c_double,
11808        lower: c_double,
11809        upper: c_double,
11810        step_increment: c_double,
11811        page_increment: c_double,
11812        page_size: c_double,
11813    );
11814    pub fn gtk_adjustment_get_lower(adjustment: *mut GtkAdjustment) -> c_double;
11815    pub fn gtk_adjustment_get_minimum_increment(adjustment: *mut GtkAdjustment) -> c_double;
11816    pub fn gtk_adjustment_get_page_increment(adjustment: *mut GtkAdjustment) -> c_double;
11817    pub fn gtk_adjustment_get_page_size(adjustment: *mut GtkAdjustment) -> c_double;
11818    pub fn gtk_adjustment_get_step_increment(adjustment: *mut GtkAdjustment) -> c_double;
11819    pub fn gtk_adjustment_get_upper(adjustment: *mut GtkAdjustment) -> c_double;
11820    pub fn gtk_adjustment_get_value(adjustment: *mut GtkAdjustment) -> c_double;
11821    pub fn gtk_adjustment_set_lower(adjustment: *mut GtkAdjustment, lower: c_double);
11822    pub fn gtk_adjustment_set_page_increment(
11823        adjustment: *mut GtkAdjustment,
11824        page_increment: c_double,
11825    );
11826    pub fn gtk_adjustment_set_page_size(adjustment: *mut GtkAdjustment, page_size: c_double);
11827    pub fn gtk_adjustment_set_step_increment(
11828        adjustment: *mut GtkAdjustment,
11829        step_increment: c_double,
11830    );
11831    pub fn gtk_adjustment_set_upper(adjustment: *mut GtkAdjustment, upper: c_double);
11832    pub fn gtk_adjustment_set_value(adjustment: *mut GtkAdjustment, value: c_double);
11833
11834    //=========================================================================
11835    // GtkAlertDialog
11836    //=========================================================================
11837    #[cfg(feature = "v4_10")]
11838    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11839    pub fn gtk_alert_dialog_get_type() -> GType;
11840    #[cfg(feature = "v4_10")]
11841    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11842    pub fn gtk_alert_dialog_new(format: *const c_char, ...) -> *mut GtkAlertDialog;
11843    #[cfg(feature = "v4_10")]
11844    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11845    pub fn gtk_alert_dialog_choose(
11846        self_: *mut GtkAlertDialog,
11847        parent: *mut GtkWindow,
11848        cancellable: *mut gio::GCancellable,
11849        callback: gio::GAsyncReadyCallback,
11850        user_data: gpointer,
11851    );
11852    #[cfg(feature = "v4_10")]
11853    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11854    pub fn gtk_alert_dialog_choose_finish(
11855        self_: *mut GtkAlertDialog,
11856        result: *mut gio::GAsyncResult,
11857        error: *mut *mut glib::GError,
11858    ) -> c_int;
11859    #[cfg(feature = "v4_10")]
11860    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11861    pub fn gtk_alert_dialog_get_buttons(self_: *mut GtkAlertDialog) -> *const *const c_char;
11862    #[cfg(feature = "v4_10")]
11863    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11864    pub fn gtk_alert_dialog_get_cancel_button(self_: *mut GtkAlertDialog) -> c_int;
11865    #[cfg(feature = "v4_10")]
11866    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11867    pub fn gtk_alert_dialog_get_default_button(self_: *mut GtkAlertDialog) -> c_int;
11868    #[cfg(feature = "v4_10")]
11869    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11870    pub fn gtk_alert_dialog_get_detail(self_: *mut GtkAlertDialog) -> *const c_char;
11871    #[cfg(feature = "v4_10")]
11872    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11873    pub fn gtk_alert_dialog_get_message(self_: *mut GtkAlertDialog) -> *const c_char;
11874    #[cfg(feature = "v4_10")]
11875    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11876    pub fn gtk_alert_dialog_get_modal(self_: *mut GtkAlertDialog) -> gboolean;
11877    #[cfg(feature = "v4_10")]
11878    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11879    pub fn gtk_alert_dialog_set_buttons(self_: *mut GtkAlertDialog, labels: *const *const c_char);
11880    #[cfg(feature = "v4_10")]
11881    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11882    pub fn gtk_alert_dialog_set_cancel_button(self_: *mut GtkAlertDialog, button: c_int);
11883    #[cfg(feature = "v4_10")]
11884    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11885    pub fn gtk_alert_dialog_set_default_button(self_: *mut GtkAlertDialog, button: c_int);
11886    #[cfg(feature = "v4_10")]
11887    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11888    pub fn gtk_alert_dialog_set_detail(self_: *mut GtkAlertDialog, detail: *const c_char);
11889    #[cfg(feature = "v4_10")]
11890    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11891    pub fn gtk_alert_dialog_set_message(self_: *mut GtkAlertDialog, message: *const c_char);
11892    #[cfg(feature = "v4_10")]
11893    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11894    pub fn gtk_alert_dialog_set_modal(self_: *mut GtkAlertDialog, modal: gboolean);
11895    #[cfg(feature = "v4_10")]
11896    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11897    pub fn gtk_alert_dialog_show(self_: *mut GtkAlertDialog, parent: *mut GtkWindow);
11898
11899    //=========================================================================
11900    // GtkAlternativeTrigger
11901    //=========================================================================
11902    pub fn gtk_alternative_trigger_get_type() -> GType;
11903    pub fn gtk_alternative_trigger_new(
11904        first: *mut GtkShortcutTrigger,
11905        second: *mut GtkShortcutTrigger,
11906    ) -> *mut GtkShortcutTrigger;
11907    #[cfg(feature = "v4_24")]
11908    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
11909    pub fn gtk_alternative_trigger_newv(
11910        triggers: *mut *mut GtkShortcutTrigger,
11911        n_triggers: size_t,
11912    ) -> *mut GtkShortcutTrigger;
11913    pub fn gtk_alternative_trigger_get_first(
11914        self_: *mut GtkAlternativeTrigger,
11915    ) -> *mut GtkShortcutTrigger;
11916    pub fn gtk_alternative_trigger_get_second(
11917        self_: *mut GtkAlternativeTrigger,
11918    ) -> *mut GtkShortcutTrigger;
11919
11920    //=========================================================================
11921    // GtkAnyFilter
11922    //=========================================================================
11923    pub fn gtk_any_filter_get_type() -> GType;
11924    pub fn gtk_any_filter_new() -> *mut GtkAnyFilter;
11925
11926    //=========================================================================
11927    // GtkAppChooserButton
11928    //=========================================================================
11929    pub fn gtk_app_chooser_button_get_type() -> GType;
11930    pub fn gtk_app_chooser_button_new(content_type: *const c_char) -> *mut GtkWidget;
11931    pub fn gtk_app_chooser_button_append_custom_item(
11932        self_: *mut GtkAppChooserButton,
11933        name: *const c_char,
11934        label: *const c_char,
11935        icon: *mut gio::GIcon,
11936    );
11937    pub fn gtk_app_chooser_button_append_separator(self_: *mut GtkAppChooserButton);
11938    pub fn gtk_app_chooser_button_get_heading(self_: *mut GtkAppChooserButton) -> *const c_char;
11939    pub fn gtk_app_chooser_button_get_modal(self_: *mut GtkAppChooserButton) -> gboolean;
11940    pub fn gtk_app_chooser_button_get_show_default_item(
11941        self_: *mut GtkAppChooserButton,
11942    ) -> gboolean;
11943    pub fn gtk_app_chooser_button_get_show_dialog_item(self_: *mut GtkAppChooserButton)
11944    -> gboolean;
11945    pub fn gtk_app_chooser_button_set_active_custom_item(
11946        self_: *mut GtkAppChooserButton,
11947        name: *const c_char,
11948    );
11949    pub fn gtk_app_chooser_button_set_heading(
11950        self_: *mut GtkAppChooserButton,
11951        heading: *const c_char,
11952    );
11953    pub fn gtk_app_chooser_button_set_modal(self_: *mut GtkAppChooserButton, modal: gboolean);
11954    pub fn gtk_app_chooser_button_set_show_default_item(
11955        self_: *mut GtkAppChooserButton,
11956        setting: gboolean,
11957    );
11958    pub fn gtk_app_chooser_button_set_show_dialog_item(
11959        self_: *mut GtkAppChooserButton,
11960        setting: gboolean,
11961    );
11962
11963    //=========================================================================
11964    // GtkAppChooserDialog
11965    //=========================================================================
11966    pub fn gtk_app_chooser_dialog_get_type() -> GType;
11967    pub fn gtk_app_chooser_dialog_new(
11968        parent: *mut GtkWindow,
11969        flags: GtkDialogFlags,
11970        file: *mut gio::GFile,
11971    ) -> *mut GtkWidget;
11972    pub fn gtk_app_chooser_dialog_new_for_content_type(
11973        parent: *mut GtkWindow,
11974        flags: GtkDialogFlags,
11975        content_type: *const c_char,
11976    ) -> *mut GtkWidget;
11977    pub fn gtk_app_chooser_dialog_get_heading(self_: *mut GtkAppChooserDialog) -> *const c_char;
11978    pub fn gtk_app_chooser_dialog_get_widget(self_: *mut GtkAppChooserDialog) -> *mut GtkWidget;
11979    pub fn gtk_app_chooser_dialog_set_heading(
11980        self_: *mut GtkAppChooserDialog,
11981        heading: *const c_char,
11982    );
11983
11984    //=========================================================================
11985    // GtkAppChooserWidget
11986    //=========================================================================
11987    pub fn gtk_app_chooser_widget_get_type() -> GType;
11988    pub fn gtk_app_chooser_widget_new(content_type: *const c_char) -> *mut GtkWidget;
11989    pub fn gtk_app_chooser_widget_get_default_text(
11990        self_: *mut GtkAppChooserWidget,
11991    ) -> *const c_char;
11992    pub fn gtk_app_chooser_widget_get_show_all(self_: *mut GtkAppChooserWidget) -> gboolean;
11993    pub fn gtk_app_chooser_widget_get_show_default(self_: *mut GtkAppChooserWidget) -> gboolean;
11994    pub fn gtk_app_chooser_widget_get_show_fallback(self_: *mut GtkAppChooserWidget) -> gboolean;
11995    pub fn gtk_app_chooser_widget_get_show_other(self_: *mut GtkAppChooserWidget) -> gboolean;
11996    pub fn gtk_app_chooser_widget_get_show_recommended(self_: *mut GtkAppChooserWidget)
11997    -> gboolean;
11998    pub fn gtk_app_chooser_widget_set_default_text(
11999        self_: *mut GtkAppChooserWidget,
12000        text: *const c_char,
12001    );
12002    pub fn gtk_app_chooser_widget_set_show_all(self_: *mut GtkAppChooserWidget, setting: gboolean);
12003    pub fn gtk_app_chooser_widget_set_show_default(
12004        self_: *mut GtkAppChooserWidget,
12005        setting: gboolean,
12006    );
12007    pub fn gtk_app_chooser_widget_set_show_fallback(
12008        self_: *mut GtkAppChooserWidget,
12009        setting: gboolean,
12010    );
12011    pub fn gtk_app_chooser_widget_set_show_other(
12012        self_: *mut GtkAppChooserWidget,
12013        setting: gboolean,
12014    );
12015    pub fn gtk_app_chooser_widget_set_show_recommended(
12016        self_: *mut GtkAppChooserWidget,
12017        setting: gboolean,
12018    );
12019
12020    //=========================================================================
12021    // GtkApplication
12022    //=========================================================================
12023    pub fn gtk_application_get_type() -> GType;
12024    pub fn gtk_application_new(
12025        application_id: *const c_char,
12026        flags: gio::GApplicationFlags,
12027    ) -> *mut GtkApplication;
12028    pub fn gtk_application_add_window(application: *mut GtkApplication, window: *mut GtkWindow);
12029    pub fn gtk_application_get_accels_for_action(
12030        application: *mut GtkApplication,
12031        detailed_action_name: *const c_char,
12032    ) -> *mut *mut c_char;
12033    pub fn gtk_application_get_actions_for_accel(
12034        application: *mut GtkApplication,
12035        accel: *const c_char,
12036    ) -> *mut *mut c_char;
12037    pub fn gtk_application_get_active_window(application: *mut GtkApplication) -> *mut GtkWindow;
12038    pub fn gtk_application_get_menu_by_id(
12039        application: *mut GtkApplication,
12040        id: *const c_char,
12041    ) -> *mut gio::GMenu;
12042    pub fn gtk_application_get_menubar(application: *mut GtkApplication) -> *mut gio::GMenuModel;
12043    pub fn gtk_application_get_window_by_id(
12044        application: *mut GtkApplication,
12045        id: c_uint,
12046    ) -> *mut GtkWindow;
12047    pub fn gtk_application_get_windows(application: *mut GtkApplication) -> *mut glib::GList;
12048    pub fn gtk_application_inhibit(
12049        application: *mut GtkApplication,
12050        window: *mut GtkWindow,
12051        flags: GtkApplicationInhibitFlags,
12052        reason: *const c_char,
12053    ) -> c_uint;
12054    pub fn gtk_application_list_action_descriptions(
12055        application: *mut GtkApplication,
12056    ) -> *mut *mut c_char;
12057    pub fn gtk_application_remove_window(application: *mut GtkApplication, window: *mut GtkWindow);
12058    pub fn gtk_application_set_accels_for_action(
12059        application: *mut GtkApplication,
12060        detailed_action_name: *const c_char,
12061        accels: *const *const c_char,
12062    );
12063    pub fn gtk_application_set_menubar(
12064        application: *mut GtkApplication,
12065        menubar: *mut gio::GMenuModel,
12066    );
12067    pub fn gtk_application_uninhibit(application: *mut GtkApplication, cookie: c_uint);
12068
12069    //=========================================================================
12070    // GtkApplicationWindow
12071    //=========================================================================
12072    pub fn gtk_application_window_get_type() -> GType;
12073    pub fn gtk_application_window_new(application: *mut GtkApplication) -> *mut GtkWidget;
12074    pub fn gtk_application_window_get_help_overlay(
12075        window: *mut GtkApplicationWindow,
12076    ) -> *mut GtkShortcutsWindow;
12077    pub fn gtk_application_window_get_id(window: *mut GtkApplicationWindow) -> c_uint;
12078    pub fn gtk_application_window_get_show_menubar(window: *mut GtkApplicationWindow) -> gboolean;
12079    pub fn gtk_application_window_set_help_overlay(
12080        window: *mut GtkApplicationWindow,
12081        help_overlay: *mut GtkShortcutsWindow,
12082    );
12083    pub fn gtk_application_window_set_show_menubar(
12084        window: *mut GtkApplicationWindow,
12085        show_menubar: gboolean,
12086    );
12087
12088    //=========================================================================
12089    // GtkAspectFrame
12090    //=========================================================================
12091    pub fn gtk_aspect_frame_get_type() -> GType;
12092    pub fn gtk_aspect_frame_new(
12093        xalign: c_float,
12094        yalign: c_float,
12095        ratio: c_float,
12096        obey_child: gboolean,
12097    ) -> *mut GtkWidget;
12098    pub fn gtk_aspect_frame_get_child(self_: *mut GtkAspectFrame) -> *mut GtkWidget;
12099    pub fn gtk_aspect_frame_get_obey_child(self_: *mut GtkAspectFrame) -> gboolean;
12100    pub fn gtk_aspect_frame_get_ratio(self_: *mut GtkAspectFrame) -> c_float;
12101    pub fn gtk_aspect_frame_get_xalign(self_: *mut GtkAspectFrame) -> c_float;
12102    pub fn gtk_aspect_frame_get_yalign(self_: *mut GtkAspectFrame) -> c_float;
12103    pub fn gtk_aspect_frame_set_child(self_: *mut GtkAspectFrame, child: *mut GtkWidget);
12104    pub fn gtk_aspect_frame_set_obey_child(self_: *mut GtkAspectFrame, obey_child: gboolean);
12105    pub fn gtk_aspect_frame_set_ratio(self_: *mut GtkAspectFrame, ratio: c_float);
12106    pub fn gtk_aspect_frame_set_xalign(self_: *mut GtkAspectFrame, xalign: c_float);
12107    pub fn gtk_aspect_frame_set_yalign(self_: *mut GtkAspectFrame, yalign: c_float);
12108
12109    //=========================================================================
12110    // GtkAssistant
12111    //=========================================================================
12112    pub fn gtk_assistant_get_type() -> GType;
12113    pub fn gtk_assistant_new() -> *mut GtkWidget;
12114    pub fn gtk_assistant_add_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
12115    pub fn gtk_assistant_append_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
12116    pub fn gtk_assistant_commit(assistant: *mut GtkAssistant);
12117    pub fn gtk_assistant_get_current_page(assistant: *mut GtkAssistant) -> c_int;
12118    pub fn gtk_assistant_get_n_pages(assistant: *mut GtkAssistant) -> c_int;
12119    pub fn gtk_assistant_get_nth_page(
12120        assistant: *mut GtkAssistant,
12121        page_num: c_int,
12122    ) -> *mut GtkWidget;
12123    pub fn gtk_assistant_get_page(
12124        assistant: *mut GtkAssistant,
12125        child: *mut GtkWidget,
12126    ) -> *mut GtkAssistantPage;
12127    pub fn gtk_assistant_get_page_complete(
12128        assistant: *mut GtkAssistant,
12129        page: *mut GtkWidget,
12130    ) -> gboolean;
12131    pub fn gtk_assistant_get_page_title(
12132        assistant: *mut GtkAssistant,
12133        page: *mut GtkWidget,
12134    ) -> *const c_char;
12135    pub fn gtk_assistant_get_page_type(
12136        assistant: *mut GtkAssistant,
12137        page: *mut GtkWidget,
12138    ) -> GtkAssistantPageType;
12139    pub fn gtk_assistant_get_pages(assistant: *mut GtkAssistant) -> *mut gio::GListModel;
12140    pub fn gtk_assistant_insert_page(
12141        assistant: *mut GtkAssistant,
12142        page: *mut GtkWidget,
12143        position: c_int,
12144    ) -> c_int;
12145    pub fn gtk_assistant_next_page(assistant: *mut GtkAssistant);
12146    pub fn gtk_assistant_prepend_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
12147    pub fn gtk_assistant_previous_page(assistant: *mut GtkAssistant);
12148    pub fn gtk_assistant_remove_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
12149    pub fn gtk_assistant_remove_page(assistant: *mut GtkAssistant, page_num: c_int);
12150    pub fn gtk_assistant_set_current_page(assistant: *mut GtkAssistant, page_num: c_int);
12151    pub fn gtk_assistant_set_forward_page_func(
12152        assistant: *mut GtkAssistant,
12153        page_func: GtkAssistantPageFunc,
12154        data: gpointer,
12155        destroy: glib::GDestroyNotify,
12156    );
12157    pub fn gtk_assistant_set_page_complete(
12158        assistant: *mut GtkAssistant,
12159        page: *mut GtkWidget,
12160        complete: gboolean,
12161    );
12162    pub fn gtk_assistant_set_page_title(
12163        assistant: *mut GtkAssistant,
12164        page: *mut GtkWidget,
12165        title: *const c_char,
12166    );
12167    pub fn gtk_assistant_set_page_type(
12168        assistant: *mut GtkAssistant,
12169        page: *mut GtkWidget,
12170        type_: GtkAssistantPageType,
12171    );
12172    pub fn gtk_assistant_update_buttons_state(assistant: *mut GtkAssistant);
12173
12174    //=========================================================================
12175    // GtkAssistantPage
12176    //=========================================================================
12177    pub fn gtk_assistant_page_get_type() -> GType;
12178    pub fn gtk_assistant_page_get_child(page: *mut GtkAssistantPage) -> *mut GtkWidget;
12179
12180    //=========================================================================
12181    // GtkBinLayout
12182    //=========================================================================
12183    pub fn gtk_bin_layout_get_type() -> GType;
12184    pub fn gtk_bin_layout_new() -> *mut GtkLayoutManager;
12185
12186    //=========================================================================
12187    // GtkBookmarkList
12188    //=========================================================================
12189    pub fn gtk_bookmark_list_get_type() -> GType;
12190    pub fn gtk_bookmark_list_new(
12191        filename: *const c_char,
12192        attributes: *const c_char,
12193    ) -> *mut GtkBookmarkList;
12194    pub fn gtk_bookmark_list_get_attributes(self_: *mut GtkBookmarkList) -> *const c_char;
12195    pub fn gtk_bookmark_list_get_filename(self_: *mut GtkBookmarkList) -> *const c_char;
12196    pub fn gtk_bookmark_list_get_io_priority(self_: *mut GtkBookmarkList) -> c_int;
12197    pub fn gtk_bookmark_list_is_loading(self_: *mut GtkBookmarkList) -> gboolean;
12198    pub fn gtk_bookmark_list_set_attributes(self_: *mut GtkBookmarkList, attributes: *const c_char);
12199    pub fn gtk_bookmark_list_set_io_priority(self_: *mut GtkBookmarkList, io_priority: c_int);
12200
12201    //=========================================================================
12202    // GtkBoolFilter
12203    //=========================================================================
12204    pub fn gtk_bool_filter_get_type() -> GType;
12205    pub fn gtk_bool_filter_new(expression: *mut GtkExpression) -> *mut GtkBoolFilter;
12206    pub fn gtk_bool_filter_get_expression(self_: *mut GtkBoolFilter) -> *mut GtkExpression;
12207    pub fn gtk_bool_filter_get_invert(self_: *mut GtkBoolFilter) -> gboolean;
12208    pub fn gtk_bool_filter_set_expression(
12209        self_: *mut GtkBoolFilter,
12210        expression: *mut GtkExpression,
12211    );
12212    pub fn gtk_bool_filter_set_invert(self_: *mut GtkBoolFilter, invert: gboolean);
12213
12214    //=========================================================================
12215    // GtkBox
12216    //=========================================================================
12217    pub fn gtk_box_get_type() -> GType;
12218    pub fn gtk_box_new(orientation: GtkOrientation, spacing: c_int) -> *mut GtkWidget;
12219    pub fn gtk_box_append(box_: *mut GtkBox, child: *mut GtkWidget);
12220    #[cfg(feature = "v4_12")]
12221    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12222    pub fn gtk_box_get_baseline_child(box_: *mut GtkBox) -> c_int;
12223    pub fn gtk_box_get_baseline_position(box_: *mut GtkBox) -> GtkBaselinePosition;
12224    pub fn gtk_box_get_homogeneous(box_: *mut GtkBox) -> gboolean;
12225    pub fn gtk_box_get_spacing(box_: *mut GtkBox) -> c_int;
12226    pub fn gtk_box_insert_child_after(
12227        box_: *mut GtkBox,
12228        child: *mut GtkWidget,
12229        sibling: *mut GtkWidget,
12230    );
12231    pub fn gtk_box_prepend(box_: *mut GtkBox, child: *mut GtkWidget);
12232    pub fn gtk_box_remove(box_: *mut GtkBox, child: *mut GtkWidget);
12233    pub fn gtk_box_reorder_child_after(
12234        box_: *mut GtkBox,
12235        child: *mut GtkWidget,
12236        sibling: *mut GtkWidget,
12237    );
12238    #[cfg(feature = "v4_12")]
12239    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12240    pub fn gtk_box_set_baseline_child(box_: *mut GtkBox, child: c_int);
12241    pub fn gtk_box_set_baseline_position(box_: *mut GtkBox, position: GtkBaselinePosition);
12242    pub fn gtk_box_set_homogeneous(box_: *mut GtkBox, homogeneous: gboolean);
12243    pub fn gtk_box_set_spacing(box_: *mut GtkBox, spacing: c_int);
12244
12245    //=========================================================================
12246    // GtkBoxLayout
12247    //=========================================================================
12248    pub fn gtk_box_layout_get_type() -> GType;
12249    pub fn gtk_box_layout_new(orientation: GtkOrientation) -> *mut GtkLayoutManager;
12250    #[cfg(feature = "v4_12")]
12251    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12252    pub fn gtk_box_layout_get_baseline_child(box_layout: *mut GtkBoxLayout) -> c_int;
12253    pub fn gtk_box_layout_get_baseline_position(
12254        box_layout: *mut GtkBoxLayout,
12255    ) -> GtkBaselinePosition;
12256    pub fn gtk_box_layout_get_homogeneous(box_layout: *mut GtkBoxLayout) -> gboolean;
12257    pub fn gtk_box_layout_get_spacing(box_layout: *mut GtkBoxLayout) -> c_uint;
12258    #[cfg(feature = "v4_12")]
12259    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12260    pub fn gtk_box_layout_set_baseline_child(box_layout: *mut GtkBoxLayout, child: c_int);
12261    pub fn gtk_box_layout_set_baseline_position(
12262        box_layout: *mut GtkBoxLayout,
12263        position: GtkBaselinePosition,
12264    );
12265    pub fn gtk_box_layout_set_homogeneous(box_layout: *mut GtkBoxLayout, homogeneous: gboolean);
12266    pub fn gtk_box_layout_set_spacing(box_layout: *mut GtkBoxLayout, spacing: c_uint);
12267
12268    //=========================================================================
12269    // GtkBuilder
12270    //=========================================================================
12271    pub fn gtk_builder_get_type() -> GType;
12272    pub fn gtk_builder_new() -> *mut GtkBuilder;
12273    pub fn gtk_builder_new_from_file(filename: *const c_char) -> *mut GtkBuilder;
12274    pub fn gtk_builder_new_from_resource(resource_path: *const c_char) -> *mut GtkBuilder;
12275    pub fn gtk_builder_new_from_string(string: *const c_char, length: ssize_t) -> *mut GtkBuilder;
12276    pub fn gtk_builder_add_from_file(
12277        builder: *mut GtkBuilder,
12278        filename: *const c_char,
12279        error: *mut *mut glib::GError,
12280    ) -> gboolean;
12281    pub fn gtk_builder_add_from_resource(
12282        builder: *mut GtkBuilder,
12283        resource_path: *const c_char,
12284        error: *mut *mut glib::GError,
12285    ) -> gboolean;
12286    pub fn gtk_builder_add_from_string(
12287        builder: *mut GtkBuilder,
12288        buffer: *const c_char,
12289        length: ssize_t,
12290        error: *mut *mut glib::GError,
12291    ) -> gboolean;
12292    pub fn gtk_builder_add_objects_from_file(
12293        builder: *mut GtkBuilder,
12294        filename: *const c_char,
12295        object_ids: *mut *const c_char,
12296        error: *mut *mut glib::GError,
12297    ) -> gboolean;
12298    pub fn gtk_builder_add_objects_from_resource(
12299        builder: *mut GtkBuilder,
12300        resource_path: *const c_char,
12301        object_ids: *mut *const c_char,
12302        error: *mut *mut glib::GError,
12303    ) -> gboolean;
12304    pub fn gtk_builder_add_objects_from_string(
12305        builder: *mut GtkBuilder,
12306        buffer: *const c_char,
12307        length: ssize_t,
12308        object_ids: *mut *const c_char,
12309        error: *mut *mut glib::GError,
12310    ) -> gboolean;
12311    pub fn gtk_builder_create_closure(
12312        builder: *mut GtkBuilder,
12313        function_name: *const c_char,
12314        flags: GtkBuilderClosureFlags,
12315        object: *mut gobject::GObject,
12316        error: *mut *mut glib::GError,
12317    ) -> *mut gobject::GClosure;
12318    pub fn gtk_builder_expose_object(
12319        builder: *mut GtkBuilder,
12320        name: *const c_char,
12321        object: *mut gobject::GObject,
12322    );
12323    pub fn gtk_builder_extend_with_template(
12324        builder: *mut GtkBuilder,
12325        object: *mut gobject::GObject,
12326        template_type: GType,
12327        buffer: *const c_char,
12328        length: ssize_t,
12329        error: *mut *mut glib::GError,
12330    ) -> gboolean;
12331    pub fn gtk_builder_get_current_object(builder: *mut GtkBuilder) -> *mut gobject::GObject;
12332    pub fn gtk_builder_get_object(
12333        builder: *mut GtkBuilder,
12334        name: *const c_char,
12335    ) -> *mut gobject::GObject;
12336    pub fn gtk_builder_get_objects(builder: *mut GtkBuilder) -> *mut glib::GSList;
12337    pub fn gtk_builder_get_scope(builder: *mut GtkBuilder) -> *mut GtkBuilderScope;
12338    pub fn gtk_builder_get_translation_domain(builder: *mut GtkBuilder) -> *const c_char;
12339    pub fn gtk_builder_get_type_from_name(
12340        builder: *mut GtkBuilder,
12341        type_name: *const c_char,
12342    ) -> GType;
12343    pub fn gtk_builder_set_current_object(
12344        builder: *mut GtkBuilder,
12345        current_object: *mut gobject::GObject,
12346    );
12347    pub fn gtk_builder_set_scope(builder: *mut GtkBuilder, scope: *mut GtkBuilderScope);
12348    pub fn gtk_builder_set_translation_domain(builder: *mut GtkBuilder, domain: *const c_char);
12349    pub fn gtk_builder_value_from_string(
12350        builder: *mut GtkBuilder,
12351        pspec: *mut gobject::GParamSpec,
12352        string: *const c_char,
12353        value: *mut gobject::GValue,
12354        error: *mut *mut glib::GError,
12355    ) -> gboolean;
12356    pub fn gtk_builder_value_from_string_type(
12357        builder: *mut GtkBuilder,
12358        type_: GType,
12359        string: *const c_char,
12360        value: *mut gobject::GValue,
12361        error: *mut *mut glib::GError,
12362    ) -> gboolean;
12363
12364    //=========================================================================
12365    // GtkBuilderCScope
12366    //=========================================================================
12367    pub fn gtk_builder_cscope_get_type() -> GType;
12368    pub fn gtk_builder_cscope_new() -> *mut GtkBuilderCScope;
12369    pub fn gtk_builder_cscope_add_callback_symbol(
12370        self_: *mut GtkBuilderCScope,
12371        callback_name: *const c_char,
12372        callback_symbol: gobject::GCallback,
12373    );
12374    pub fn gtk_builder_cscope_add_callback_symbols(
12375        self_: *mut GtkBuilderCScope,
12376        first_callback_name: *const c_char,
12377        first_callback_symbol: gobject::GCallback,
12378        ...
12379    );
12380    pub fn gtk_builder_cscope_lookup_callback_symbol(
12381        self_: *mut GtkBuilderCScope,
12382        callback_name: *const c_char,
12383    ) -> gobject::GCallback;
12384
12385    //=========================================================================
12386    // GtkBuilderListItemFactory
12387    //=========================================================================
12388    pub fn gtk_builder_list_item_factory_get_type() -> GType;
12389    pub fn gtk_builder_list_item_factory_new_from_bytes(
12390        scope: *mut GtkBuilderScope,
12391        bytes: *mut glib::GBytes,
12392    ) -> *mut GtkListItemFactory;
12393    pub fn gtk_builder_list_item_factory_new_from_resource(
12394        scope: *mut GtkBuilderScope,
12395        resource_path: *const c_char,
12396    ) -> *mut GtkListItemFactory;
12397    pub fn gtk_builder_list_item_factory_get_bytes(
12398        self_: *mut GtkBuilderListItemFactory,
12399    ) -> *mut glib::GBytes;
12400    pub fn gtk_builder_list_item_factory_get_resource(
12401        self_: *mut GtkBuilderListItemFactory,
12402    ) -> *const c_char;
12403    pub fn gtk_builder_list_item_factory_get_scope(
12404        self_: *mut GtkBuilderListItemFactory,
12405    ) -> *mut GtkBuilderScope;
12406
12407    //=========================================================================
12408    // GtkButton
12409    //=========================================================================
12410    pub fn gtk_button_get_type() -> GType;
12411    pub fn gtk_button_new() -> *mut GtkWidget;
12412    pub fn gtk_button_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
12413    pub fn gtk_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
12414    pub fn gtk_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
12415    #[cfg(feature = "v4_12")]
12416    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12417    pub fn gtk_button_get_can_shrink(button: *mut GtkButton) -> gboolean;
12418    pub fn gtk_button_get_child(button: *mut GtkButton) -> *mut GtkWidget;
12419    pub fn gtk_button_get_has_frame(button: *mut GtkButton) -> gboolean;
12420    pub fn gtk_button_get_icon_name(button: *mut GtkButton) -> *const c_char;
12421    pub fn gtk_button_get_label(button: *mut GtkButton) -> *const c_char;
12422    pub fn gtk_button_get_use_underline(button: *mut GtkButton) -> gboolean;
12423    #[cfg(feature = "v4_12")]
12424    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12425    pub fn gtk_button_set_can_shrink(button: *mut GtkButton, can_shrink: gboolean);
12426    pub fn gtk_button_set_child(button: *mut GtkButton, child: *mut GtkWidget);
12427    pub fn gtk_button_set_has_frame(button: *mut GtkButton, has_frame: gboolean);
12428    pub fn gtk_button_set_icon_name(button: *mut GtkButton, icon_name: *const c_char);
12429    pub fn gtk_button_set_label(button: *mut GtkButton, label: *const c_char);
12430    pub fn gtk_button_set_use_underline(button: *mut GtkButton, use_underline: gboolean);
12431
12432    //=========================================================================
12433    // GtkCClosureExpression
12434    //=========================================================================
12435    pub fn gtk_cclosure_expression_get_type() -> GType;
12436    pub fn gtk_cclosure_expression_new(
12437        value_type: GType,
12438        marshal: gobject::GClosureMarshal,
12439        n_params: c_uint,
12440        params: *mut *mut GtkExpression,
12441        callback_func: gobject::GCallback,
12442        user_data: gpointer,
12443        user_destroy: gobject::GClosureNotify,
12444    ) -> *mut GtkCClosureExpression;
12445
12446    //=========================================================================
12447    // GtkCalendar
12448    //=========================================================================
12449    pub fn gtk_calendar_get_type() -> GType;
12450    pub fn gtk_calendar_new() -> *mut GtkWidget;
12451    pub fn gtk_calendar_clear_marks(calendar: *mut GtkCalendar);
12452    pub fn gtk_calendar_get_date(self_: *mut GtkCalendar) -> *mut glib::GDateTime;
12453    #[cfg(feature = "v4_14")]
12454    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12455    pub fn gtk_calendar_get_day(self_: *mut GtkCalendar) -> c_int;
12456    pub fn gtk_calendar_get_day_is_marked(calendar: *mut GtkCalendar, day: c_uint) -> gboolean;
12457    #[cfg(feature = "v4_14")]
12458    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12459    pub fn gtk_calendar_get_month(self_: *mut GtkCalendar) -> c_int;
12460    pub fn gtk_calendar_get_show_day_names(self_: *mut GtkCalendar) -> gboolean;
12461    pub fn gtk_calendar_get_show_heading(self_: *mut GtkCalendar) -> gboolean;
12462    pub fn gtk_calendar_get_show_week_numbers(self_: *mut GtkCalendar) -> gboolean;
12463    #[cfg(feature = "v4_14")]
12464    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12465    pub fn gtk_calendar_get_year(self_: *mut GtkCalendar) -> c_int;
12466    pub fn gtk_calendar_mark_day(calendar: *mut GtkCalendar, day: c_uint);
12467    pub fn gtk_calendar_select_day(self_: *mut GtkCalendar, date: *mut glib::GDateTime);
12468    #[cfg(feature = "v4_20")]
12469    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
12470    pub fn gtk_calendar_set_date(self_: *mut GtkCalendar, date: *mut glib::GDateTime);
12471    #[cfg(feature = "v4_14")]
12472    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12473    pub fn gtk_calendar_set_day(self_: *mut GtkCalendar, day: c_int);
12474    #[cfg(feature = "v4_14")]
12475    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12476    pub fn gtk_calendar_set_month(self_: *mut GtkCalendar, month: c_int);
12477    pub fn gtk_calendar_set_show_day_names(self_: *mut GtkCalendar, value: gboolean);
12478    pub fn gtk_calendar_set_show_heading(self_: *mut GtkCalendar, value: gboolean);
12479    pub fn gtk_calendar_set_show_week_numbers(self_: *mut GtkCalendar, value: gboolean);
12480    #[cfg(feature = "v4_14")]
12481    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12482    pub fn gtk_calendar_set_year(self_: *mut GtkCalendar, year: c_int);
12483    pub fn gtk_calendar_unmark_day(calendar: *mut GtkCalendar, day: c_uint);
12484
12485    //=========================================================================
12486    // GtkCallbackAction
12487    //=========================================================================
12488    pub fn gtk_callback_action_get_type() -> GType;
12489    pub fn gtk_callback_action_new(
12490        callback: GtkShortcutFunc,
12491        data: gpointer,
12492        destroy: glib::GDestroyNotify,
12493    ) -> *mut GtkCallbackAction;
12494
12495    //=========================================================================
12496    // GtkCellArea
12497    //=========================================================================
12498    pub fn gtk_cell_area_get_type() -> GType;
12499    pub fn gtk_cell_area_activate(
12500        area: *mut GtkCellArea,
12501        context: *mut GtkCellAreaContext,
12502        widget: *mut GtkWidget,
12503        cell_area: *const gdk::GdkRectangle,
12504        flags: GtkCellRendererState,
12505        edit_only: gboolean,
12506    ) -> gboolean;
12507    pub fn gtk_cell_area_activate_cell(
12508        area: *mut GtkCellArea,
12509        widget: *mut GtkWidget,
12510        renderer: *mut GtkCellRenderer,
12511        event: *mut gdk::GdkEvent,
12512        cell_area: *const gdk::GdkRectangle,
12513        flags: GtkCellRendererState,
12514    ) -> gboolean;
12515    pub fn gtk_cell_area_add(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12516    pub fn gtk_cell_area_add_focus_sibling(
12517        area: *mut GtkCellArea,
12518        renderer: *mut GtkCellRenderer,
12519        sibling: *mut GtkCellRenderer,
12520    );
12521    pub fn gtk_cell_area_add_with_properties(
12522        area: *mut GtkCellArea,
12523        renderer: *mut GtkCellRenderer,
12524        first_prop_name: *const c_char,
12525        ...
12526    );
12527    pub fn gtk_cell_area_apply_attributes(
12528        area: *mut GtkCellArea,
12529        tree_model: *mut GtkTreeModel,
12530        iter: *mut GtkTreeIter,
12531        is_expander: gboolean,
12532        is_expanded: gboolean,
12533    );
12534    pub fn gtk_cell_area_attribute_connect(
12535        area: *mut GtkCellArea,
12536        renderer: *mut GtkCellRenderer,
12537        attribute: *const c_char,
12538        column: c_int,
12539    );
12540    pub fn gtk_cell_area_attribute_disconnect(
12541        area: *mut GtkCellArea,
12542        renderer: *mut GtkCellRenderer,
12543        attribute: *const c_char,
12544    );
12545    pub fn gtk_cell_area_attribute_get_column(
12546        area: *mut GtkCellArea,
12547        renderer: *mut GtkCellRenderer,
12548        attribute: *const c_char,
12549    ) -> c_int;
12550    pub fn gtk_cell_area_cell_get(
12551        area: *mut GtkCellArea,
12552        renderer: *mut GtkCellRenderer,
12553        first_prop_name: *const c_char,
12554        ...
12555    );
12556    pub fn gtk_cell_area_cell_get_property(
12557        area: *mut GtkCellArea,
12558        renderer: *mut GtkCellRenderer,
12559        property_name: *const c_char,
12560        value: *mut gobject::GValue,
12561    );
12562    //pub fn gtk_cell_area_cell_get_valist(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer, first_property_name: *const c_char, var_args: /*Unimplemented*/va_list);
12563    pub fn gtk_cell_area_cell_set(
12564        area: *mut GtkCellArea,
12565        renderer: *mut GtkCellRenderer,
12566        first_prop_name: *const c_char,
12567        ...
12568    );
12569    pub fn gtk_cell_area_cell_set_property(
12570        area: *mut GtkCellArea,
12571        renderer: *mut GtkCellRenderer,
12572        property_name: *const c_char,
12573        value: *const gobject::GValue,
12574    );
12575    //pub fn gtk_cell_area_cell_set_valist(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer, first_property_name: *const c_char, var_args: /*Unimplemented*/va_list);
12576    pub fn gtk_cell_area_copy_context(
12577        area: *mut GtkCellArea,
12578        context: *mut GtkCellAreaContext,
12579    ) -> *mut GtkCellAreaContext;
12580    pub fn gtk_cell_area_create_context(area: *mut GtkCellArea) -> *mut GtkCellAreaContext;
12581    pub fn gtk_cell_area_event(
12582        area: *mut GtkCellArea,
12583        context: *mut GtkCellAreaContext,
12584        widget: *mut GtkWidget,
12585        event: *mut gdk::GdkEvent,
12586        cell_area: *const gdk::GdkRectangle,
12587        flags: GtkCellRendererState,
12588    ) -> c_int;
12589    pub fn gtk_cell_area_focus(area: *mut GtkCellArea, direction: GtkDirectionType) -> gboolean;
12590    pub fn gtk_cell_area_foreach(
12591        area: *mut GtkCellArea,
12592        callback: GtkCellCallback,
12593        callback_data: gpointer,
12594    );
12595    pub fn gtk_cell_area_foreach_alloc(
12596        area: *mut GtkCellArea,
12597        context: *mut GtkCellAreaContext,
12598        widget: *mut GtkWidget,
12599        cell_area: *const gdk::GdkRectangle,
12600        background_area: *const gdk::GdkRectangle,
12601        callback: GtkCellAllocCallback,
12602        callback_data: gpointer,
12603    );
12604    pub fn gtk_cell_area_get_cell_allocation(
12605        area: *mut GtkCellArea,
12606        context: *mut GtkCellAreaContext,
12607        widget: *mut GtkWidget,
12608        renderer: *mut GtkCellRenderer,
12609        cell_area: *const gdk::GdkRectangle,
12610        allocation: *mut gdk::GdkRectangle,
12611    );
12612    pub fn gtk_cell_area_get_cell_at_position(
12613        area: *mut GtkCellArea,
12614        context: *mut GtkCellAreaContext,
12615        widget: *mut GtkWidget,
12616        cell_area: *const gdk::GdkRectangle,
12617        x: c_int,
12618        y: c_int,
12619        alloc_area: *mut gdk::GdkRectangle,
12620    ) -> *mut GtkCellRenderer;
12621    pub fn gtk_cell_area_get_current_path_string(area: *mut GtkCellArea) -> *const c_char;
12622    pub fn gtk_cell_area_get_edit_widget(area: *mut GtkCellArea) -> *mut GtkCellEditable;
12623    pub fn gtk_cell_area_get_edited_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12624    pub fn gtk_cell_area_get_focus_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12625    pub fn gtk_cell_area_get_focus_from_sibling(
12626        area: *mut GtkCellArea,
12627        renderer: *mut GtkCellRenderer,
12628    ) -> *mut GtkCellRenderer;
12629    pub fn gtk_cell_area_get_focus_siblings(
12630        area: *mut GtkCellArea,
12631        renderer: *mut GtkCellRenderer,
12632    ) -> *const glib::GList;
12633    pub fn gtk_cell_area_get_preferred_height(
12634        area: *mut GtkCellArea,
12635        context: *mut GtkCellAreaContext,
12636        widget: *mut GtkWidget,
12637        minimum_height: *mut c_int,
12638        natural_height: *mut c_int,
12639    );
12640    pub fn gtk_cell_area_get_preferred_height_for_width(
12641        area: *mut GtkCellArea,
12642        context: *mut GtkCellAreaContext,
12643        widget: *mut GtkWidget,
12644        width: c_int,
12645        minimum_height: *mut c_int,
12646        natural_height: *mut c_int,
12647    );
12648    pub fn gtk_cell_area_get_preferred_width(
12649        area: *mut GtkCellArea,
12650        context: *mut GtkCellAreaContext,
12651        widget: *mut GtkWidget,
12652        minimum_width: *mut c_int,
12653        natural_width: *mut c_int,
12654    );
12655    pub fn gtk_cell_area_get_preferred_width_for_height(
12656        area: *mut GtkCellArea,
12657        context: *mut GtkCellAreaContext,
12658        widget: *mut GtkWidget,
12659        height: c_int,
12660        minimum_width: *mut c_int,
12661        natural_width: *mut c_int,
12662    );
12663    pub fn gtk_cell_area_get_request_mode(area: *mut GtkCellArea) -> GtkSizeRequestMode;
12664    pub fn gtk_cell_area_has_renderer(
12665        area: *mut GtkCellArea,
12666        renderer: *mut GtkCellRenderer,
12667    ) -> gboolean;
12668    pub fn gtk_cell_area_inner_cell_area(
12669        area: *mut GtkCellArea,
12670        widget: *mut GtkWidget,
12671        cell_area: *const gdk::GdkRectangle,
12672        inner_area: *mut gdk::GdkRectangle,
12673    );
12674    pub fn gtk_cell_area_is_activatable(area: *mut GtkCellArea) -> gboolean;
12675    pub fn gtk_cell_area_is_focus_sibling(
12676        area: *mut GtkCellArea,
12677        renderer: *mut GtkCellRenderer,
12678        sibling: *mut GtkCellRenderer,
12679    ) -> gboolean;
12680    pub fn gtk_cell_area_remove(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12681    pub fn gtk_cell_area_remove_focus_sibling(
12682        area: *mut GtkCellArea,
12683        renderer: *mut GtkCellRenderer,
12684        sibling: *mut GtkCellRenderer,
12685    );
12686    pub fn gtk_cell_area_request_renderer(
12687        area: *mut GtkCellArea,
12688        renderer: *mut GtkCellRenderer,
12689        orientation: GtkOrientation,
12690        widget: *mut GtkWidget,
12691        for_size: c_int,
12692        minimum_size: *mut c_int,
12693        natural_size: *mut c_int,
12694    );
12695    pub fn gtk_cell_area_set_focus_cell(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12696    pub fn gtk_cell_area_snapshot(
12697        area: *mut GtkCellArea,
12698        context: *mut GtkCellAreaContext,
12699        widget: *mut GtkWidget,
12700        snapshot: *mut GtkSnapshot,
12701        background_area: *const gdk::GdkRectangle,
12702        cell_area: *const gdk::GdkRectangle,
12703        flags: GtkCellRendererState,
12704        paint_focus: gboolean,
12705    );
12706    pub fn gtk_cell_area_stop_editing(area: *mut GtkCellArea, canceled: gboolean);
12707
12708    //=========================================================================
12709    // GtkCellAreaBox
12710    //=========================================================================
12711    pub fn gtk_cell_area_box_get_type() -> GType;
12712    pub fn gtk_cell_area_box_new() -> *mut GtkCellArea;
12713    pub fn gtk_cell_area_box_get_spacing(box_: *mut GtkCellAreaBox) -> c_int;
12714    pub fn gtk_cell_area_box_pack_end(
12715        box_: *mut GtkCellAreaBox,
12716        renderer: *mut GtkCellRenderer,
12717        expand: gboolean,
12718        align: gboolean,
12719        fixed: gboolean,
12720    );
12721    pub fn gtk_cell_area_box_pack_start(
12722        box_: *mut GtkCellAreaBox,
12723        renderer: *mut GtkCellRenderer,
12724        expand: gboolean,
12725        align: gboolean,
12726        fixed: gboolean,
12727    );
12728    pub fn gtk_cell_area_box_set_spacing(box_: *mut GtkCellAreaBox, spacing: c_int);
12729
12730    //=========================================================================
12731    // GtkCellAreaContext
12732    //=========================================================================
12733    pub fn gtk_cell_area_context_get_type() -> GType;
12734    pub fn gtk_cell_area_context_allocate(
12735        context: *mut GtkCellAreaContext,
12736        width: c_int,
12737        height: c_int,
12738    );
12739    pub fn gtk_cell_area_context_get_allocation(
12740        context: *mut GtkCellAreaContext,
12741        width: *mut c_int,
12742        height: *mut c_int,
12743    );
12744    pub fn gtk_cell_area_context_get_area(context: *mut GtkCellAreaContext) -> *mut GtkCellArea;
12745    pub fn gtk_cell_area_context_get_preferred_height(
12746        context: *mut GtkCellAreaContext,
12747        minimum_height: *mut c_int,
12748        natural_height: *mut c_int,
12749    );
12750    pub fn gtk_cell_area_context_get_preferred_height_for_width(
12751        context: *mut GtkCellAreaContext,
12752        width: c_int,
12753        minimum_height: *mut c_int,
12754        natural_height: *mut c_int,
12755    );
12756    pub fn gtk_cell_area_context_get_preferred_width(
12757        context: *mut GtkCellAreaContext,
12758        minimum_width: *mut c_int,
12759        natural_width: *mut c_int,
12760    );
12761    pub fn gtk_cell_area_context_get_preferred_width_for_height(
12762        context: *mut GtkCellAreaContext,
12763        height: c_int,
12764        minimum_width: *mut c_int,
12765        natural_width: *mut c_int,
12766    );
12767    pub fn gtk_cell_area_context_push_preferred_height(
12768        context: *mut GtkCellAreaContext,
12769        minimum_height: c_int,
12770        natural_height: c_int,
12771    );
12772    pub fn gtk_cell_area_context_push_preferred_width(
12773        context: *mut GtkCellAreaContext,
12774        minimum_width: c_int,
12775        natural_width: c_int,
12776    );
12777    pub fn gtk_cell_area_context_reset(context: *mut GtkCellAreaContext);
12778
12779    //=========================================================================
12780    // GtkCellRenderer
12781    //=========================================================================
12782    pub fn gtk_cell_renderer_get_type() -> GType;
12783    pub fn gtk_cell_renderer_activate(
12784        cell: *mut GtkCellRenderer,
12785        event: *mut gdk::GdkEvent,
12786        widget: *mut GtkWidget,
12787        path: *const c_char,
12788        background_area: *const gdk::GdkRectangle,
12789        cell_area: *const gdk::GdkRectangle,
12790        flags: GtkCellRendererState,
12791    ) -> gboolean;
12792    pub fn gtk_cell_renderer_get_aligned_area(
12793        cell: *mut GtkCellRenderer,
12794        widget: *mut GtkWidget,
12795        flags: GtkCellRendererState,
12796        cell_area: *const gdk::GdkRectangle,
12797        aligned_area: *mut gdk::GdkRectangle,
12798    );
12799    pub fn gtk_cell_renderer_get_alignment(
12800        cell: *mut GtkCellRenderer,
12801        xalign: *mut c_float,
12802        yalign: *mut c_float,
12803    );
12804    pub fn gtk_cell_renderer_get_fixed_size(
12805        cell: *mut GtkCellRenderer,
12806        width: *mut c_int,
12807        height: *mut c_int,
12808    );
12809    pub fn gtk_cell_renderer_get_is_expanded(cell: *mut GtkCellRenderer) -> gboolean;
12810    pub fn gtk_cell_renderer_get_is_expander(cell: *mut GtkCellRenderer) -> gboolean;
12811    pub fn gtk_cell_renderer_get_padding(
12812        cell: *mut GtkCellRenderer,
12813        xpad: *mut c_int,
12814        ypad: *mut c_int,
12815    );
12816    pub fn gtk_cell_renderer_get_preferred_height(
12817        cell: *mut GtkCellRenderer,
12818        widget: *mut GtkWidget,
12819        minimum_size: *mut c_int,
12820        natural_size: *mut c_int,
12821    );
12822    pub fn gtk_cell_renderer_get_preferred_height_for_width(
12823        cell: *mut GtkCellRenderer,
12824        widget: *mut GtkWidget,
12825        width: c_int,
12826        minimum_height: *mut c_int,
12827        natural_height: *mut c_int,
12828    );
12829    pub fn gtk_cell_renderer_get_preferred_size(
12830        cell: *mut GtkCellRenderer,
12831        widget: *mut GtkWidget,
12832        minimum_size: *mut GtkRequisition,
12833        natural_size: *mut GtkRequisition,
12834    );
12835    pub fn gtk_cell_renderer_get_preferred_width(
12836        cell: *mut GtkCellRenderer,
12837        widget: *mut GtkWidget,
12838        minimum_size: *mut c_int,
12839        natural_size: *mut c_int,
12840    );
12841    pub fn gtk_cell_renderer_get_preferred_width_for_height(
12842        cell: *mut GtkCellRenderer,
12843        widget: *mut GtkWidget,
12844        height: c_int,
12845        minimum_width: *mut c_int,
12846        natural_width: *mut c_int,
12847    );
12848    pub fn gtk_cell_renderer_get_request_mode(cell: *mut GtkCellRenderer) -> GtkSizeRequestMode;
12849    pub fn gtk_cell_renderer_get_sensitive(cell: *mut GtkCellRenderer) -> gboolean;
12850    pub fn gtk_cell_renderer_get_state(
12851        cell: *mut GtkCellRenderer,
12852        widget: *mut GtkWidget,
12853        cell_state: GtkCellRendererState,
12854    ) -> GtkStateFlags;
12855    pub fn gtk_cell_renderer_get_visible(cell: *mut GtkCellRenderer) -> gboolean;
12856    pub fn gtk_cell_renderer_is_activatable(cell: *mut GtkCellRenderer) -> gboolean;
12857    pub fn gtk_cell_renderer_set_alignment(
12858        cell: *mut GtkCellRenderer,
12859        xalign: c_float,
12860        yalign: c_float,
12861    );
12862    pub fn gtk_cell_renderer_set_fixed_size(
12863        cell: *mut GtkCellRenderer,
12864        width: c_int,
12865        height: c_int,
12866    );
12867    pub fn gtk_cell_renderer_set_is_expanded(cell: *mut GtkCellRenderer, is_expanded: gboolean);
12868    pub fn gtk_cell_renderer_set_is_expander(cell: *mut GtkCellRenderer, is_expander: gboolean);
12869    pub fn gtk_cell_renderer_set_padding(cell: *mut GtkCellRenderer, xpad: c_int, ypad: c_int);
12870    pub fn gtk_cell_renderer_set_sensitive(cell: *mut GtkCellRenderer, sensitive: gboolean);
12871    pub fn gtk_cell_renderer_set_visible(cell: *mut GtkCellRenderer, visible: gboolean);
12872    pub fn gtk_cell_renderer_snapshot(
12873        cell: *mut GtkCellRenderer,
12874        snapshot: *mut GtkSnapshot,
12875        widget: *mut GtkWidget,
12876        background_area: *const gdk::GdkRectangle,
12877        cell_area: *const gdk::GdkRectangle,
12878        flags: GtkCellRendererState,
12879    );
12880    pub fn gtk_cell_renderer_start_editing(
12881        cell: *mut GtkCellRenderer,
12882        event: *mut gdk::GdkEvent,
12883        widget: *mut GtkWidget,
12884        path: *const c_char,
12885        background_area: *const gdk::GdkRectangle,
12886        cell_area: *const gdk::GdkRectangle,
12887        flags: GtkCellRendererState,
12888    ) -> *mut GtkCellEditable;
12889    pub fn gtk_cell_renderer_stop_editing(cell: *mut GtkCellRenderer, canceled: gboolean);
12890
12891    //=========================================================================
12892    // GtkCellRendererAccel
12893    //=========================================================================
12894    pub fn gtk_cell_renderer_accel_get_type() -> GType;
12895    pub fn gtk_cell_renderer_accel_new() -> *mut GtkCellRenderer;
12896
12897    //=========================================================================
12898    // GtkCellRendererCombo
12899    //=========================================================================
12900    pub fn gtk_cell_renderer_combo_get_type() -> GType;
12901    pub fn gtk_cell_renderer_combo_new() -> *mut GtkCellRenderer;
12902
12903    //=========================================================================
12904    // GtkCellRendererPixbuf
12905    //=========================================================================
12906    pub fn gtk_cell_renderer_pixbuf_get_type() -> GType;
12907    pub fn gtk_cell_renderer_pixbuf_new() -> *mut GtkCellRenderer;
12908
12909    //=========================================================================
12910    // GtkCellRendererProgress
12911    //=========================================================================
12912    pub fn gtk_cell_renderer_progress_get_type() -> GType;
12913    pub fn gtk_cell_renderer_progress_new() -> *mut GtkCellRenderer;
12914
12915    //=========================================================================
12916    // GtkCellRendererSpin
12917    //=========================================================================
12918    pub fn gtk_cell_renderer_spin_get_type() -> GType;
12919    pub fn gtk_cell_renderer_spin_new() -> *mut GtkCellRenderer;
12920
12921    //=========================================================================
12922    // GtkCellRendererSpinner
12923    //=========================================================================
12924    pub fn gtk_cell_renderer_spinner_get_type() -> GType;
12925    pub fn gtk_cell_renderer_spinner_new() -> *mut GtkCellRenderer;
12926
12927    //=========================================================================
12928    // GtkCellRendererText
12929    //=========================================================================
12930    pub fn gtk_cell_renderer_text_get_type() -> GType;
12931    pub fn gtk_cell_renderer_text_new() -> *mut GtkCellRenderer;
12932    pub fn gtk_cell_renderer_text_set_fixed_height_from_font(
12933        renderer: *mut GtkCellRendererText,
12934        number_of_rows: c_int,
12935    );
12936
12937    //=========================================================================
12938    // GtkCellRendererToggle
12939    //=========================================================================
12940    pub fn gtk_cell_renderer_toggle_get_type() -> GType;
12941    pub fn gtk_cell_renderer_toggle_new() -> *mut GtkCellRenderer;
12942    pub fn gtk_cell_renderer_toggle_get_activatable(toggle: *mut GtkCellRendererToggle)
12943    -> gboolean;
12944    pub fn gtk_cell_renderer_toggle_get_active(toggle: *mut GtkCellRendererToggle) -> gboolean;
12945    pub fn gtk_cell_renderer_toggle_get_radio(toggle: *mut GtkCellRendererToggle) -> gboolean;
12946    pub fn gtk_cell_renderer_toggle_set_activatable(
12947        toggle: *mut GtkCellRendererToggle,
12948        setting: gboolean,
12949    );
12950    pub fn gtk_cell_renderer_toggle_set_active(
12951        toggle: *mut GtkCellRendererToggle,
12952        setting: gboolean,
12953    );
12954    pub fn gtk_cell_renderer_toggle_set_radio(toggle: *mut GtkCellRendererToggle, radio: gboolean);
12955
12956    //=========================================================================
12957    // GtkCellView
12958    //=========================================================================
12959    pub fn gtk_cell_view_get_type() -> GType;
12960    pub fn gtk_cell_view_new() -> *mut GtkWidget;
12961    pub fn gtk_cell_view_new_with_context(
12962        area: *mut GtkCellArea,
12963        context: *mut GtkCellAreaContext,
12964    ) -> *mut GtkWidget;
12965    pub fn gtk_cell_view_new_with_markup(markup: *const c_char) -> *mut GtkWidget;
12966    pub fn gtk_cell_view_new_with_text(text: *const c_char) -> *mut GtkWidget;
12967    pub fn gtk_cell_view_new_with_texture(texture: *mut gdk::GdkTexture) -> *mut GtkWidget;
12968    pub fn gtk_cell_view_get_displayed_row(cell_view: *mut GtkCellView) -> *mut GtkTreePath;
12969    pub fn gtk_cell_view_get_draw_sensitive(cell_view: *mut GtkCellView) -> gboolean;
12970    pub fn gtk_cell_view_get_fit_model(cell_view: *mut GtkCellView) -> gboolean;
12971    pub fn gtk_cell_view_get_model(cell_view: *mut GtkCellView) -> *mut GtkTreeModel;
12972    pub fn gtk_cell_view_set_displayed_row(cell_view: *mut GtkCellView, path: *mut GtkTreePath);
12973    pub fn gtk_cell_view_set_draw_sensitive(cell_view: *mut GtkCellView, draw_sensitive: gboolean);
12974    pub fn gtk_cell_view_set_fit_model(cell_view: *mut GtkCellView, fit_model: gboolean);
12975    pub fn gtk_cell_view_set_model(cell_view: *mut GtkCellView, model: *mut GtkTreeModel);
12976
12977    //=========================================================================
12978    // GtkCenterBox
12979    //=========================================================================
12980    pub fn gtk_center_box_get_type() -> GType;
12981    pub fn gtk_center_box_new() -> *mut GtkWidget;
12982    pub fn gtk_center_box_get_baseline_position(self_: *mut GtkCenterBox) -> GtkBaselinePosition;
12983    pub fn gtk_center_box_get_center_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
12984    pub fn gtk_center_box_get_end_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
12985    #[cfg(feature = "v4_12")]
12986    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12987    pub fn gtk_center_box_get_shrink_center_last(self_: *mut GtkCenterBox) -> gboolean;
12988    pub fn gtk_center_box_get_start_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
12989    pub fn gtk_center_box_set_baseline_position(
12990        self_: *mut GtkCenterBox,
12991        position: GtkBaselinePosition,
12992    );
12993    pub fn gtk_center_box_set_center_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
12994    pub fn gtk_center_box_set_end_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
12995    #[cfg(feature = "v4_12")]
12996    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12997    pub fn gtk_center_box_set_shrink_center_last(
12998        self_: *mut GtkCenterBox,
12999        shrink_center_last: gboolean,
13000    );
13001    pub fn gtk_center_box_set_start_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
13002
13003    //=========================================================================
13004    // GtkCenterLayout
13005    //=========================================================================
13006    pub fn gtk_center_layout_get_type() -> GType;
13007    pub fn gtk_center_layout_new() -> *mut GtkLayoutManager;
13008    pub fn gtk_center_layout_get_baseline_position(
13009        self_: *mut GtkCenterLayout,
13010    ) -> GtkBaselinePosition;
13011    pub fn gtk_center_layout_get_center_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13012    pub fn gtk_center_layout_get_end_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13013    pub fn gtk_center_layout_get_orientation(self_: *mut GtkCenterLayout) -> GtkOrientation;
13014    #[cfg(feature = "v4_12")]
13015    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13016    pub fn gtk_center_layout_get_shrink_center_last(self_: *mut GtkCenterLayout) -> gboolean;
13017    pub fn gtk_center_layout_get_start_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13018    pub fn gtk_center_layout_set_baseline_position(
13019        self_: *mut GtkCenterLayout,
13020        baseline_position: GtkBaselinePosition,
13021    );
13022    pub fn gtk_center_layout_set_center_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13023    pub fn gtk_center_layout_set_end_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13024    pub fn gtk_center_layout_set_orientation(
13025        self_: *mut GtkCenterLayout,
13026        orientation: GtkOrientation,
13027    );
13028    #[cfg(feature = "v4_12")]
13029    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13030    pub fn gtk_center_layout_set_shrink_center_last(
13031        self_: *mut GtkCenterLayout,
13032        shrink_center_last: gboolean,
13033    );
13034    pub fn gtk_center_layout_set_start_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13035
13036    //=========================================================================
13037    // GtkCheckButton
13038    //=========================================================================
13039    pub fn gtk_check_button_get_type() -> GType;
13040    pub fn gtk_check_button_new() -> *mut GtkWidget;
13041    pub fn gtk_check_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
13042    pub fn gtk_check_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
13043    pub fn gtk_check_button_get_active(self_: *mut GtkCheckButton) -> gboolean;
13044    #[cfg(feature = "v4_8")]
13045    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
13046    pub fn gtk_check_button_get_child(button: *mut GtkCheckButton) -> *mut GtkWidget;
13047    pub fn gtk_check_button_get_inconsistent(check_button: *mut GtkCheckButton) -> gboolean;
13048    pub fn gtk_check_button_get_label(self_: *mut GtkCheckButton) -> *const c_char;
13049    pub fn gtk_check_button_get_use_underline(self_: *mut GtkCheckButton) -> gboolean;
13050    pub fn gtk_check_button_set_active(self_: *mut GtkCheckButton, setting: gboolean);
13051    #[cfg(feature = "v4_8")]
13052    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
13053    pub fn gtk_check_button_set_child(button: *mut GtkCheckButton, child: *mut GtkWidget);
13054    pub fn gtk_check_button_set_group(self_: *mut GtkCheckButton, group: *mut GtkCheckButton);
13055    pub fn gtk_check_button_set_inconsistent(
13056        check_button: *mut GtkCheckButton,
13057        inconsistent: gboolean,
13058    );
13059    pub fn gtk_check_button_set_label(self_: *mut GtkCheckButton, label: *const c_char);
13060    pub fn gtk_check_button_set_use_underline(self_: *mut GtkCheckButton, setting: gboolean);
13061
13062    //=========================================================================
13063    // GtkClosureExpression
13064    //=========================================================================
13065    pub fn gtk_closure_expression_get_type() -> GType;
13066    pub fn gtk_closure_expression_new(
13067        value_type: GType,
13068        closure: *mut gobject::GClosure,
13069        n_params: c_uint,
13070        params: *mut *mut GtkExpression,
13071    ) -> *mut GtkClosureExpression;
13072
13073    //=========================================================================
13074    // GtkColorButton
13075    //=========================================================================
13076    pub fn gtk_color_button_get_type() -> GType;
13077    pub fn gtk_color_button_new() -> *mut GtkWidget;
13078    pub fn gtk_color_button_new_with_rgba(rgba: *const gdk::GdkRGBA) -> *mut GtkWidget;
13079    pub fn gtk_color_button_get_modal(button: *mut GtkColorButton) -> gboolean;
13080    pub fn gtk_color_button_get_title(button: *mut GtkColorButton) -> *const c_char;
13081    pub fn gtk_color_button_set_modal(button: *mut GtkColorButton, modal: gboolean);
13082    pub fn gtk_color_button_set_title(button: *mut GtkColorButton, title: *const c_char);
13083
13084    //=========================================================================
13085    // GtkColorChooserDialog
13086    //=========================================================================
13087    pub fn gtk_color_chooser_dialog_get_type() -> GType;
13088    pub fn gtk_color_chooser_dialog_new(
13089        title: *const c_char,
13090        parent: *mut GtkWindow,
13091    ) -> *mut GtkWidget;
13092
13093    //=========================================================================
13094    // GtkColorChooserWidget
13095    //=========================================================================
13096    pub fn gtk_color_chooser_widget_get_type() -> GType;
13097    pub fn gtk_color_chooser_widget_new() -> *mut GtkWidget;
13098
13099    //=========================================================================
13100    // GtkColorDialog
13101    //=========================================================================
13102    #[cfg(feature = "v4_10")]
13103    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13104    pub fn gtk_color_dialog_get_type() -> GType;
13105    #[cfg(feature = "v4_10")]
13106    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13107    pub fn gtk_color_dialog_new() -> *mut GtkColorDialog;
13108    #[cfg(feature = "v4_10")]
13109    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13110    pub fn gtk_color_dialog_choose_rgba(
13111        self_: *mut GtkColorDialog,
13112        parent: *mut GtkWindow,
13113        initial_color: *const gdk::GdkRGBA,
13114        cancellable: *mut gio::GCancellable,
13115        callback: gio::GAsyncReadyCallback,
13116        user_data: gpointer,
13117    );
13118    #[cfg(feature = "v4_10")]
13119    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13120    pub fn gtk_color_dialog_choose_rgba_finish(
13121        self_: *mut GtkColorDialog,
13122        result: *mut gio::GAsyncResult,
13123        error: *mut *mut glib::GError,
13124    ) -> *mut gdk::GdkRGBA;
13125    #[cfg(feature = "v4_10")]
13126    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13127    pub fn gtk_color_dialog_get_modal(self_: *mut GtkColorDialog) -> gboolean;
13128    #[cfg(feature = "v4_10")]
13129    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13130    pub fn gtk_color_dialog_get_title(self_: *mut GtkColorDialog) -> *const c_char;
13131    #[cfg(feature = "v4_10")]
13132    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13133    pub fn gtk_color_dialog_get_with_alpha(self_: *mut GtkColorDialog) -> gboolean;
13134    #[cfg(feature = "v4_10")]
13135    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13136    pub fn gtk_color_dialog_set_modal(self_: *mut GtkColorDialog, modal: gboolean);
13137    #[cfg(feature = "v4_10")]
13138    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13139    pub fn gtk_color_dialog_set_title(self_: *mut GtkColorDialog, title: *const c_char);
13140    #[cfg(feature = "v4_10")]
13141    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13142    pub fn gtk_color_dialog_set_with_alpha(self_: *mut GtkColorDialog, with_alpha: gboolean);
13143
13144    //=========================================================================
13145    // GtkColorDialogButton
13146    //=========================================================================
13147    #[cfg(feature = "v4_10")]
13148    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13149    pub fn gtk_color_dialog_button_get_type() -> GType;
13150    #[cfg(feature = "v4_10")]
13151    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13152    pub fn gtk_color_dialog_button_new(dialog: *mut GtkColorDialog) -> *mut GtkWidget;
13153    #[cfg(feature = "v4_10")]
13154    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13155    pub fn gtk_color_dialog_button_get_dialog(
13156        self_: *mut GtkColorDialogButton,
13157    ) -> *mut GtkColorDialog;
13158    #[cfg(feature = "v4_10")]
13159    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13160    pub fn gtk_color_dialog_button_get_rgba(
13161        self_: *mut GtkColorDialogButton,
13162    ) -> *const gdk::GdkRGBA;
13163    #[cfg(feature = "v4_10")]
13164    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13165    pub fn gtk_color_dialog_button_set_dialog(
13166        self_: *mut GtkColorDialogButton,
13167        dialog: *mut GtkColorDialog,
13168    );
13169    #[cfg(feature = "v4_10")]
13170    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13171    pub fn gtk_color_dialog_button_set_rgba(
13172        self_: *mut GtkColorDialogButton,
13173        color: *const gdk::GdkRGBA,
13174    );
13175
13176    //=========================================================================
13177    // GtkColumnView
13178    //=========================================================================
13179    pub fn gtk_column_view_get_type() -> GType;
13180    pub fn gtk_column_view_new(model: *mut GtkSelectionModel) -> *mut GtkWidget;
13181    pub fn gtk_column_view_append_column(
13182        self_: *mut GtkColumnView,
13183        column: *mut GtkColumnViewColumn,
13184    );
13185    pub fn gtk_column_view_get_columns(self_: *mut GtkColumnView) -> *mut gio::GListModel;
13186    pub fn gtk_column_view_get_enable_rubberband(self_: *mut GtkColumnView) -> gboolean;
13187    #[cfg(feature = "v4_12")]
13188    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13189    pub fn gtk_column_view_get_header_factory(self_: *mut GtkColumnView)
13190    -> *mut GtkListItemFactory;
13191    pub fn gtk_column_view_get_model(self_: *mut GtkColumnView) -> *mut GtkSelectionModel;
13192    pub fn gtk_column_view_get_reorderable(self_: *mut GtkColumnView) -> gboolean;
13193    #[cfg(feature = "v4_12")]
13194    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13195    pub fn gtk_column_view_get_row_factory(self_: *mut GtkColumnView) -> *mut GtkListItemFactory;
13196    pub fn gtk_column_view_get_show_column_separators(self_: *mut GtkColumnView) -> gboolean;
13197    pub fn gtk_column_view_get_show_row_separators(self_: *mut GtkColumnView) -> gboolean;
13198    pub fn gtk_column_view_get_single_click_activate(self_: *mut GtkColumnView) -> gboolean;
13199    pub fn gtk_column_view_get_sorter(self_: *mut GtkColumnView) -> *mut GtkSorter;
13200    #[cfg(feature = "v4_12")]
13201    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13202    pub fn gtk_column_view_get_tab_behavior(self_: *mut GtkColumnView) -> GtkListTabBehavior;
13203    pub fn gtk_column_view_insert_column(
13204        self_: *mut GtkColumnView,
13205        position: c_uint,
13206        column: *mut GtkColumnViewColumn,
13207    );
13208    pub fn gtk_column_view_remove_column(
13209        self_: *mut GtkColumnView,
13210        column: *mut GtkColumnViewColumn,
13211    );
13212    #[cfg(feature = "v4_12")]
13213    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13214    pub fn gtk_column_view_scroll_to(
13215        self_: *mut GtkColumnView,
13216        pos: c_uint,
13217        column: *mut GtkColumnViewColumn,
13218        flags: GtkListScrollFlags,
13219        scroll: *mut GtkScrollInfo,
13220    );
13221    pub fn gtk_column_view_set_enable_rubberband(
13222        self_: *mut GtkColumnView,
13223        enable_rubberband: gboolean,
13224    );
13225    #[cfg(feature = "v4_12")]
13226    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13227    pub fn gtk_column_view_set_header_factory(
13228        self_: *mut GtkColumnView,
13229        factory: *mut GtkListItemFactory,
13230    );
13231    pub fn gtk_column_view_set_model(self_: *mut GtkColumnView, model: *mut GtkSelectionModel);
13232    pub fn gtk_column_view_set_reorderable(self_: *mut GtkColumnView, reorderable: gboolean);
13233    #[cfg(feature = "v4_12")]
13234    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13235    pub fn gtk_column_view_set_row_factory(
13236        self_: *mut GtkColumnView,
13237        factory: *mut GtkListItemFactory,
13238    );
13239    pub fn gtk_column_view_set_show_column_separators(
13240        self_: *mut GtkColumnView,
13241        show_column_separators: gboolean,
13242    );
13243    pub fn gtk_column_view_set_show_row_separators(
13244        self_: *mut GtkColumnView,
13245        show_row_separators: gboolean,
13246    );
13247    pub fn gtk_column_view_set_single_click_activate(
13248        self_: *mut GtkColumnView,
13249        single_click_activate: gboolean,
13250    );
13251    #[cfg(feature = "v4_12")]
13252    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13253    pub fn gtk_column_view_set_tab_behavior(
13254        self_: *mut GtkColumnView,
13255        tab_behavior: GtkListTabBehavior,
13256    );
13257    pub fn gtk_column_view_sort_by_column(
13258        self_: *mut GtkColumnView,
13259        column: *mut GtkColumnViewColumn,
13260        direction: GtkSortType,
13261    );
13262
13263    //=========================================================================
13264    // GtkColumnViewCell
13265    //=========================================================================
13266    #[cfg(feature = "v4_12")]
13267    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13268    pub fn gtk_column_view_cell_get_type() -> GType;
13269    #[cfg(feature = "v4_12")]
13270    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13271    pub fn gtk_column_view_cell_get_child(self_: *mut GtkColumnViewCell) -> *mut GtkWidget;
13272    #[cfg(feature = "v4_12")]
13273    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13274    pub fn gtk_column_view_cell_get_focusable(self_: *mut GtkColumnViewCell) -> gboolean;
13275    #[cfg(feature = "v4_12")]
13276    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13277    pub fn gtk_column_view_cell_get_item(self_: *mut GtkColumnViewCell) -> *mut gobject::GObject;
13278    #[cfg(feature = "v4_12")]
13279    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13280    pub fn gtk_column_view_cell_get_position(self_: *mut GtkColumnViewCell) -> c_uint;
13281    #[cfg(feature = "v4_12")]
13282    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13283    pub fn gtk_column_view_cell_get_selected(self_: *mut GtkColumnViewCell) -> gboolean;
13284    #[cfg(feature = "v4_12")]
13285    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13286    pub fn gtk_column_view_cell_set_child(self_: *mut GtkColumnViewCell, child: *mut GtkWidget);
13287    #[cfg(feature = "v4_12")]
13288    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13289    pub fn gtk_column_view_cell_set_focusable(self_: *mut GtkColumnViewCell, focusable: gboolean);
13290
13291    //=========================================================================
13292    // GtkColumnViewColumn
13293    //=========================================================================
13294    pub fn gtk_column_view_column_get_type() -> GType;
13295    pub fn gtk_column_view_column_new(
13296        title: *const c_char,
13297        factory: *mut GtkListItemFactory,
13298    ) -> *mut GtkColumnViewColumn;
13299    pub fn gtk_column_view_column_get_column_view(
13300        self_: *mut GtkColumnViewColumn,
13301    ) -> *mut GtkColumnView;
13302    pub fn gtk_column_view_column_get_expand(self_: *mut GtkColumnViewColumn) -> gboolean;
13303    pub fn gtk_column_view_column_get_factory(
13304        self_: *mut GtkColumnViewColumn,
13305    ) -> *mut GtkListItemFactory;
13306    pub fn gtk_column_view_column_get_fixed_width(self_: *mut GtkColumnViewColumn) -> c_int;
13307    pub fn gtk_column_view_column_get_header_menu(
13308        self_: *mut GtkColumnViewColumn,
13309    ) -> *mut gio::GMenuModel;
13310    #[cfg(feature = "v4_10")]
13311    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13312    pub fn gtk_column_view_column_get_id(self_: *mut GtkColumnViewColumn) -> *const c_char;
13313    pub fn gtk_column_view_column_get_resizable(self_: *mut GtkColumnViewColumn) -> gboolean;
13314    pub fn gtk_column_view_column_get_sorter(self_: *mut GtkColumnViewColumn) -> *mut GtkSorter;
13315    pub fn gtk_column_view_column_get_title(self_: *mut GtkColumnViewColumn) -> *const c_char;
13316    pub fn gtk_column_view_column_get_visible(self_: *mut GtkColumnViewColumn) -> gboolean;
13317    pub fn gtk_column_view_column_set_expand(self_: *mut GtkColumnViewColumn, expand: gboolean);
13318    pub fn gtk_column_view_column_set_factory(
13319        self_: *mut GtkColumnViewColumn,
13320        factory: *mut GtkListItemFactory,
13321    );
13322    pub fn gtk_column_view_column_set_fixed_width(
13323        self_: *mut GtkColumnViewColumn,
13324        fixed_width: c_int,
13325    );
13326    pub fn gtk_column_view_column_set_header_menu(
13327        self_: *mut GtkColumnViewColumn,
13328        menu: *mut gio::GMenuModel,
13329    );
13330    #[cfg(feature = "v4_10")]
13331    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13332    pub fn gtk_column_view_column_set_id(self_: *mut GtkColumnViewColumn, id: *const c_char);
13333    pub fn gtk_column_view_column_set_resizable(
13334        self_: *mut GtkColumnViewColumn,
13335        resizable: gboolean,
13336    );
13337    pub fn gtk_column_view_column_set_sorter(
13338        self_: *mut GtkColumnViewColumn,
13339        sorter: *mut GtkSorter,
13340    );
13341    pub fn gtk_column_view_column_set_title(self_: *mut GtkColumnViewColumn, title: *const c_char);
13342    pub fn gtk_column_view_column_set_visible(self_: *mut GtkColumnViewColumn, visible: gboolean);
13343
13344    //=========================================================================
13345    // GtkColumnViewRow
13346    //=========================================================================
13347    #[cfg(feature = "v4_12")]
13348    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13349    pub fn gtk_column_view_row_get_type() -> GType;
13350    #[cfg(feature = "v4_12")]
13351    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13352    pub fn gtk_column_view_row_get_accessible_description(
13353        self_: *mut GtkColumnViewRow,
13354    ) -> *const c_char;
13355    #[cfg(feature = "v4_12")]
13356    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13357    pub fn gtk_column_view_row_get_accessible_label(self_: *mut GtkColumnViewRow) -> *const c_char;
13358    #[cfg(feature = "v4_12")]
13359    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13360    pub fn gtk_column_view_row_get_activatable(self_: *mut GtkColumnViewRow) -> gboolean;
13361    #[cfg(feature = "v4_12")]
13362    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13363    pub fn gtk_column_view_row_get_focusable(self_: *mut GtkColumnViewRow) -> gboolean;
13364    #[cfg(feature = "v4_12")]
13365    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13366    pub fn gtk_column_view_row_get_item(self_: *mut GtkColumnViewRow) -> *mut gobject::GObject;
13367    #[cfg(feature = "v4_12")]
13368    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13369    pub fn gtk_column_view_row_get_position(self_: *mut GtkColumnViewRow) -> c_uint;
13370    #[cfg(feature = "v4_12")]
13371    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13372    pub fn gtk_column_view_row_get_selectable(self_: *mut GtkColumnViewRow) -> gboolean;
13373    #[cfg(feature = "v4_12")]
13374    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13375    pub fn gtk_column_view_row_get_selected(self_: *mut GtkColumnViewRow) -> gboolean;
13376    #[cfg(feature = "v4_12")]
13377    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13378    pub fn gtk_column_view_row_set_accessible_description(
13379        self_: *mut GtkColumnViewRow,
13380        description: *const c_char,
13381    );
13382    #[cfg(feature = "v4_12")]
13383    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13384    pub fn gtk_column_view_row_set_accessible_label(
13385        self_: *mut GtkColumnViewRow,
13386        label: *const c_char,
13387    );
13388    #[cfg(feature = "v4_12")]
13389    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13390    pub fn gtk_column_view_row_set_activatable(self_: *mut GtkColumnViewRow, activatable: gboolean);
13391    #[cfg(feature = "v4_12")]
13392    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13393    pub fn gtk_column_view_row_set_focusable(self_: *mut GtkColumnViewRow, focusable: gboolean);
13394    #[cfg(feature = "v4_12")]
13395    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13396    pub fn gtk_column_view_row_set_selectable(self_: *mut GtkColumnViewRow, selectable: gboolean);
13397
13398    //=========================================================================
13399    // GtkColumnViewSorter
13400    //=========================================================================
13401    #[cfg(feature = "v4_10")]
13402    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13403    pub fn gtk_column_view_sorter_get_type() -> GType;
13404    #[cfg(feature = "v4_10")]
13405    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13406    pub fn gtk_column_view_sorter_get_n_sort_columns(self_: *mut GtkColumnViewSorter) -> c_uint;
13407    #[cfg(feature = "v4_10")]
13408    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13409    pub fn gtk_column_view_sorter_get_nth_sort_column(
13410        self_: *mut GtkColumnViewSorter,
13411        position: c_uint,
13412        sort_order: *mut GtkSortType,
13413    ) -> *mut GtkColumnViewColumn;
13414    #[cfg(feature = "v4_10")]
13415    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13416    pub fn gtk_column_view_sorter_get_primary_sort_column(
13417        self_: *mut GtkColumnViewSorter,
13418    ) -> *mut GtkColumnViewColumn;
13419    #[cfg(feature = "v4_10")]
13420    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13421    pub fn gtk_column_view_sorter_get_primary_sort_order(
13422        self_: *mut GtkColumnViewSorter,
13423    ) -> GtkSortType;
13424
13425    //=========================================================================
13426    // GtkComboBox
13427    //=========================================================================
13428    pub fn gtk_combo_box_get_type() -> GType;
13429    pub fn gtk_combo_box_new() -> *mut GtkWidget;
13430    pub fn gtk_combo_box_new_with_entry() -> *mut GtkWidget;
13431    pub fn gtk_combo_box_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
13432    pub fn gtk_combo_box_new_with_model_and_entry(model: *mut GtkTreeModel) -> *mut GtkWidget;
13433    pub fn gtk_combo_box_get_active(combo_box: *mut GtkComboBox) -> c_int;
13434    pub fn gtk_combo_box_get_active_id(combo_box: *mut GtkComboBox) -> *const c_char;
13435    pub fn gtk_combo_box_get_active_iter(
13436        combo_box: *mut GtkComboBox,
13437        iter: *mut GtkTreeIter,
13438    ) -> gboolean;
13439    pub fn gtk_combo_box_get_button_sensitivity(combo_box: *mut GtkComboBox) -> GtkSensitivityType;
13440    pub fn gtk_combo_box_get_child(combo_box: *mut GtkComboBox) -> *mut GtkWidget;
13441    pub fn gtk_combo_box_get_entry_text_column(combo_box: *mut GtkComboBox) -> c_int;
13442    pub fn gtk_combo_box_get_has_entry(combo_box: *mut GtkComboBox) -> gboolean;
13443    pub fn gtk_combo_box_get_id_column(combo_box: *mut GtkComboBox) -> c_int;
13444    pub fn gtk_combo_box_get_model(combo_box: *mut GtkComboBox) -> *mut GtkTreeModel;
13445    pub fn gtk_combo_box_get_popup_fixed_width(combo_box: *mut GtkComboBox) -> gboolean;
13446    pub fn gtk_combo_box_get_row_separator_func(
13447        combo_box: *mut GtkComboBox,
13448    ) -> GtkTreeViewRowSeparatorFunc;
13449    pub fn gtk_combo_box_popdown(combo_box: *mut GtkComboBox);
13450    pub fn gtk_combo_box_popup(combo_box: *mut GtkComboBox);
13451    pub fn gtk_combo_box_popup_for_device(combo_box: *mut GtkComboBox, device: *mut gdk::GdkDevice);
13452    pub fn gtk_combo_box_set_active(combo_box: *mut GtkComboBox, index_: c_int);
13453    pub fn gtk_combo_box_set_active_id(
13454        combo_box: *mut GtkComboBox,
13455        active_id: *const c_char,
13456    ) -> gboolean;
13457    pub fn gtk_combo_box_set_active_iter(combo_box: *mut GtkComboBox, iter: *mut GtkTreeIter);
13458    pub fn gtk_combo_box_set_button_sensitivity(
13459        combo_box: *mut GtkComboBox,
13460        sensitivity: GtkSensitivityType,
13461    );
13462    pub fn gtk_combo_box_set_child(combo_box: *mut GtkComboBox, child: *mut GtkWidget);
13463    pub fn gtk_combo_box_set_entry_text_column(combo_box: *mut GtkComboBox, text_column: c_int);
13464    pub fn gtk_combo_box_set_id_column(combo_box: *mut GtkComboBox, id_column: c_int);
13465    pub fn gtk_combo_box_set_model(combo_box: *mut GtkComboBox, model: *mut GtkTreeModel);
13466    pub fn gtk_combo_box_set_popup_fixed_width(combo_box: *mut GtkComboBox, fixed: gboolean);
13467    pub fn gtk_combo_box_set_row_separator_func(
13468        combo_box: *mut GtkComboBox,
13469        func: GtkTreeViewRowSeparatorFunc,
13470        data: gpointer,
13471        destroy: glib::GDestroyNotify,
13472    );
13473
13474    //=========================================================================
13475    // GtkComboBoxText
13476    //=========================================================================
13477    pub fn gtk_combo_box_text_get_type() -> GType;
13478    pub fn gtk_combo_box_text_new() -> *mut GtkWidget;
13479    pub fn gtk_combo_box_text_new_with_entry() -> *mut GtkWidget;
13480    pub fn gtk_combo_box_text_append(
13481        combo_box: *mut GtkComboBoxText,
13482        id: *const c_char,
13483        text: *const c_char,
13484    );
13485    pub fn gtk_combo_box_text_append_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13486    pub fn gtk_combo_box_text_get_active_text(combo_box: *mut GtkComboBoxText) -> *mut c_char;
13487    pub fn gtk_combo_box_text_insert(
13488        combo_box: *mut GtkComboBoxText,
13489        position: c_int,
13490        id: *const c_char,
13491        text: *const c_char,
13492    );
13493    pub fn gtk_combo_box_text_insert_text(
13494        combo_box: *mut GtkComboBoxText,
13495        position: c_int,
13496        text: *const c_char,
13497    );
13498    pub fn gtk_combo_box_text_prepend(
13499        combo_box: *mut GtkComboBoxText,
13500        id: *const c_char,
13501        text: *const c_char,
13502    );
13503    pub fn gtk_combo_box_text_prepend_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13504    pub fn gtk_combo_box_text_remove(combo_box: *mut GtkComboBoxText, position: c_int);
13505    pub fn gtk_combo_box_text_remove_all(combo_box: *mut GtkComboBoxText);
13506
13507    //=========================================================================
13508    // GtkConstantExpression
13509    //=========================================================================
13510    pub fn gtk_constant_expression_get_type() -> GType;
13511    pub fn gtk_constant_expression_new(value_type: GType, ...) -> *mut GtkConstantExpression;
13512    pub fn gtk_constant_expression_new_for_value(
13513        value: *const gobject::GValue,
13514    ) -> *mut GtkConstantExpression;
13515    pub fn gtk_constant_expression_get_value(
13516        expression: *mut GtkConstantExpression,
13517    ) -> *const gobject::GValue;
13518
13519    //=========================================================================
13520    // GtkConstraint
13521    //=========================================================================
13522    pub fn gtk_constraint_get_type() -> GType;
13523    pub fn gtk_constraint_new(
13524        target: *mut GtkConstraintTarget,
13525        target_attribute: GtkConstraintAttribute,
13526        relation: GtkConstraintRelation,
13527        source: *mut GtkConstraintTarget,
13528        source_attribute: GtkConstraintAttribute,
13529        multiplier: c_double,
13530        constant: c_double,
13531        strength: c_int,
13532    ) -> *mut GtkConstraint;
13533    pub fn gtk_constraint_new_constant(
13534        target: *mut GtkConstraintTarget,
13535        target_attribute: GtkConstraintAttribute,
13536        relation: GtkConstraintRelation,
13537        constant: c_double,
13538        strength: c_int,
13539    ) -> *mut GtkConstraint;
13540    pub fn gtk_constraint_get_constant(constraint: *mut GtkConstraint) -> c_double;
13541    pub fn gtk_constraint_get_multiplier(constraint: *mut GtkConstraint) -> c_double;
13542    pub fn gtk_constraint_get_relation(constraint: *mut GtkConstraint) -> GtkConstraintRelation;
13543    pub fn gtk_constraint_get_source(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13544    pub fn gtk_constraint_get_source_attribute(
13545        constraint: *mut GtkConstraint,
13546    ) -> GtkConstraintAttribute;
13547    pub fn gtk_constraint_get_strength(constraint: *mut GtkConstraint) -> c_int;
13548    pub fn gtk_constraint_get_target(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13549    pub fn gtk_constraint_get_target_attribute(
13550        constraint: *mut GtkConstraint,
13551    ) -> GtkConstraintAttribute;
13552    pub fn gtk_constraint_is_attached(constraint: *mut GtkConstraint) -> gboolean;
13553    pub fn gtk_constraint_is_constant(constraint: *mut GtkConstraint) -> gboolean;
13554    pub fn gtk_constraint_is_required(constraint: *mut GtkConstraint) -> gboolean;
13555
13556    //=========================================================================
13557    // GtkConstraintGuide
13558    //=========================================================================
13559    pub fn gtk_constraint_guide_get_type() -> GType;
13560    pub fn gtk_constraint_guide_new() -> *mut GtkConstraintGuide;
13561    pub fn gtk_constraint_guide_get_max_size(
13562        guide: *mut GtkConstraintGuide,
13563        width: *mut c_int,
13564        height: *mut c_int,
13565    );
13566    pub fn gtk_constraint_guide_get_min_size(
13567        guide: *mut GtkConstraintGuide,
13568        width: *mut c_int,
13569        height: *mut c_int,
13570    );
13571    pub fn gtk_constraint_guide_get_name(guide: *mut GtkConstraintGuide) -> *const c_char;
13572    pub fn gtk_constraint_guide_get_nat_size(
13573        guide: *mut GtkConstraintGuide,
13574        width: *mut c_int,
13575        height: *mut c_int,
13576    );
13577    pub fn gtk_constraint_guide_get_strength(
13578        guide: *mut GtkConstraintGuide,
13579    ) -> GtkConstraintStrength;
13580    pub fn gtk_constraint_guide_set_max_size(
13581        guide: *mut GtkConstraintGuide,
13582        width: c_int,
13583        height: c_int,
13584    );
13585    pub fn gtk_constraint_guide_set_min_size(
13586        guide: *mut GtkConstraintGuide,
13587        width: c_int,
13588        height: c_int,
13589    );
13590    pub fn gtk_constraint_guide_set_name(guide: *mut GtkConstraintGuide, name: *const c_char);
13591    pub fn gtk_constraint_guide_set_nat_size(
13592        guide: *mut GtkConstraintGuide,
13593        width: c_int,
13594        height: c_int,
13595    );
13596    pub fn gtk_constraint_guide_set_strength(
13597        guide: *mut GtkConstraintGuide,
13598        strength: GtkConstraintStrength,
13599    );
13600
13601    //=========================================================================
13602    // GtkConstraintLayout
13603    //=========================================================================
13604    pub fn gtk_constraint_layout_get_type() -> GType;
13605    pub fn gtk_constraint_layout_new() -> *mut GtkLayoutManager;
13606    pub fn gtk_constraint_layout_add_constraint(
13607        layout: *mut GtkConstraintLayout,
13608        constraint: *mut GtkConstraint,
13609    );
13610    pub fn gtk_constraint_layout_add_constraints_from_description(
13611        layout: *mut GtkConstraintLayout,
13612        lines: *const *const c_char,
13613        n_lines: size_t,
13614        hspacing: c_int,
13615        vspacing: c_int,
13616        error: *mut *mut glib::GError,
13617        first_view: *const c_char,
13618        ...
13619    ) -> *mut glib::GList;
13620    pub fn gtk_constraint_layout_add_constraints_from_descriptionv(
13621        layout: *mut GtkConstraintLayout,
13622        lines: *const *const c_char,
13623        n_lines: size_t,
13624        hspacing: c_int,
13625        vspacing: c_int,
13626        views: *mut glib::GHashTable,
13627        error: *mut *mut glib::GError,
13628    ) -> *mut glib::GList;
13629    pub fn gtk_constraint_layout_add_guide(
13630        layout: *mut GtkConstraintLayout,
13631        guide: *mut GtkConstraintGuide,
13632    );
13633    pub fn gtk_constraint_layout_observe_constraints(
13634        layout: *mut GtkConstraintLayout,
13635    ) -> *mut gio::GListModel;
13636    pub fn gtk_constraint_layout_observe_guides(
13637        layout: *mut GtkConstraintLayout,
13638    ) -> *mut gio::GListModel;
13639    pub fn gtk_constraint_layout_remove_all_constraints(layout: *mut GtkConstraintLayout);
13640    pub fn gtk_constraint_layout_remove_constraint(
13641        layout: *mut GtkConstraintLayout,
13642        constraint: *mut GtkConstraint,
13643    );
13644    pub fn gtk_constraint_layout_remove_guide(
13645        layout: *mut GtkConstraintLayout,
13646        guide: *mut GtkConstraintGuide,
13647    );
13648
13649    //=========================================================================
13650    // GtkConstraintLayoutChild
13651    //=========================================================================
13652    pub fn gtk_constraint_layout_child_get_type() -> GType;
13653
13654    //=========================================================================
13655    // GtkCssProvider
13656    //=========================================================================
13657    pub fn gtk_css_provider_get_type() -> GType;
13658    pub fn gtk_css_provider_new() -> *mut GtkCssProvider;
13659    #[cfg(feature = "v4_12")]
13660    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13661    pub fn gtk_css_provider_load_from_bytes(
13662        css_provider: *mut GtkCssProvider,
13663        data: *mut glib::GBytes,
13664    );
13665    pub fn gtk_css_provider_load_from_data(
13666        css_provider: *mut GtkCssProvider,
13667        data: *const c_char,
13668        length: ssize_t,
13669    );
13670    pub fn gtk_css_provider_load_from_file(
13671        css_provider: *mut GtkCssProvider,
13672        file: *mut gio::GFile,
13673    );
13674    pub fn gtk_css_provider_load_from_path(css_provider: *mut GtkCssProvider, path: *const c_char);
13675    pub fn gtk_css_provider_load_from_resource(
13676        css_provider: *mut GtkCssProvider,
13677        resource_path: *const c_char,
13678    );
13679    #[cfg(feature = "v4_12")]
13680    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13681    pub fn gtk_css_provider_load_from_string(
13682        css_provider: *mut GtkCssProvider,
13683        string: *const c_char,
13684    );
13685    pub fn gtk_css_provider_load_named(
13686        provider: *mut GtkCssProvider,
13687        name: *const c_char,
13688        variant: *const c_char,
13689    );
13690    pub fn gtk_css_provider_to_string(provider: *mut GtkCssProvider) -> *mut c_char;
13691
13692    //=========================================================================
13693    // GtkCustomFilter
13694    //=========================================================================
13695    pub fn gtk_custom_filter_get_type() -> GType;
13696    pub fn gtk_custom_filter_new(
13697        match_func: GtkCustomFilterFunc,
13698        user_data: gpointer,
13699        user_destroy: glib::GDestroyNotify,
13700    ) -> *mut GtkCustomFilter;
13701    pub fn gtk_custom_filter_set_filter_func(
13702        self_: *mut GtkCustomFilter,
13703        match_func: GtkCustomFilterFunc,
13704        user_data: gpointer,
13705        user_destroy: glib::GDestroyNotify,
13706    );
13707
13708    //=========================================================================
13709    // GtkCustomLayout
13710    //=========================================================================
13711    pub fn gtk_custom_layout_get_type() -> GType;
13712    pub fn gtk_custom_layout_new(
13713        request_mode: GtkCustomRequestModeFunc,
13714        measure: GtkCustomMeasureFunc,
13715        allocate: GtkCustomAllocateFunc,
13716    ) -> *mut GtkLayoutManager;
13717
13718    //=========================================================================
13719    // GtkCustomSorter
13720    //=========================================================================
13721    pub fn gtk_custom_sorter_get_type() -> GType;
13722    pub fn gtk_custom_sorter_new(
13723        sort_func: glib::GCompareDataFunc,
13724        user_data: gpointer,
13725        user_destroy: glib::GDestroyNotify,
13726    ) -> *mut GtkCustomSorter;
13727    pub fn gtk_custom_sorter_set_sort_func(
13728        self_: *mut GtkCustomSorter,
13729        sort_func: glib::GCompareDataFunc,
13730        user_data: gpointer,
13731        user_destroy: glib::GDestroyNotify,
13732    );
13733
13734    //=========================================================================
13735    // GtkDialog
13736    //=========================================================================
13737    pub fn gtk_dialog_get_type() -> GType;
13738    pub fn gtk_dialog_new() -> *mut GtkWidget;
13739    pub fn gtk_dialog_new_with_buttons(
13740        title: *const c_char,
13741        parent: *mut GtkWindow,
13742        flags: GtkDialogFlags,
13743        first_button_text: *const c_char,
13744        ...
13745    ) -> *mut GtkWidget;
13746    pub fn gtk_dialog_add_action_widget(
13747        dialog: *mut GtkDialog,
13748        child: *mut GtkWidget,
13749        response_id: GtkResponseType,
13750    );
13751    pub fn gtk_dialog_add_button(
13752        dialog: *mut GtkDialog,
13753        button_text: *const c_char,
13754        response_id: GtkResponseType,
13755    ) -> *mut GtkWidget;
13756    pub fn gtk_dialog_add_buttons(dialog: *mut GtkDialog, first_button_text: *const c_char, ...);
13757    pub fn gtk_dialog_get_content_area(dialog: *mut GtkDialog) -> *mut GtkBox;
13758    pub fn gtk_dialog_get_header_bar(dialog: *mut GtkDialog) -> *mut GtkHeaderBar;
13759    pub fn gtk_dialog_get_response_for_widget(
13760        dialog: *mut GtkDialog,
13761        widget: *mut GtkWidget,
13762    ) -> c_int;
13763    pub fn gtk_dialog_get_widget_for_response(
13764        dialog: *mut GtkDialog,
13765        response_id: GtkResponseType,
13766    ) -> *mut GtkWidget;
13767    pub fn gtk_dialog_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13768    pub fn gtk_dialog_set_default_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13769    pub fn gtk_dialog_set_response_sensitive(
13770        dialog: *mut GtkDialog,
13771        response_id: GtkResponseType,
13772        setting: gboolean,
13773    );
13774
13775    //=========================================================================
13776    // GtkDirectoryList
13777    //=========================================================================
13778    pub fn gtk_directory_list_get_type() -> GType;
13779    pub fn gtk_directory_list_new(
13780        attributes: *const c_char,
13781        file: *mut gio::GFile,
13782    ) -> *mut GtkDirectoryList;
13783    pub fn gtk_directory_list_get_attributes(self_: *mut GtkDirectoryList) -> *const c_char;
13784    pub fn gtk_directory_list_get_error(self_: *mut GtkDirectoryList) -> *const glib::GError;
13785    pub fn gtk_directory_list_get_file(self_: *mut GtkDirectoryList) -> *mut gio::GFile;
13786    pub fn gtk_directory_list_get_io_priority(self_: *mut GtkDirectoryList) -> c_int;
13787    pub fn gtk_directory_list_get_monitored(self_: *mut GtkDirectoryList) -> gboolean;
13788    pub fn gtk_directory_list_is_loading(self_: *mut GtkDirectoryList) -> gboolean;
13789    pub fn gtk_directory_list_set_attributes(
13790        self_: *mut GtkDirectoryList,
13791        attributes: *const c_char,
13792    );
13793    pub fn gtk_directory_list_set_file(self_: *mut GtkDirectoryList, file: *mut gio::GFile);
13794    pub fn gtk_directory_list_set_io_priority(self_: *mut GtkDirectoryList, io_priority: c_int);
13795    pub fn gtk_directory_list_set_monitored(self_: *mut GtkDirectoryList, monitored: gboolean);
13796
13797    //=========================================================================
13798    // GtkDragIcon
13799    //=========================================================================
13800    pub fn gtk_drag_icon_get_type() -> GType;
13801    pub fn gtk_drag_icon_get_for_drag(drag: *mut gdk::GdkDrag) -> *mut GtkDragIcon;
13802    pub fn gtk_drag_icon_create_widget_for_value(value: *const gobject::GValue) -> *mut GtkWidget;
13803    pub fn gtk_drag_icon_set_from_paintable(
13804        drag: *mut gdk::GdkDrag,
13805        paintable: *mut gdk::GdkPaintable,
13806        hot_x: c_int,
13807        hot_y: c_int,
13808    );
13809    pub fn gtk_drag_icon_get_child(self_: *mut GtkDragIcon) -> *mut GtkWidget;
13810    pub fn gtk_drag_icon_set_child(self_: *mut GtkDragIcon, child: *mut GtkWidget);
13811
13812    //=========================================================================
13813    // GtkDragSource
13814    //=========================================================================
13815    pub fn gtk_drag_source_get_type() -> GType;
13816    pub fn gtk_drag_source_new() -> *mut GtkDragSource;
13817    pub fn gtk_drag_source_drag_cancel(source: *mut GtkDragSource);
13818    pub fn gtk_drag_source_get_actions(source: *mut GtkDragSource) -> gdk::GdkDragAction;
13819    pub fn gtk_drag_source_get_content(source: *mut GtkDragSource) -> *mut gdk::GdkContentProvider;
13820    pub fn gtk_drag_source_get_drag(source: *mut GtkDragSource) -> *mut gdk::GdkDrag;
13821    pub fn gtk_drag_source_set_actions(source: *mut GtkDragSource, actions: gdk::GdkDragAction);
13822    pub fn gtk_drag_source_set_content(
13823        source: *mut GtkDragSource,
13824        content: *mut gdk::GdkContentProvider,
13825    );
13826    pub fn gtk_drag_source_set_icon(
13827        source: *mut GtkDragSource,
13828        paintable: *mut gdk::GdkPaintable,
13829        hot_x: c_int,
13830        hot_y: c_int,
13831    );
13832
13833    //=========================================================================
13834    // GtkDrawingArea
13835    //=========================================================================
13836    pub fn gtk_drawing_area_get_type() -> GType;
13837    pub fn gtk_drawing_area_new() -> *mut GtkWidget;
13838    pub fn gtk_drawing_area_get_content_height(self_: *mut GtkDrawingArea) -> c_int;
13839    pub fn gtk_drawing_area_get_content_width(self_: *mut GtkDrawingArea) -> c_int;
13840    pub fn gtk_drawing_area_set_content_height(self_: *mut GtkDrawingArea, height: c_int);
13841    pub fn gtk_drawing_area_set_content_width(self_: *mut GtkDrawingArea, width: c_int);
13842    pub fn gtk_drawing_area_set_draw_func(
13843        self_: *mut GtkDrawingArea,
13844        draw_func: GtkDrawingAreaDrawFunc,
13845        user_data: gpointer,
13846        destroy: glib::GDestroyNotify,
13847    );
13848
13849    //=========================================================================
13850    // GtkDropControllerMotion
13851    //=========================================================================
13852    pub fn gtk_drop_controller_motion_get_type() -> GType;
13853    pub fn gtk_drop_controller_motion_new() -> *mut GtkEventController;
13854    pub fn gtk_drop_controller_motion_contains_pointer(
13855        self_: *mut GtkDropControllerMotion,
13856    ) -> gboolean;
13857    pub fn gtk_drop_controller_motion_get_drop(
13858        self_: *mut GtkDropControllerMotion,
13859    ) -> *mut gdk::GdkDrop;
13860    pub fn gtk_drop_controller_motion_is_pointer(self_: *mut GtkDropControllerMotion) -> gboolean;
13861
13862    //=========================================================================
13863    // GtkDropDown
13864    //=========================================================================
13865    pub fn gtk_drop_down_get_type() -> GType;
13866    pub fn gtk_drop_down_new(
13867        model: *mut gio::GListModel,
13868        expression: *mut GtkExpression,
13869    ) -> *mut GtkWidget;
13870    pub fn gtk_drop_down_new_from_strings(strings: *const *const c_char) -> *mut GtkWidget;
13871    pub fn gtk_drop_down_get_enable_search(self_: *mut GtkDropDown) -> gboolean;
13872    pub fn gtk_drop_down_get_expression(self_: *mut GtkDropDown) -> *mut GtkExpression;
13873    pub fn gtk_drop_down_get_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13874    #[cfg(feature = "v4_12")]
13875    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13876    pub fn gtk_drop_down_get_header_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13877    pub fn gtk_drop_down_get_list_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13878    pub fn gtk_drop_down_get_model(self_: *mut GtkDropDown) -> *mut gio::GListModel;
13879    #[cfg(feature = "v4_12")]
13880    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13881    pub fn gtk_drop_down_get_search_match_mode(self_: *mut GtkDropDown)
13882    -> GtkStringFilterMatchMode;
13883    pub fn gtk_drop_down_get_selected(self_: *mut GtkDropDown) -> c_uint;
13884    pub fn gtk_drop_down_get_selected_item(self_: *mut GtkDropDown) -> *mut gobject::GObject;
13885    #[cfg(feature = "v4_6")]
13886    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13887    pub fn gtk_drop_down_get_show_arrow(self_: *mut GtkDropDown) -> gboolean;
13888    pub fn gtk_drop_down_set_enable_search(self_: *mut GtkDropDown, enable_search: gboolean);
13889    pub fn gtk_drop_down_set_expression(self_: *mut GtkDropDown, expression: *mut GtkExpression);
13890    pub fn gtk_drop_down_set_factory(self_: *mut GtkDropDown, factory: *mut GtkListItemFactory);
13891    #[cfg(feature = "v4_12")]
13892    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13893    pub fn gtk_drop_down_set_header_factory(
13894        self_: *mut GtkDropDown,
13895        factory: *mut GtkListItemFactory,
13896    );
13897    pub fn gtk_drop_down_set_list_factory(
13898        self_: *mut GtkDropDown,
13899        factory: *mut GtkListItemFactory,
13900    );
13901    pub fn gtk_drop_down_set_model(self_: *mut GtkDropDown, model: *mut gio::GListModel);
13902    #[cfg(feature = "v4_12")]
13903    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13904    pub fn gtk_drop_down_set_search_match_mode(
13905        self_: *mut GtkDropDown,
13906        search_match_mode: GtkStringFilterMatchMode,
13907    );
13908    pub fn gtk_drop_down_set_selected(self_: *mut GtkDropDown, position: c_uint);
13909    #[cfg(feature = "v4_6")]
13910    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13911    pub fn gtk_drop_down_set_show_arrow(self_: *mut GtkDropDown, show_arrow: gboolean);
13912
13913    //=========================================================================
13914    // GtkDropTarget
13915    //=========================================================================
13916    pub fn gtk_drop_target_get_type() -> GType;
13917    pub fn gtk_drop_target_new(type_: GType, actions: gdk::GdkDragAction) -> *mut GtkDropTarget;
13918    pub fn gtk_drop_target_get_actions(self_: *mut GtkDropTarget) -> gdk::GdkDragAction;
13919    #[cfg(feature = "v4_4")]
13920    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
13921    pub fn gtk_drop_target_get_current_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13922    pub fn gtk_drop_target_get_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13923    pub fn gtk_drop_target_get_formats(self_: *mut GtkDropTarget) -> *mut gdk::GdkContentFormats;
13924    pub fn gtk_drop_target_get_gtypes(
13925        self_: *mut GtkDropTarget,
13926        n_types: *mut size_t,
13927    ) -> *const GType;
13928    pub fn gtk_drop_target_get_preload(self_: *mut GtkDropTarget) -> gboolean;
13929    pub fn gtk_drop_target_get_value(self_: *mut GtkDropTarget) -> *const gobject::GValue;
13930    pub fn gtk_drop_target_reject(self_: *mut GtkDropTarget);
13931    pub fn gtk_drop_target_set_actions(self_: *mut GtkDropTarget, actions: gdk::GdkDragAction);
13932    pub fn gtk_drop_target_set_gtypes(
13933        self_: *mut GtkDropTarget,
13934        types: *mut GType,
13935        n_types: size_t,
13936    );
13937    pub fn gtk_drop_target_set_preload(self_: *mut GtkDropTarget, preload: gboolean);
13938
13939    //=========================================================================
13940    // GtkDropTargetAsync
13941    //=========================================================================
13942    pub fn gtk_drop_target_async_get_type() -> GType;
13943    pub fn gtk_drop_target_async_new(
13944        formats: *mut gdk::GdkContentFormats,
13945        actions: gdk::GdkDragAction,
13946    ) -> *mut GtkDropTargetAsync;
13947    pub fn gtk_drop_target_async_get_actions(self_: *mut GtkDropTargetAsync) -> gdk::GdkDragAction;
13948    pub fn gtk_drop_target_async_get_formats(
13949        self_: *mut GtkDropTargetAsync,
13950    ) -> *mut gdk::GdkContentFormats;
13951    pub fn gtk_drop_target_async_reject_drop(
13952        self_: *mut GtkDropTargetAsync,
13953        drop: *mut gdk::GdkDrop,
13954    );
13955    pub fn gtk_drop_target_async_set_actions(
13956        self_: *mut GtkDropTargetAsync,
13957        actions: gdk::GdkDragAction,
13958    );
13959    pub fn gtk_drop_target_async_set_formats(
13960        self_: *mut GtkDropTargetAsync,
13961        formats: *mut gdk::GdkContentFormats,
13962    );
13963
13964    //=========================================================================
13965    // GtkEditableLabel
13966    //=========================================================================
13967    pub fn gtk_editable_label_get_type() -> GType;
13968    pub fn gtk_editable_label_new(str: *const c_char) -> *mut GtkWidget;
13969    pub fn gtk_editable_label_get_editing(self_: *mut GtkEditableLabel) -> gboolean;
13970    pub fn gtk_editable_label_start_editing(self_: *mut GtkEditableLabel);
13971    pub fn gtk_editable_label_stop_editing(self_: *mut GtkEditableLabel, commit: gboolean);
13972
13973    //=========================================================================
13974    // GtkEmojiChooser
13975    //=========================================================================
13976    pub fn gtk_emoji_chooser_get_type() -> GType;
13977    pub fn gtk_emoji_chooser_new() -> *mut GtkWidget;
13978
13979    //=========================================================================
13980    // GtkEntry
13981    //=========================================================================
13982    pub fn gtk_entry_get_type() -> GType;
13983    pub fn gtk_entry_new() -> *mut GtkWidget;
13984    pub fn gtk_entry_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
13985    pub fn gtk_entry_get_activates_default(entry: *mut GtkEntry) -> gboolean;
13986    pub fn gtk_entry_get_alignment(entry: *mut GtkEntry) -> c_float;
13987    pub fn gtk_entry_get_attributes(entry: *mut GtkEntry) -> *mut pango::PangoAttrList;
13988    pub fn gtk_entry_get_buffer(entry: *mut GtkEntry) -> *mut GtkEntryBuffer;
13989    pub fn gtk_entry_get_completion(entry: *mut GtkEntry) -> *mut GtkEntryCompletion;
13990    pub fn gtk_entry_get_current_icon_drag_source(entry: *mut GtkEntry) -> c_int;
13991    pub fn gtk_entry_get_extra_menu(entry: *mut GtkEntry) -> *mut gio::GMenuModel;
13992    pub fn gtk_entry_get_has_frame(entry: *mut GtkEntry) -> gboolean;
13993    pub fn gtk_entry_get_icon_activatable(
13994        entry: *mut GtkEntry,
13995        icon_pos: GtkEntryIconPosition,
13996    ) -> gboolean;
13997    pub fn gtk_entry_get_icon_area(
13998        entry: *mut GtkEntry,
13999        icon_pos: GtkEntryIconPosition,
14000        icon_area: *mut gdk::GdkRectangle,
14001    );
14002    pub fn gtk_entry_get_icon_at_pos(entry: *mut GtkEntry, x: c_int, y: c_int) -> c_int;
14003    pub fn gtk_entry_get_icon_gicon(
14004        entry: *mut GtkEntry,
14005        icon_pos: GtkEntryIconPosition,
14006    ) -> *mut gio::GIcon;
14007    pub fn gtk_entry_get_icon_name(
14008        entry: *mut GtkEntry,
14009        icon_pos: GtkEntryIconPosition,
14010    ) -> *const c_char;
14011    pub fn gtk_entry_get_icon_paintable(
14012        entry: *mut GtkEntry,
14013        icon_pos: GtkEntryIconPosition,
14014    ) -> *mut gdk::GdkPaintable;
14015    pub fn gtk_entry_get_icon_sensitive(
14016        entry: *mut GtkEntry,
14017        icon_pos: GtkEntryIconPosition,
14018    ) -> gboolean;
14019    pub fn gtk_entry_get_icon_storage_type(
14020        entry: *mut GtkEntry,
14021        icon_pos: GtkEntryIconPosition,
14022    ) -> GtkImageType;
14023    pub fn gtk_entry_get_icon_tooltip_markup(
14024        entry: *mut GtkEntry,
14025        icon_pos: GtkEntryIconPosition,
14026    ) -> *mut c_char;
14027    pub fn gtk_entry_get_icon_tooltip_text(
14028        entry: *mut GtkEntry,
14029        icon_pos: GtkEntryIconPosition,
14030    ) -> *mut c_char;
14031    pub fn gtk_entry_get_input_hints(entry: *mut GtkEntry) -> GtkInputHints;
14032    pub fn gtk_entry_get_input_purpose(entry: *mut GtkEntry) -> GtkInputPurpose;
14033    pub fn gtk_entry_get_invisible_char(entry: *mut GtkEntry) -> u32;
14034    pub fn gtk_entry_get_max_length(entry: *mut GtkEntry) -> c_int;
14035    #[cfg(feature = "v4_20")]
14036    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14037    pub fn gtk_entry_get_menu_entry_icon_text(
14038        entry: *mut GtkEntry,
14039        icon_pos: GtkEntryIconPosition,
14040    ) -> *const c_char;
14041    pub fn gtk_entry_get_overwrite_mode(entry: *mut GtkEntry) -> gboolean;
14042    pub fn gtk_entry_get_placeholder_text(entry: *mut GtkEntry) -> *const c_char;
14043    pub fn gtk_entry_get_progress_fraction(entry: *mut GtkEntry) -> c_double;
14044    pub fn gtk_entry_get_progress_pulse_step(entry: *mut GtkEntry) -> c_double;
14045    pub fn gtk_entry_get_tabs(entry: *mut GtkEntry) -> *mut pango::PangoTabArray;
14046    pub fn gtk_entry_get_text_length(entry: *mut GtkEntry) -> u16;
14047    pub fn gtk_entry_get_visibility(entry: *mut GtkEntry) -> gboolean;
14048    pub fn gtk_entry_grab_focus_without_selecting(entry: *mut GtkEntry) -> gboolean;
14049    pub fn gtk_entry_progress_pulse(entry: *mut GtkEntry);
14050    pub fn gtk_entry_reset_im_context(entry: *mut GtkEntry);
14051    pub fn gtk_entry_set_activates_default(entry: *mut GtkEntry, setting: gboolean);
14052    pub fn gtk_entry_set_alignment(entry: *mut GtkEntry, xalign: c_float);
14053    pub fn gtk_entry_set_attributes(entry: *mut GtkEntry, attrs: *mut pango::PangoAttrList);
14054    pub fn gtk_entry_set_buffer(entry: *mut GtkEntry, buffer: *mut GtkEntryBuffer);
14055    pub fn gtk_entry_set_completion(entry: *mut GtkEntry, completion: *mut GtkEntryCompletion);
14056    pub fn gtk_entry_set_extra_menu(entry: *mut GtkEntry, model: *mut gio::GMenuModel);
14057    pub fn gtk_entry_set_has_frame(entry: *mut GtkEntry, setting: gboolean);
14058    pub fn gtk_entry_set_icon_activatable(
14059        entry: *mut GtkEntry,
14060        icon_pos: GtkEntryIconPosition,
14061        activatable: gboolean,
14062    );
14063    pub fn gtk_entry_set_icon_drag_source(
14064        entry: *mut GtkEntry,
14065        icon_pos: GtkEntryIconPosition,
14066        provider: *mut gdk::GdkContentProvider,
14067        actions: gdk::GdkDragAction,
14068    );
14069    pub fn gtk_entry_set_icon_from_gicon(
14070        entry: *mut GtkEntry,
14071        icon_pos: GtkEntryIconPosition,
14072        icon: *mut gio::GIcon,
14073    );
14074    pub fn gtk_entry_set_icon_from_icon_name(
14075        entry: *mut GtkEntry,
14076        icon_pos: GtkEntryIconPosition,
14077        icon_name: *const c_char,
14078    );
14079    pub fn gtk_entry_set_icon_from_paintable(
14080        entry: *mut GtkEntry,
14081        icon_pos: GtkEntryIconPosition,
14082        paintable: *mut gdk::GdkPaintable,
14083    );
14084    pub fn gtk_entry_set_icon_sensitive(
14085        entry: *mut GtkEntry,
14086        icon_pos: GtkEntryIconPosition,
14087        sensitive: gboolean,
14088    );
14089    pub fn gtk_entry_set_icon_tooltip_markup(
14090        entry: *mut GtkEntry,
14091        icon_pos: GtkEntryIconPosition,
14092        tooltip: *const c_char,
14093    );
14094    pub fn gtk_entry_set_icon_tooltip_text(
14095        entry: *mut GtkEntry,
14096        icon_pos: GtkEntryIconPosition,
14097        tooltip: *const c_char,
14098    );
14099    pub fn gtk_entry_set_input_hints(entry: *mut GtkEntry, hints: GtkInputHints);
14100    pub fn gtk_entry_set_input_purpose(entry: *mut GtkEntry, purpose: GtkInputPurpose);
14101    pub fn gtk_entry_set_invisible_char(entry: *mut GtkEntry, ch: u32);
14102    pub fn gtk_entry_set_max_length(entry: *mut GtkEntry, max: c_int);
14103    #[cfg(feature = "v4_20")]
14104    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14105    pub fn gtk_entry_set_menu_entry_icon_text(
14106        entry: *mut GtkEntry,
14107        icon_pos: GtkEntryIconPosition,
14108        text: *const c_char,
14109    );
14110    pub fn gtk_entry_set_overwrite_mode(entry: *mut GtkEntry, overwrite: gboolean);
14111    pub fn gtk_entry_set_placeholder_text(entry: *mut GtkEntry, text: *const c_char);
14112    pub fn gtk_entry_set_progress_fraction(entry: *mut GtkEntry, fraction: c_double);
14113    pub fn gtk_entry_set_progress_pulse_step(entry: *mut GtkEntry, fraction: c_double);
14114    pub fn gtk_entry_set_tabs(entry: *mut GtkEntry, tabs: *mut pango::PangoTabArray);
14115    pub fn gtk_entry_set_visibility(entry: *mut GtkEntry, visible: gboolean);
14116    pub fn gtk_entry_unset_invisible_char(entry: *mut GtkEntry);
14117
14118    //=========================================================================
14119    // GtkEntryBuffer
14120    //=========================================================================
14121    pub fn gtk_entry_buffer_get_type() -> GType;
14122    pub fn gtk_entry_buffer_new(
14123        initial_chars: *const c_char,
14124        n_initial_chars: c_int,
14125    ) -> *mut GtkEntryBuffer;
14126    pub fn gtk_entry_buffer_delete_text(
14127        buffer: *mut GtkEntryBuffer,
14128        position: c_uint,
14129        n_chars: c_int,
14130    ) -> c_uint;
14131    pub fn gtk_entry_buffer_emit_deleted_text(
14132        buffer: *mut GtkEntryBuffer,
14133        position: c_uint,
14134        n_chars: c_uint,
14135    );
14136    pub fn gtk_entry_buffer_emit_inserted_text(
14137        buffer: *mut GtkEntryBuffer,
14138        position: c_uint,
14139        chars: *const c_char,
14140        n_chars: c_uint,
14141    );
14142    pub fn gtk_entry_buffer_get_bytes(buffer: *mut GtkEntryBuffer) -> size_t;
14143    pub fn gtk_entry_buffer_get_length(buffer: *mut GtkEntryBuffer) -> c_uint;
14144    pub fn gtk_entry_buffer_get_max_length(buffer: *mut GtkEntryBuffer) -> c_int;
14145    pub fn gtk_entry_buffer_get_text(buffer: *mut GtkEntryBuffer) -> *const c_char;
14146    pub fn gtk_entry_buffer_insert_text(
14147        buffer: *mut GtkEntryBuffer,
14148        position: c_uint,
14149        chars: *const c_char,
14150        n_chars: c_int,
14151    ) -> c_uint;
14152    pub fn gtk_entry_buffer_set_max_length(buffer: *mut GtkEntryBuffer, max_length: c_int);
14153    pub fn gtk_entry_buffer_set_text(
14154        buffer: *mut GtkEntryBuffer,
14155        chars: *const c_char,
14156        n_chars: c_int,
14157    );
14158
14159    //=========================================================================
14160    // GtkEntryCompletion
14161    //=========================================================================
14162    pub fn gtk_entry_completion_get_type() -> GType;
14163    pub fn gtk_entry_completion_new() -> *mut GtkEntryCompletion;
14164    pub fn gtk_entry_completion_new_with_area(area: *mut GtkCellArea) -> *mut GtkEntryCompletion;
14165    pub fn gtk_entry_completion_complete(completion: *mut GtkEntryCompletion);
14166    pub fn gtk_entry_completion_compute_prefix(
14167        completion: *mut GtkEntryCompletion,
14168        key: *const c_char,
14169    ) -> *mut c_char;
14170    pub fn gtk_entry_completion_get_completion_prefix(
14171        completion: *mut GtkEntryCompletion,
14172    ) -> *const c_char;
14173    pub fn gtk_entry_completion_get_entry(completion: *mut GtkEntryCompletion) -> *mut GtkWidget;
14174    pub fn gtk_entry_completion_get_inline_completion(
14175        completion: *mut GtkEntryCompletion,
14176    ) -> gboolean;
14177    pub fn gtk_entry_completion_get_inline_selection(
14178        completion: *mut GtkEntryCompletion,
14179    ) -> gboolean;
14180    pub fn gtk_entry_completion_get_minimum_key_length(
14181        completion: *mut GtkEntryCompletion,
14182    ) -> c_int;
14183    pub fn gtk_entry_completion_get_model(completion: *mut GtkEntryCompletion)
14184    -> *mut GtkTreeModel;
14185    pub fn gtk_entry_completion_get_popup_completion(
14186        completion: *mut GtkEntryCompletion,
14187    ) -> gboolean;
14188    pub fn gtk_entry_completion_get_popup_set_width(
14189        completion: *mut GtkEntryCompletion,
14190    ) -> gboolean;
14191    pub fn gtk_entry_completion_get_popup_single_match(
14192        completion: *mut GtkEntryCompletion,
14193    ) -> gboolean;
14194    pub fn gtk_entry_completion_get_text_column(completion: *mut GtkEntryCompletion) -> c_int;
14195    pub fn gtk_entry_completion_insert_prefix(completion: *mut GtkEntryCompletion);
14196    pub fn gtk_entry_completion_set_inline_completion(
14197        completion: *mut GtkEntryCompletion,
14198        inline_completion: gboolean,
14199    );
14200    pub fn gtk_entry_completion_set_inline_selection(
14201        completion: *mut GtkEntryCompletion,
14202        inline_selection: gboolean,
14203    );
14204    pub fn gtk_entry_completion_set_match_func(
14205        completion: *mut GtkEntryCompletion,
14206        func: GtkEntryCompletionMatchFunc,
14207        func_data: gpointer,
14208        func_notify: glib::GDestroyNotify,
14209    );
14210    pub fn gtk_entry_completion_set_minimum_key_length(
14211        completion: *mut GtkEntryCompletion,
14212        length: c_int,
14213    );
14214    pub fn gtk_entry_completion_set_model(
14215        completion: *mut GtkEntryCompletion,
14216        model: *mut GtkTreeModel,
14217    );
14218    pub fn gtk_entry_completion_set_popup_completion(
14219        completion: *mut GtkEntryCompletion,
14220        popup_completion: gboolean,
14221    );
14222    pub fn gtk_entry_completion_set_popup_set_width(
14223        completion: *mut GtkEntryCompletion,
14224        popup_set_width: gboolean,
14225    );
14226    pub fn gtk_entry_completion_set_popup_single_match(
14227        completion: *mut GtkEntryCompletion,
14228        popup_single_match: gboolean,
14229    );
14230    pub fn gtk_entry_completion_set_text_column(completion: *mut GtkEntryCompletion, column: c_int);
14231
14232    //=========================================================================
14233    // GtkEnumList
14234    //=========================================================================
14235    #[cfg(feature = "v4_24")]
14236    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14237    pub fn gtk_enum_list_get_type() -> GType;
14238    #[cfg(feature = "v4_24")]
14239    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14240    pub fn gtk_enum_list_new(enum_type: GType) -> *mut GtkEnumList;
14241    #[cfg(feature = "v4_24")]
14242    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14243    pub fn gtk_enum_list_find(self_: *mut GtkEnumList, value: c_int) -> c_uint;
14244    #[cfg(feature = "v4_24")]
14245    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14246    pub fn gtk_enum_list_get_enum_type(self_: *mut GtkEnumList) -> GType;
14247
14248    //=========================================================================
14249    // GtkEnumListItem
14250    //=========================================================================
14251    #[cfg(feature = "v4_24")]
14252    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14253    pub fn gtk_enum_list_item_get_type() -> GType;
14254    #[cfg(feature = "v4_24")]
14255    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14256    pub fn gtk_enum_list_item_get_name(self_: *mut GtkEnumListItem) -> *const c_char;
14257    #[cfg(feature = "v4_24")]
14258    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14259    pub fn gtk_enum_list_item_get_nick(self_: *mut GtkEnumListItem) -> *const c_char;
14260    #[cfg(feature = "v4_24")]
14261    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14262    pub fn gtk_enum_list_item_get_value(self_: *mut GtkEnumListItem) -> c_int;
14263
14264    //=========================================================================
14265    // GtkEventController
14266    //=========================================================================
14267    pub fn gtk_event_controller_get_type() -> GType;
14268    pub fn gtk_event_controller_get_current_event(
14269        controller: *mut GtkEventController,
14270    ) -> *mut gdk::GdkEvent;
14271    pub fn gtk_event_controller_get_current_event_device(
14272        controller: *mut GtkEventController,
14273    ) -> *mut gdk::GdkDevice;
14274    pub fn gtk_event_controller_get_current_event_state(
14275        controller: *mut GtkEventController,
14276    ) -> gdk::GdkModifierType;
14277    pub fn gtk_event_controller_get_current_event_time(controller: *mut GtkEventController) -> u32;
14278    pub fn gtk_event_controller_get_name(controller: *mut GtkEventController) -> *const c_char;
14279    pub fn gtk_event_controller_get_propagation_limit(
14280        controller: *mut GtkEventController,
14281    ) -> GtkPropagationLimit;
14282    pub fn gtk_event_controller_get_propagation_phase(
14283        controller: *mut GtkEventController,
14284    ) -> GtkPropagationPhase;
14285    pub fn gtk_event_controller_get_widget(controller: *mut GtkEventController) -> *mut GtkWidget;
14286    pub fn gtk_event_controller_reset(controller: *mut GtkEventController);
14287    pub fn gtk_event_controller_set_name(controller: *mut GtkEventController, name: *const c_char);
14288    pub fn gtk_event_controller_set_propagation_limit(
14289        controller: *mut GtkEventController,
14290        limit: GtkPropagationLimit,
14291    );
14292    pub fn gtk_event_controller_set_propagation_phase(
14293        controller: *mut GtkEventController,
14294        phase: GtkPropagationPhase,
14295    );
14296    #[cfg(feature = "v4_8")]
14297    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
14298    pub fn gtk_event_controller_set_static_name(
14299        controller: *mut GtkEventController,
14300        name: *const c_char,
14301    );
14302
14303    //=========================================================================
14304    // GtkEventControllerFocus
14305    //=========================================================================
14306    pub fn gtk_event_controller_focus_get_type() -> GType;
14307    pub fn gtk_event_controller_focus_new() -> *mut GtkEventController;
14308    pub fn gtk_event_controller_focus_contains_focus(
14309        self_: *mut GtkEventControllerFocus,
14310    ) -> gboolean;
14311    pub fn gtk_event_controller_focus_is_focus(self_: *mut GtkEventControllerFocus) -> gboolean;
14312
14313    //=========================================================================
14314    // GtkEventControllerKey
14315    //=========================================================================
14316    pub fn gtk_event_controller_key_get_type() -> GType;
14317    pub fn gtk_event_controller_key_new() -> *mut GtkEventController;
14318    pub fn gtk_event_controller_key_forward(
14319        controller: *mut GtkEventControllerKey,
14320        widget: *mut GtkWidget,
14321    ) -> gboolean;
14322    pub fn gtk_event_controller_key_get_group(controller: *mut GtkEventControllerKey) -> c_uint;
14323    pub fn gtk_event_controller_key_get_im_context(
14324        controller: *mut GtkEventControllerKey,
14325    ) -> *mut GtkIMContext;
14326    pub fn gtk_event_controller_key_set_im_context(
14327        controller: *mut GtkEventControllerKey,
14328        im_context: *mut GtkIMContext,
14329    );
14330
14331    //=========================================================================
14332    // GtkEventControllerLegacy
14333    //=========================================================================
14334    pub fn gtk_event_controller_legacy_get_type() -> GType;
14335    pub fn gtk_event_controller_legacy_new() -> *mut GtkEventController;
14336
14337    //=========================================================================
14338    // GtkEventControllerMotion
14339    //=========================================================================
14340    pub fn gtk_event_controller_motion_get_type() -> GType;
14341    pub fn gtk_event_controller_motion_new() -> *mut GtkEventController;
14342    pub fn gtk_event_controller_motion_contains_pointer(
14343        self_: *mut GtkEventControllerMotion,
14344    ) -> gboolean;
14345    pub fn gtk_event_controller_motion_is_pointer(self_: *mut GtkEventControllerMotion)
14346    -> gboolean;
14347
14348    //=========================================================================
14349    // GtkEventControllerScroll
14350    //=========================================================================
14351    pub fn gtk_event_controller_scroll_get_type() -> GType;
14352    pub fn gtk_event_controller_scroll_new(
14353        flags: GtkEventControllerScrollFlags,
14354    ) -> *mut GtkEventController;
14355    pub fn gtk_event_controller_scroll_get_flags(
14356        scroll: *mut GtkEventControllerScroll,
14357    ) -> GtkEventControllerScrollFlags;
14358    #[cfg(feature = "v4_8")]
14359    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
14360    pub fn gtk_event_controller_scroll_get_unit(
14361        scroll: *mut GtkEventControllerScroll,
14362    ) -> gdk::GdkScrollUnit;
14363    pub fn gtk_event_controller_scroll_set_flags(
14364        scroll: *mut GtkEventControllerScroll,
14365        flags: GtkEventControllerScrollFlags,
14366    );
14367
14368    //=========================================================================
14369    // GtkEveryFilter
14370    //=========================================================================
14371    pub fn gtk_every_filter_get_type() -> GType;
14372    pub fn gtk_every_filter_new() -> *mut GtkEveryFilter;
14373
14374    //=========================================================================
14375    // GtkExpander
14376    //=========================================================================
14377    pub fn gtk_expander_get_type() -> GType;
14378    pub fn gtk_expander_new(label: *const c_char) -> *mut GtkWidget;
14379    pub fn gtk_expander_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
14380    pub fn gtk_expander_get_child(expander: *mut GtkExpander) -> *mut GtkWidget;
14381    pub fn gtk_expander_get_expanded(expander: *mut GtkExpander) -> gboolean;
14382    pub fn gtk_expander_get_label(expander: *mut GtkExpander) -> *const c_char;
14383    pub fn gtk_expander_get_label_widget(expander: *mut GtkExpander) -> *mut GtkWidget;
14384    pub fn gtk_expander_get_resize_toplevel(expander: *mut GtkExpander) -> gboolean;
14385    pub fn gtk_expander_get_use_markup(expander: *mut GtkExpander) -> gboolean;
14386    pub fn gtk_expander_get_use_underline(expander: *mut GtkExpander) -> gboolean;
14387    pub fn gtk_expander_set_child(expander: *mut GtkExpander, child: *mut GtkWidget);
14388    pub fn gtk_expander_set_expanded(expander: *mut GtkExpander, expanded: gboolean);
14389    pub fn gtk_expander_set_label(expander: *mut GtkExpander, label: *const c_char);
14390    pub fn gtk_expander_set_label_widget(expander: *mut GtkExpander, label_widget: *mut GtkWidget);
14391    pub fn gtk_expander_set_resize_toplevel(expander: *mut GtkExpander, resize_toplevel: gboolean);
14392    pub fn gtk_expander_set_use_markup(expander: *mut GtkExpander, use_markup: gboolean);
14393    pub fn gtk_expander_set_use_underline(expander: *mut GtkExpander, use_underline: gboolean);
14394
14395    //=========================================================================
14396    // GtkExpression
14397    //=========================================================================
14398    pub fn gtk_expression_get_type() -> GType;
14399    pub fn gtk_expression_bind(
14400        self_: *mut GtkExpression,
14401        target: *mut gobject::GObject,
14402        property: *const c_char,
14403        this_: *mut gobject::GObject,
14404    ) -> *mut GtkExpressionWatch;
14405    pub fn gtk_expression_evaluate(
14406        self_: *mut GtkExpression,
14407        this_: *mut gobject::GObject,
14408        value: *mut gobject::GValue,
14409    ) -> gboolean;
14410    pub fn gtk_expression_get_value_type(self_: *mut GtkExpression) -> GType;
14411    pub fn gtk_expression_is_static(self_: *mut GtkExpression) -> gboolean;
14412    pub fn gtk_expression_ref(self_: *mut GtkExpression) -> *mut GtkExpression;
14413    pub fn gtk_expression_unref(self_: *mut GtkExpression);
14414    pub fn gtk_expression_watch(
14415        self_: *mut GtkExpression,
14416        this_: *mut gobject::GObject,
14417        notify: GtkExpressionNotify,
14418        user_data: gpointer,
14419        user_destroy: glib::GDestroyNotify,
14420    ) -> *mut GtkExpressionWatch;
14421
14422    //=========================================================================
14423    // GtkFileChooserDialog
14424    //=========================================================================
14425    pub fn gtk_file_chooser_dialog_get_type() -> GType;
14426    pub fn gtk_file_chooser_dialog_new(
14427        title: *const c_char,
14428        parent: *mut GtkWindow,
14429        action: GtkFileChooserAction,
14430        first_button_text: *const c_char,
14431        ...
14432    ) -> *mut GtkWidget;
14433
14434    //=========================================================================
14435    // GtkFileChooserNative
14436    //=========================================================================
14437    pub fn gtk_file_chooser_native_get_type() -> GType;
14438    pub fn gtk_file_chooser_native_new(
14439        title: *const c_char,
14440        parent: *mut GtkWindow,
14441        action: GtkFileChooserAction,
14442        accept_label: *const c_char,
14443        cancel_label: *const c_char,
14444    ) -> *mut GtkFileChooserNative;
14445    pub fn gtk_file_chooser_native_get_accept_label(
14446        self_: *mut GtkFileChooserNative,
14447    ) -> *const c_char;
14448    pub fn gtk_file_chooser_native_get_cancel_label(
14449        self_: *mut GtkFileChooserNative,
14450    ) -> *const c_char;
14451    pub fn gtk_file_chooser_native_set_accept_label(
14452        self_: *mut GtkFileChooserNative,
14453        accept_label: *const c_char,
14454    );
14455    pub fn gtk_file_chooser_native_set_cancel_label(
14456        self_: *mut GtkFileChooserNative,
14457        cancel_label: *const c_char,
14458    );
14459
14460    //=========================================================================
14461    // GtkFileChooserWidget
14462    //=========================================================================
14463    pub fn gtk_file_chooser_widget_get_type() -> GType;
14464    pub fn gtk_file_chooser_widget_new(action: GtkFileChooserAction) -> *mut GtkWidget;
14465
14466    //=========================================================================
14467    // GtkFileDialog
14468    //=========================================================================
14469    #[cfg(feature = "v4_10")]
14470    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14471    pub fn gtk_file_dialog_get_type() -> GType;
14472    #[cfg(feature = "v4_10")]
14473    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14474    pub fn gtk_file_dialog_new() -> *mut GtkFileDialog;
14475    #[cfg(feature = "v4_10")]
14476    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14477    pub fn gtk_file_dialog_get_accept_label(self_: *mut GtkFileDialog) -> *const c_char;
14478    #[cfg(feature = "v4_10")]
14479    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14480    pub fn gtk_file_dialog_get_default_filter(self_: *mut GtkFileDialog) -> *mut GtkFileFilter;
14481    #[cfg(feature = "v4_10")]
14482    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14483    pub fn gtk_file_dialog_get_filters(self_: *mut GtkFileDialog) -> *mut gio::GListModel;
14484    #[cfg(feature = "v4_10")]
14485    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14486    pub fn gtk_file_dialog_get_initial_file(self_: *mut GtkFileDialog) -> *mut gio::GFile;
14487    #[cfg(feature = "v4_10")]
14488    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14489    pub fn gtk_file_dialog_get_initial_folder(self_: *mut GtkFileDialog) -> *mut gio::GFile;
14490    #[cfg(feature = "v4_10")]
14491    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14492    pub fn gtk_file_dialog_get_initial_name(self_: *mut GtkFileDialog) -> *const c_char;
14493    #[cfg(feature = "v4_10")]
14494    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14495    pub fn gtk_file_dialog_get_modal(self_: *mut GtkFileDialog) -> gboolean;
14496    #[cfg(feature = "v4_10")]
14497    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14498    pub fn gtk_file_dialog_get_title(self_: *mut GtkFileDialog) -> *const c_char;
14499    #[cfg(feature = "v4_10")]
14500    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14501    pub fn gtk_file_dialog_open(
14502        self_: *mut GtkFileDialog,
14503        parent: *mut GtkWindow,
14504        cancellable: *mut gio::GCancellable,
14505        callback: gio::GAsyncReadyCallback,
14506        user_data: gpointer,
14507    );
14508    #[cfg(feature = "v4_10")]
14509    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14510    pub fn gtk_file_dialog_open_finish(
14511        self_: *mut GtkFileDialog,
14512        result: *mut gio::GAsyncResult,
14513        error: *mut *mut glib::GError,
14514    ) -> *mut gio::GFile;
14515    #[cfg(feature = "v4_10")]
14516    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14517    pub fn gtk_file_dialog_open_multiple(
14518        self_: *mut GtkFileDialog,
14519        parent: *mut GtkWindow,
14520        cancellable: *mut gio::GCancellable,
14521        callback: gio::GAsyncReadyCallback,
14522        user_data: gpointer,
14523    );
14524    #[cfg(feature = "v4_10")]
14525    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14526    pub fn gtk_file_dialog_open_multiple_finish(
14527        self_: *mut GtkFileDialog,
14528        result: *mut gio::GAsyncResult,
14529        error: *mut *mut glib::GError,
14530    ) -> *mut gio::GListModel;
14531    #[cfg(feature = "v4_18")]
14532    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14533    pub fn gtk_file_dialog_open_multiple_text_files(
14534        self_: *mut GtkFileDialog,
14535        parent: *mut GtkWindow,
14536        cancellable: *mut gio::GCancellable,
14537        callback: gio::GAsyncReadyCallback,
14538        user_data: gpointer,
14539    );
14540    #[cfg(feature = "v4_18")]
14541    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14542    pub fn gtk_file_dialog_open_multiple_text_files_finish(
14543        self_: *mut GtkFileDialog,
14544        result: *mut gio::GAsyncResult,
14545        encoding: *mut *const c_char,
14546        error: *mut *mut glib::GError,
14547    ) -> *mut gio::GListModel;
14548    #[cfg(feature = "v4_18")]
14549    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14550    pub fn gtk_file_dialog_open_text_file(
14551        self_: *mut GtkFileDialog,
14552        parent: *mut GtkWindow,
14553        cancellable: *mut gio::GCancellable,
14554        callback: gio::GAsyncReadyCallback,
14555        user_data: gpointer,
14556    );
14557    #[cfg(feature = "v4_18")]
14558    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14559    pub fn gtk_file_dialog_open_text_file_finish(
14560        self_: *mut GtkFileDialog,
14561        result: *mut gio::GAsyncResult,
14562        encoding: *mut *const c_char,
14563        error: *mut *mut glib::GError,
14564    ) -> *mut gio::GFile;
14565    #[cfg(feature = "v4_10")]
14566    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14567    pub fn gtk_file_dialog_save(
14568        self_: *mut GtkFileDialog,
14569        parent: *mut GtkWindow,
14570        cancellable: *mut gio::GCancellable,
14571        callback: gio::GAsyncReadyCallback,
14572        user_data: gpointer,
14573    );
14574    #[cfg(feature = "v4_10")]
14575    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14576    pub fn gtk_file_dialog_save_finish(
14577        self_: *mut GtkFileDialog,
14578        result: *mut gio::GAsyncResult,
14579        error: *mut *mut glib::GError,
14580    ) -> *mut gio::GFile;
14581    #[cfg(feature = "v4_18")]
14582    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14583    pub fn gtk_file_dialog_save_text_file(
14584        self_: *mut GtkFileDialog,
14585        parent: *mut GtkWindow,
14586        cancellable: *mut gio::GCancellable,
14587        callback: gio::GAsyncReadyCallback,
14588        user_data: gpointer,
14589    );
14590    #[cfg(feature = "v4_18")]
14591    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14592    pub fn gtk_file_dialog_save_text_file_finish(
14593        self_: *mut GtkFileDialog,
14594        result: *mut gio::GAsyncResult,
14595        encoding: *mut *const c_char,
14596        line_ending: *mut *const c_char,
14597        error: *mut *mut glib::GError,
14598    ) -> *mut gio::GFile;
14599    #[cfg(feature = "v4_10")]
14600    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14601    pub fn gtk_file_dialog_select_folder(
14602        self_: *mut GtkFileDialog,
14603        parent: *mut GtkWindow,
14604        cancellable: *mut gio::GCancellable,
14605        callback: gio::GAsyncReadyCallback,
14606        user_data: gpointer,
14607    );
14608    #[cfg(feature = "v4_10")]
14609    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14610    pub fn gtk_file_dialog_select_folder_finish(
14611        self_: *mut GtkFileDialog,
14612        result: *mut gio::GAsyncResult,
14613        error: *mut *mut glib::GError,
14614    ) -> *mut gio::GFile;
14615    #[cfg(feature = "v4_10")]
14616    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14617    pub fn gtk_file_dialog_select_multiple_folders(
14618        self_: *mut GtkFileDialog,
14619        parent: *mut GtkWindow,
14620        cancellable: *mut gio::GCancellable,
14621        callback: gio::GAsyncReadyCallback,
14622        user_data: gpointer,
14623    );
14624    #[cfg(feature = "v4_10")]
14625    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14626    pub fn gtk_file_dialog_select_multiple_folders_finish(
14627        self_: *mut GtkFileDialog,
14628        result: *mut gio::GAsyncResult,
14629        error: *mut *mut glib::GError,
14630    ) -> *mut gio::GListModel;
14631    #[cfg(feature = "v4_10")]
14632    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14633    pub fn gtk_file_dialog_set_accept_label(self_: *mut GtkFileDialog, accept_label: *const c_char);
14634    #[cfg(feature = "v4_10")]
14635    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14636    pub fn gtk_file_dialog_set_default_filter(
14637        self_: *mut GtkFileDialog,
14638        filter: *mut GtkFileFilter,
14639    );
14640    #[cfg(feature = "v4_10")]
14641    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14642    pub fn gtk_file_dialog_set_filters(self_: *mut GtkFileDialog, filters: *mut gio::GListModel);
14643    #[cfg(feature = "v4_10")]
14644    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14645    pub fn gtk_file_dialog_set_initial_file(self_: *mut GtkFileDialog, file: *mut gio::GFile);
14646    #[cfg(feature = "v4_10")]
14647    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14648    pub fn gtk_file_dialog_set_initial_folder(self_: *mut GtkFileDialog, folder: *mut gio::GFile);
14649    #[cfg(feature = "v4_10")]
14650    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14651    pub fn gtk_file_dialog_set_initial_name(self_: *mut GtkFileDialog, name: *const c_char);
14652    #[cfg(feature = "v4_10")]
14653    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14654    pub fn gtk_file_dialog_set_modal(self_: *mut GtkFileDialog, modal: gboolean);
14655    #[cfg(feature = "v4_10")]
14656    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14657    pub fn gtk_file_dialog_set_title(self_: *mut GtkFileDialog, title: *const c_char);
14658
14659    //=========================================================================
14660    // GtkFileFilter
14661    //=========================================================================
14662    pub fn gtk_file_filter_get_type() -> GType;
14663    pub fn gtk_file_filter_new() -> *mut GtkFileFilter;
14664    pub fn gtk_file_filter_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkFileFilter;
14665    pub fn gtk_file_filter_add_mime_type(filter: *mut GtkFileFilter, mime_type: *const c_char);
14666    #[cfg(feature = "v4_22")]
14667    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
14668    pub fn gtk_file_filter_add_mime_types(
14669        filter: *mut GtkFileFilter,
14670        mime_types: *mut *const c_char,
14671    );
14672    pub fn gtk_file_filter_add_pattern(filter: *mut GtkFileFilter, pattern: *const c_char);
14673    pub fn gtk_file_filter_add_pixbuf_formats(filter: *mut GtkFileFilter);
14674    #[cfg(feature = "v4_4")]
14675    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
14676    pub fn gtk_file_filter_add_suffix(filter: *mut GtkFileFilter, suffix: *const c_char);
14677    pub fn gtk_file_filter_get_attributes(filter: *mut GtkFileFilter) -> *mut *const c_char;
14678    pub fn gtk_file_filter_get_name(filter: *mut GtkFileFilter) -> *const c_char;
14679    pub fn gtk_file_filter_set_name(filter: *mut GtkFileFilter, name: *const c_char);
14680    pub fn gtk_file_filter_to_gvariant(filter: *mut GtkFileFilter) -> *mut glib::GVariant;
14681
14682    //=========================================================================
14683    // GtkFileLauncher
14684    //=========================================================================
14685    #[cfg(feature = "v4_10")]
14686    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14687    pub fn gtk_file_launcher_get_type() -> GType;
14688    #[cfg(feature = "v4_10")]
14689    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14690    pub fn gtk_file_launcher_new(file: *mut gio::GFile) -> *mut GtkFileLauncher;
14691    #[cfg(feature = "v4_12")]
14692    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14693    pub fn gtk_file_launcher_get_always_ask(self_: *mut GtkFileLauncher) -> gboolean;
14694    #[cfg(feature = "v4_10")]
14695    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14696    pub fn gtk_file_launcher_get_file(self_: *mut GtkFileLauncher) -> *mut gio::GFile;
14697    #[cfg(feature = "v4_14")]
14698    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14699    pub fn gtk_file_launcher_get_writable(self_: *mut GtkFileLauncher) -> gboolean;
14700    #[cfg(feature = "v4_10")]
14701    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14702    pub fn gtk_file_launcher_launch(
14703        self_: *mut GtkFileLauncher,
14704        parent: *mut GtkWindow,
14705        cancellable: *mut gio::GCancellable,
14706        callback: gio::GAsyncReadyCallback,
14707        user_data: gpointer,
14708    );
14709    #[cfg(feature = "v4_10")]
14710    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14711    pub fn gtk_file_launcher_launch_finish(
14712        self_: *mut GtkFileLauncher,
14713        result: *mut gio::GAsyncResult,
14714        error: *mut *mut glib::GError,
14715    ) -> gboolean;
14716    #[cfg(feature = "v4_10")]
14717    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14718    pub fn gtk_file_launcher_open_containing_folder(
14719        self_: *mut GtkFileLauncher,
14720        parent: *mut GtkWindow,
14721        cancellable: *mut gio::GCancellable,
14722        callback: gio::GAsyncReadyCallback,
14723        user_data: gpointer,
14724    );
14725    #[cfg(feature = "v4_10")]
14726    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14727    pub fn gtk_file_launcher_open_containing_folder_finish(
14728        self_: *mut GtkFileLauncher,
14729        result: *mut gio::GAsyncResult,
14730        error: *mut *mut glib::GError,
14731    ) -> gboolean;
14732    #[cfg(feature = "v4_12")]
14733    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14734    pub fn gtk_file_launcher_set_always_ask(self_: *mut GtkFileLauncher, always_ask: gboolean);
14735    #[cfg(feature = "v4_10")]
14736    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14737    pub fn gtk_file_launcher_set_file(self_: *mut GtkFileLauncher, file: *mut gio::GFile);
14738    #[cfg(feature = "v4_14")]
14739    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14740    pub fn gtk_file_launcher_set_writable(self_: *mut GtkFileLauncher, writable: gboolean);
14741
14742    //=========================================================================
14743    // GtkFilter
14744    //=========================================================================
14745    pub fn gtk_filter_get_type() -> GType;
14746    pub fn gtk_filter_changed(self_: *mut GtkFilter, change: GtkFilterChange);
14747    pub fn gtk_filter_get_strictness(self_: *mut GtkFilter) -> GtkFilterMatch;
14748    pub fn gtk_filter_match(self_: *mut GtkFilter, item: *mut gobject::GObject) -> gboolean;
14749
14750    //=========================================================================
14751    // GtkFilterListModel
14752    //=========================================================================
14753    pub fn gtk_filter_list_model_get_type() -> GType;
14754    pub fn gtk_filter_list_model_new(
14755        model: *mut gio::GListModel,
14756        filter: *mut GtkFilter,
14757    ) -> *mut GtkFilterListModel;
14758    pub fn gtk_filter_list_model_get_filter(self_: *mut GtkFilterListModel) -> *mut GtkFilter;
14759    pub fn gtk_filter_list_model_get_incremental(self_: *mut GtkFilterListModel) -> gboolean;
14760    pub fn gtk_filter_list_model_get_model(self_: *mut GtkFilterListModel) -> *mut gio::GListModel;
14761    pub fn gtk_filter_list_model_get_pending(self_: *mut GtkFilterListModel) -> c_uint;
14762    #[cfg(feature = "v4_20")]
14763    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14764    pub fn gtk_filter_list_model_get_watch_items(self_: *mut GtkFilterListModel) -> gboolean;
14765    pub fn gtk_filter_list_model_set_filter(self_: *mut GtkFilterListModel, filter: *mut GtkFilter);
14766    pub fn gtk_filter_list_model_set_incremental(
14767        self_: *mut GtkFilterListModel,
14768        incremental: gboolean,
14769    );
14770    pub fn gtk_filter_list_model_set_model(
14771        self_: *mut GtkFilterListModel,
14772        model: *mut gio::GListModel,
14773    );
14774    #[cfg(feature = "v4_20")]
14775    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14776    pub fn gtk_filter_list_model_set_watch_items(
14777        self_: *mut GtkFilterListModel,
14778        watch_items: gboolean,
14779    );
14780
14781    //=========================================================================
14782    // GtkFixed
14783    //=========================================================================
14784    pub fn gtk_fixed_get_type() -> GType;
14785    pub fn gtk_fixed_new() -> *mut GtkWidget;
14786    pub fn gtk_fixed_get_child_position(
14787        fixed: *mut GtkFixed,
14788        widget: *mut GtkWidget,
14789        x: *mut c_double,
14790        y: *mut c_double,
14791    );
14792    pub fn gtk_fixed_get_child_transform(
14793        fixed: *mut GtkFixed,
14794        widget: *mut GtkWidget,
14795    ) -> *mut gsk::GskTransform;
14796    pub fn gtk_fixed_move(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14797    pub fn gtk_fixed_put(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14798    pub fn gtk_fixed_remove(fixed: *mut GtkFixed, widget: *mut GtkWidget);
14799    pub fn gtk_fixed_set_child_transform(
14800        fixed: *mut GtkFixed,
14801        widget: *mut GtkWidget,
14802        transform: *mut gsk::GskTransform,
14803    );
14804
14805    //=========================================================================
14806    // GtkFixedLayout
14807    //=========================================================================
14808    pub fn gtk_fixed_layout_get_type() -> GType;
14809    pub fn gtk_fixed_layout_new() -> *mut GtkLayoutManager;
14810
14811    //=========================================================================
14812    // GtkFixedLayoutChild
14813    //=========================================================================
14814    pub fn gtk_fixed_layout_child_get_type() -> GType;
14815    pub fn gtk_fixed_layout_child_get_transform(
14816        child: *mut GtkFixedLayoutChild,
14817    ) -> *mut gsk::GskTransform;
14818    pub fn gtk_fixed_layout_child_set_transform(
14819        child: *mut GtkFixedLayoutChild,
14820        transform: *mut gsk::GskTransform,
14821    );
14822
14823    //=========================================================================
14824    // GtkFlattenListModel
14825    //=========================================================================
14826    pub fn gtk_flatten_list_model_get_type() -> GType;
14827    pub fn gtk_flatten_list_model_new(model: *mut gio::GListModel) -> *mut GtkFlattenListModel;
14828    pub fn gtk_flatten_list_model_get_model(
14829        self_: *mut GtkFlattenListModel,
14830    ) -> *mut gio::GListModel;
14831    pub fn gtk_flatten_list_model_get_model_for_item(
14832        self_: *mut GtkFlattenListModel,
14833        position: c_uint,
14834    ) -> *mut gio::GListModel;
14835    pub fn gtk_flatten_list_model_set_model(
14836        self_: *mut GtkFlattenListModel,
14837        model: *mut gio::GListModel,
14838    );
14839
14840    //=========================================================================
14841    // GtkFlowBox
14842    //=========================================================================
14843    pub fn gtk_flow_box_get_type() -> GType;
14844    pub fn gtk_flow_box_new() -> *mut GtkWidget;
14845    #[cfg(feature = "v4_6")]
14846    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14847    pub fn gtk_flow_box_append(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14848    pub fn gtk_flow_box_bind_model(
14849        box_: *mut GtkFlowBox,
14850        model: *mut gio::GListModel,
14851        create_widget_func: GtkFlowBoxCreateWidgetFunc,
14852        user_data: gpointer,
14853        user_data_free_func: glib::GDestroyNotify,
14854    );
14855    pub fn gtk_flow_box_get_activate_on_single_click(box_: *mut GtkFlowBox) -> gboolean;
14856    pub fn gtk_flow_box_get_child_at_index(
14857        box_: *mut GtkFlowBox,
14858        idx: c_int,
14859    ) -> *mut GtkFlowBoxChild;
14860    pub fn gtk_flow_box_get_child_at_pos(
14861        box_: *mut GtkFlowBox,
14862        x: c_int,
14863        y: c_int,
14864    ) -> *mut GtkFlowBoxChild;
14865    pub fn gtk_flow_box_get_column_spacing(box_: *mut GtkFlowBox) -> c_uint;
14866    pub fn gtk_flow_box_get_homogeneous(box_: *mut GtkFlowBox) -> gboolean;
14867    pub fn gtk_flow_box_get_max_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14868    pub fn gtk_flow_box_get_min_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14869    pub fn gtk_flow_box_get_row_spacing(box_: *mut GtkFlowBox) -> c_uint;
14870    pub fn gtk_flow_box_get_selected_children(box_: *mut GtkFlowBox) -> *mut glib::GList;
14871    pub fn gtk_flow_box_get_selection_mode(box_: *mut GtkFlowBox) -> GtkSelectionMode;
14872    pub fn gtk_flow_box_insert(box_: *mut GtkFlowBox, widget: *mut GtkWidget, position: c_int);
14873    pub fn gtk_flow_box_invalidate_filter(box_: *mut GtkFlowBox);
14874    pub fn gtk_flow_box_invalidate_sort(box_: *mut GtkFlowBox);
14875    #[cfg(feature = "v4_6")]
14876    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14877    pub fn gtk_flow_box_prepend(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14878    pub fn gtk_flow_box_remove(box_: *mut GtkFlowBox, widget: *mut GtkWidget);
14879    #[cfg(feature = "v4_12")]
14880    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14881    pub fn gtk_flow_box_remove_all(box_: *mut GtkFlowBox);
14882    pub fn gtk_flow_box_select_all(box_: *mut GtkFlowBox);
14883    pub fn gtk_flow_box_select_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14884    pub fn gtk_flow_box_selected_foreach(
14885        box_: *mut GtkFlowBox,
14886        func: GtkFlowBoxForeachFunc,
14887        data: gpointer,
14888    );
14889    pub fn gtk_flow_box_set_activate_on_single_click(box_: *mut GtkFlowBox, single: gboolean);
14890    pub fn gtk_flow_box_set_column_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14891    pub fn gtk_flow_box_set_filter_func(
14892        box_: *mut GtkFlowBox,
14893        filter_func: GtkFlowBoxFilterFunc,
14894        user_data: gpointer,
14895        destroy: glib::GDestroyNotify,
14896    );
14897    pub fn gtk_flow_box_set_hadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14898    pub fn gtk_flow_box_set_homogeneous(box_: *mut GtkFlowBox, homogeneous: gboolean);
14899    pub fn gtk_flow_box_set_max_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14900    pub fn gtk_flow_box_set_min_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14901    pub fn gtk_flow_box_set_row_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14902    pub fn gtk_flow_box_set_selection_mode(box_: *mut GtkFlowBox, mode: GtkSelectionMode);
14903    pub fn gtk_flow_box_set_sort_func(
14904        box_: *mut GtkFlowBox,
14905        sort_func: GtkFlowBoxSortFunc,
14906        user_data: gpointer,
14907        destroy: glib::GDestroyNotify,
14908    );
14909    pub fn gtk_flow_box_set_vadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14910    pub fn gtk_flow_box_unselect_all(box_: *mut GtkFlowBox);
14911    pub fn gtk_flow_box_unselect_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14912
14913    //=========================================================================
14914    // GtkFlowBoxChild
14915    //=========================================================================
14916    pub fn gtk_flow_box_child_get_type() -> GType;
14917    pub fn gtk_flow_box_child_new() -> *mut GtkWidget;
14918    pub fn gtk_flow_box_child_changed(child: *mut GtkFlowBoxChild);
14919    pub fn gtk_flow_box_child_get_child(self_: *mut GtkFlowBoxChild) -> *mut GtkWidget;
14920    pub fn gtk_flow_box_child_get_index(child: *mut GtkFlowBoxChild) -> c_int;
14921    pub fn gtk_flow_box_child_is_selected(child: *mut GtkFlowBoxChild) -> gboolean;
14922    pub fn gtk_flow_box_child_set_child(self_: *mut GtkFlowBoxChild, child: *mut GtkWidget);
14923
14924    //=========================================================================
14925    // GtkFontButton
14926    //=========================================================================
14927    pub fn gtk_font_button_get_type() -> GType;
14928    pub fn gtk_font_button_new() -> *mut GtkWidget;
14929    pub fn gtk_font_button_new_with_font(fontname: *const c_char) -> *mut GtkWidget;
14930    pub fn gtk_font_button_get_modal(font_button: *mut GtkFontButton) -> gboolean;
14931    pub fn gtk_font_button_get_title(font_button: *mut GtkFontButton) -> *const c_char;
14932    pub fn gtk_font_button_get_use_font(font_button: *mut GtkFontButton) -> gboolean;
14933    pub fn gtk_font_button_get_use_size(font_button: *mut GtkFontButton) -> gboolean;
14934    pub fn gtk_font_button_set_modal(font_button: *mut GtkFontButton, modal: gboolean);
14935    pub fn gtk_font_button_set_title(font_button: *mut GtkFontButton, title: *const c_char);
14936    pub fn gtk_font_button_set_use_font(font_button: *mut GtkFontButton, use_font: gboolean);
14937    pub fn gtk_font_button_set_use_size(font_button: *mut GtkFontButton, use_size: gboolean);
14938
14939    //=========================================================================
14940    // GtkFontChooserDialog
14941    //=========================================================================
14942    pub fn gtk_font_chooser_dialog_get_type() -> GType;
14943    pub fn gtk_font_chooser_dialog_new(
14944        title: *const c_char,
14945        parent: *mut GtkWindow,
14946    ) -> *mut GtkWidget;
14947
14948    //=========================================================================
14949    // GtkFontChooserWidget
14950    //=========================================================================
14951    pub fn gtk_font_chooser_widget_get_type() -> GType;
14952    pub fn gtk_font_chooser_widget_new() -> *mut GtkWidget;
14953
14954    //=========================================================================
14955    // GtkFontDialog
14956    //=========================================================================
14957    #[cfg(feature = "v4_10")]
14958    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14959    pub fn gtk_font_dialog_get_type() -> GType;
14960    #[cfg(feature = "v4_10")]
14961    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14962    pub fn gtk_font_dialog_new() -> *mut GtkFontDialog;
14963    #[cfg(feature = "v4_10")]
14964    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14965    pub fn gtk_font_dialog_choose_face(
14966        self_: *mut GtkFontDialog,
14967        parent: *mut GtkWindow,
14968        initial_value: *mut pango::PangoFontFace,
14969        cancellable: *mut gio::GCancellable,
14970        callback: gio::GAsyncReadyCallback,
14971        user_data: gpointer,
14972    );
14973    #[cfg(feature = "v4_10")]
14974    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14975    pub fn gtk_font_dialog_choose_face_finish(
14976        self_: *mut GtkFontDialog,
14977        result: *mut gio::GAsyncResult,
14978        error: *mut *mut glib::GError,
14979    ) -> *mut pango::PangoFontFace;
14980    #[cfg(feature = "v4_10")]
14981    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14982    pub fn gtk_font_dialog_choose_family(
14983        self_: *mut GtkFontDialog,
14984        parent: *mut GtkWindow,
14985        initial_value: *mut pango::PangoFontFamily,
14986        cancellable: *mut gio::GCancellable,
14987        callback: gio::GAsyncReadyCallback,
14988        user_data: gpointer,
14989    );
14990    #[cfg(feature = "v4_10")]
14991    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14992    pub fn gtk_font_dialog_choose_family_finish(
14993        self_: *mut GtkFontDialog,
14994        result: *mut gio::GAsyncResult,
14995        error: *mut *mut glib::GError,
14996    ) -> *mut pango::PangoFontFamily;
14997    #[cfg(feature = "v4_10")]
14998    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14999    pub fn gtk_font_dialog_choose_font(
15000        self_: *mut GtkFontDialog,
15001        parent: *mut GtkWindow,
15002        initial_value: *mut pango::PangoFontDescription,
15003        cancellable: *mut gio::GCancellable,
15004        callback: gio::GAsyncReadyCallback,
15005        user_data: gpointer,
15006    );
15007    #[cfg(feature = "v4_10")]
15008    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15009    pub fn gtk_font_dialog_choose_font_and_features(
15010        self_: *mut GtkFontDialog,
15011        parent: *mut GtkWindow,
15012        initial_value: *mut pango::PangoFontDescription,
15013        cancellable: *mut gio::GCancellable,
15014        callback: gio::GAsyncReadyCallback,
15015        user_data: gpointer,
15016    );
15017    #[cfg(feature = "v4_10")]
15018    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15019    pub fn gtk_font_dialog_choose_font_and_features_finish(
15020        self_: *mut GtkFontDialog,
15021        result: *mut gio::GAsyncResult,
15022        font_desc: *mut *mut pango::PangoFontDescription,
15023        font_features: *mut *mut c_char,
15024        language: *mut *mut pango::PangoLanguage,
15025        error: *mut *mut glib::GError,
15026    ) -> gboolean;
15027    #[cfg(feature = "v4_10")]
15028    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15029    pub fn gtk_font_dialog_choose_font_finish(
15030        self_: *mut GtkFontDialog,
15031        result: *mut gio::GAsyncResult,
15032        error: *mut *mut glib::GError,
15033    ) -> *mut pango::PangoFontDescription;
15034    #[cfg(feature = "v4_10")]
15035    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15036    pub fn gtk_font_dialog_get_filter(self_: *mut GtkFontDialog) -> *mut GtkFilter;
15037    #[cfg(feature = "v4_10")]
15038    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15039    pub fn gtk_font_dialog_get_font_map(self_: *mut GtkFontDialog) -> *mut pango::PangoFontMap;
15040    #[cfg(feature = "v4_10")]
15041    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15042    pub fn gtk_font_dialog_get_language(self_: *mut GtkFontDialog) -> *mut pango::PangoLanguage;
15043    #[cfg(feature = "v4_10")]
15044    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15045    pub fn gtk_font_dialog_get_modal(self_: *mut GtkFontDialog) -> gboolean;
15046    #[cfg(feature = "v4_10")]
15047    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15048    pub fn gtk_font_dialog_get_title(self_: *mut GtkFontDialog) -> *const c_char;
15049    #[cfg(feature = "v4_10")]
15050    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15051    pub fn gtk_font_dialog_set_filter(self_: *mut GtkFontDialog, filter: *mut GtkFilter);
15052    #[cfg(feature = "v4_10")]
15053    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15054    pub fn gtk_font_dialog_set_font_map(
15055        self_: *mut GtkFontDialog,
15056        fontmap: *mut pango::PangoFontMap,
15057    );
15058    #[cfg(feature = "v4_10")]
15059    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15060    pub fn gtk_font_dialog_set_language(
15061        self_: *mut GtkFontDialog,
15062        language: *mut pango::PangoLanguage,
15063    );
15064    #[cfg(feature = "v4_10")]
15065    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15066    pub fn gtk_font_dialog_set_modal(self_: *mut GtkFontDialog, modal: gboolean);
15067    #[cfg(feature = "v4_10")]
15068    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15069    pub fn gtk_font_dialog_set_title(self_: *mut GtkFontDialog, title: *const c_char);
15070
15071    //=========================================================================
15072    // GtkFontDialogButton
15073    //=========================================================================
15074    #[cfg(feature = "v4_10")]
15075    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15076    pub fn gtk_font_dialog_button_get_type() -> GType;
15077    #[cfg(feature = "v4_10")]
15078    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15079    pub fn gtk_font_dialog_button_new(dialog: *mut GtkFontDialog) -> *mut GtkWidget;
15080    #[cfg(feature = "v4_10")]
15081    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15082    pub fn gtk_font_dialog_button_get_dialog(self_: *mut GtkFontDialogButton)
15083    -> *mut GtkFontDialog;
15084    #[cfg(feature = "v4_10")]
15085    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15086    pub fn gtk_font_dialog_button_get_font_desc(
15087        self_: *mut GtkFontDialogButton,
15088    ) -> *mut pango::PangoFontDescription;
15089    #[cfg(feature = "v4_10")]
15090    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15091    pub fn gtk_font_dialog_button_get_font_features(
15092        self_: *mut GtkFontDialogButton,
15093    ) -> *const c_char;
15094    #[cfg(feature = "v4_10")]
15095    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15096    pub fn gtk_font_dialog_button_get_language(
15097        self_: *mut GtkFontDialogButton,
15098    ) -> *mut pango::PangoLanguage;
15099    #[cfg(feature = "v4_10")]
15100    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15101    pub fn gtk_font_dialog_button_get_level(self_: *mut GtkFontDialogButton) -> GtkFontLevel;
15102    #[cfg(feature = "v4_10")]
15103    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15104    pub fn gtk_font_dialog_button_get_use_font(self_: *mut GtkFontDialogButton) -> gboolean;
15105    #[cfg(feature = "v4_10")]
15106    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15107    pub fn gtk_font_dialog_button_get_use_size(self_: *mut GtkFontDialogButton) -> gboolean;
15108    #[cfg(feature = "v4_10")]
15109    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15110    pub fn gtk_font_dialog_button_set_dialog(
15111        self_: *mut GtkFontDialogButton,
15112        dialog: *mut GtkFontDialog,
15113    );
15114    #[cfg(feature = "v4_10")]
15115    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15116    pub fn gtk_font_dialog_button_set_font_desc(
15117        self_: *mut GtkFontDialogButton,
15118        font_desc: *const pango::PangoFontDescription,
15119    );
15120    #[cfg(feature = "v4_10")]
15121    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15122    pub fn gtk_font_dialog_button_set_font_features(
15123        self_: *mut GtkFontDialogButton,
15124        font_features: *const c_char,
15125    );
15126    #[cfg(feature = "v4_10")]
15127    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15128    pub fn gtk_font_dialog_button_set_language(
15129        self_: *mut GtkFontDialogButton,
15130        language: *mut pango::PangoLanguage,
15131    );
15132    #[cfg(feature = "v4_10")]
15133    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15134    pub fn gtk_font_dialog_button_set_level(self_: *mut GtkFontDialogButton, level: GtkFontLevel);
15135    #[cfg(feature = "v4_10")]
15136    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15137    pub fn gtk_font_dialog_button_set_use_font(self_: *mut GtkFontDialogButton, use_font: gboolean);
15138    #[cfg(feature = "v4_10")]
15139    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15140    pub fn gtk_font_dialog_button_set_use_size(self_: *mut GtkFontDialogButton, use_size: gboolean);
15141
15142    //=========================================================================
15143    // GtkFrame
15144    //=========================================================================
15145    pub fn gtk_frame_get_type() -> GType;
15146    pub fn gtk_frame_new(label: *const c_char) -> *mut GtkWidget;
15147    pub fn gtk_frame_get_child(frame: *mut GtkFrame) -> *mut GtkWidget;
15148    pub fn gtk_frame_get_label(frame: *mut GtkFrame) -> *const c_char;
15149    pub fn gtk_frame_get_label_align(frame: *mut GtkFrame) -> c_float;
15150    pub fn gtk_frame_get_label_widget(frame: *mut GtkFrame) -> *mut GtkWidget;
15151    pub fn gtk_frame_set_child(frame: *mut GtkFrame, child: *mut GtkWidget);
15152    pub fn gtk_frame_set_label(frame: *mut GtkFrame, label: *const c_char);
15153    pub fn gtk_frame_set_label_align(frame: *mut GtkFrame, xalign: c_float);
15154    pub fn gtk_frame_set_label_widget(frame: *mut GtkFrame, label_widget: *mut GtkWidget);
15155
15156    //=========================================================================
15157    // GtkGLArea
15158    //=========================================================================
15159    pub fn gtk_gl_area_get_type() -> GType;
15160    pub fn gtk_gl_area_new() -> *mut GtkWidget;
15161    pub fn gtk_gl_area_attach_buffers(area: *mut GtkGLArea);
15162    #[cfg(feature = "v4_12")]
15163    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15164    pub fn gtk_gl_area_get_allowed_apis(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
15165    #[cfg(feature = "v4_12")]
15166    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15167    pub fn gtk_gl_area_get_api(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
15168    pub fn gtk_gl_area_get_auto_render(area: *mut GtkGLArea) -> gboolean;
15169    pub fn gtk_gl_area_get_context(area: *mut GtkGLArea) -> *mut gdk::GdkGLContext;
15170    pub fn gtk_gl_area_get_error(area: *mut GtkGLArea) -> *mut glib::GError;
15171    pub fn gtk_gl_area_get_has_depth_buffer(area: *mut GtkGLArea) -> gboolean;
15172    pub fn gtk_gl_area_get_has_stencil_buffer(area: *mut GtkGLArea) -> gboolean;
15173    pub fn gtk_gl_area_get_required_version(
15174        area: *mut GtkGLArea,
15175        major: *mut c_int,
15176        minor: *mut c_int,
15177    );
15178    pub fn gtk_gl_area_get_use_es(area: *mut GtkGLArea) -> gboolean;
15179    pub fn gtk_gl_area_make_current(area: *mut GtkGLArea);
15180    pub fn gtk_gl_area_queue_render(area: *mut GtkGLArea);
15181    #[cfg(feature = "v4_12")]
15182    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15183    pub fn gtk_gl_area_set_allowed_apis(area: *mut GtkGLArea, apis: gdk::GdkGLAPI);
15184    pub fn gtk_gl_area_set_auto_render(area: *mut GtkGLArea, auto_render: gboolean);
15185    pub fn gtk_gl_area_set_error(area: *mut GtkGLArea, error: *const glib::GError);
15186    pub fn gtk_gl_area_set_has_depth_buffer(area: *mut GtkGLArea, has_depth_buffer: gboolean);
15187    pub fn gtk_gl_area_set_has_stencil_buffer(area: *mut GtkGLArea, has_stencil_buffer: gboolean);
15188    pub fn gtk_gl_area_set_required_version(area: *mut GtkGLArea, major: c_int, minor: c_int);
15189    pub fn gtk_gl_area_set_use_es(area: *mut GtkGLArea, use_es: gboolean);
15190
15191    //=========================================================================
15192    // GtkGesture
15193    //=========================================================================
15194    pub fn gtk_gesture_get_type() -> GType;
15195    pub fn gtk_gesture_get_bounding_box(
15196        gesture: *mut GtkGesture,
15197        rect: *mut gdk::GdkRectangle,
15198    ) -> gboolean;
15199    pub fn gtk_gesture_get_bounding_box_center(
15200        gesture: *mut GtkGesture,
15201        x: *mut c_double,
15202        y: *mut c_double,
15203    ) -> gboolean;
15204    pub fn gtk_gesture_get_device(gesture: *mut GtkGesture) -> *mut gdk::GdkDevice;
15205    pub fn gtk_gesture_get_group(gesture: *mut GtkGesture) -> *mut glib::GList;
15206    pub fn gtk_gesture_get_last_event(
15207        gesture: *mut GtkGesture,
15208        sequence: *mut gdk::GdkEventSequence,
15209    ) -> *mut gdk::GdkEvent;
15210    pub fn gtk_gesture_get_last_updated_sequence(
15211        gesture: *mut GtkGesture,
15212    ) -> *mut gdk::GdkEventSequence;
15213    pub fn gtk_gesture_get_point(
15214        gesture: *mut GtkGesture,
15215        sequence: *mut gdk::GdkEventSequence,
15216        x: *mut c_double,
15217        y: *mut c_double,
15218    ) -> gboolean;
15219    pub fn gtk_gesture_get_sequence_state(
15220        gesture: *mut GtkGesture,
15221        sequence: *mut gdk::GdkEventSequence,
15222    ) -> GtkEventSequenceState;
15223    pub fn gtk_gesture_get_sequences(gesture: *mut GtkGesture) -> *mut glib::GList;
15224    pub fn gtk_gesture_group(group_gesture: *mut GtkGesture, gesture: *mut GtkGesture);
15225    pub fn gtk_gesture_handles_sequence(
15226        gesture: *mut GtkGesture,
15227        sequence: *mut gdk::GdkEventSequence,
15228    ) -> gboolean;
15229    pub fn gtk_gesture_is_active(gesture: *mut GtkGesture) -> gboolean;
15230    pub fn gtk_gesture_is_grouped_with(
15231        gesture: *mut GtkGesture,
15232        other: *mut GtkGesture,
15233    ) -> gboolean;
15234    pub fn gtk_gesture_is_recognized(gesture: *mut GtkGesture) -> gboolean;
15235    pub fn gtk_gesture_set_sequence_state(
15236        gesture: *mut GtkGesture,
15237        sequence: *mut gdk::GdkEventSequence,
15238        state: GtkEventSequenceState,
15239    ) -> gboolean;
15240    pub fn gtk_gesture_set_state(
15241        gesture: *mut GtkGesture,
15242        state: GtkEventSequenceState,
15243    ) -> gboolean;
15244    pub fn gtk_gesture_ungroup(gesture: *mut GtkGesture);
15245
15246    //=========================================================================
15247    // GtkGestureClick
15248    //=========================================================================
15249    pub fn gtk_gesture_click_get_type() -> GType;
15250    pub fn gtk_gesture_click_new() -> *mut GtkGesture;
15251
15252    //=========================================================================
15253    // GtkGestureDrag
15254    //=========================================================================
15255    pub fn gtk_gesture_drag_get_type() -> GType;
15256    pub fn gtk_gesture_drag_new() -> *mut GtkGesture;
15257    pub fn gtk_gesture_drag_get_offset(
15258        gesture: *mut GtkGestureDrag,
15259        x: *mut c_double,
15260        y: *mut c_double,
15261    ) -> gboolean;
15262    pub fn gtk_gesture_drag_get_start_point(
15263        gesture: *mut GtkGestureDrag,
15264        x: *mut c_double,
15265        y: *mut c_double,
15266    ) -> gboolean;
15267
15268    //=========================================================================
15269    // GtkGestureLongPress
15270    //=========================================================================
15271    pub fn gtk_gesture_long_press_get_type() -> GType;
15272    pub fn gtk_gesture_long_press_new() -> *mut GtkGesture;
15273    pub fn gtk_gesture_long_press_get_delay_factor(gesture: *mut GtkGestureLongPress) -> c_double;
15274    pub fn gtk_gesture_long_press_set_delay_factor(
15275        gesture: *mut GtkGestureLongPress,
15276        delay_factor: c_double,
15277    );
15278
15279    //=========================================================================
15280    // GtkGesturePan
15281    //=========================================================================
15282    pub fn gtk_gesture_pan_get_type() -> GType;
15283    pub fn gtk_gesture_pan_new(orientation: GtkOrientation) -> *mut GtkGesture;
15284    pub fn gtk_gesture_pan_get_orientation(gesture: *mut GtkGesturePan) -> GtkOrientation;
15285    pub fn gtk_gesture_pan_set_orientation(
15286        gesture: *mut GtkGesturePan,
15287        orientation: GtkOrientation,
15288    );
15289
15290    //=========================================================================
15291    // GtkGestureRotate
15292    //=========================================================================
15293    pub fn gtk_gesture_rotate_get_type() -> GType;
15294    pub fn gtk_gesture_rotate_new() -> *mut GtkGesture;
15295    pub fn gtk_gesture_rotate_get_angle_delta(gesture: *mut GtkGestureRotate) -> c_double;
15296
15297    //=========================================================================
15298    // GtkGestureSingle
15299    //=========================================================================
15300    pub fn gtk_gesture_single_get_type() -> GType;
15301    pub fn gtk_gesture_single_get_button(gesture: *mut GtkGestureSingle) -> c_uint;
15302    pub fn gtk_gesture_single_get_current_button(gesture: *mut GtkGestureSingle) -> c_uint;
15303    pub fn gtk_gesture_single_get_current_sequence(
15304        gesture: *mut GtkGestureSingle,
15305    ) -> *mut gdk::GdkEventSequence;
15306    pub fn gtk_gesture_single_get_exclusive(gesture: *mut GtkGestureSingle) -> gboolean;
15307    pub fn gtk_gesture_single_get_touch_only(gesture: *mut GtkGestureSingle) -> gboolean;
15308    pub fn gtk_gesture_single_set_button(gesture: *mut GtkGestureSingle, button: c_uint);
15309    pub fn gtk_gesture_single_set_exclusive(gesture: *mut GtkGestureSingle, exclusive: gboolean);
15310    pub fn gtk_gesture_single_set_touch_only(gesture: *mut GtkGestureSingle, touch_only: gboolean);
15311
15312    //=========================================================================
15313    // GtkGestureStylus
15314    //=========================================================================
15315    pub fn gtk_gesture_stylus_get_type() -> GType;
15316    pub fn gtk_gesture_stylus_new() -> *mut GtkGesture;
15317    pub fn gtk_gesture_stylus_get_axes(
15318        gesture: *mut GtkGestureStylus,
15319        axes: *mut gdk::GdkAxisUse,
15320        values: *mut *mut c_double,
15321    ) -> gboolean;
15322    pub fn gtk_gesture_stylus_get_axis(
15323        gesture: *mut GtkGestureStylus,
15324        axis: gdk::GdkAxisUse,
15325        value: *mut c_double,
15326    ) -> gboolean;
15327    pub fn gtk_gesture_stylus_get_backlog(
15328        gesture: *mut GtkGestureStylus,
15329        backlog: *mut *mut gdk::GdkTimeCoord,
15330        n_elems: *mut c_uint,
15331    ) -> gboolean;
15332    pub fn gtk_gesture_stylus_get_device_tool(
15333        gesture: *mut GtkGestureStylus,
15334    ) -> *mut gdk::GdkDeviceTool;
15335    #[cfg(feature = "v4_10")]
15336    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15337    pub fn gtk_gesture_stylus_get_stylus_only(gesture: *mut GtkGestureStylus) -> gboolean;
15338    #[cfg(feature = "v4_10")]
15339    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15340    pub fn gtk_gesture_stylus_set_stylus_only(
15341        gesture: *mut GtkGestureStylus,
15342        stylus_only: gboolean,
15343    );
15344
15345    //=========================================================================
15346    // GtkGestureSwipe
15347    //=========================================================================
15348    pub fn gtk_gesture_swipe_get_type() -> GType;
15349    pub fn gtk_gesture_swipe_new() -> *mut GtkGesture;
15350    pub fn gtk_gesture_swipe_get_velocity(
15351        gesture: *mut GtkGestureSwipe,
15352        velocity_x: *mut c_double,
15353        velocity_y: *mut c_double,
15354    ) -> gboolean;
15355
15356    //=========================================================================
15357    // GtkGestureZoom
15358    //=========================================================================
15359    pub fn gtk_gesture_zoom_get_type() -> GType;
15360    pub fn gtk_gesture_zoom_new() -> *mut GtkGesture;
15361    pub fn gtk_gesture_zoom_get_scale_delta(gesture: *mut GtkGestureZoom) -> c_double;
15362
15363    //=========================================================================
15364    // GtkGraphicsOffload
15365    //=========================================================================
15366    #[cfg(feature = "v4_14")]
15367    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15368    pub fn gtk_graphics_offload_get_type() -> GType;
15369    #[cfg(feature = "v4_14")]
15370    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15371    pub fn gtk_graphics_offload_new(child: *mut GtkWidget) -> *mut GtkWidget;
15372    #[cfg(feature = "v4_16")]
15373    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
15374    pub fn gtk_graphics_offload_get_black_background(self_: *mut GtkGraphicsOffload) -> gboolean;
15375    #[cfg(feature = "v4_14")]
15376    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15377    pub fn gtk_graphics_offload_get_child(self_: *mut GtkGraphicsOffload) -> *mut GtkWidget;
15378    #[cfg(feature = "v4_14")]
15379    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15380    pub fn gtk_graphics_offload_get_enabled(
15381        self_: *mut GtkGraphicsOffload,
15382    ) -> GtkGraphicsOffloadEnabled;
15383    #[cfg(feature = "v4_16")]
15384    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
15385    pub fn gtk_graphics_offload_set_black_background(
15386        self_: *mut GtkGraphicsOffload,
15387        value: gboolean,
15388    );
15389    #[cfg(feature = "v4_14")]
15390    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15391    pub fn gtk_graphics_offload_set_child(self_: *mut GtkGraphicsOffload, child: *mut GtkWidget);
15392    #[cfg(feature = "v4_14")]
15393    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15394    pub fn gtk_graphics_offload_set_enabled(
15395        self_: *mut GtkGraphicsOffload,
15396        enabled: GtkGraphicsOffloadEnabled,
15397    );
15398
15399    //=========================================================================
15400    // GtkGrid
15401    //=========================================================================
15402    pub fn gtk_grid_get_type() -> GType;
15403    pub fn gtk_grid_new() -> *mut GtkWidget;
15404    pub fn gtk_grid_attach(
15405        grid: *mut GtkGrid,
15406        child: *mut GtkWidget,
15407        column: c_int,
15408        row: c_int,
15409        width: c_int,
15410        height: c_int,
15411    );
15412    pub fn gtk_grid_attach_next_to(
15413        grid: *mut GtkGrid,
15414        child: *mut GtkWidget,
15415        sibling: *mut GtkWidget,
15416        side: GtkPositionType,
15417        width: c_int,
15418        height: c_int,
15419    );
15420    pub fn gtk_grid_get_baseline_row(grid: *mut GtkGrid) -> c_int;
15421    pub fn gtk_grid_get_child_at(grid: *mut GtkGrid, column: c_int, row: c_int) -> *mut GtkWidget;
15422    pub fn gtk_grid_get_column_homogeneous(grid: *mut GtkGrid) -> gboolean;
15423    pub fn gtk_grid_get_column_spacing(grid: *mut GtkGrid) -> c_uint;
15424    pub fn gtk_grid_get_row_baseline_position(
15425        grid: *mut GtkGrid,
15426        row: c_int,
15427    ) -> GtkBaselinePosition;
15428    pub fn gtk_grid_get_row_homogeneous(grid: *mut GtkGrid) -> gboolean;
15429    pub fn gtk_grid_get_row_spacing(grid: *mut GtkGrid) -> c_uint;
15430    pub fn gtk_grid_insert_column(grid: *mut GtkGrid, position: c_int);
15431    pub fn gtk_grid_insert_next_to(
15432        grid: *mut GtkGrid,
15433        sibling: *mut GtkWidget,
15434        side: GtkPositionType,
15435    );
15436    pub fn gtk_grid_insert_row(grid: *mut GtkGrid, position: c_int);
15437    pub fn gtk_grid_query_child(
15438        grid: *mut GtkGrid,
15439        child: *mut GtkWidget,
15440        column: *mut c_int,
15441        row: *mut c_int,
15442        width: *mut c_int,
15443        height: *mut c_int,
15444    );
15445    pub fn gtk_grid_remove(grid: *mut GtkGrid, child: *mut GtkWidget);
15446    pub fn gtk_grid_remove_column(grid: *mut GtkGrid, position: c_int);
15447    pub fn gtk_grid_remove_row(grid: *mut GtkGrid, position: c_int);
15448    pub fn gtk_grid_set_baseline_row(grid: *mut GtkGrid, row: c_int);
15449    pub fn gtk_grid_set_column_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
15450    pub fn gtk_grid_set_column_spacing(grid: *mut GtkGrid, spacing: c_uint);
15451    pub fn gtk_grid_set_row_baseline_position(
15452        grid: *mut GtkGrid,
15453        row: c_int,
15454        pos: GtkBaselinePosition,
15455    );
15456    pub fn gtk_grid_set_row_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
15457    pub fn gtk_grid_set_row_spacing(grid: *mut GtkGrid, spacing: c_uint);
15458
15459    //=========================================================================
15460    // GtkGridLayout
15461    //=========================================================================
15462    pub fn gtk_grid_layout_get_type() -> GType;
15463    pub fn gtk_grid_layout_new() -> *mut GtkLayoutManager;
15464    pub fn gtk_grid_layout_get_baseline_row(grid: *mut GtkGridLayout) -> c_int;
15465    pub fn gtk_grid_layout_get_column_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
15466    pub fn gtk_grid_layout_get_column_spacing(grid: *mut GtkGridLayout) -> c_uint;
15467    pub fn gtk_grid_layout_get_row_baseline_position(
15468        grid: *mut GtkGridLayout,
15469        row: c_int,
15470    ) -> GtkBaselinePosition;
15471    pub fn gtk_grid_layout_get_row_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
15472    pub fn gtk_grid_layout_get_row_spacing(grid: *mut GtkGridLayout) -> c_uint;
15473    pub fn gtk_grid_layout_set_baseline_row(grid: *mut GtkGridLayout, row: c_int);
15474    pub fn gtk_grid_layout_set_column_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
15475    pub fn gtk_grid_layout_set_column_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
15476    pub fn gtk_grid_layout_set_row_baseline_position(
15477        grid: *mut GtkGridLayout,
15478        row: c_int,
15479        pos: GtkBaselinePosition,
15480    );
15481    pub fn gtk_grid_layout_set_row_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
15482    pub fn gtk_grid_layout_set_row_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
15483
15484    //=========================================================================
15485    // GtkGridLayoutChild
15486    //=========================================================================
15487    pub fn gtk_grid_layout_child_get_type() -> GType;
15488    pub fn gtk_grid_layout_child_get_column(child: *mut GtkGridLayoutChild) -> c_int;
15489    pub fn gtk_grid_layout_child_get_column_span(child: *mut GtkGridLayoutChild) -> c_int;
15490    pub fn gtk_grid_layout_child_get_row(child: *mut GtkGridLayoutChild) -> c_int;
15491    pub fn gtk_grid_layout_child_get_row_span(child: *mut GtkGridLayoutChild) -> c_int;
15492    pub fn gtk_grid_layout_child_set_column(child: *mut GtkGridLayoutChild, column: c_int);
15493    pub fn gtk_grid_layout_child_set_column_span(child: *mut GtkGridLayoutChild, span: c_int);
15494    pub fn gtk_grid_layout_child_set_row(child: *mut GtkGridLayoutChild, row: c_int);
15495    pub fn gtk_grid_layout_child_set_row_span(child: *mut GtkGridLayoutChild, span: c_int);
15496
15497    //=========================================================================
15498    // GtkGridView
15499    //=========================================================================
15500    pub fn gtk_grid_view_get_type() -> GType;
15501    pub fn gtk_grid_view_new(
15502        model: *mut GtkSelectionModel,
15503        factory: *mut GtkListItemFactory,
15504    ) -> *mut GtkWidget;
15505    pub fn gtk_grid_view_get_enable_rubberband(self_: *mut GtkGridView) -> gboolean;
15506    pub fn gtk_grid_view_get_factory(self_: *mut GtkGridView) -> *mut GtkListItemFactory;
15507    #[cfg(feature = "v4_26")]
15508    #[cfg_attr(docsrs, doc(cfg(feature = "v4_26")))]
15509    pub fn gtk_grid_view_get_header_factory(self_: *mut GtkGridView) -> *mut GtkListItemFactory;
15510    pub fn gtk_grid_view_get_max_columns(self_: *mut GtkGridView) -> c_uint;
15511    pub fn gtk_grid_view_get_min_columns(self_: *mut GtkGridView) -> c_uint;
15512    pub fn gtk_grid_view_get_model(self_: *mut GtkGridView) -> *mut GtkSelectionModel;
15513    pub fn gtk_grid_view_get_single_click_activate(self_: *mut GtkGridView) -> gboolean;
15514    #[cfg(feature = "v4_12")]
15515    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15516    pub fn gtk_grid_view_get_tab_behavior(self_: *mut GtkGridView) -> GtkListTabBehavior;
15517    #[cfg(feature = "v4_12")]
15518    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15519    pub fn gtk_grid_view_scroll_to(
15520        self_: *mut GtkGridView,
15521        pos: c_uint,
15522        flags: GtkListScrollFlags,
15523        scroll: *mut GtkScrollInfo,
15524    );
15525    pub fn gtk_grid_view_set_enable_rubberband(
15526        self_: *mut GtkGridView,
15527        enable_rubberband: gboolean,
15528    );
15529    pub fn gtk_grid_view_set_factory(self_: *mut GtkGridView, factory: *mut GtkListItemFactory);
15530    #[cfg(feature = "v4_26")]
15531    #[cfg_attr(docsrs, doc(cfg(feature = "v4_26")))]
15532    pub fn gtk_grid_view_set_header_factory(
15533        self_: *mut GtkGridView,
15534        factory: *mut GtkListItemFactory,
15535    );
15536    pub fn gtk_grid_view_set_max_columns(self_: *mut GtkGridView, max_columns: c_uint);
15537    pub fn gtk_grid_view_set_min_columns(self_: *mut GtkGridView, min_columns: c_uint);
15538    pub fn gtk_grid_view_set_model(self_: *mut GtkGridView, model: *mut GtkSelectionModel);
15539    pub fn gtk_grid_view_set_single_click_activate(
15540        self_: *mut GtkGridView,
15541        single_click_activate: gboolean,
15542    );
15543    #[cfg(feature = "v4_12")]
15544    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15545    pub fn gtk_grid_view_set_tab_behavior(
15546        self_: *mut GtkGridView,
15547        tab_behavior: GtkListTabBehavior,
15548    );
15549
15550    //=========================================================================
15551    // GtkHeaderBar
15552    //=========================================================================
15553    pub fn gtk_header_bar_get_type() -> GType;
15554    pub fn gtk_header_bar_new() -> *mut GtkWidget;
15555    pub fn gtk_header_bar_get_decoration_layout(bar: *mut GtkHeaderBar) -> *const c_char;
15556    pub fn gtk_header_bar_get_show_title_buttons(bar: *mut GtkHeaderBar) -> gboolean;
15557    pub fn gtk_header_bar_get_title_widget(bar: *mut GtkHeaderBar) -> *mut GtkWidget;
15558    #[cfg(feature = "v4_18")]
15559    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15560    pub fn gtk_header_bar_get_use_native_controls(bar: *mut GtkHeaderBar) -> gboolean;
15561    pub fn gtk_header_bar_pack_end(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15562    pub fn gtk_header_bar_pack_start(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15563    pub fn gtk_header_bar_remove(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15564    pub fn gtk_header_bar_set_decoration_layout(bar: *mut GtkHeaderBar, layout: *const c_char);
15565    pub fn gtk_header_bar_set_show_title_buttons(bar: *mut GtkHeaderBar, setting: gboolean);
15566    pub fn gtk_header_bar_set_title_widget(bar: *mut GtkHeaderBar, title_widget: *mut GtkWidget);
15567    #[cfg(feature = "v4_18")]
15568    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15569    pub fn gtk_header_bar_set_use_native_controls(bar: *mut GtkHeaderBar, setting: gboolean);
15570
15571    //=========================================================================
15572    // GtkIMContext
15573    //=========================================================================
15574    pub fn gtk_im_context_get_type() -> GType;
15575    #[cfg(feature = "v4_14")]
15576    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15577    pub fn gtk_im_context_activate_osk(
15578        context: *mut GtkIMContext,
15579        event: *mut gdk::GdkEvent,
15580    ) -> gboolean;
15581    pub fn gtk_im_context_delete_surrounding(
15582        context: *mut GtkIMContext,
15583        offset: c_int,
15584        n_chars: c_int,
15585    ) -> gboolean;
15586    pub fn gtk_im_context_filter_key(
15587        context: *mut GtkIMContext,
15588        press: gboolean,
15589        surface: *mut gdk::GdkSurface,
15590        device: *mut gdk::GdkDevice,
15591        time: u32,
15592        keycode: c_uint,
15593        state: gdk::GdkModifierType,
15594        group: c_int,
15595    ) -> gboolean;
15596    pub fn gtk_im_context_filter_keypress(
15597        context: *mut GtkIMContext,
15598        event: *mut gdk::GdkEvent,
15599    ) -> gboolean;
15600    pub fn gtk_im_context_focus_in(context: *mut GtkIMContext);
15601    pub fn gtk_im_context_focus_out(context: *mut GtkIMContext);
15602    #[cfg(feature = "v4_24")]
15603    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
15604    pub fn gtk_im_context_get_client_widget(context: *mut GtkIMContext) -> *mut GtkWidget;
15605    pub fn gtk_im_context_get_preedit_string(
15606        context: *mut GtkIMContext,
15607        str: *mut *mut c_char,
15608        attrs: *mut *mut pango::PangoAttrList,
15609        cursor_pos: *mut c_int,
15610    );
15611    pub fn gtk_im_context_get_surrounding(
15612        context: *mut GtkIMContext,
15613        text: *mut *mut c_char,
15614        cursor_index: *mut c_int,
15615    ) -> gboolean;
15616    #[cfg(feature = "v4_2")]
15617    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15618    pub fn gtk_im_context_get_surrounding_with_selection(
15619        context: *mut GtkIMContext,
15620        text: *mut *mut c_char,
15621        cursor_index: *mut c_int,
15622        anchor_index: *mut c_int,
15623    ) -> gboolean;
15624    pub fn gtk_im_context_reset(context: *mut GtkIMContext);
15625    pub fn gtk_im_context_set_client_widget(context: *mut GtkIMContext, widget: *mut GtkWidget);
15626    pub fn gtk_im_context_set_cursor_location(
15627        context: *mut GtkIMContext,
15628        area: *const gdk::GdkRectangle,
15629    );
15630    pub fn gtk_im_context_set_surrounding(
15631        context: *mut GtkIMContext,
15632        text: *const c_char,
15633        len: c_int,
15634        cursor_index: c_int,
15635    );
15636    #[cfg(feature = "v4_2")]
15637    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15638    pub fn gtk_im_context_set_surrounding_with_selection(
15639        context: *mut GtkIMContext,
15640        text: *const c_char,
15641        len: c_int,
15642        cursor_index: c_int,
15643        anchor_index: c_int,
15644    );
15645    pub fn gtk_im_context_set_use_preedit(context: *mut GtkIMContext, use_preedit: gboolean);
15646
15647    //=========================================================================
15648    // GtkIMContextSimple
15649    //=========================================================================
15650    pub fn gtk_im_context_simple_get_type() -> GType;
15651    pub fn gtk_im_context_simple_new() -> *mut GtkIMContext;
15652    pub fn gtk_im_context_simple_add_compose_file(
15653        context_simple: *mut GtkIMContextSimple,
15654        compose_file: *const c_char,
15655    );
15656    pub fn gtk_im_context_simple_add_table(
15657        context_simple: *mut GtkIMContextSimple,
15658        data: *mut u16,
15659        max_seq_len: c_int,
15660        n_seqs: c_int,
15661    );
15662
15663    //=========================================================================
15664    // GtkIMMulticontext
15665    //=========================================================================
15666    pub fn gtk_im_multicontext_get_type() -> GType;
15667    pub fn gtk_im_multicontext_new() -> *mut GtkIMContext;
15668    pub fn gtk_im_multicontext_get_context_id(context: *mut GtkIMMulticontext) -> *const c_char;
15669    pub fn gtk_im_multicontext_set_context_id(
15670        context: *mut GtkIMMulticontext,
15671        context_id: *const c_char,
15672    );
15673
15674    //=========================================================================
15675    // GtkIconPaintable
15676    //=========================================================================
15677    pub fn gtk_icon_paintable_get_type() -> GType;
15678    pub fn gtk_icon_paintable_new_for_file(
15679        file: *mut gio::GFile,
15680        size: c_int,
15681        scale: c_int,
15682    ) -> *mut GtkIconPaintable;
15683    pub fn gtk_icon_paintable_get_file(self_: *mut GtkIconPaintable) -> *mut gio::GFile;
15684    pub fn gtk_icon_paintable_get_icon_name(self_: *mut GtkIconPaintable) -> *const c_char;
15685    pub fn gtk_icon_paintable_is_symbolic(self_: *mut GtkIconPaintable) -> gboolean;
15686
15687    //=========================================================================
15688    // GtkIconTheme
15689    //=========================================================================
15690    pub fn gtk_icon_theme_get_type() -> GType;
15691    pub fn gtk_icon_theme_new() -> *mut GtkIconTheme;
15692    pub fn gtk_icon_theme_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkIconTheme;
15693    pub fn gtk_icon_theme_add_resource_path(self_: *mut GtkIconTheme, path: *const c_char);
15694    pub fn gtk_icon_theme_add_search_path(self_: *mut GtkIconTheme, path: *const c_char);
15695    pub fn gtk_icon_theme_get_display(self_: *mut GtkIconTheme) -> *mut gdk::GdkDisplay;
15696    pub fn gtk_icon_theme_get_icon_names(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15697    pub fn gtk_icon_theme_get_icon_sizes(
15698        self_: *mut GtkIconTheme,
15699        icon_name: *const c_char,
15700    ) -> *mut c_int;
15701    pub fn gtk_icon_theme_get_resource_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15702    pub fn gtk_icon_theme_get_search_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15703    pub fn gtk_icon_theme_get_theme_name(self_: *mut GtkIconTheme) -> *mut c_char;
15704    #[cfg(feature = "v4_2")]
15705    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15706    pub fn gtk_icon_theme_has_gicon(self_: *mut GtkIconTheme, gicon: *mut gio::GIcon) -> gboolean;
15707    pub fn gtk_icon_theme_has_icon(self_: *mut GtkIconTheme, icon_name: *const c_char) -> gboolean;
15708    pub fn gtk_icon_theme_lookup_by_gicon(
15709        self_: *mut GtkIconTheme,
15710        icon: *mut gio::GIcon,
15711        size: c_int,
15712        scale: c_int,
15713        direction: GtkTextDirection,
15714        flags: GtkIconLookupFlags,
15715    ) -> *mut GtkIconPaintable;
15716    pub fn gtk_icon_theme_lookup_icon(
15717        self_: *mut GtkIconTheme,
15718        icon_name: *const c_char,
15719        fallbacks: *mut *const c_char,
15720        size: c_int,
15721        scale: c_int,
15722        direction: GtkTextDirection,
15723        flags: GtkIconLookupFlags,
15724    ) -> *mut GtkIconPaintable;
15725    pub fn gtk_icon_theme_set_resource_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15726    pub fn gtk_icon_theme_set_search_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15727    pub fn gtk_icon_theme_set_theme_name(self_: *mut GtkIconTheme, theme_name: *const c_char);
15728
15729    //=========================================================================
15730    // GtkIconView
15731    //=========================================================================
15732    pub fn gtk_icon_view_get_type() -> GType;
15733    pub fn gtk_icon_view_new() -> *mut GtkWidget;
15734    pub fn gtk_icon_view_new_with_area(area: *mut GtkCellArea) -> *mut GtkWidget;
15735    pub fn gtk_icon_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
15736    pub fn gtk_icon_view_create_drag_icon(
15737        icon_view: *mut GtkIconView,
15738        path: *mut GtkTreePath,
15739    ) -> *mut gdk::GdkPaintable;
15740    pub fn gtk_icon_view_enable_model_drag_dest(
15741        icon_view: *mut GtkIconView,
15742        formats: *mut gdk::GdkContentFormats,
15743        actions: gdk::GdkDragAction,
15744    );
15745    pub fn gtk_icon_view_enable_model_drag_source(
15746        icon_view: *mut GtkIconView,
15747        start_button_mask: gdk::GdkModifierType,
15748        formats: *mut gdk::GdkContentFormats,
15749        actions: gdk::GdkDragAction,
15750    );
15751    pub fn gtk_icon_view_get_activate_on_single_click(icon_view: *mut GtkIconView) -> gboolean;
15752    pub fn gtk_icon_view_get_cell_rect(
15753        icon_view: *mut GtkIconView,
15754        path: *mut GtkTreePath,
15755        cell: *mut GtkCellRenderer,
15756        rect: *mut gdk::GdkRectangle,
15757    ) -> gboolean;
15758    pub fn gtk_icon_view_get_column_spacing(icon_view: *mut GtkIconView) -> c_int;
15759    pub fn gtk_icon_view_get_columns(icon_view: *mut GtkIconView) -> c_int;
15760    pub fn gtk_icon_view_get_cursor(
15761        icon_view: *mut GtkIconView,
15762        path: *mut *mut GtkTreePath,
15763        cell: *mut *mut GtkCellRenderer,
15764    ) -> gboolean;
15765    pub fn gtk_icon_view_get_dest_item_at_pos(
15766        icon_view: *mut GtkIconView,
15767        drag_x: c_int,
15768        drag_y: c_int,
15769        path: *mut *mut GtkTreePath,
15770        pos: *mut GtkIconViewDropPosition,
15771    ) -> gboolean;
15772    pub fn gtk_icon_view_get_drag_dest_item(
15773        icon_view: *mut GtkIconView,
15774        path: *mut *mut GtkTreePath,
15775        pos: *mut GtkIconViewDropPosition,
15776    );
15777    pub fn gtk_icon_view_get_item_at_pos(
15778        icon_view: *mut GtkIconView,
15779        x: c_int,
15780        y: c_int,
15781        path: *mut *mut GtkTreePath,
15782        cell: *mut *mut GtkCellRenderer,
15783    ) -> gboolean;
15784    pub fn gtk_icon_view_get_item_column(
15785        icon_view: *mut GtkIconView,
15786        path: *mut GtkTreePath,
15787    ) -> c_int;
15788    pub fn gtk_icon_view_get_item_orientation(icon_view: *mut GtkIconView) -> GtkOrientation;
15789    pub fn gtk_icon_view_get_item_padding(icon_view: *mut GtkIconView) -> c_int;
15790    pub fn gtk_icon_view_get_item_row(icon_view: *mut GtkIconView, path: *mut GtkTreePath)
15791    -> c_int;
15792    pub fn gtk_icon_view_get_item_width(icon_view: *mut GtkIconView) -> c_int;
15793    pub fn gtk_icon_view_get_margin(icon_view: *mut GtkIconView) -> c_int;
15794    pub fn gtk_icon_view_get_markup_column(icon_view: *mut GtkIconView) -> c_int;
15795    pub fn gtk_icon_view_get_model(icon_view: *mut GtkIconView) -> *mut GtkTreeModel;
15796    pub fn gtk_icon_view_get_path_at_pos(
15797        icon_view: *mut GtkIconView,
15798        x: c_int,
15799        y: c_int,
15800    ) -> *mut GtkTreePath;
15801    pub fn gtk_icon_view_get_pixbuf_column(icon_view: *mut GtkIconView) -> c_int;
15802    pub fn gtk_icon_view_get_reorderable(icon_view: *mut GtkIconView) -> gboolean;
15803    pub fn gtk_icon_view_get_row_spacing(icon_view: *mut GtkIconView) -> c_int;
15804    pub fn gtk_icon_view_get_selected_items(icon_view: *mut GtkIconView) -> *mut glib::GList;
15805    pub fn gtk_icon_view_get_selection_mode(icon_view: *mut GtkIconView) -> GtkSelectionMode;
15806    pub fn gtk_icon_view_get_spacing(icon_view: *mut GtkIconView) -> c_int;
15807    pub fn gtk_icon_view_get_text_column(icon_view: *mut GtkIconView) -> c_int;
15808    pub fn gtk_icon_view_get_tooltip_column(icon_view: *mut GtkIconView) -> c_int;
15809    pub fn gtk_icon_view_get_tooltip_context(
15810        icon_view: *mut GtkIconView,
15811        x: c_int,
15812        y: c_int,
15813        keyboard_tip: gboolean,
15814        model: *mut *mut GtkTreeModel,
15815        path: *mut *mut GtkTreePath,
15816        iter: *mut GtkTreeIter,
15817    ) -> gboolean;
15818    pub fn gtk_icon_view_get_visible_range(
15819        icon_view: *mut GtkIconView,
15820        start_path: *mut *mut GtkTreePath,
15821        end_path: *mut *mut GtkTreePath,
15822    ) -> gboolean;
15823    pub fn gtk_icon_view_item_activated(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15824    pub fn gtk_icon_view_path_is_selected(
15825        icon_view: *mut GtkIconView,
15826        path: *mut GtkTreePath,
15827    ) -> gboolean;
15828    pub fn gtk_icon_view_scroll_to_path(
15829        icon_view: *mut GtkIconView,
15830        path: *mut GtkTreePath,
15831        use_align: gboolean,
15832        row_align: c_float,
15833        col_align: c_float,
15834    );
15835    pub fn gtk_icon_view_select_all(icon_view: *mut GtkIconView);
15836    pub fn gtk_icon_view_select_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15837    pub fn gtk_icon_view_selected_foreach(
15838        icon_view: *mut GtkIconView,
15839        func: GtkIconViewForeachFunc,
15840        data: gpointer,
15841    );
15842    pub fn gtk_icon_view_set_activate_on_single_click(
15843        icon_view: *mut GtkIconView,
15844        single: gboolean,
15845    );
15846    pub fn gtk_icon_view_set_column_spacing(icon_view: *mut GtkIconView, column_spacing: c_int);
15847    pub fn gtk_icon_view_set_columns(icon_view: *mut GtkIconView, columns: c_int);
15848    pub fn gtk_icon_view_set_cursor(
15849        icon_view: *mut GtkIconView,
15850        path: *mut GtkTreePath,
15851        cell: *mut GtkCellRenderer,
15852        start_editing: gboolean,
15853    );
15854    pub fn gtk_icon_view_set_drag_dest_item(
15855        icon_view: *mut GtkIconView,
15856        path: *mut GtkTreePath,
15857        pos: GtkIconViewDropPosition,
15858    );
15859    pub fn gtk_icon_view_set_item_orientation(
15860        icon_view: *mut GtkIconView,
15861        orientation: GtkOrientation,
15862    );
15863    pub fn gtk_icon_view_set_item_padding(icon_view: *mut GtkIconView, item_padding: c_int);
15864    pub fn gtk_icon_view_set_item_width(icon_view: *mut GtkIconView, item_width: c_int);
15865    pub fn gtk_icon_view_set_margin(icon_view: *mut GtkIconView, margin: c_int);
15866    pub fn gtk_icon_view_set_markup_column(icon_view: *mut GtkIconView, column: c_int);
15867    pub fn gtk_icon_view_set_model(icon_view: *mut GtkIconView, model: *mut GtkTreeModel);
15868    pub fn gtk_icon_view_set_pixbuf_column(icon_view: *mut GtkIconView, column: c_int);
15869    pub fn gtk_icon_view_set_reorderable(icon_view: *mut GtkIconView, reorderable: gboolean);
15870    pub fn gtk_icon_view_set_row_spacing(icon_view: *mut GtkIconView, row_spacing: c_int);
15871    pub fn gtk_icon_view_set_selection_mode(icon_view: *mut GtkIconView, mode: GtkSelectionMode);
15872    pub fn gtk_icon_view_set_spacing(icon_view: *mut GtkIconView, spacing: c_int);
15873    pub fn gtk_icon_view_set_text_column(icon_view: *mut GtkIconView, column: c_int);
15874    pub fn gtk_icon_view_set_tooltip_cell(
15875        icon_view: *mut GtkIconView,
15876        tooltip: *mut GtkTooltip,
15877        path: *mut GtkTreePath,
15878        cell: *mut GtkCellRenderer,
15879    );
15880    pub fn gtk_icon_view_set_tooltip_column(icon_view: *mut GtkIconView, column: c_int);
15881    pub fn gtk_icon_view_set_tooltip_item(
15882        icon_view: *mut GtkIconView,
15883        tooltip: *mut GtkTooltip,
15884        path: *mut GtkTreePath,
15885    );
15886    pub fn gtk_icon_view_unselect_all(icon_view: *mut GtkIconView);
15887    pub fn gtk_icon_view_unselect_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15888    pub fn gtk_icon_view_unset_model_drag_dest(icon_view: *mut GtkIconView);
15889    pub fn gtk_icon_view_unset_model_drag_source(icon_view: *mut GtkIconView);
15890
15891    //=========================================================================
15892    // GtkImage
15893    //=========================================================================
15894    pub fn gtk_image_get_type() -> GType;
15895    pub fn gtk_image_new() -> *mut GtkWidget;
15896    pub fn gtk_image_new_from_file(filename: *const c_char) -> *mut GtkWidget;
15897    pub fn gtk_image_new_from_gicon(icon: *mut gio::GIcon) -> *mut GtkWidget;
15898    pub fn gtk_image_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
15899    pub fn gtk_image_new_from_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
15900    pub fn gtk_image_new_from_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
15901    pub fn gtk_image_new_from_resource(resource_path: *const c_char) -> *mut GtkWidget;
15902    pub fn gtk_image_clear(image: *mut GtkImage);
15903    pub fn gtk_image_get_gicon(image: *mut GtkImage) -> *mut gio::GIcon;
15904    pub fn gtk_image_get_icon_name(image: *mut GtkImage) -> *const c_char;
15905    pub fn gtk_image_get_icon_size(image: *mut GtkImage) -> GtkIconSize;
15906    pub fn gtk_image_get_paintable(image: *mut GtkImage) -> *mut gdk::GdkPaintable;
15907    pub fn gtk_image_get_pixel_size(image: *mut GtkImage) -> c_int;
15908    pub fn gtk_image_get_storage_type(image: *mut GtkImage) -> GtkImageType;
15909    pub fn gtk_image_set_from_file(image: *mut GtkImage, filename: *const c_char);
15910    pub fn gtk_image_set_from_gicon(image: *mut GtkImage, icon: *mut gio::GIcon);
15911    pub fn gtk_image_set_from_icon_name(image: *mut GtkImage, icon_name: *const c_char);
15912    pub fn gtk_image_set_from_paintable(image: *mut GtkImage, paintable: *mut gdk::GdkPaintable);
15913    pub fn gtk_image_set_from_pixbuf(image: *mut GtkImage, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
15914    pub fn gtk_image_set_from_resource(image: *mut GtkImage, resource_path: *const c_char);
15915    pub fn gtk_image_set_icon_size(image: *mut GtkImage, icon_size: GtkIconSize);
15916    pub fn gtk_image_set_pixel_size(image: *mut GtkImage, pixel_size: c_int);
15917
15918    //=========================================================================
15919    // GtkInfoBar
15920    //=========================================================================
15921    pub fn gtk_info_bar_get_type() -> GType;
15922    pub fn gtk_info_bar_new() -> *mut GtkWidget;
15923    pub fn gtk_info_bar_new_with_buttons(first_button_text: *const c_char, ...) -> *mut GtkWidget;
15924    pub fn gtk_info_bar_add_action_widget(
15925        info_bar: *mut GtkInfoBar,
15926        child: *mut GtkWidget,
15927        response_id: GtkResponseType,
15928    );
15929    pub fn gtk_info_bar_add_button(
15930        info_bar: *mut GtkInfoBar,
15931        button_text: *const c_char,
15932        response_id: GtkResponseType,
15933    ) -> *mut GtkButton;
15934    pub fn gtk_info_bar_add_buttons(
15935        info_bar: *mut GtkInfoBar,
15936        first_button_text: *const c_char,
15937        ...
15938    );
15939    pub fn gtk_info_bar_add_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15940    pub fn gtk_info_bar_get_message_type(info_bar: *mut GtkInfoBar) -> GtkMessageType;
15941    pub fn gtk_info_bar_get_revealed(info_bar: *mut GtkInfoBar) -> gboolean;
15942    pub fn gtk_info_bar_get_show_close_button(info_bar: *mut GtkInfoBar) -> gboolean;
15943    pub fn gtk_info_bar_remove_action_widget(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15944    pub fn gtk_info_bar_remove_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15945    pub fn gtk_info_bar_response(info_bar: *mut GtkInfoBar, response_id: GtkResponseType);
15946    pub fn gtk_info_bar_set_default_response(
15947        info_bar: *mut GtkInfoBar,
15948        response_id: GtkResponseType,
15949    );
15950    pub fn gtk_info_bar_set_message_type(info_bar: *mut GtkInfoBar, message_type: GtkMessageType);
15951    pub fn gtk_info_bar_set_response_sensitive(
15952        info_bar: *mut GtkInfoBar,
15953        response_id: GtkResponseType,
15954        setting: gboolean,
15955    );
15956    pub fn gtk_info_bar_set_revealed(info_bar: *mut GtkInfoBar, revealed: gboolean);
15957    pub fn gtk_info_bar_set_show_close_button(info_bar: *mut GtkInfoBar, setting: gboolean);
15958
15959    //=========================================================================
15960    // GtkInscription
15961    //=========================================================================
15962    #[cfg(feature = "v4_8")]
15963    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15964    pub fn gtk_inscription_get_type() -> GType;
15965    #[cfg(feature = "v4_8")]
15966    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15967    pub fn gtk_inscription_new(text: *const c_char) -> *mut GtkWidget;
15968    #[cfg(feature = "v4_8")]
15969    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15970    pub fn gtk_inscription_get_attributes(self_: *mut GtkInscription) -> *mut pango::PangoAttrList;
15971    #[cfg(feature = "v4_8")]
15972    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15973    pub fn gtk_inscription_get_min_chars(self_: *mut GtkInscription) -> c_uint;
15974    #[cfg(feature = "v4_8")]
15975    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15976    pub fn gtk_inscription_get_min_lines(self_: *mut GtkInscription) -> c_uint;
15977    #[cfg(feature = "v4_8")]
15978    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15979    pub fn gtk_inscription_get_nat_chars(self_: *mut GtkInscription) -> c_uint;
15980    #[cfg(feature = "v4_8")]
15981    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15982    pub fn gtk_inscription_get_nat_lines(self_: *mut GtkInscription) -> c_uint;
15983    #[cfg(feature = "v4_8")]
15984    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15985    pub fn gtk_inscription_get_text(self_: *mut GtkInscription) -> *const c_char;
15986    #[cfg(feature = "v4_8")]
15987    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15988    pub fn gtk_inscription_get_text_overflow(self_: *mut GtkInscription) -> GtkInscriptionOverflow;
15989    #[cfg(feature = "v4_8")]
15990    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15991    pub fn gtk_inscription_get_wrap_mode(self_: *mut GtkInscription) -> pango::PangoWrapMode;
15992    #[cfg(feature = "v4_8")]
15993    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15994    pub fn gtk_inscription_get_xalign(self_: *mut GtkInscription) -> c_float;
15995    #[cfg(feature = "v4_8")]
15996    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15997    pub fn gtk_inscription_get_yalign(self_: *mut GtkInscription) -> c_float;
15998    #[cfg(feature = "v4_8")]
15999    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16000    pub fn gtk_inscription_set_attributes(
16001        self_: *mut GtkInscription,
16002        attrs: *mut pango::PangoAttrList,
16003    );
16004    #[cfg(feature = "v4_8")]
16005    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16006    pub fn gtk_inscription_set_markup(self_: *mut GtkInscription, markup: *const c_char);
16007    #[cfg(feature = "v4_8")]
16008    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16009    pub fn gtk_inscription_set_min_chars(self_: *mut GtkInscription, min_chars: c_uint);
16010    #[cfg(feature = "v4_8")]
16011    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16012    pub fn gtk_inscription_set_min_lines(self_: *mut GtkInscription, min_lines: c_uint);
16013    #[cfg(feature = "v4_8")]
16014    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16015    pub fn gtk_inscription_set_nat_chars(self_: *mut GtkInscription, nat_chars: c_uint);
16016    #[cfg(feature = "v4_8")]
16017    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16018    pub fn gtk_inscription_set_nat_lines(self_: *mut GtkInscription, nat_lines: c_uint);
16019    #[cfg(feature = "v4_8")]
16020    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16021    pub fn gtk_inscription_set_text(self_: *mut GtkInscription, text: *const c_char);
16022    #[cfg(feature = "v4_8")]
16023    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16024    pub fn gtk_inscription_set_text_overflow(
16025        self_: *mut GtkInscription,
16026        overflow: GtkInscriptionOverflow,
16027    );
16028    #[cfg(feature = "v4_8")]
16029    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16030    pub fn gtk_inscription_set_wrap_mode(
16031        self_: *mut GtkInscription,
16032        wrap_mode: pango::PangoWrapMode,
16033    );
16034    #[cfg(feature = "v4_8")]
16035    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16036    pub fn gtk_inscription_set_xalign(self_: *mut GtkInscription, xalign: c_float);
16037    #[cfg(feature = "v4_8")]
16038    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16039    pub fn gtk_inscription_set_yalign(self_: *mut GtkInscription, yalign: c_float);
16040
16041    //=========================================================================
16042    // GtkKeyvalTrigger
16043    //=========================================================================
16044    pub fn gtk_keyval_trigger_get_type() -> GType;
16045    pub fn gtk_keyval_trigger_new(
16046        keyval: c_uint,
16047        modifiers: gdk::GdkModifierType,
16048    ) -> *mut GtkShortcutTrigger;
16049    pub fn gtk_keyval_trigger_get_keyval(self_: *mut GtkKeyvalTrigger) -> c_uint;
16050    pub fn gtk_keyval_trigger_get_modifiers(self_: *mut GtkKeyvalTrigger) -> gdk::GdkModifierType;
16051
16052    //=========================================================================
16053    // GtkLabel
16054    //=========================================================================
16055    pub fn gtk_label_get_type() -> GType;
16056    pub fn gtk_label_new(str: *const c_char) -> *mut GtkWidget;
16057    pub fn gtk_label_new_with_mnemonic(str: *const c_char) -> *mut GtkWidget;
16058    pub fn gtk_label_get_attributes(self_: *mut GtkLabel) -> *mut pango::PangoAttrList;
16059    pub fn gtk_label_get_current_uri(self_: *mut GtkLabel) -> *const c_char;
16060    pub fn gtk_label_get_ellipsize(self_: *mut GtkLabel) -> pango::PangoEllipsizeMode;
16061    pub fn gtk_label_get_extra_menu(self_: *mut GtkLabel) -> *mut gio::GMenuModel;
16062    pub fn gtk_label_get_justify(self_: *mut GtkLabel) -> GtkJustification;
16063    pub fn gtk_label_get_label(self_: *mut GtkLabel) -> *const c_char;
16064    pub fn gtk_label_get_layout(self_: *mut GtkLabel) -> *mut pango::PangoLayout;
16065    pub fn gtk_label_get_layout_offsets(self_: *mut GtkLabel, x: *mut c_int, y: *mut c_int);
16066    pub fn gtk_label_get_lines(self_: *mut GtkLabel) -> c_int;
16067    pub fn gtk_label_get_max_width_chars(self_: *mut GtkLabel) -> c_int;
16068    pub fn gtk_label_get_mnemonic_keyval(self_: *mut GtkLabel) -> c_uint;
16069    pub fn gtk_label_get_mnemonic_widget(self_: *mut GtkLabel) -> *mut GtkWidget;
16070    #[cfg(feature = "v4_6")]
16071    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16072    pub fn gtk_label_get_natural_wrap_mode(self_: *mut GtkLabel) -> GtkNaturalWrapMode;
16073    pub fn gtk_label_get_selectable(self_: *mut GtkLabel) -> gboolean;
16074    pub fn gtk_label_get_selection_bounds(
16075        self_: *mut GtkLabel,
16076        start: *mut c_int,
16077        end: *mut c_int,
16078    ) -> gboolean;
16079    pub fn gtk_label_get_single_line_mode(self_: *mut GtkLabel) -> gboolean;
16080    #[cfg(feature = "v4_8")]
16081    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16082    pub fn gtk_label_get_tabs(self_: *mut GtkLabel) -> *mut pango::PangoTabArray;
16083    pub fn gtk_label_get_text(self_: *mut GtkLabel) -> *const c_char;
16084    pub fn gtk_label_get_use_markup(self_: *mut GtkLabel) -> gboolean;
16085    pub fn gtk_label_get_use_underline(self_: *mut GtkLabel) -> gboolean;
16086    pub fn gtk_label_get_width_chars(self_: *mut GtkLabel) -> c_int;
16087    pub fn gtk_label_get_wrap(self_: *mut GtkLabel) -> gboolean;
16088    pub fn gtk_label_get_wrap_mode(self_: *mut GtkLabel) -> pango::PangoWrapMode;
16089    pub fn gtk_label_get_xalign(self_: *mut GtkLabel) -> c_float;
16090    pub fn gtk_label_get_yalign(self_: *mut GtkLabel) -> c_float;
16091    pub fn gtk_label_select_region(self_: *mut GtkLabel, start_offset: c_int, end_offset: c_int);
16092    pub fn gtk_label_set_attributes(self_: *mut GtkLabel, attrs: *mut pango::PangoAttrList);
16093    pub fn gtk_label_set_ellipsize(self_: *mut GtkLabel, mode: pango::PangoEllipsizeMode);
16094    pub fn gtk_label_set_extra_menu(self_: *mut GtkLabel, model: *mut gio::GMenuModel);
16095    pub fn gtk_label_set_justify(self_: *mut GtkLabel, jtype: GtkJustification);
16096    pub fn gtk_label_set_label(self_: *mut GtkLabel, str: *const c_char);
16097    pub fn gtk_label_set_lines(self_: *mut GtkLabel, lines: c_int);
16098    pub fn gtk_label_set_markup(self_: *mut GtkLabel, str: *const c_char);
16099    pub fn gtk_label_set_markup_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
16100    pub fn gtk_label_set_max_width_chars(self_: *mut GtkLabel, n_chars: c_int);
16101    pub fn gtk_label_set_mnemonic_widget(self_: *mut GtkLabel, widget: *mut GtkWidget);
16102    #[cfg(feature = "v4_6")]
16103    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16104    pub fn gtk_label_set_natural_wrap_mode(self_: *mut GtkLabel, wrap_mode: GtkNaturalWrapMode);
16105    pub fn gtk_label_set_selectable(self_: *mut GtkLabel, setting: gboolean);
16106    pub fn gtk_label_set_single_line_mode(self_: *mut GtkLabel, single_line_mode: gboolean);
16107    #[cfg(feature = "v4_8")]
16108    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16109    pub fn gtk_label_set_tabs(self_: *mut GtkLabel, tabs: *mut pango::PangoTabArray);
16110    pub fn gtk_label_set_text(self_: *mut GtkLabel, str: *const c_char);
16111    pub fn gtk_label_set_text_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
16112    pub fn gtk_label_set_use_markup(self_: *mut GtkLabel, setting: gboolean);
16113    pub fn gtk_label_set_use_underline(self_: *mut GtkLabel, setting: gboolean);
16114    pub fn gtk_label_set_width_chars(self_: *mut GtkLabel, n_chars: c_int);
16115    pub fn gtk_label_set_wrap(self_: *mut GtkLabel, wrap: gboolean);
16116    pub fn gtk_label_set_wrap_mode(self_: *mut GtkLabel, wrap_mode: pango::PangoWrapMode);
16117    pub fn gtk_label_set_xalign(self_: *mut GtkLabel, xalign: c_float);
16118    pub fn gtk_label_set_yalign(self_: *mut GtkLabel, yalign: c_float);
16119
16120    //=========================================================================
16121    // GtkLayoutChild
16122    //=========================================================================
16123    pub fn gtk_layout_child_get_type() -> GType;
16124    pub fn gtk_layout_child_get_child_widget(layout_child: *mut GtkLayoutChild) -> *mut GtkWidget;
16125    pub fn gtk_layout_child_get_layout_manager(
16126        layout_child: *mut GtkLayoutChild,
16127    ) -> *mut GtkLayoutManager;
16128
16129    //=========================================================================
16130    // GtkLayoutManager
16131    //=========================================================================
16132    pub fn gtk_layout_manager_get_type() -> GType;
16133    pub fn gtk_layout_manager_allocate(
16134        manager: *mut GtkLayoutManager,
16135        widget: *mut GtkWidget,
16136        width: c_int,
16137        height: c_int,
16138        baseline: c_int,
16139    );
16140    pub fn gtk_layout_manager_get_layout_child(
16141        manager: *mut GtkLayoutManager,
16142        child: *mut GtkWidget,
16143    ) -> *mut GtkLayoutChild;
16144    pub fn gtk_layout_manager_get_request_mode(
16145        manager: *mut GtkLayoutManager,
16146    ) -> GtkSizeRequestMode;
16147    pub fn gtk_layout_manager_get_widget(manager: *mut GtkLayoutManager) -> *mut GtkWidget;
16148    pub fn gtk_layout_manager_layout_changed(manager: *mut GtkLayoutManager);
16149    pub fn gtk_layout_manager_measure(
16150        manager: *mut GtkLayoutManager,
16151        widget: *mut GtkWidget,
16152        orientation: GtkOrientation,
16153        for_size: c_int,
16154        minimum: *mut c_int,
16155        natural: *mut c_int,
16156        minimum_baseline: *mut c_int,
16157        natural_baseline: *mut c_int,
16158    );
16159
16160    //=========================================================================
16161    // GtkLevelBar
16162    //=========================================================================
16163    pub fn gtk_level_bar_get_type() -> GType;
16164    pub fn gtk_level_bar_new() -> *mut GtkWidget;
16165    pub fn gtk_level_bar_new_for_interval(
16166        min_value: c_double,
16167        max_value: c_double,
16168    ) -> *mut GtkWidget;
16169    pub fn gtk_level_bar_add_offset_value(
16170        self_: *mut GtkLevelBar,
16171        name: *const c_char,
16172        value: c_double,
16173    );
16174    pub fn gtk_level_bar_get_inverted(self_: *mut GtkLevelBar) -> gboolean;
16175    pub fn gtk_level_bar_get_max_value(self_: *mut GtkLevelBar) -> c_double;
16176    pub fn gtk_level_bar_get_min_value(self_: *mut GtkLevelBar) -> c_double;
16177    pub fn gtk_level_bar_get_mode(self_: *mut GtkLevelBar) -> GtkLevelBarMode;
16178    pub fn gtk_level_bar_get_offset_value(
16179        self_: *mut GtkLevelBar,
16180        name: *const c_char,
16181        value: *mut c_double,
16182    ) -> gboolean;
16183    pub fn gtk_level_bar_get_value(self_: *mut GtkLevelBar) -> c_double;
16184    pub fn gtk_level_bar_remove_offset_value(self_: *mut GtkLevelBar, name: *const c_char);
16185    pub fn gtk_level_bar_set_inverted(self_: *mut GtkLevelBar, inverted: gboolean);
16186    pub fn gtk_level_bar_set_max_value(self_: *mut GtkLevelBar, value: c_double);
16187    pub fn gtk_level_bar_set_min_value(self_: *mut GtkLevelBar, value: c_double);
16188    pub fn gtk_level_bar_set_mode(self_: *mut GtkLevelBar, mode: GtkLevelBarMode);
16189    pub fn gtk_level_bar_set_value(self_: *mut GtkLevelBar, value: c_double);
16190
16191    //=========================================================================
16192    // GtkLinkButton
16193    //=========================================================================
16194    pub fn gtk_link_button_get_type() -> GType;
16195    pub fn gtk_link_button_new(uri: *const c_char) -> *mut GtkWidget;
16196    pub fn gtk_link_button_new_with_label(
16197        uri: *const c_char,
16198        label: *const c_char,
16199    ) -> *mut GtkWidget;
16200    pub fn gtk_link_button_get_uri(link_button: *mut GtkLinkButton) -> *const c_char;
16201    pub fn gtk_link_button_get_visited(link_button: *mut GtkLinkButton) -> gboolean;
16202    pub fn gtk_link_button_set_uri(link_button: *mut GtkLinkButton, uri: *const c_char);
16203    pub fn gtk_link_button_set_visited(link_button: *mut GtkLinkButton, visited: gboolean);
16204
16205    //=========================================================================
16206    // GtkListBase
16207    //=========================================================================
16208    pub fn gtk_list_base_get_type() -> GType;
16209
16210    //=========================================================================
16211    // GtkListBox
16212    //=========================================================================
16213    pub fn gtk_list_box_get_type() -> GType;
16214    pub fn gtk_list_box_new() -> *mut GtkWidget;
16215    pub fn gtk_list_box_append(box_: *mut GtkListBox, child: *mut GtkWidget);
16216    pub fn gtk_list_box_bind_model(
16217        box_: *mut GtkListBox,
16218        model: *mut gio::GListModel,
16219        create_widget_func: GtkListBoxCreateWidgetFunc,
16220        user_data: gpointer,
16221        user_data_free_func: glib::GDestroyNotify,
16222    );
16223    pub fn gtk_list_box_drag_highlight_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16224    pub fn gtk_list_box_drag_unhighlight_row(box_: *mut GtkListBox);
16225    pub fn gtk_list_box_get_activate_on_single_click(box_: *mut GtkListBox) -> gboolean;
16226    pub fn gtk_list_box_get_adjustment(box_: *mut GtkListBox) -> *mut GtkAdjustment;
16227    pub fn gtk_list_box_get_row_at_index(
16228        box_: *mut GtkListBox,
16229        index_: c_int,
16230    ) -> *mut GtkListBoxRow;
16231    pub fn gtk_list_box_get_row_at_y(box_: *mut GtkListBox, y: c_int) -> *mut GtkListBoxRow;
16232    pub fn gtk_list_box_get_selected_row(box_: *mut GtkListBox) -> *mut GtkListBoxRow;
16233    pub fn gtk_list_box_get_selected_rows(box_: *mut GtkListBox) -> *mut glib::GList;
16234    pub fn gtk_list_box_get_selection_mode(box_: *mut GtkListBox) -> GtkSelectionMode;
16235    pub fn gtk_list_box_get_show_separators(box_: *mut GtkListBox) -> gboolean;
16236    #[cfg(feature = "v4_18")]
16237    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
16238    pub fn gtk_list_box_get_tab_behavior(box_: *mut GtkListBox) -> GtkListTabBehavior;
16239    pub fn gtk_list_box_insert(box_: *mut GtkListBox, child: *mut GtkWidget, position: c_int);
16240    pub fn gtk_list_box_invalidate_filter(box_: *mut GtkListBox);
16241    pub fn gtk_list_box_invalidate_headers(box_: *mut GtkListBox);
16242    pub fn gtk_list_box_invalidate_sort(box_: *mut GtkListBox);
16243    pub fn gtk_list_box_prepend(box_: *mut GtkListBox, child: *mut GtkWidget);
16244    pub fn gtk_list_box_remove(box_: *mut GtkListBox, child: *mut GtkWidget);
16245    #[cfg(feature = "v4_12")]
16246    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16247    pub fn gtk_list_box_remove_all(box_: *mut GtkListBox);
16248    pub fn gtk_list_box_select_all(box_: *mut GtkListBox);
16249    pub fn gtk_list_box_select_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16250    pub fn gtk_list_box_selected_foreach(
16251        box_: *mut GtkListBox,
16252        func: GtkListBoxForeachFunc,
16253        data: gpointer,
16254    );
16255    pub fn gtk_list_box_set_activate_on_single_click(box_: *mut GtkListBox, single: gboolean);
16256    pub fn gtk_list_box_set_adjustment(box_: *mut GtkListBox, adjustment: *mut GtkAdjustment);
16257    pub fn gtk_list_box_set_filter_func(
16258        box_: *mut GtkListBox,
16259        filter_func: GtkListBoxFilterFunc,
16260        user_data: gpointer,
16261        destroy: glib::GDestroyNotify,
16262    );
16263    pub fn gtk_list_box_set_header_func(
16264        box_: *mut GtkListBox,
16265        update_header: GtkListBoxUpdateHeaderFunc,
16266        user_data: gpointer,
16267        destroy: glib::GDestroyNotify,
16268    );
16269    pub fn gtk_list_box_set_placeholder(box_: *mut GtkListBox, placeholder: *mut GtkWidget);
16270    pub fn gtk_list_box_set_selection_mode(box_: *mut GtkListBox, mode: GtkSelectionMode);
16271    pub fn gtk_list_box_set_show_separators(box_: *mut GtkListBox, show_separators: gboolean);
16272    pub fn gtk_list_box_set_sort_func(
16273        box_: *mut GtkListBox,
16274        sort_func: GtkListBoxSortFunc,
16275        user_data: gpointer,
16276        destroy: glib::GDestroyNotify,
16277    );
16278    #[cfg(feature = "v4_18")]
16279    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
16280    pub fn gtk_list_box_set_tab_behavior(box_: *mut GtkListBox, behavior: GtkListTabBehavior);
16281    pub fn gtk_list_box_unselect_all(box_: *mut GtkListBox);
16282    pub fn gtk_list_box_unselect_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16283
16284    //=========================================================================
16285    // GtkListBoxRow
16286    //=========================================================================
16287    pub fn gtk_list_box_row_get_type() -> GType;
16288    pub fn gtk_list_box_row_new() -> *mut GtkWidget;
16289    pub fn gtk_list_box_row_changed(row: *mut GtkListBoxRow);
16290    pub fn gtk_list_box_row_get_activatable(row: *mut GtkListBoxRow) -> gboolean;
16291    pub fn gtk_list_box_row_get_child(row: *mut GtkListBoxRow) -> *mut GtkWidget;
16292    pub fn gtk_list_box_row_get_header(row: *mut GtkListBoxRow) -> *mut GtkWidget;
16293    pub fn gtk_list_box_row_get_index(row: *mut GtkListBoxRow) -> c_int;
16294    pub fn gtk_list_box_row_get_selectable(row: *mut GtkListBoxRow) -> gboolean;
16295    pub fn gtk_list_box_row_is_selected(row: *mut GtkListBoxRow) -> gboolean;
16296    pub fn gtk_list_box_row_set_activatable(row: *mut GtkListBoxRow, activatable: gboolean);
16297    pub fn gtk_list_box_row_set_child(row: *mut GtkListBoxRow, child: *mut GtkWidget);
16298    pub fn gtk_list_box_row_set_header(row: *mut GtkListBoxRow, header: *mut GtkWidget);
16299    pub fn gtk_list_box_row_set_selectable(row: *mut GtkListBoxRow, selectable: gboolean);
16300
16301    //=========================================================================
16302    // GtkListHeader
16303    //=========================================================================
16304    #[cfg(feature = "v4_12")]
16305    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16306    pub fn gtk_list_header_get_type() -> GType;
16307    #[cfg(feature = "v4_12")]
16308    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16309    pub fn gtk_list_header_get_child(self_: *mut GtkListHeader) -> *mut GtkWidget;
16310    #[cfg(feature = "v4_12")]
16311    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16312    pub fn gtk_list_header_get_end(self_: *mut GtkListHeader) -> c_uint;
16313    #[cfg(feature = "v4_12")]
16314    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16315    pub fn gtk_list_header_get_item(self_: *mut GtkListHeader) -> *mut gobject::GObject;
16316    #[cfg(feature = "v4_12")]
16317    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16318    pub fn gtk_list_header_get_n_items(self_: *mut GtkListHeader) -> c_uint;
16319    #[cfg(feature = "v4_12")]
16320    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16321    pub fn gtk_list_header_get_start(self_: *mut GtkListHeader) -> c_uint;
16322    #[cfg(feature = "v4_12")]
16323    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16324    pub fn gtk_list_header_set_child(self_: *mut GtkListHeader, child: *mut GtkWidget);
16325
16326    //=========================================================================
16327    // GtkListItem
16328    //=========================================================================
16329    pub fn gtk_list_item_get_type() -> GType;
16330    #[cfg(feature = "v4_12")]
16331    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16332    pub fn gtk_list_item_get_accessible_description(self_: *mut GtkListItem) -> *const c_char;
16333    #[cfg(feature = "v4_12")]
16334    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16335    pub fn gtk_list_item_get_accessible_label(self_: *mut GtkListItem) -> *const c_char;
16336    pub fn gtk_list_item_get_activatable(self_: *mut GtkListItem) -> gboolean;
16337    pub fn gtk_list_item_get_child(self_: *mut GtkListItem) -> *mut GtkWidget;
16338    #[cfg(feature = "v4_12")]
16339    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16340    pub fn gtk_list_item_get_focusable(self_: *mut GtkListItem) -> gboolean;
16341    pub fn gtk_list_item_get_item(self_: *mut GtkListItem) -> *mut gobject::GObject;
16342    pub fn gtk_list_item_get_position(self_: *mut GtkListItem) -> c_uint;
16343    pub fn gtk_list_item_get_selectable(self_: *mut GtkListItem) -> gboolean;
16344    pub fn gtk_list_item_get_selected(self_: *mut GtkListItem) -> gboolean;
16345    #[cfg(feature = "v4_12")]
16346    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16347    pub fn gtk_list_item_set_accessible_description(
16348        self_: *mut GtkListItem,
16349        description: *const c_char,
16350    );
16351    #[cfg(feature = "v4_12")]
16352    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16353    pub fn gtk_list_item_set_accessible_label(self_: *mut GtkListItem, label: *const c_char);
16354    pub fn gtk_list_item_set_activatable(self_: *mut GtkListItem, activatable: gboolean);
16355    pub fn gtk_list_item_set_child(self_: *mut GtkListItem, child: *mut GtkWidget);
16356    #[cfg(feature = "v4_12")]
16357    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16358    pub fn gtk_list_item_set_focusable(self_: *mut GtkListItem, focusable: gboolean);
16359    pub fn gtk_list_item_set_selectable(self_: *mut GtkListItem, selectable: gboolean);
16360
16361    //=========================================================================
16362    // GtkListItemFactory
16363    //=========================================================================
16364    pub fn gtk_list_item_factory_get_type() -> GType;
16365
16366    //=========================================================================
16367    // GtkListStore
16368    //=========================================================================
16369    pub fn gtk_list_store_get_type() -> GType;
16370    pub fn gtk_list_store_new(n_columns: c_int, ...) -> *mut GtkListStore;
16371    pub fn gtk_list_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkListStore;
16372    pub fn gtk_list_store_append(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
16373    pub fn gtk_list_store_clear(list_store: *mut GtkListStore);
16374    pub fn gtk_list_store_insert(
16375        list_store: *mut GtkListStore,
16376        iter: *mut GtkTreeIter,
16377        position: c_int,
16378    );
16379    pub fn gtk_list_store_insert_after(
16380        list_store: *mut GtkListStore,
16381        iter: *mut GtkTreeIter,
16382        sibling: *mut GtkTreeIter,
16383    );
16384    pub fn gtk_list_store_insert_before(
16385        list_store: *mut GtkListStore,
16386        iter: *mut GtkTreeIter,
16387        sibling: *mut GtkTreeIter,
16388    );
16389    pub fn gtk_list_store_insert_with_values(
16390        list_store: *mut GtkListStore,
16391        iter: *mut GtkTreeIter,
16392        position: c_int,
16393        ...
16394    );
16395    pub fn gtk_list_store_insert_with_valuesv(
16396        list_store: *mut GtkListStore,
16397        iter: *mut GtkTreeIter,
16398        position: c_int,
16399        columns: *mut c_int,
16400        values: *mut gobject::GValue,
16401        n_values: c_int,
16402    );
16403    pub fn gtk_list_store_iter_is_valid(
16404        list_store: *mut GtkListStore,
16405        iter: *mut GtkTreeIter,
16406    ) -> gboolean;
16407    pub fn gtk_list_store_move_after(
16408        store: *mut GtkListStore,
16409        iter: *mut GtkTreeIter,
16410        position: *mut GtkTreeIter,
16411    );
16412    pub fn gtk_list_store_move_before(
16413        store: *mut GtkListStore,
16414        iter: *mut GtkTreeIter,
16415        position: *mut GtkTreeIter,
16416    );
16417    pub fn gtk_list_store_prepend(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
16418    pub fn gtk_list_store_remove(list_store: *mut GtkListStore, iter: *mut GtkTreeIter)
16419    -> gboolean;
16420    pub fn gtk_list_store_reorder(store: *mut GtkListStore, new_order: *mut c_int);
16421    pub fn gtk_list_store_set(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, ...);
16422    pub fn gtk_list_store_set_column_types(
16423        list_store: *mut GtkListStore,
16424        n_columns: c_int,
16425        types: *mut GType,
16426    );
16427    //pub fn gtk_list_store_set_valist(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
16428    pub fn gtk_list_store_set_value(
16429        list_store: *mut GtkListStore,
16430        iter: *mut GtkTreeIter,
16431        column: c_int,
16432        value: *mut gobject::GValue,
16433    );
16434    pub fn gtk_list_store_set_valuesv(
16435        list_store: *mut GtkListStore,
16436        iter: *mut GtkTreeIter,
16437        columns: *mut c_int,
16438        values: *mut gobject::GValue,
16439        n_values: c_int,
16440    );
16441    pub fn gtk_list_store_swap(store: *mut GtkListStore, a: *mut GtkTreeIter, b: *mut GtkTreeIter);
16442
16443    //=========================================================================
16444    // GtkListView
16445    //=========================================================================
16446    pub fn gtk_list_view_get_type() -> GType;
16447    pub fn gtk_list_view_new(
16448        model: *mut GtkSelectionModel,
16449        factory: *mut GtkListItemFactory,
16450    ) -> *mut GtkWidget;
16451    pub fn gtk_list_view_get_enable_rubberband(self_: *mut GtkListView) -> gboolean;
16452    pub fn gtk_list_view_get_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
16453    #[cfg(feature = "v4_12")]
16454    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16455    pub fn gtk_list_view_get_header_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
16456    pub fn gtk_list_view_get_model(self_: *mut GtkListView) -> *mut GtkSelectionModel;
16457    pub fn gtk_list_view_get_show_separators(self_: *mut GtkListView) -> gboolean;
16458    pub fn gtk_list_view_get_single_click_activate(self_: *mut GtkListView) -> gboolean;
16459    #[cfg(feature = "v4_12")]
16460    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16461    pub fn gtk_list_view_get_tab_behavior(self_: *mut GtkListView) -> GtkListTabBehavior;
16462    #[cfg(feature = "v4_12")]
16463    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16464    pub fn gtk_list_view_scroll_to(
16465        self_: *mut GtkListView,
16466        pos: c_uint,
16467        flags: GtkListScrollFlags,
16468        scroll: *mut GtkScrollInfo,
16469    );
16470    pub fn gtk_list_view_set_enable_rubberband(
16471        self_: *mut GtkListView,
16472        enable_rubberband: gboolean,
16473    );
16474    pub fn gtk_list_view_set_factory(self_: *mut GtkListView, factory: *mut GtkListItemFactory);
16475    #[cfg(feature = "v4_12")]
16476    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16477    pub fn gtk_list_view_set_header_factory(
16478        self_: *mut GtkListView,
16479        factory: *mut GtkListItemFactory,
16480    );
16481    pub fn gtk_list_view_set_model(self_: *mut GtkListView, model: *mut GtkSelectionModel);
16482    pub fn gtk_list_view_set_show_separators(self_: *mut GtkListView, show_separators: gboolean);
16483    pub fn gtk_list_view_set_single_click_activate(
16484        self_: *mut GtkListView,
16485        single_click_activate: gboolean,
16486    );
16487    #[cfg(feature = "v4_12")]
16488    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16489    pub fn gtk_list_view_set_tab_behavior(
16490        self_: *mut GtkListView,
16491        tab_behavior: GtkListTabBehavior,
16492    );
16493
16494    //=========================================================================
16495    // GtkLockButton
16496    //=========================================================================
16497    pub fn gtk_lock_button_get_type() -> GType;
16498    pub fn gtk_lock_button_new(permission: *mut gio::GPermission) -> *mut GtkWidget;
16499    pub fn gtk_lock_button_get_permission(button: *mut GtkLockButton) -> *mut gio::GPermission;
16500    pub fn gtk_lock_button_set_permission(
16501        button: *mut GtkLockButton,
16502        permission: *mut gio::GPermission,
16503    );
16504
16505    //=========================================================================
16506    // GtkMapListModel
16507    //=========================================================================
16508    pub fn gtk_map_list_model_get_type() -> GType;
16509    pub fn gtk_map_list_model_new(
16510        model: *mut gio::GListModel,
16511        map_func: GtkMapListModelMapFunc,
16512        user_data: gpointer,
16513        user_destroy: glib::GDestroyNotify,
16514    ) -> *mut GtkMapListModel;
16515    pub fn gtk_map_list_model_get_model(self_: *mut GtkMapListModel) -> *mut gio::GListModel;
16516    pub fn gtk_map_list_model_has_map(self_: *mut GtkMapListModel) -> gboolean;
16517    pub fn gtk_map_list_model_set_map_func(
16518        self_: *mut GtkMapListModel,
16519        map_func: GtkMapListModelMapFunc,
16520        user_data: gpointer,
16521        user_destroy: glib::GDestroyNotify,
16522    );
16523    pub fn gtk_map_list_model_set_model(self_: *mut GtkMapListModel, model: *mut gio::GListModel);
16524
16525    //=========================================================================
16526    // GtkMediaControls
16527    //=========================================================================
16528    pub fn gtk_media_controls_get_type() -> GType;
16529    pub fn gtk_media_controls_new(stream: *mut GtkMediaStream) -> *mut GtkWidget;
16530    pub fn gtk_media_controls_get_media_stream(
16531        controls: *mut GtkMediaControls,
16532    ) -> *mut GtkMediaStream;
16533    pub fn gtk_media_controls_set_media_stream(
16534        controls: *mut GtkMediaControls,
16535        stream: *mut GtkMediaStream,
16536    );
16537
16538    //=========================================================================
16539    // GtkMediaFile
16540    //=========================================================================
16541    pub fn gtk_media_file_get_type() -> GType;
16542    pub fn gtk_media_file_new() -> *mut GtkMediaFile;
16543    pub fn gtk_media_file_new_for_file(file: *mut gio::GFile) -> *mut GtkMediaFile;
16544    pub fn gtk_media_file_new_for_filename(filename: *const c_char) -> *mut GtkMediaFile;
16545    pub fn gtk_media_file_new_for_input_stream(stream: *mut gio::GInputStream)
16546    -> *mut GtkMediaFile;
16547    pub fn gtk_media_file_new_for_resource(resource_path: *const c_char) -> *mut GtkMediaFile;
16548    pub fn gtk_media_file_clear(self_: *mut GtkMediaFile);
16549    pub fn gtk_media_file_get_file(self_: *mut GtkMediaFile) -> *mut gio::GFile;
16550    pub fn gtk_media_file_get_input_stream(self_: *mut GtkMediaFile) -> *mut gio::GInputStream;
16551    pub fn gtk_media_file_set_file(self_: *mut GtkMediaFile, file: *mut gio::GFile);
16552    pub fn gtk_media_file_set_filename(self_: *mut GtkMediaFile, filename: *const c_char);
16553    pub fn gtk_media_file_set_input_stream(
16554        self_: *mut GtkMediaFile,
16555        stream: *mut gio::GInputStream,
16556    );
16557    pub fn gtk_media_file_set_resource(self_: *mut GtkMediaFile, resource_path: *const c_char);
16558
16559    //=========================================================================
16560    // GtkMediaStream
16561    //=========================================================================
16562    pub fn gtk_media_stream_get_type() -> GType;
16563    pub fn gtk_media_stream_ended(self_: *mut GtkMediaStream);
16564    pub fn gtk_media_stream_error(
16565        self_: *mut GtkMediaStream,
16566        domain: glib::GQuark,
16567        code: c_int,
16568        format: *const c_char,
16569        ...
16570    );
16571    //pub fn gtk_media_stream_error_valist(self_: *mut GtkMediaStream, domain: glib::GQuark, code: c_int, format: *const c_char, args: /*Unimplemented*/va_list);
16572    pub fn gtk_media_stream_gerror(self_: *mut GtkMediaStream, error: *mut glib::GError);
16573    pub fn gtk_media_stream_get_duration(self_: *mut GtkMediaStream) -> i64;
16574    pub fn gtk_media_stream_get_ended(self_: *mut GtkMediaStream) -> gboolean;
16575    pub fn gtk_media_stream_get_error(self_: *mut GtkMediaStream) -> *const glib::GError;
16576    pub fn gtk_media_stream_get_loop(self_: *mut GtkMediaStream) -> gboolean;
16577    pub fn gtk_media_stream_get_muted(self_: *mut GtkMediaStream) -> gboolean;
16578    pub fn gtk_media_stream_get_playing(self_: *mut GtkMediaStream) -> gboolean;
16579    pub fn gtk_media_stream_get_timestamp(self_: *mut GtkMediaStream) -> i64;
16580    pub fn gtk_media_stream_get_volume(self_: *mut GtkMediaStream) -> c_double;
16581    pub fn gtk_media_stream_has_audio(self_: *mut GtkMediaStream) -> gboolean;
16582    pub fn gtk_media_stream_has_video(self_: *mut GtkMediaStream) -> gboolean;
16583    pub fn gtk_media_stream_is_prepared(self_: *mut GtkMediaStream) -> gboolean;
16584    pub fn gtk_media_stream_is_seekable(self_: *mut GtkMediaStream) -> gboolean;
16585    pub fn gtk_media_stream_is_seeking(self_: *mut GtkMediaStream) -> gboolean;
16586    pub fn gtk_media_stream_pause(self_: *mut GtkMediaStream);
16587    pub fn gtk_media_stream_play(self_: *mut GtkMediaStream);
16588    pub fn gtk_media_stream_prepared(
16589        self_: *mut GtkMediaStream,
16590        has_audio: gboolean,
16591        has_video: gboolean,
16592        seekable: gboolean,
16593        duration: i64,
16594    );
16595    pub fn gtk_media_stream_realize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16596    pub fn gtk_media_stream_seek(self_: *mut GtkMediaStream, timestamp: i64);
16597    pub fn gtk_media_stream_seek_failed(self_: *mut GtkMediaStream);
16598    pub fn gtk_media_stream_seek_success(self_: *mut GtkMediaStream);
16599    pub fn gtk_media_stream_set_loop(self_: *mut GtkMediaStream, loop_: gboolean);
16600    pub fn gtk_media_stream_set_muted(self_: *mut GtkMediaStream, muted: gboolean);
16601    pub fn gtk_media_stream_set_playing(self_: *mut GtkMediaStream, playing: gboolean);
16602    pub fn gtk_media_stream_set_volume(self_: *mut GtkMediaStream, volume: c_double);
16603    #[cfg(feature = "v4_4")]
16604    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16605    pub fn gtk_media_stream_stream_ended(self_: *mut GtkMediaStream);
16606    #[cfg(feature = "v4_4")]
16607    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16608    pub fn gtk_media_stream_stream_prepared(
16609        self_: *mut GtkMediaStream,
16610        has_audio: gboolean,
16611        has_video: gboolean,
16612        seekable: gboolean,
16613        duration: i64,
16614    );
16615    #[cfg(feature = "v4_4")]
16616    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16617    pub fn gtk_media_stream_stream_unprepared(self_: *mut GtkMediaStream);
16618    pub fn gtk_media_stream_unprepared(self_: *mut GtkMediaStream);
16619    pub fn gtk_media_stream_unrealize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16620    pub fn gtk_media_stream_update(self_: *mut GtkMediaStream, timestamp: i64);
16621
16622    //=========================================================================
16623    // GtkMenuButton
16624    //=========================================================================
16625    pub fn gtk_menu_button_get_type() -> GType;
16626    pub fn gtk_menu_button_new() -> *mut GtkWidget;
16627    #[cfg(feature = "v4_10")]
16628    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16629    pub fn gtk_menu_button_get_active(menu_button: *mut GtkMenuButton) -> gboolean;
16630    #[cfg(feature = "v4_4")]
16631    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16632    pub fn gtk_menu_button_get_always_show_arrow(menu_button: *mut GtkMenuButton) -> gboolean;
16633    #[cfg(feature = "v4_12")]
16634    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16635    pub fn gtk_menu_button_get_can_shrink(menu_button: *mut GtkMenuButton) -> gboolean;
16636    #[cfg(feature = "v4_6")]
16637    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16638    pub fn gtk_menu_button_get_child(menu_button: *mut GtkMenuButton) -> *mut GtkWidget;
16639    pub fn gtk_menu_button_get_direction(menu_button: *mut GtkMenuButton) -> GtkArrowType;
16640    pub fn gtk_menu_button_get_has_frame(menu_button: *mut GtkMenuButton) -> gboolean;
16641    pub fn gtk_menu_button_get_icon_name(menu_button: *mut GtkMenuButton) -> *const c_char;
16642    pub fn gtk_menu_button_get_label(menu_button: *mut GtkMenuButton) -> *const c_char;
16643    pub fn gtk_menu_button_get_menu_model(menu_button: *mut GtkMenuButton) -> *mut gio::GMenuModel;
16644    pub fn gtk_menu_button_get_popover(menu_button: *mut GtkMenuButton) -> *mut GtkPopover;
16645    #[cfg(feature = "v4_4")]
16646    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16647    pub fn gtk_menu_button_get_primary(menu_button: *mut GtkMenuButton) -> gboolean;
16648    pub fn gtk_menu_button_get_use_underline(menu_button: *mut GtkMenuButton) -> gboolean;
16649    pub fn gtk_menu_button_popdown(menu_button: *mut GtkMenuButton);
16650    pub fn gtk_menu_button_popup(menu_button: *mut GtkMenuButton);
16651    #[cfg(feature = "v4_10")]
16652    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16653    pub fn gtk_menu_button_set_active(menu_button: *mut GtkMenuButton, active: gboolean);
16654    #[cfg(feature = "v4_4")]
16655    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16656    pub fn gtk_menu_button_set_always_show_arrow(
16657        menu_button: *mut GtkMenuButton,
16658        always_show_arrow: gboolean,
16659    );
16660    #[cfg(feature = "v4_12")]
16661    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16662    pub fn gtk_menu_button_set_can_shrink(menu_button: *mut GtkMenuButton, can_shrink: gboolean);
16663    #[cfg(feature = "v4_6")]
16664    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16665    pub fn gtk_menu_button_set_child(menu_button: *mut GtkMenuButton, child: *mut GtkWidget);
16666    pub fn gtk_menu_button_set_create_popup_func(
16667        menu_button: *mut GtkMenuButton,
16668        func: GtkMenuButtonCreatePopupFunc,
16669        user_data: gpointer,
16670        destroy_notify: glib::GDestroyNotify,
16671    );
16672    pub fn gtk_menu_button_set_direction(menu_button: *mut GtkMenuButton, direction: GtkArrowType);
16673    pub fn gtk_menu_button_set_has_frame(menu_button: *mut GtkMenuButton, has_frame: gboolean);
16674    pub fn gtk_menu_button_set_icon_name(menu_button: *mut GtkMenuButton, icon_name: *const c_char);
16675    pub fn gtk_menu_button_set_label(menu_button: *mut GtkMenuButton, label: *const c_char);
16676    pub fn gtk_menu_button_set_menu_model(
16677        menu_button: *mut GtkMenuButton,
16678        menu_model: *mut gio::GMenuModel,
16679    );
16680    pub fn gtk_menu_button_set_popover(menu_button: *mut GtkMenuButton, popover: *mut GtkPopover);
16681    #[cfg(feature = "v4_4")]
16682    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16683    pub fn gtk_menu_button_set_primary(menu_button: *mut GtkMenuButton, primary: gboolean);
16684    pub fn gtk_menu_button_set_use_underline(
16685        menu_button: *mut GtkMenuButton,
16686        use_underline: gboolean,
16687    );
16688
16689    //=========================================================================
16690    // GtkMessageDialog
16691    //=========================================================================
16692    pub fn gtk_message_dialog_get_type() -> GType;
16693    pub fn gtk_message_dialog_new(
16694        parent: *mut GtkWindow,
16695        flags: GtkDialogFlags,
16696        type_: GtkMessageType,
16697        buttons: GtkButtonsType,
16698        message_format: *const c_char,
16699        ...
16700    ) -> *mut GtkWidget;
16701    pub fn gtk_message_dialog_new_with_markup(
16702        parent: *mut GtkWindow,
16703        flags: GtkDialogFlags,
16704        type_: GtkMessageType,
16705        buttons: GtkButtonsType,
16706        message_format: *const c_char,
16707        ...
16708    ) -> *mut GtkWidget;
16709    pub fn gtk_message_dialog_format_secondary_markup(
16710        message_dialog: *mut GtkMessageDialog,
16711        message_format: *const c_char,
16712        ...
16713    );
16714    pub fn gtk_message_dialog_format_secondary_text(
16715        message_dialog: *mut GtkMessageDialog,
16716        message_format: *const c_char,
16717        ...
16718    );
16719    pub fn gtk_message_dialog_get_message_area(
16720        message_dialog: *mut GtkMessageDialog,
16721    ) -> *mut GtkWidget;
16722    pub fn gtk_message_dialog_set_markup(message_dialog: *mut GtkMessageDialog, str: *const c_char);
16723
16724    //=========================================================================
16725    // GtkMnemonicAction
16726    //=========================================================================
16727    pub fn gtk_mnemonic_action_get_type() -> GType;
16728    pub fn gtk_mnemonic_action_get() -> *mut GtkMnemonicAction;
16729
16730    //=========================================================================
16731    // GtkMnemonicTrigger
16732    //=========================================================================
16733    pub fn gtk_mnemonic_trigger_get_type() -> GType;
16734    pub fn gtk_mnemonic_trigger_new(keyval: c_uint) -> *mut GtkMnemonicTrigger;
16735    pub fn gtk_mnemonic_trigger_get_keyval(self_: *mut GtkMnemonicTrigger) -> c_uint;
16736
16737    //=========================================================================
16738    // GtkMountOperation
16739    //=========================================================================
16740    pub fn gtk_mount_operation_get_type() -> GType;
16741    pub fn gtk_mount_operation_new(parent: *mut GtkWindow) -> *mut gio::GMountOperation;
16742    pub fn gtk_mount_operation_get_display(op: *mut GtkMountOperation) -> *mut gdk::GdkDisplay;
16743    pub fn gtk_mount_operation_get_parent(op: *mut GtkMountOperation) -> *mut GtkWindow;
16744    pub fn gtk_mount_operation_is_showing(op: *mut GtkMountOperation) -> gboolean;
16745    pub fn gtk_mount_operation_set_display(
16746        op: *mut GtkMountOperation,
16747        display: *mut gdk::GdkDisplay,
16748    );
16749    pub fn gtk_mount_operation_set_parent(op: *mut GtkMountOperation, parent: *mut GtkWindow);
16750
16751    //=========================================================================
16752    // GtkMultiFilter
16753    //=========================================================================
16754    pub fn gtk_multi_filter_get_type() -> GType;
16755    pub fn gtk_multi_filter_append(self_: *mut GtkMultiFilter, filter: *mut GtkFilter);
16756    pub fn gtk_multi_filter_remove(self_: *mut GtkMultiFilter, position: c_uint);
16757
16758    //=========================================================================
16759    // GtkMultiSelection
16760    //=========================================================================
16761    pub fn gtk_multi_selection_get_type() -> GType;
16762    pub fn gtk_multi_selection_new(model: *mut gio::GListModel) -> *mut GtkMultiSelection;
16763    pub fn gtk_multi_selection_get_model(self_: *mut GtkMultiSelection) -> *mut gio::GListModel;
16764    pub fn gtk_multi_selection_set_model(
16765        self_: *mut GtkMultiSelection,
16766        model: *mut gio::GListModel,
16767    );
16768
16769    //=========================================================================
16770    // GtkMultiSorter
16771    //=========================================================================
16772    pub fn gtk_multi_sorter_get_type() -> GType;
16773    pub fn gtk_multi_sorter_new() -> *mut GtkMultiSorter;
16774    pub fn gtk_multi_sorter_append(self_: *mut GtkMultiSorter, sorter: *mut GtkSorter);
16775    pub fn gtk_multi_sorter_remove(self_: *mut GtkMultiSorter, position: c_uint);
16776
16777    //=========================================================================
16778    // GtkNamedAction
16779    //=========================================================================
16780    pub fn gtk_named_action_get_type() -> GType;
16781    pub fn gtk_named_action_new(name: *const c_char) -> *mut GtkNamedAction;
16782    pub fn gtk_named_action_get_action_name(self_: *mut GtkNamedAction) -> *const c_char;
16783
16784    //=========================================================================
16785    // GtkNativeDialog
16786    //=========================================================================
16787    pub fn gtk_native_dialog_get_type() -> GType;
16788    pub fn gtk_native_dialog_destroy(self_: *mut GtkNativeDialog);
16789    pub fn gtk_native_dialog_get_modal(self_: *mut GtkNativeDialog) -> gboolean;
16790    pub fn gtk_native_dialog_get_title(self_: *mut GtkNativeDialog) -> *const c_char;
16791    pub fn gtk_native_dialog_get_transient_for(self_: *mut GtkNativeDialog) -> *mut GtkWindow;
16792    pub fn gtk_native_dialog_get_visible(self_: *mut GtkNativeDialog) -> gboolean;
16793    pub fn gtk_native_dialog_hide(self_: *mut GtkNativeDialog);
16794    pub fn gtk_native_dialog_set_modal(self_: *mut GtkNativeDialog, modal: gboolean);
16795    pub fn gtk_native_dialog_set_title(self_: *mut GtkNativeDialog, title: *const c_char);
16796    pub fn gtk_native_dialog_set_transient_for(self_: *mut GtkNativeDialog, parent: *mut GtkWindow);
16797    pub fn gtk_native_dialog_show(self_: *mut GtkNativeDialog);
16798
16799    //=========================================================================
16800    // GtkNeverTrigger
16801    //=========================================================================
16802    pub fn gtk_never_trigger_get_type() -> GType;
16803    pub fn gtk_never_trigger_get() -> *mut GtkNeverTrigger;
16804
16805    //=========================================================================
16806    // GtkNoSelection
16807    //=========================================================================
16808    pub fn gtk_no_selection_get_type() -> GType;
16809    pub fn gtk_no_selection_new(model: *mut gio::GListModel) -> *mut GtkNoSelection;
16810    pub fn gtk_no_selection_get_model(self_: *mut GtkNoSelection) -> *mut gio::GListModel;
16811    pub fn gtk_no_selection_set_model(self_: *mut GtkNoSelection, model: *mut gio::GListModel);
16812
16813    //=========================================================================
16814    // GtkNotebook
16815    //=========================================================================
16816    pub fn gtk_notebook_get_type() -> GType;
16817    pub fn gtk_notebook_new() -> *mut GtkWidget;
16818    pub fn gtk_notebook_append_page(
16819        notebook: *mut GtkNotebook,
16820        child: *mut GtkWidget,
16821        tab_label: *mut GtkWidget,
16822    ) -> c_int;
16823    pub fn gtk_notebook_append_page_menu(
16824        notebook: *mut GtkNotebook,
16825        child: *mut GtkWidget,
16826        tab_label: *mut GtkWidget,
16827        menu_label: *mut GtkWidget,
16828    ) -> c_int;
16829    pub fn gtk_notebook_detach_tab(notebook: *mut GtkNotebook, child: *mut GtkWidget);
16830    pub fn gtk_notebook_get_action_widget(
16831        notebook: *mut GtkNotebook,
16832        pack_type: GtkPackType,
16833    ) -> *mut GtkWidget;
16834    pub fn gtk_notebook_get_current_page(notebook: *mut GtkNotebook) -> c_int;
16835    pub fn gtk_notebook_get_group_name(notebook: *mut GtkNotebook) -> *const c_char;
16836    pub fn gtk_notebook_get_menu_label(
16837        notebook: *mut GtkNotebook,
16838        child: *mut GtkWidget,
16839    ) -> *mut GtkWidget;
16840    pub fn gtk_notebook_get_menu_label_text(
16841        notebook: *mut GtkNotebook,
16842        child: *mut GtkWidget,
16843    ) -> *const c_char;
16844    pub fn gtk_notebook_get_n_pages(notebook: *mut GtkNotebook) -> c_int;
16845    pub fn gtk_notebook_get_nth_page(notebook: *mut GtkNotebook, page_num: c_int)
16846    -> *mut GtkWidget;
16847    pub fn gtk_notebook_get_page(
16848        notebook: *mut GtkNotebook,
16849        child: *mut GtkWidget,
16850    ) -> *mut GtkNotebookPage;
16851    pub fn gtk_notebook_get_pages(notebook: *mut GtkNotebook) -> *mut gio::GListModel;
16852    pub fn gtk_notebook_get_scrollable(notebook: *mut GtkNotebook) -> gboolean;
16853    pub fn gtk_notebook_get_show_border(notebook: *mut GtkNotebook) -> gboolean;
16854    pub fn gtk_notebook_get_show_tabs(notebook: *mut GtkNotebook) -> gboolean;
16855    pub fn gtk_notebook_get_tab_detachable(
16856        notebook: *mut GtkNotebook,
16857        child: *mut GtkWidget,
16858    ) -> gboolean;
16859    pub fn gtk_notebook_get_tab_label(
16860        notebook: *mut GtkNotebook,
16861        child: *mut GtkWidget,
16862    ) -> *mut GtkWidget;
16863    pub fn gtk_notebook_get_tab_label_text(
16864        notebook: *mut GtkNotebook,
16865        child: *mut GtkWidget,
16866    ) -> *const c_char;
16867    pub fn gtk_notebook_get_tab_pos(notebook: *mut GtkNotebook) -> GtkPositionType;
16868    pub fn gtk_notebook_get_tab_reorderable(
16869        notebook: *mut GtkNotebook,
16870        child: *mut GtkWidget,
16871    ) -> gboolean;
16872    pub fn gtk_notebook_insert_page(
16873        notebook: *mut GtkNotebook,
16874        child: *mut GtkWidget,
16875        tab_label: *mut GtkWidget,
16876        position: c_int,
16877    ) -> c_int;
16878    pub fn gtk_notebook_insert_page_menu(
16879        notebook: *mut GtkNotebook,
16880        child: *mut GtkWidget,
16881        tab_label: *mut GtkWidget,
16882        menu_label: *mut GtkWidget,
16883        position: c_int,
16884    ) -> c_int;
16885    pub fn gtk_notebook_next_page(notebook: *mut GtkNotebook);
16886    pub fn gtk_notebook_page_num(notebook: *mut GtkNotebook, child: *mut GtkWidget) -> c_int;
16887    pub fn gtk_notebook_popup_disable(notebook: *mut GtkNotebook);
16888    pub fn gtk_notebook_popup_enable(notebook: *mut GtkNotebook);
16889    pub fn gtk_notebook_prepend_page(
16890        notebook: *mut GtkNotebook,
16891        child: *mut GtkWidget,
16892        tab_label: *mut GtkWidget,
16893    ) -> c_int;
16894    pub fn gtk_notebook_prepend_page_menu(
16895        notebook: *mut GtkNotebook,
16896        child: *mut GtkWidget,
16897        tab_label: *mut GtkWidget,
16898        menu_label: *mut GtkWidget,
16899    ) -> c_int;
16900    pub fn gtk_notebook_prev_page(notebook: *mut GtkNotebook);
16901    pub fn gtk_notebook_remove_page(notebook: *mut GtkNotebook, page_num: c_int);
16902    pub fn gtk_notebook_reorder_child(
16903        notebook: *mut GtkNotebook,
16904        child: *mut GtkWidget,
16905        position: c_int,
16906    );
16907    pub fn gtk_notebook_set_action_widget(
16908        notebook: *mut GtkNotebook,
16909        widget: *mut GtkWidget,
16910        pack_type: GtkPackType,
16911    );
16912    pub fn gtk_notebook_set_current_page(notebook: *mut GtkNotebook, page_num: c_int);
16913    pub fn gtk_notebook_set_group_name(notebook: *mut GtkNotebook, group_name: *const c_char);
16914    pub fn gtk_notebook_set_menu_label(
16915        notebook: *mut GtkNotebook,
16916        child: *mut GtkWidget,
16917        menu_label: *mut GtkWidget,
16918    );
16919    pub fn gtk_notebook_set_menu_label_text(
16920        notebook: *mut GtkNotebook,
16921        child: *mut GtkWidget,
16922        menu_text: *const c_char,
16923    );
16924    pub fn gtk_notebook_set_scrollable(notebook: *mut GtkNotebook, scrollable: gboolean);
16925    pub fn gtk_notebook_set_show_border(notebook: *mut GtkNotebook, show_border: gboolean);
16926    pub fn gtk_notebook_set_show_tabs(notebook: *mut GtkNotebook, show_tabs: gboolean);
16927    pub fn gtk_notebook_set_tab_detachable(
16928        notebook: *mut GtkNotebook,
16929        child: *mut GtkWidget,
16930        detachable: gboolean,
16931    );
16932    pub fn gtk_notebook_set_tab_label(
16933        notebook: *mut GtkNotebook,
16934        child: *mut GtkWidget,
16935        tab_label: *mut GtkWidget,
16936    );
16937    pub fn gtk_notebook_set_tab_label_text(
16938        notebook: *mut GtkNotebook,
16939        child: *mut GtkWidget,
16940        tab_text: *const c_char,
16941    );
16942    pub fn gtk_notebook_set_tab_pos(notebook: *mut GtkNotebook, pos: GtkPositionType);
16943    pub fn gtk_notebook_set_tab_reorderable(
16944        notebook: *mut GtkNotebook,
16945        child: *mut GtkWidget,
16946        reorderable: gboolean,
16947    );
16948
16949    //=========================================================================
16950    // GtkNotebookPage
16951    //=========================================================================
16952    pub fn gtk_notebook_page_get_type() -> GType;
16953    pub fn gtk_notebook_page_get_child(page: *mut GtkNotebookPage) -> *mut GtkWidget;
16954
16955    //=========================================================================
16956    // GtkNothingAction
16957    //=========================================================================
16958    pub fn gtk_nothing_action_get_type() -> GType;
16959    pub fn gtk_nothing_action_get() -> *mut GtkNothingAction;
16960
16961    //=========================================================================
16962    // GtkNumericSorter
16963    //=========================================================================
16964    pub fn gtk_numeric_sorter_get_type() -> GType;
16965    pub fn gtk_numeric_sorter_new(expression: *mut GtkExpression) -> *mut GtkNumericSorter;
16966    pub fn gtk_numeric_sorter_get_expression(self_: *mut GtkNumericSorter) -> *mut GtkExpression;
16967    pub fn gtk_numeric_sorter_get_sort_order(self_: *mut GtkNumericSorter) -> GtkSortType;
16968    pub fn gtk_numeric_sorter_set_expression(
16969        self_: *mut GtkNumericSorter,
16970        expression: *mut GtkExpression,
16971    );
16972    pub fn gtk_numeric_sorter_set_sort_order(self_: *mut GtkNumericSorter, sort_order: GtkSortType);
16973
16974    //=========================================================================
16975    // GtkObjectExpression
16976    //=========================================================================
16977    pub fn gtk_object_expression_get_type() -> GType;
16978    pub fn gtk_object_expression_new(object: *mut gobject::GObject) -> *mut GtkObjectExpression;
16979    pub fn gtk_object_expression_get_object(
16980        expression: *mut GtkObjectExpression,
16981    ) -> *mut gobject::GObject;
16982
16983    //=========================================================================
16984    // GtkOverlay
16985    //=========================================================================
16986    pub fn gtk_overlay_get_type() -> GType;
16987    pub fn gtk_overlay_new() -> *mut GtkWidget;
16988    pub fn gtk_overlay_add_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
16989    pub fn gtk_overlay_get_child(overlay: *mut GtkOverlay) -> *mut GtkWidget;
16990    pub fn gtk_overlay_get_clip_overlay(
16991        overlay: *mut GtkOverlay,
16992        widget: *mut GtkWidget,
16993    ) -> gboolean;
16994    pub fn gtk_overlay_get_measure_overlay(
16995        overlay: *mut GtkOverlay,
16996        widget: *mut GtkWidget,
16997    ) -> gboolean;
16998    pub fn gtk_overlay_remove_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
16999    pub fn gtk_overlay_set_child(overlay: *mut GtkOverlay, child: *mut GtkWidget);
17000    pub fn gtk_overlay_set_clip_overlay(
17001        overlay: *mut GtkOverlay,
17002        widget: *mut GtkWidget,
17003        clip_overlay: gboolean,
17004    );
17005    pub fn gtk_overlay_set_measure_overlay(
17006        overlay: *mut GtkOverlay,
17007        widget: *mut GtkWidget,
17008        measure: gboolean,
17009    );
17010
17011    //=========================================================================
17012    // GtkOverlayLayout
17013    //=========================================================================
17014    pub fn gtk_overlay_layout_get_type() -> GType;
17015    pub fn gtk_overlay_layout_new() -> *mut GtkLayoutManager;
17016
17017    //=========================================================================
17018    // GtkOverlayLayoutChild
17019    //=========================================================================
17020    pub fn gtk_overlay_layout_child_get_type() -> GType;
17021    pub fn gtk_overlay_layout_child_get_clip_overlay(child: *mut GtkOverlayLayoutChild)
17022    -> gboolean;
17023    pub fn gtk_overlay_layout_child_get_measure(child: *mut GtkOverlayLayoutChild) -> gboolean;
17024    pub fn gtk_overlay_layout_child_set_clip_overlay(
17025        child: *mut GtkOverlayLayoutChild,
17026        clip_overlay: gboolean,
17027    );
17028    pub fn gtk_overlay_layout_child_set_measure(
17029        child: *mut GtkOverlayLayoutChild,
17030        measure: gboolean,
17031    );
17032
17033    //=========================================================================
17034    // GtkPadController
17035    //=========================================================================
17036    pub fn gtk_pad_controller_get_type() -> GType;
17037    pub fn gtk_pad_controller_new(
17038        group: *mut gio::GActionGroup,
17039        pad: *mut gdk::GdkDevice,
17040    ) -> *mut GtkPadController;
17041    pub fn gtk_pad_controller_set_action(
17042        controller: *mut GtkPadController,
17043        type_: GtkPadActionType,
17044        index: c_int,
17045        mode: c_int,
17046        label: *const c_char,
17047        action_name: *const c_char,
17048    );
17049    pub fn gtk_pad_controller_set_action_entries(
17050        controller: *mut GtkPadController,
17051        entries: *const GtkPadActionEntry,
17052        n_entries: c_int,
17053    );
17054
17055    //=========================================================================
17056    // GtkPageSetup
17057    //=========================================================================
17058    pub fn gtk_page_setup_get_type() -> GType;
17059    pub fn gtk_page_setup_new() -> *mut GtkPageSetup;
17060    pub fn gtk_page_setup_new_from_file(
17061        file_name: *const c_char,
17062        error: *mut *mut glib::GError,
17063    ) -> *mut GtkPageSetup;
17064    pub fn gtk_page_setup_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPageSetup;
17065    pub fn gtk_page_setup_new_from_key_file(
17066        key_file: *mut glib::GKeyFile,
17067        group_name: *const c_char,
17068        error: *mut *mut glib::GError,
17069    ) -> *mut GtkPageSetup;
17070    pub fn gtk_page_setup_copy(other: *mut GtkPageSetup) -> *mut GtkPageSetup;
17071    pub fn gtk_page_setup_get_bottom_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17072    pub fn gtk_page_setup_get_left_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17073    pub fn gtk_page_setup_get_orientation(setup: *mut GtkPageSetup) -> GtkPageOrientation;
17074    pub fn gtk_page_setup_get_page_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17075    pub fn gtk_page_setup_get_page_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17076    pub fn gtk_page_setup_get_paper_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17077    pub fn gtk_page_setup_get_paper_size(setup: *mut GtkPageSetup) -> *mut GtkPaperSize;
17078    pub fn gtk_page_setup_get_paper_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17079    pub fn gtk_page_setup_get_right_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17080    pub fn gtk_page_setup_get_top_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17081    pub fn gtk_page_setup_load_file(
17082        setup: *mut GtkPageSetup,
17083        file_name: *const c_char,
17084        error: *mut *mut glib::GError,
17085    ) -> gboolean;
17086    pub fn gtk_page_setup_load_key_file(
17087        setup: *mut GtkPageSetup,
17088        key_file: *mut glib::GKeyFile,
17089        group_name: *const c_char,
17090        error: *mut *mut glib::GError,
17091    ) -> gboolean;
17092    pub fn gtk_page_setup_set_bottom_margin(
17093        setup: *mut GtkPageSetup,
17094        margin: c_double,
17095        unit: GtkUnit,
17096    );
17097    pub fn gtk_page_setup_set_left_margin(
17098        setup: *mut GtkPageSetup,
17099        margin: c_double,
17100        unit: GtkUnit,
17101    );
17102    pub fn gtk_page_setup_set_orientation(
17103        setup: *mut GtkPageSetup,
17104        orientation: GtkPageOrientation,
17105    );
17106    pub fn gtk_page_setup_set_paper_size(setup: *mut GtkPageSetup, size: *mut GtkPaperSize);
17107    pub fn gtk_page_setup_set_paper_size_and_default_margins(
17108        setup: *mut GtkPageSetup,
17109        size: *mut GtkPaperSize,
17110    );
17111    pub fn gtk_page_setup_set_right_margin(
17112        setup: *mut GtkPageSetup,
17113        margin: c_double,
17114        unit: GtkUnit,
17115    );
17116    pub fn gtk_page_setup_set_top_margin(setup: *mut GtkPageSetup, margin: c_double, unit: GtkUnit);
17117    pub fn gtk_page_setup_to_file(
17118        setup: *mut GtkPageSetup,
17119        file_name: *const c_char,
17120        error: *mut *mut glib::GError,
17121    ) -> gboolean;
17122    pub fn gtk_page_setup_to_gvariant(setup: *mut GtkPageSetup) -> *mut glib::GVariant;
17123    pub fn gtk_page_setup_to_key_file(
17124        setup: *mut GtkPageSetup,
17125        key_file: *mut glib::GKeyFile,
17126        group_name: *const c_char,
17127    );
17128
17129    //=========================================================================
17130    // GtkPageSetupUnixDialog
17131    //=========================================================================
17132    pub fn gtk_page_setup_unix_dialog_get_type() -> GType;
17133    pub fn gtk_page_setup_unix_dialog_new(
17134        title: *const c_char,
17135        parent: *mut GtkWindow,
17136    ) -> *mut GtkWidget;
17137    pub fn gtk_page_setup_unix_dialog_get_page_setup(
17138        dialog: *mut GtkPageSetupUnixDialog,
17139    ) -> *mut GtkPageSetup;
17140    pub fn gtk_page_setup_unix_dialog_get_print_settings(
17141        dialog: *mut GtkPageSetupUnixDialog,
17142    ) -> *mut GtkPrintSettings;
17143    pub fn gtk_page_setup_unix_dialog_set_page_setup(
17144        dialog: *mut GtkPageSetupUnixDialog,
17145        page_setup: *mut GtkPageSetup,
17146    );
17147    pub fn gtk_page_setup_unix_dialog_set_print_settings(
17148        dialog: *mut GtkPageSetupUnixDialog,
17149        print_settings: *mut GtkPrintSettings,
17150    );
17151
17152    //=========================================================================
17153    // GtkPaned
17154    //=========================================================================
17155    pub fn gtk_paned_get_type() -> GType;
17156    pub fn gtk_paned_new(orientation: GtkOrientation) -> *mut GtkWidget;
17157    pub fn gtk_paned_get_end_child(paned: *mut GtkPaned) -> *mut GtkWidget;
17158    pub fn gtk_paned_get_position(paned: *mut GtkPaned) -> c_int;
17159    pub fn gtk_paned_get_resize_end_child(paned: *mut GtkPaned) -> gboolean;
17160    pub fn gtk_paned_get_resize_start_child(paned: *mut GtkPaned) -> gboolean;
17161    pub fn gtk_paned_get_shrink_end_child(paned: *mut GtkPaned) -> gboolean;
17162    pub fn gtk_paned_get_shrink_start_child(paned: *mut GtkPaned) -> gboolean;
17163    pub fn gtk_paned_get_start_child(paned: *mut GtkPaned) -> *mut GtkWidget;
17164    pub fn gtk_paned_get_wide_handle(paned: *mut GtkPaned) -> gboolean;
17165    pub fn gtk_paned_set_end_child(paned: *mut GtkPaned, child: *mut GtkWidget);
17166    pub fn gtk_paned_set_position(paned: *mut GtkPaned, position: c_int);
17167    pub fn gtk_paned_set_resize_end_child(paned: *mut GtkPaned, resize: gboolean);
17168    pub fn gtk_paned_set_resize_start_child(paned: *mut GtkPaned, resize: gboolean);
17169    pub fn gtk_paned_set_shrink_end_child(paned: *mut GtkPaned, resize: gboolean);
17170    pub fn gtk_paned_set_shrink_start_child(paned: *mut GtkPaned, resize: gboolean);
17171    pub fn gtk_paned_set_start_child(paned: *mut GtkPaned, child: *mut GtkWidget);
17172    pub fn gtk_paned_set_wide_handle(paned: *mut GtkPaned, wide: gboolean);
17173
17174    //=========================================================================
17175    // GtkParamSpecExpression
17176    //=========================================================================
17177    pub fn gtk_param_expression_get_type() -> GType;
17178
17179    //=========================================================================
17180    // GtkPasswordEntry
17181    //=========================================================================
17182    pub fn gtk_password_entry_get_type() -> GType;
17183    pub fn gtk_password_entry_new() -> *mut GtkWidget;
17184    pub fn gtk_password_entry_get_extra_menu(entry: *mut GtkPasswordEntry) -> *mut gio::GMenuModel;
17185    pub fn gtk_password_entry_get_show_peek_icon(entry: *mut GtkPasswordEntry) -> gboolean;
17186    pub fn gtk_password_entry_set_extra_menu(
17187        entry: *mut GtkPasswordEntry,
17188        model: *mut gio::GMenuModel,
17189    );
17190    pub fn gtk_password_entry_set_show_peek_icon(
17191        entry: *mut GtkPasswordEntry,
17192        show_peek_icon: gboolean,
17193    );
17194
17195    //=========================================================================
17196    // GtkPasswordEntryBuffer
17197    //=========================================================================
17198    #[cfg(feature = "v4_4")]
17199    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
17200    pub fn gtk_password_entry_buffer_get_type() -> GType;
17201    #[cfg(feature = "v4_4")]
17202    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
17203    pub fn gtk_password_entry_buffer_new() -> *mut GtkEntryBuffer;
17204
17205    //=========================================================================
17206    // GtkPicture
17207    //=========================================================================
17208    pub fn gtk_picture_get_type() -> GType;
17209    pub fn gtk_picture_new() -> *mut GtkWidget;
17210    pub fn gtk_picture_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
17211    pub fn gtk_picture_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
17212    pub fn gtk_picture_new_for_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
17213    pub fn gtk_picture_new_for_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
17214    pub fn gtk_picture_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
17215    pub fn gtk_picture_get_alternative_text(self_: *mut GtkPicture) -> *const c_char;
17216    pub fn gtk_picture_get_can_shrink(self_: *mut GtkPicture) -> gboolean;
17217    #[cfg(feature = "v4_8")]
17218    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17219    pub fn gtk_picture_get_content_fit(self_: *mut GtkPicture) -> GtkContentFit;
17220    pub fn gtk_picture_get_file(self_: *mut GtkPicture) -> *mut gio::GFile;
17221    #[cfg(feature = "v4_22")]
17222    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17223    pub fn gtk_picture_get_isolate_contents(self_: *mut GtkPicture) -> gboolean;
17224    pub fn gtk_picture_get_keep_aspect_ratio(self_: *mut GtkPicture) -> gboolean;
17225    pub fn gtk_picture_get_paintable(self_: *mut GtkPicture) -> *mut gdk::GdkPaintable;
17226    pub fn gtk_picture_set_alternative_text(
17227        self_: *mut GtkPicture,
17228        alternative_text: *const c_char,
17229    );
17230    pub fn gtk_picture_set_can_shrink(self_: *mut GtkPicture, can_shrink: gboolean);
17231    #[cfg(feature = "v4_8")]
17232    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17233    pub fn gtk_picture_set_content_fit(self_: *mut GtkPicture, content_fit: GtkContentFit);
17234    pub fn gtk_picture_set_file(self_: *mut GtkPicture, file: *mut gio::GFile);
17235    pub fn gtk_picture_set_filename(self_: *mut GtkPicture, filename: *const c_char);
17236    #[cfg(feature = "v4_22")]
17237    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17238    pub fn gtk_picture_set_isolate_contents(self_: *mut GtkPicture, isolate_contents: gboolean);
17239    pub fn gtk_picture_set_keep_aspect_ratio(self_: *mut GtkPicture, keep_aspect_ratio: gboolean);
17240    pub fn gtk_picture_set_paintable(self_: *mut GtkPicture, paintable: *mut gdk::GdkPaintable);
17241    pub fn gtk_picture_set_pixbuf(self_: *mut GtkPicture, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
17242    pub fn gtk_picture_set_resource(self_: *mut GtkPicture, resource_path: *const c_char);
17243
17244    //=========================================================================
17245    // GtkPopover
17246    //=========================================================================
17247    pub fn gtk_popover_get_type() -> GType;
17248    pub fn gtk_popover_new() -> *mut GtkWidget;
17249    pub fn gtk_popover_get_autohide(popover: *mut GtkPopover) -> gboolean;
17250    pub fn gtk_popover_get_cascade_popdown(popover: *mut GtkPopover) -> gboolean;
17251    pub fn gtk_popover_get_child(popover: *mut GtkPopover) -> *mut GtkWidget;
17252    pub fn gtk_popover_get_has_arrow(popover: *mut GtkPopover) -> gboolean;
17253    pub fn gtk_popover_get_mnemonics_visible(popover: *mut GtkPopover) -> gboolean;
17254    pub fn gtk_popover_get_offset(
17255        popover: *mut GtkPopover,
17256        x_offset: *mut c_int,
17257        y_offset: *mut c_int,
17258    );
17259    pub fn gtk_popover_get_pointing_to(
17260        popover: *mut GtkPopover,
17261        rect: *mut gdk::GdkRectangle,
17262    ) -> gboolean;
17263    pub fn gtk_popover_get_position(popover: *mut GtkPopover) -> GtkPositionType;
17264    pub fn gtk_popover_popdown(popover: *mut GtkPopover);
17265    pub fn gtk_popover_popup(popover: *mut GtkPopover);
17266    pub fn gtk_popover_present(popover: *mut GtkPopover);
17267    pub fn gtk_popover_set_autohide(popover: *mut GtkPopover, autohide: gboolean);
17268    pub fn gtk_popover_set_cascade_popdown(popover: *mut GtkPopover, cascade_popdown: gboolean);
17269    pub fn gtk_popover_set_child(popover: *mut GtkPopover, child: *mut GtkWidget);
17270    pub fn gtk_popover_set_default_widget(popover: *mut GtkPopover, widget: *mut GtkWidget);
17271    pub fn gtk_popover_set_has_arrow(popover: *mut GtkPopover, has_arrow: gboolean);
17272    pub fn gtk_popover_set_mnemonics_visible(popover: *mut GtkPopover, mnemonics_visible: gboolean);
17273    pub fn gtk_popover_set_offset(popover: *mut GtkPopover, x_offset: c_int, y_offset: c_int);
17274    pub fn gtk_popover_set_pointing_to(popover: *mut GtkPopover, rect: *const gdk::GdkRectangle);
17275    pub fn gtk_popover_set_position(popover: *mut GtkPopover, position: GtkPositionType);
17276
17277    //=========================================================================
17278    // GtkPopoverBin
17279    //=========================================================================
17280    #[cfg(feature = "v4_22")]
17281    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17282    pub fn gtk_popover_bin_get_type() -> GType;
17283    #[cfg(feature = "v4_22")]
17284    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17285    pub fn gtk_popover_bin_new() -> *mut GtkWidget;
17286    #[cfg(feature = "v4_22")]
17287    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17288    pub fn gtk_popover_bin_get_child(self_: *mut GtkPopoverBin) -> *mut GtkWidget;
17289    #[cfg(feature = "v4_22")]
17290    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17291    pub fn gtk_popover_bin_get_handle_input(self_: *mut GtkPopoverBin) -> gboolean;
17292    #[cfg(feature = "v4_22")]
17293    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17294    pub fn gtk_popover_bin_get_menu_model(self_: *mut GtkPopoverBin) -> *mut gio::GMenuModel;
17295    #[cfg(feature = "v4_22")]
17296    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17297    pub fn gtk_popover_bin_get_popover(self_: *mut GtkPopoverBin) -> *mut GtkPopover;
17298    #[cfg(feature = "v4_22")]
17299    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17300    pub fn gtk_popover_bin_popdown(self_: *mut GtkPopoverBin);
17301    #[cfg(feature = "v4_22")]
17302    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17303    pub fn gtk_popover_bin_popup(self_: *mut GtkPopoverBin);
17304    #[cfg(feature = "v4_22")]
17305    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17306    pub fn gtk_popover_bin_set_child(self_: *mut GtkPopoverBin, child: *mut GtkWidget);
17307    #[cfg(feature = "v4_22")]
17308    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17309    pub fn gtk_popover_bin_set_handle_input(self_: *mut GtkPopoverBin, handle_input: gboolean);
17310    #[cfg(feature = "v4_22")]
17311    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17312    pub fn gtk_popover_bin_set_menu_model(self_: *mut GtkPopoverBin, model: *mut gio::GMenuModel);
17313    #[cfg(feature = "v4_22")]
17314    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17315    pub fn gtk_popover_bin_set_popover(self_: *mut GtkPopoverBin, popover: *mut GtkPopover);
17316
17317    //=========================================================================
17318    // GtkPopoverMenu
17319    //=========================================================================
17320    pub fn gtk_popover_menu_get_type() -> GType;
17321    pub fn gtk_popover_menu_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
17322    pub fn gtk_popover_menu_new_from_model_full(
17323        model: *mut gio::GMenuModel,
17324        flags: GtkPopoverMenuFlags,
17325    ) -> *mut GtkWidget;
17326    pub fn gtk_popover_menu_add_child(
17327        popover: *mut GtkPopoverMenu,
17328        child: *mut GtkWidget,
17329        id: *const c_char,
17330    ) -> gboolean;
17331    #[cfg(feature = "v4_14")]
17332    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17333    pub fn gtk_popover_menu_get_flags(popover: *mut GtkPopoverMenu) -> GtkPopoverMenuFlags;
17334    pub fn gtk_popover_menu_get_menu_model(popover: *mut GtkPopoverMenu) -> *mut gio::GMenuModel;
17335    pub fn gtk_popover_menu_remove_child(
17336        popover: *mut GtkPopoverMenu,
17337        child: *mut GtkWidget,
17338    ) -> gboolean;
17339    #[cfg(feature = "v4_14")]
17340    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17341    pub fn gtk_popover_menu_set_flags(popover: *mut GtkPopoverMenu, flags: GtkPopoverMenuFlags);
17342    pub fn gtk_popover_menu_set_menu_model(
17343        popover: *mut GtkPopoverMenu,
17344        model: *mut gio::GMenuModel,
17345    );
17346
17347    //=========================================================================
17348    // GtkPopoverMenuBar
17349    //=========================================================================
17350    pub fn gtk_popover_menu_bar_get_type() -> GType;
17351    pub fn gtk_popover_menu_bar_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
17352    pub fn gtk_popover_menu_bar_add_child(
17353        bar: *mut GtkPopoverMenuBar,
17354        child: *mut GtkWidget,
17355        id: *const c_char,
17356    ) -> gboolean;
17357    pub fn gtk_popover_menu_bar_get_menu_model(bar: *mut GtkPopoverMenuBar)
17358    -> *mut gio::GMenuModel;
17359    pub fn gtk_popover_menu_bar_remove_child(
17360        bar: *mut GtkPopoverMenuBar,
17361        child: *mut GtkWidget,
17362    ) -> gboolean;
17363    pub fn gtk_popover_menu_bar_set_menu_model(
17364        bar: *mut GtkPopoverMenuBar,
17365        model: *mut gio::GMenuModel,
17366    );
17367
17368    //=========================================================================
17369    // GtkPrintContext
17370    //=========================================================================
17371    pub fn gtk_print_context_get_type() -> GType;
17372    pub fn gtk_print_context_create_pango_context(
17373        context: *mut GtkPrintContext,
17374    ) -> *mut pango::PangoContext;
17375    pub fn gtk_print_context_create_pango_layout(
17376        context: *mut GtkPrintContext,
17377    ) -> *mut pango::PangoLayout;
17378    pub fn gtk_print_context_get_cairo_context(
17379        context: *mut GtkPrintContext,
17380    ) -> *mut cairo::cairo_t;
17381    pub fn gtk_print_context_get_dpi_x(context: *mut GtkPrintContext) -> c_double;
17382    pub fn gtk_print_context_get_dpi_y(context: *mut GtkPrintContext) -> c_double;
17383    pub fn gtk_print_context_get_hard_margins(
17384        context: *mut GtkPrintContext,
17385        top: *mut c_double,
17386        bottom: *mut c_double,
17387        left: *mut c_double,
17388        right: *mut c_double,
17389    ) -> gboolean;
17390    pub fn gtk_print_context_get_height(context: *mut GtkPrintContext) -> c_double;
17391    pub fn gtk_print_context_get_page_setup(context: *mut GtkPrintContext) -> *mut GtkPageSetup;
17392    pub fn gtk_print_context_get_pango_fontmap(
17393        context: *mut GtkPrintContext,
17394    ) -> *mut pango::PangoFontMap;
17395    pub fn gtk_print_context_get_width(context: *mut GtkPrintContext) -> c_double;
17396    pub fn gtk_print_context_set_cairo_context(
17397        context: *mut GtkPrintContext,
17398        cr: *mut cairo::cairo_t,
17399        dpi_x: c_double,
17400        dpi_y: c_double,
17401    );
17402
17403    //=========================================================================
17404    // GtkPrintDialog
17405    //=========================================================================
17406    #[cfg(feature = "v4_14")]
17407    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17408    pub fn gtk_print_dialog_get_type() -> GType;
17409    #[cfg(feature = "v4_14")]
17410    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17411    pub fn gtk_print_dialog_new() -> *mut GtkPrintDialog;
17412    #[cfg(feature = "v4_14")]
17413    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17414    pub fn gtk_print_dialog_get_accept_label(self_: *mut GtkPrintDialog) -> *const c_char;
17415    #[cfg(feature = "v4_14")]
17416    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17417    pub fn gtk_print_dialog_get_modal(self_: *mut GtkPrintDialog) -> gboolean;
17418    #[cfg(feature = "v4_14")]
17419    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17420    pub fn gtk_print_dialog_get_page_setup(self_: *mut GtkPrintDialog) -> *mut GtkPageSetup;
17421    #[cfg(feature = "v4_14")]
17422    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17423    pub fn gtk_print_dialog_get_print_settings(self_: *mut GtkPrintDialog)
17424    -> *mut GtkPrintSettings;
17425    #[cfg(feature = "v4_14")]
17426    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17427    pub fn gtk_print_dialog_get_title(self_: *mut GtkPrintDialog) -> *const c_char;
17428    #[cfg(feature = "v4_14")]
17429    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17430    pub fn gtk_print_dialog_print(
17431        self_: *mut GtkPrintDialog,
17432        parent: *mut GtkWindow,
17433        setup: *mut GtkPrintSetup,
17434        cancellable: *mut gio::GCancellable,
17435        callback: gio::GAsyncReadyCallback,
17436        user_data: gpointer,
17437    );
17438    #[cfg(feature = "v4_14")]
17439    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17440    pub fn gtk_print_dialog_print_file(
17441        self_: *mut GtkPrintDialog,
17442        parent: *mut GtkWindow,
17443        setup: *mut GtkPrintSetup,
17444        file: *mut gio::GFile,
17445        cancellable: *mut gio::GCancellable,
17446        callback: gio::GAsyncReadyCallback,
17447        user_data: gpointer,
17448    );
17449    #[cfg(feature = "v4_14")]
17450    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17451    pub fn gtk_print_dialog_print_file_finish(
17452        self_: *mut GtkPrintDialog,
17453        result: *mut gio::GAsyncResult,
17454        error: *mut *mut glib::GError,
17455    ) -> gboolean;
17456    #[cfg(feature = "v4_14")]
17457    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17458    pub fn gtk_print_dialog_print_finish(
17459        self_: *mut GtkPrintDialog,
17460        result: *mut gio::GAsyncResult,
17461        error: *mut *mut glib::GError,
17462    ) -> *mut gio::GOutputStream;
17463    #[cfg(feature = "v4_14")]
17464    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17465    pub fn gtk_print_dialog_set_accept_label(
17466        self_: *mut GtkPrintDialog,
17467        accept_label: *const c_char,
17468    );
17469    #[cfg(feature = "v4_14")]
17470    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17471    pub fn gtk_print_dialog_set_modal(self_: *mut GtkPrintDialog, modal: gboolean);
17472    #[cfg(feature = "v4_14")]
17473    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17474    pub fn gtk_print_dialog_set_page_setup(
17475        self_: *mut GtkPrintDialog,
17476        page_setup: *mut GtkPageSetup,
17477    );
17478    #[cfg(feature = "v4_14")]
17479    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17480    pub fn gtk_print_dialog_set_print_settings(
17481        self_: *mut GtkPrintDialog,
17482        print_settings: *mut GtkPrintSettings,
17483    );
17484    #[cfg(feature = "v4_14")]
17485    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17486    pub fn gtk_print_dialog_set_title(self_: *mut GtkPrintDialog, title: *const c_char);
17487    #[cfg(feature = "v4_14")]
17488    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17489    pub fn gtk_print_dialog_setup(
17490        self_: *mut GtkPrintDialog,
17491        parent: *mut GtkWindow,
17492        cancellable: *mut gio::GCancellable,
17493        callback: gio::GAsyncReadyCallback,
17494        user_data: gpointer,
17495    );
17496    #[cfg(feature = "v4_14")]
17497    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17498    pub fn gtk_print_dialog_setup_finish(
17499        self_: *mut GtkPrintDialog,
17500        result: *mut gio::GAsyncResult,
17501        error: *mut *mut glib::GError,
17502    ) -> *mut GtkPrintSetup;
17503
17504    //=========================================================================
17505    // GtkPrintJob
17506    //=========================================================================
17507    pub fn gtk_print_job_get_type() -> GType;
17508    pub fn gtk_print_job_new(
17509        title: *const c_char,
17510        printer: *mut GtkPrinter,
17511        settings: *mut GtkPrintSettings,
17512        page_setup: *mut GtkPageSetup,
17513    ) -> *mut GtkPrintJob;
17514    pub fn gtk_print_job_get_collate(job: *mut GtkPrintJob) -> gboolean;
17515    pub fn gtk_print_job_get_n_up(job: *mut GtkPrintJob) -> c_uint;
17516    pub fn gtk_print_job_get_n_up_layout(job: *mut GtkPrintJob) -> GtkNumberUpLayout;
17517    pub fn gtk_print_job_get_num_copies(job: *mut GtkPrintJob) -> c_int;
17518    pub fn gtk_print_job_get_page_ranges(
17519        job: *mut GtkPrintJob,
17520        n_ranges: *mut c_int,
17521    ) -> *mut GtkPageRange;
17522    pub fn gtk_print_job_get_page_set(job: *mut GtkPrintJob) -> GtkPageSet;
17523    pub fn gtk_print_job_get_pages(job: *mut GtkPrintJob) -> GtkPrintPages;
17524    pub fn gtk_print_job_get_printer(job: *mut GtkPrintJob) -> *mut GtkPrinter;
17525    pub fn gtk_print_job_get_reverse(job: *mut GtkPrintJob) -> gboolean;
17526    pub fn gtk_print_job_get_rotate(job: *mut GtkPrintJob) -> gboolean;
17527    pub fn gtk_print_job_get_scale(job: *mut GtkPrintJob) -> c_double;
17528    pub fn gtk_print_job_get_settings(job: *mut GtkPrintJob) -> *mut GtkPrintSettings;
17529    pub fn gtk_print_job_get_status(job: *mut GtkPrintJob) -> GtkPrintStatus;
17530    pub fn gtk_print_job_get_surface(
17531        job: *mut GtkPrintJob,
17532        error: *mut *mut glib::GError,
17533    ) -> *mut cairo::cairo_surface_t;
17534    pub fn gtk_print_job_get_title(job: *mut GtkPrintJob) -> *const c_char;
17535    pub fn gtk_print_job_get_track_print_status(job: *mut GtkPrintJob) -> gboolean;
17536    pub fn gtk_print_job_send(
17537        job: *mut GtkPrintJob,
17538        callback: GtkPrintJobCompleteFunc,
17539        user_data: gpointer,
17540        dnotify: glib::GDestroyNotify,
17541    );
17542    pub fn gtk_print_job_set_collate(job: *mut GtkPrintJob, collate: gboolean);
17543    pub fn gtk_print_job_set_n_up(job: *mut GtkPrintJob, n_up: c_uint);
17544    pub fn gtk_print_job_set_n_up_layout(job: *mut GtkPrintJob, layout: GtkNumberUpLayout);
17545    pub fn gtk_print_job_set_num_copies(job: *mut GtkPrintJob, num_copies: c_int);
17546    pub fn gtk_print_job_set_page_ranges(
17547        job: *mut GtkPrintJob,
17548        ranges: *mut GtkPageRange,
17549        n_ranges: c_int,
17550    );
17551    pub fn gtk_print_job_set_page_set(job: *mut GtkPrintJob, page_set: GtkPageSet);
17552    pub fn gtk_print_job_set_pages(job: *mut GtkPrintJob, pages: GtkPrintPages);
17553    pub fn gtk_print_job_set_reverse(job: *mut GtkPrintJob, reverse: gboolean);
17554    pub fn gtk_print_job_set_rotate(job: *mut GtkPrintJob, rotate: gboolean);
17555    pub fn gtk_print_job_set_scale(job: *mut GtkPrintJob, scale: c_double);
17556    pub fn gtk_print_job_set_source_fd(
17557        job: *mut GtkPrintJob,
17558        fd: c_int,
17559        error: *mut *mut glib::GError,
17560    ) -> gboolean;
17561    pub fn gtk_print_job_set_source_file(
17562        job: *mut GtkPrintJob,
17563        filename: *const c_char,
17564        error: *mut *mut glib::GError,
17565    ) -> gboolean;
17566    pub fn gtk_print_job_set_track_print_status(job: *mut GtkPrintJob, track_status: gboolean);
17567
17568    //=========================================================================
17569    // GtkPrintOperation
17570    //=========================================================================
17571    pub fn gtk_print_operation_get_type() -> GType;
17572    pub fn gtk_print_operation_new() -> *mut GtkPrintOperation;
17573    pub fn gtk_print_operation_cancel(op: *mut GtkPrintOperation);
17574    pub fn gtk_print_operation_draw_page_finish(op: *mut GtkPrintOperation);
17575    pub fn gtk_print_operation_get_default_page_setup(
17576        op: *mut GtkPrintOperation,
17577    ) -> *mut GtkPageSetup;
17578    pub fn gtk_print_operation_get_embed_page_setup(op: *mut GtkPrintOperation) -> gboolean;
17579    pub fn gtk_print_operation_get_error(op: *mut GtkPrintOperation, error: *mut *mut glib::GError);
17580    pub fn gtk_print_operation_get_has_selection(op: *mut GtkPrintOperation) -> gboolean;
17581    pub fn gtk_print_operation_get_n_pages_to_print(op: *mut GtkPrintOperation) -> c_int;
17582    pub fn gtk_print_operation_get_print_settings(
17583        op: *mut GtkPrintOperation,
17584    ) -> *mut GtkPrintSettings;
17585    pub fn gtk_print_operation_get_status(op: *mut GtkPrintOperation) -> GtkPrintStatus;
17586    pub fn gtk_print_operation_get_status_string(op: *mut GtkPrintOperation) -> *const c_char;
17587    pub fn gtk_print_operation_get_support_selection(op: *mut GtkPrintOperation) -> gboolean;
17588    pub fn gtk_print_operation_is_finished(op: *mut GtkPrintOperation) -> gboolean;
17589    pub fn gtk_print_operation_run(
17590        op: *mut GtkPrintOperation,
17591        action: GtkPrintOperationAction,
17592        parent: *mut GtkWindow,
17593        error: *mut *mut glib::GError,
17594    ) -> GtkPrintOperationResult;
17595    pub fn gtk_print_operation_set_allow_async(op: *mut GtkPrintOperation, allow_async: gboolean);
17596    pub fn gtk_print_operation_set_current_page(op: *mut GtkPrintOperation, current_page: c_int);
17597    pub fn gtk_print_operation_set_custom_tab_label(
17598        op: *mut GtkPrintOperation,
17599        label: *const c_char,
17600    );
17601    pub fn gtk_print_operation_set_default_page_setup(
17602        op: *mut GtkPrintOperation,
17603        default_page_setup: *mut GtkPageSetup,
17604    );
17605    pub fn gtk_print_operation_set_defer_drawing(op: *mut GtkPrintOperation);
17606    pub fn gtk_print_operation_set_embed_page_setup(op: *mut GtkPrintOperation, embed: gboolean);
17607    pub fn gtk_print_operation_set_export_filename(
17608        op: *mut GtkPrintOperation,
17609        filename: *const c_char,
17610    );
17611    pub fn gtk_print_operation_set_has_selection(
17612        op: *mut GtkPrintOperation,
17613        has_selection: gboolean,
17614    );
17615    pub fn gtk_print_operation_set_job_name(op: *mut GtkPrintOperation, job_name: *const c_char);
17616    pub fn gtk_print_operation_set_n_pages(op: *mut GtkPrintOperation, n_pages: c_int);
17617    pub fn gtk_print_operation_set_print_settings(
17618        op: *mut GtkPrintOperation,
17619        print_settings: *mut GtkPrintSettings,
17620    );
17621    pub fn gtk_print_operation_set_show_progress(
17622        op: *mut GtkPrintOperation,
17623        show_progress: gboolean,
17624    );
17625    pub fn gtk_print_operation_set_support_selection(
17626        op: *mut GtkPrintOperation,
17627        support_selection: gboolean,
17628    );
17629    pub fn gtk_print_operation_set_track_print_status(
17630        op: *mut GtkPrintOperation,
17631        track_status: gboolean,
17632    );
17633    pub fn gtk_print_operation_set_unit(op: *mut GtkPrintOperation, unit: GtkUnit);
17634    pub fn gtk_print_operation_set_use_full_page(op: *mut GtkPrintOperation, full_page: gboolean);
17635
17636    //=========================================================================
17637    // GtkPrintSettings
17638    //=========================================================================
17639    pub fn gtk_print_settings_get_type() -> GType;
17640    pub fn gtk_print_settings_new() -> *mut GtkPrintSettings;
17641    pub fn gtk_print_settings_new_from_file(
17642        file_name: *const c_char,
17643        error: *mut *mut glib::GError,
17644    ) -> *mut GtkPrintSettings;
17645    pub fn gtk_print_settings_new_from_gvariant(
17646        variant: *mut glib::GVariant,
17647    ) -> *mut GtkPrintSettings;
17648    pub fn gtk_print_settings_new_from_key_file(
17649        key_file: *mut glib::GKeyFile,
17650        group_name: *const c_char,
17651        error: *mut *mut glib::GError,
17652    ) -> *mut GtkPrintSettings;
17653    pub fn gtk_print_settings_copy(other: *mut GtkPrintSettings) -> *mut GtkPrintSettings;
17654    pub fn gtk_print_settings_foreach(
17655        settings: *mut GtkPrintSettings,
17656        func: GtkPrintSettingsFunc,
17657        user_data: gpointer,
17658    );
17659    pub fn gtk_print_settings_get(
17660        settings: *mut GtkPrintSettings,
17661        key: *const c_char,
17662    ) -> *const c_char;
17663    pub fn gtk_print_settings_get_bool(
17664        settings: *mut GtkPrintSettings,
17665        key: *const c_char,
17666    ) -> gboolean;
17667    pub fn gtk_print_settings_get_collate(settings: *mut GtkPrintSettings) -> gboolean;
17668    pub fn gtk_print_settings_get_default_source(settings: *mut GtkPrintSettings) -> *const c_char;
17669    pub fn gtk_print_settings_get_dither(settings: *mut GtkPrintSettings) -> *const c_char;
17670    pub fn gtk_print_settings_get_double(
17671        settings: *mut GtkPrintSettings,
17672        key: *const c_char,
17673    ) -> c_double;
17674    pub fn gtk_print_settings_get_double_with_default(
17675        settings: *mut GtkPrintSettings,
17676        key: *const c_char,
17677        def: c_double,
17678    ) -> c_double;
17679    pub fn gtk_print_settings_get_duplex(settings: *mut GtkPrintSettings) -> GtkPrintDuplex;
17680    pub fn gtk_print_settings_get_finishings(settings: *mut GtkPrintSettings) -> *const c_char;
17681    pub fn gtk_print_settings_get_int(settings: *mut GtkPrintSettings, key: *const c_char)
17682    -> c_int;
17683    pub fn gtk_print_settings_get_int_with_default(
17684        settings: *mut GtkPrintSettings,
17685        key: *const c_char,
17686        def: c_int,
17687    ) -> c_int;
17688    pub fn gtk_print_settings_get_length(
17689        settings: *mut GtkPrintSettings,
17690        key: *const c_char,
17691        unit: GtkUnit,
17692    ) -> c_double;
17693    pub fn gtk_print_settings_get_media_type(settings: *mut GtkPrintSettings) -> *const c_char;
17694    pub fn gtk_print_settings_get_n_copies(settings: *mut GtkPrintSettings) -> c_int;
17695    pub fn gtk_print_settings_get_number_up(settings: *mut GtkPrintSettings) -> c_int;
17696    pub fn gtk_print_settings_get_number_up_layout(
17697        settings: *mut GtkPrintSettings,
17698    ) -> GtkNumberUpLayout;
17699    pub fn gtk_print_settings_get_orientation(
17700        settings: *mut GtkPrintSettings,
17701    ) -> GtkPageOrientation;
17702    pub fn gtk_print_settings_get_output_bin(settings: *mut GtkPrintSettings) -> *const c_char;
17703    pub fn gtk_print_settings_get_page_ranges(
17704        settings: *mut GtkPrintSettings,
17705        num_ranges: *mut c_int,
17706    ) -> *mut GtkPageRange;
17707    pub fn gtk_print_settings_get_page_set(settings: *mut GtkPrintSettings) -> GtkPageSet;
17708    pub fn gtk_print_settings_get_paper_height(
17709        settings: *mut GtkPrintSettings,
17710        unit: GtkUnit,
17711    ) -> c_double;
17712    pub fn gtk_print_settings_get_paper_size(settings: *mut GtkPrintSettings) -> *mut GtkPaperSize;
17713    pub fn gtk_print_settings_get_paper_width(
17714        settings: *mut GtkPrintSettings,
17715        unit: GtkUnit,
17716    ) -> c_double;
17717    pub fn gtk_print_settings_get_print_pages(settings: *mut GtkPrintSettings) -> GtkPrintPages;
17718    pub fn gtk_print_settings_get_printer(settings: *mut GtkPrintSettings) -> *const c_char;
17719    pub fn gtk_print_settings_get_printer_lpi(settings: *mut GtkPrintSettings) -> c_double;
17720    pub fn gtk_print_settings_get_quality(settings: *mut GtkPrintSettings) -> GtkPrintQuality;
17721    pub fn gtk_print_settings_get_resolution(settings: *mut GtkPrintSettings) -> c_int;
17722    pub fn gtk_print_settings_get_resolution_x(settings: *mut GtkPrintSettings) -> c_int;
17723    pub fn gtk_print_settings_get_resolution_y(settings: *mut GtkPrintSettings) -> c_int;
17724    pub fn gtk_print_settings_get_reverse(settings: *mut GtkPrintSettings) -> gboolean;
17725    pub fn gtk_print_settings_get_scale(settings: *mut GtkPrintSettings) -> c_double;
17726    pub fn gtk_print_settings_get_use_color(settings: *mut GtkPrintSettings) -> gboolean;
17727    pub fn gtk_print_settings_has_key(
17728        settings: *mut GtkPrintSettings,
17729        key: *const c_char,
17730    ) -> gboolean;
17731    pub fn gtk_print_settings_load_file(
17732        settings: *mut GtkPrintSettings,
17733        file_name: *const c_char,
17734        error: *mut *mut glib::GError,
17735    ) -> gboolean;
17736    pub fn gtk_print_settings_load_key_file(
17737        settings: *mut GtkPrintSettings,
17738        key_file: *mut glib::GKeyFile,
17739        group_name: *const c_char,
17740        error: *mut *mut glib::GError,
17741    ) -> gboolean;
17742    pub fn gtk_print_settings_set(
17743        settings: *mut GtkPrintSettings,
17744        key: *const c_char,
17745        value: *const c_char,
17746    );
17747    pub fn gtk_print_settings_set_bool(
17748        settings: *mut GtkPrintSettings,
17749        key: *const c_char,
17750        value: gboolean,
17751    );
17752    pub fn gtk_print_settings_set_collate(settings: *mut GtkPrintSettings, collate: gboolean);
17753    pub fn gtk_print_settings_set_default_source(
17754        settings: *mut GtkPrintSettings,
17755        default_source: *const c_char,
17756    );
17757    pub fn gtk_print_settings_set_dither(settings: *mut GtkPrintSettings, dither: *const c_char);
17758    pub fn gtk_print_settings_set_double(
17759        settings: *mut GtkPrintSettings,
17760        key: *const c_char,
17761        value: c_double,
17762    );
17763    pub fn gtk_print_settings_set_duplex(settings: *mut GtkPrintSettings, duplex: GtkPrintDuplex);
17764    pub fn gtk_print_settings_set_finishings(
17765        settings: *mut GtkPrintSettings,
17766        finishings: *const c_char,
17767    );
17768    pub fn gtk_print_settings_set_int(
17769        settings: *mut GtkPrintSettings,
17770        key: *const c_char,
17771        value: c_int,
17772    );
17773    pub fn gtk_print_settings_set_length(
17774        settings: *mut GtkPrintSettings,
17775        key: *const c_char,
17776        value: c_double,
17777        unit: GtkUnit,
17778    );
17779    pub fn gtk_print_settings_set_media_type(
17780        settings: *mut GtkPrintSettings,
17781        media_type: *const c_char,
17782    );
17783    pub fn gtk_print_settings_set_n_copies(settings: *mut GtkPrintSettings, num_copies: c_int);
17784    pub fn gtk_print_settings_set_number_up(settings: *mut GtkPrintSettings, number_up: c_int);
17785    pub fn gtk_print_settings_set_number_up_layout(
17786        settings: *mut GtkPrintSettings,
17787        number_up_layout: GtkNumberUpLayout,
17788    );
17789    pub fn gtk_print_settings_set_orientation(
17790        settings: *mut GtkPrintSettings,
17791        orientation: GtkPageOrientation,
17792    );
17793    pub fn gtk_print_settings_set_output_bin(
17794        settings: *mut GtkPrintSettings,
17795        output_bin: *const c_char,
17796    );
17797    pub fn gtk_print_settings_set_page_ranges(
17798        settings: *mut GtkPrintSettings,
17799        page_ranges: *mut GtkPageRange,
17800        num_ranges: c_int,
17801    );
17802    pub fn gtk_print_settings_set_page_set(settings: *mut GtkPrintSettings, page_set: GtkPageSet);
17803    pub fn gtk_print_settings_set_paper_height(
17804        settings: *mut GtkPrintSettings,
17805        height: c_double,
17806        unit: GtkUnit,
17807    );
17808    pub fn gtk_print_settings_set_paper_size(
17809        settings: *mut GtkPrintSettings,
17810        paper_size: *mut GtkPaperSize,
17811    );
17812    pub fn gtk_print_settings_set_paper_width(
17813        settings: *mut GtkPrintSettings,
17814        width: c_double,
17815        unit: GtkUnit,
17816    );
17817    pub fn gtk_print_settings_set_print_pages(
17818        settings: *mut GtkPrintSettings,
17819        pages: GtkPrintPages,
17820    );
17821    pub fn gtk_print_settings_set_printer(settings: *mut GtkPrintSettings, printer: *const c_char);
17822    pub fn gtk_print_settings_set_printer_lpi(settings: *mut GtkPrintSettings, lpi: c_double);
17823    pub fn gtk_print_settings_set_quality(
17824        settings: *mut GtkPrintSettings,
17825        quality: GtkPrintQuality,
17826    );
17827    pub fn gtk_print_settings_set_resolution(settings: *mut GtkPrintSettings, resolution: c_int);
17828    pub fn gtk_print_settings_set_resolution_xy(
17829        settings: *mut GtkPrintSettings,
17830        resolution_x: c_int,
17831        resolution_y: c_int,
17832    );
17833    pub fn gtk_print_settings_set_reverse(settings: *mut GtkPrintSettings, reverse: gboolean);
17834    pub fn gtk_print_settings_set_scale(settings: *mut GtkPrintSettings, scale: c_double);
17835    pub fn gtk_print_settings_set_use_color(settings: *mut GtkPrintSettings, use_color: gboolean);
17836    pub fn gtk_print_settings_to_file(
17837        settings: *mut GtkPrintSettings,
17838        file_name: *const c_char,
17839        error: *mut *mut glib::GError,
17840    ) -> gboolean;
17841    pub fn gtk_print_settings_to_gvariant(settings: *mut GtkPrintSettings) -> *mut glib::GVariant;
17842    pub fn gtk_print_settings_to_key_file(
17843        settings: *mut GtkPrintSettings,
17844        key_file: *mut glib::GKeyFile,
17845        group_name: *const c_char,
17846    );
17847    pub fn gtk_print_settings_unset(settings: *mut GtkPrintSettings, key: *const c_char);
17848
17849    //=========================================================================
17850    // GtkPrintUnixDialog
17851    //=========================================================================
17852    pub fn gtk_print_unix_dialog_get_type() -> GType;
17853    pub fn gtk_print_unix_dialog_new(
17854        title: *const c_char,
17855        parent: *mut GtkWindow,
17856    ) -> *mut GtkWidget;
17857    pub fn gtk_print_unix_dialog_add_custom_tab(
17858        dialog: *mut GtkPrintUnixDialog,
17859        child: *mut GtkWidget,
17860        tab_label: *mut GtkWidget,
17861    );
17862    pub fn gtk_print_unix_dialog_get_current_page(dialog: *mut GtkPrintUnixDialog) -> c_int;
17863    pub fn gtk_print_unix_dialog_get_embed_page_setup(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17864    pub fn gtk_print_unix_dialog_get_has_selection(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17865    pub fn gtk_print_unix_dialog_get_manual_capabilities(
17866        dialog: *mut GtkPrintUnixDialog,
17867    ) -> GtkPrintCapabilities;
17868    pub fn gtk_print_unix_dialog_get_page_setup(
17869        dialog: *mut GtkPrintUnixDialog,
17870    ) -> *mut GtkPageSetup;
17871    pub fn gtk_print_unix_dialog_get_page_setup_set(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17872    pub fn gtk_print_unix_dialog_get_selected_printer(
17873        dialog: *mut GtkPrintUnixDialog,
17874    ) -> *mut GtkPrinter;
17875    pub fn gtk_print_unix_dialog_get_settings(
17876        dialog: *mut GtkPrintUnixDialog,
17877    ) -> *mut GtkPrintSettings;
17878    pub fn gtk_print_unix_dialog_get_support_selection(dialog: *mut GtkPrintUnixDialog)
17879    -> gboolean;
17880    pub fn gtk_print_unix_dialog_set_current_page(
17881        dialog: *mut GtkPrintUnixDialog,
17882        current_page: c_int,
17883    );
17884    pub fn gtk_print_unix_dialog_set_embed_page_setup(
17885        dialog: *mut GtkPrintUnixDialog,
17886        embed: gboolean,
17887    );
17888    pub fn gtk_print_unix_dialog_set_has_selection(
17889        dialog: *mut GtkPrintUnixDialog,
17890        has_selection: gboolean,
17891    );
17892    pub fn gtk_print_unix_dialog_set_manual_capabilities(
17893        dialog: *mut GtkPrintUnixDialog,
17894        capabilities: GtkPrintCapabilities,
17895    );
17896    pub fn gtk_print_unix_dialog_set_page_setup(
17897        dialog: *mut GtkPrintUnixDialog,
17898        page_setup: *mut GtkPageSetup,
17899    );
17900    pub fn gtk_print_unix_dialog_set_settings(
17901        dialog: *mut GtkPrintUnixDialog,
17902        settings: *mut GtkPrintSettings,
17903    );
17904    pub fn gtk_print_unix_dialog_set_support_selection(
17905        dialog: *mut GtkPrintUnixDialog,
17906        support_selection: gboolean,
17907    );
17908
17909    //=========================================================================
17910    // GtkPrinter
17911    //=========================================================================
17912    pub fn gtk_printer_get_type() -> GType;
17913    pub fn gtk_printer_new(
17914        name: *const c_char,
17915        backend: *mut GtkPrintBackend,
17916        virtual_: gboolean,
17917    ) -> *mut GtkPrinter;
17918    pub fn gtk_printer_accepts_pdf(printer: *mut GtkPrinter) -> gboolean;
17919    pub fn gtk_printer_accepts_ps(printer: *mut GtkPrinter) -> gboolean;
17920    pub fn gtk_printer_compare(a: *mut GtkPrinter, b: *mut GtkPrinter) -> c_int;
17921    pub fn gtk_printer_get_backend(printer: *mut GtkPrinter) -> *mut GtkPrintBackend;
17922    pub fn gtk_printer_get_capabilities(printer: *mut GtkPrinter) -> GtkPrintCapabilities;
17923    pub fn gtk_printer_get_default_page_size(printer: *mut GtkPrinter) -> *mut GtkPageSetup;
17924    pub fn gtk_printer_get_description(printer: *mut GtkPrinter) -> *const c_char;
17925    pub fn gtk_printer_get_hard_margins(
17926        printer: *mut GtkPrinter,
17927        top: *mut c_double,
17928        bottom: *mut c_double,
17929        left: *mut c_double,
17930        right: *mut c_double,
17931    ) -> gboolean;
17932    pub fn gtk_printer_get_hard_margins_for_paper_size(
17933        printer: *mut GtkPrinter,
17934        paper_size: *mut GtkPaperSize,
17935        top: *mut c_double,
17936        bottom: *mut c_double,
17937        left: *mut c_double,
17938        right: *mut c_double,
17939    ) -> gboolean;
17940    pub fn gtk_printer_get_icon_name(printer: *mut GtkPrinter) -> *const c_char;
17941    pub fn gtk_printer_get_job_count(printer: *mut GtkPrinter) -> c_int;
17942    pub fn gtk_printer_get_location(printer: *mut GtkPrinter) -> *const c_char;
17943    pub fn gtk_printer_get_name(printer: *mut GtkPrinter) -> *const c_char;
17944    pub fn gtk_printer_get_state_message(printer: *mut GtkPrinter) -> *const c_char;
17945    pub fn gtk_printer_has_details(printer: *mut GtkPrinter) -> gboolean;
17946    pub fn gtk_printer_is_accepting_jobs(printer: *mut GtkPrinter) -> gboolean;
17947    pub fn gtk_printer_is_active(printer: *mut GtkPrinter) -> gboolean;
17948    pub fn gtk_printer_is_default(printer: *mut GtkPrinter) -> gboolean;
17949    pub fn gtk_printer_is_paused(printer: *mut GtkPrinter) -> gboolean;
17950    pub fn gtk_printer_is_virtual(printer: *mut GtkPrinter) -> gboolean;
17951    pub fn gtk_printer_list_papers(printer: *mut GtkPrinter) -> *mut glib::GList;
17952    pub fn gtk_printer_request_details(printer: *mut GtkPrinter);
17953
17954    //=========================================================================
17955    // GtkProgressBar
17956    //=========================================================================
17957    pub fn gtk_progress_bar_get_type() -> GType;
17958    pub fn gtk_progress_bar_new() -> *mut GtkWidget;
17959    pub fn gtk_progress_bar_get_ellipsize(pbar: *mut GtkProgressBar) -> pango::PangoEllipsizeMode;
17960    pub fn gtk_progress_bar_get_fraction(pbar: *mut GtkProgressBar) -> c_double;
17961    pub fn gtk_progress_bar_get_inverted(pbar: *mut GtkProgressBar) -> gboolean;
17962    pub fn gtk_progress_bar_get_pulse_step(pbar: *mut GtkProgressBar) -> c_double;
17963    pub fn gtk_progress_bar_get_show_text(pbar: *mut GtkProgressBar) -> gboolean;
17964    pub fn gtk_progress_bar_get_text(pbar: *mut GtkProgressBar) -> *const c_char;
17965    pub fn gtk_progress_bar_pulse(pbar: *mut GtkProgressBar);
17966    pub fn gtk_progress_bar_set_ellipsize(
17967        pbar: *mut GtkProgressBar,
17968        mode: pango::PangoEllipsizeMode,
17969    );
17970    pub fn gtk_progress_bar_set_fraction(pbar: *mut GtkProgressBar, fraction: c_double);
17971    pub fn gtk_progress_bar_set_inverted(pbar: *mut GtkProgressBar, inverted: gboolean);
17972    pub fn gtk_progress_bar_set_pulse_step(pbar: *mut GtkProgressBar, fraction: c_double);
17973    pub fn gtk_progress_bar_set_show_text(pbar: *mut GtkProgressBar, show_text: gboolean);
17974    pub fn gtk_progress_bar_set_text(pbar: *mut GtkProgressBar, text: *const c_char);
17975
17976    //=========================================================================
17977    // GtkPropertyExpression
17978    //=========================================================================
17979    pub fn gtk_property_expression_get_type() -> GType;
17980    pub fn gtk_property_expression_new(
17981        this_type: GType,
17982        expression: *mut GtkExpression,
17983        property_name: *const c_char,
17984    ) -> *mut GtkPropertyExpression;
17985    pub fn gtk_property_expression_new_for_pspec(
17986        expression: *mut GtkExpression,
17987        pspec: *mut gobject::GParamSpec,
17988    ) -> *mut GtkPropertyExpression;
17989    pub fn gtk_property_expression_get_expression(
17990        expression: *mut GtkPropertyExpression,
17991    ) -> *mut GtkExpression;
17992    pub fn gtk_property_expression_get_pspec(
17993        expression: *mut GtkPropertyExpression,
17994    ) -> *mut gobject::GParamSpec;
17995
17996    //=========================================================================
17997    // GtkRange
17998    //=========================================================================
17999    pub fn gtk_range_get_type() -> GType;
18000    pub fn gtk_range_get_adjustment(range: *mut GtkRange) -> *mut GtkAdjustment;
18001    pub fn gtk_range_get_fill_level(range: *mut GtkRange) -> c_double;
18002    pub fn gtk_range_get_flippable(range: *mut GtkRange) -> gboolean;
18003    pub fn gtk_range_get_inverted(range: *mut GtkRange) -> gboolean;
18004    pub fn gtk_range_get_range_rect(range: *mut GtkRange, range_rect: *mut gdk::GdkRectangle);
18005    pub fn gtk_range_get_restrict_to_fill_level(range: *mut GtkRange) -> gboolean;
18006    pub fn gtk_range_get_round_digits(range: *mut GtkRange) -> c_int;
18007    pub fn gtk_range_get_show_fill_level(range: *mut GtkRange) -> gboolean;
18008    pub fn gtk_range_get_slider_range(
18009        range: *mut GtkRange,
18010        slider_start: *mut c_int,
18011        slider_end: *mut c_int,
18012    );
18013    pub fn gtk_range_get_slider_size_fixed(range: *mut GtkRange) -> gboolean;
18014    pub fn gtk_range_get_value(range: *mut GtkRange) -> c_double;
18015    pub fn gtk_range_set_adjustment(range: *mut GtkRange, adjustment: *mut GtkAdjustment);
18016    pub fn gtk_range_set_fill_level(range: *mut GtkRange, fill_level: c_double);
18017    pub fn gtk_range_set_flippable(range: *mut GtkRange, flippable: gboolean);
18018    pub fn gtk_range_set_increments(range: *mut GtkRange, step: c_double, page: c_double);
18019    pub fn gtk_range_set_inverted(range: *mut GtkRange, setting: gboolean);
18020    pub fn gtk_range_set_range(range: *mut GtkRange, min: c_double, max: c_double);
18021    pub fn gtk_range_set_restrict_to_fill_level(
18022        range: *mut GtkRange,
18023        restrict_to_fill_level: gboolean,
18024    );
18025    pub fn gtk_range_set_round_digits(range: *mut GtkRange, round_digits: c_int);
18026    pub fn gtk_range_set_show_fill_level(range: *mut GtkRange, show_fill_level: gboolean);
18027    pub fn gtk_range_set_slider_size_fixed(range: *mut GtkRange, size_fixed: gboolean);
18028    pub fn gtk_range_set_value(range: *mut GtkRange, value: c_double);
18029
18030    //=========================================================================
18031    // GtkRecentManager
18032    //=========================================================================
18033    pub fn gtk_recent_manager_get_type() -> GType;
18034    pub fn gtk_recent_manager_new() -> *mut GtkRecentManager;
18035    pub fn gtk_recent_manager_get_default() -> *mut GtkRecentManager;
18036    pub fn gtk_recent_manager_add_full(
18037        manager: *mut GtkRecentManager,
18038        uri: *const c_char,
18039        recent_data: *const GtkRecentData,
18040    ) -> gboolean;
18041    pub fn gtk_recent_manager_add_item(
18042        manager: *mut GtkRecentManager,
18043        uri: *const c_char,
18044    ) -> gboolean;
18045    pub fn gtk_recent_manager_get_items(manager: *mut GtkRecentManager) -> *mut glib::GList;
18046    pub fn gtk_recent_manager_has_item(
18047        manager: *mut GtkRecentManager,
18048        uri: *const c_char,
18049    ) -> gboolean;
18050    pub fn gtk_recent_manager_lookup_item(
18051        manager: *mut GtkRecentManager,
18052        uri: *const c_char,
18053        error: *mut *mut glib::GError,
18054    ) -> *mut GtkRecentInfo;
18055    pub fn gtk_recent_manager_move_item(
18056        manager: *mut GtkRecentManager,
18057        uri: *const c_char,
18058        new_uri: *const c_char,
18059        error: *mut *mut glib::GError,
18060    ) -> gboolean;
18061    pub fn gtk_recent_manager_purge_items(
18062        manager: *mut GtkRecentManager,
18063        error: *mut *mut glib::GError,
18064    ) -> c_int;
18065    pub fn gtk_recent_manager_remove_item(
18066        manager: *mut GtkRecentManager,
18067        uri: *const c_char,
18068        error: *mut *mut glib::GError,
18069    ) -> gboolean;
18070
18071    //=========================================================================
18072    // GtkRevealer
18073    //=========================================================================
18074    pub fn gtk_revealer_get_type() -> GType;
18075    pub fn gtk_revealer_new() -> *mut GtkWidget;
18076    pub fn gtk_revealer_get_child(revealer: *mut GtkRevealer) -> *mut GtkWidget;
18077    pub fn gtk_revealer_get_child_revealed(revealer: *mut GtkRevealer) -> gboolean;
18078    pub fn gtk_revealer_get_reveal_child(revealer: *mut GtkRevealer) -> gboolean;
18079    pub fn gtk_revealer_get_transition_duration(revealer: *mut GtkRevealer) -> c_uint;
18080    pub fn gtk_revealer_get_transition_type(
18081        revealer: *mut GtkRevealer,
18082    ) -> GtkRevealerTransitionType;
18083    pub fn gtk_revealer_set_child(revealer: *mut GtkRevealer, child: *mut GtkWidget);
18084    pub fn gtk_revealer_set_reveal_child(revealer: *mut GtkRevealer, reveal_child: gboolean);
18085    pub fn gtk_revealer_set_transition_duration(revealer: *mut GtkRevealer, duration: c_uint);
18086    pub fn gtk_revealer_set_transition_type(
18087        revealer: *mut GtkRevealer,
18088        transition: GtkRevealerTransitionType,
18089    );
18090
18091    //=========================================================================
18092    // GtkScale
18093    //=========================================================================
18094    pub fn gtk_scale_get_type() -> GType;
18095    pub fn gtk_scale_new(
18096        orientation: GtkOrientation,
18097        adjustment: *mut GtkAdjustment,
18098    ) -> *mut GtkWidget;
18099    pub fn gtk_scale_new_with_range(
18100        orientation: GtkOrientation,
18101        min: c_double,
18102        max: c_double,
18103        step: c_double,
18104    ) -> *mut GtkWidget;
18105    pub fn gtk_scale_add_mark(
18106        scale: *mut GtkScale,
18107        value: c_double,
18108        position: GtkPositionType,
18109        markup: *const c_char,
18110    );
18111    pub fn gtk_scale_clear_marks(scale: *mut GtkScale);
18112    pub fn gtk_scale_get_digits(scale: *mut GtkScale) -> c_int;
18113    pub fn gtk_scale_get_draw_value(scale: *mut GtkScale) -> gboolean;
18114    pub fn gtk_scale_get_has_origin(scale: *mut GtkScale) -> gboolean;
18115    pub fn gtk_scale_get_layout(scale: *mut GtkScale) -> *mut pango::PangoLayout;
18116    pub fn gtk_scale_get_layout_offsets(scale: *mut GtkScale, x: *mut c_int, y: *mut c_int);
18117    pub fn gtk_scale_get_value_pos(scale: *mut GtkScale) -> GtkPositionType;
18118    pub fn gtk_scale_set_digits(scale: *mut GtkScale, digits: c_int);
18119    pub fn gtk_scale_set_draw_value(scale: *mut GtkScale, draw_value: gboolean);
18120    pub fn gtk_scale_set_format_value_func(
18121        scale: *mut GtkScale,
18122        func: GtkScaleFormatValueFunc,
18123        user_data: gpointer,
18124        destroy_notify: glib::GDestroyNotify,
18125    );
18126    pub fn gtk_scale_set_has_origin(scale: *mut GtkScale, has_origin: gboolean);
18127    pub fn gtk_scale_set_value_pos(scale: *mut GtkScale, pos: GtkPositionType);
18128
18129    //=========================================================================
18130    // GtkScaleButton
18131    //=========================================================================
18132    pub fn gtk_scale_button_get_type() -> GType;
18133    pub fn gtk_scale_button_new(
18134        min: c_double,
18135        max: c_double,
18136        step: c_double,
18137        icons: *mut *const c_char,
18138    ) -> *mut GtkWidget;
18139    #[cfg(feature = "v4_10")]
18140    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18141    pub fn gtk_scale_button_get_active(button: *mut GtkScaleButton) -> gboolean;
18142    pub fn gtk_scale_button_get_adjustment(button: *mut GtkScaleButton) -> *mut GtkAdjustment;
18143    #[cfg(feature = "v4_14")]
18144    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18145    pub fn gtk_scale_button_get_has_frame(button: *mut GtkScaleButton) -> gboolean;
18146    pub fn gtk_scale_button_get_minus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
18147    pub fn gtk_scale_button_get_plus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
18148    pub fn gtk_scale_button_get_popup(button: *mut GtkScaleButton) -> *mut GtkWidget;
18149    pub fn gtk_scale_button_get_value(button: *mut GtkScaleButton) -> c_double;
18150    pub fn gtk_scale_button_set_adjustment(
18151        button: *mut GtkScaleButton,
18152        adjustment: *mut GtkAdjustment,
18153    );
18154    #[cfg(feature = "v4_14")]
18155    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18156    pub fn gtk_scale_button_set_has_frame(button: *mut GtkScaleButton, has_frame: gboolean);
18157    pub fn gtk_scale_button_set_icons(button: *mut GtkScaleButton, icons: *mut *const c_char);
18158    pub fn gtk_scale_button_set_value(button: *mut GtkScaleButton, value: c_double);
18159
18160    //=========================================================================
18161    // GtkScrollbar
18162    //=========================================================================
18163    pub fn gtk_scrollbar_get_type() -> GType;
18164    pub fn gtk_scrollbar_new(
18165        orientation: GtkOrientation,
18166        adjustment: *mut GtkAdjustment,
18167    ) -> *mut GtkWidget;
18168    pub fn gtk_scrollbar_get_adjustment(self_: *mut GtkScrollbar) -> *mut GtkAdjustment;
18169    pub fn gtk_scrollbar_set_adjustment(self_: *mut GtkScrollbar, adjustment: *mut GtkAdjustment);
18170
18171    //=========================================================================
18172    // GtkScrolledWindow
18173    //=========================================================================
18174    pub fn gtk_scrolled_window_get_type() -> GType;
18175    pub fn gtk_scrolled_window_new() -> *mut GtkWidget;
18176    pub fn gtk_scrolled_window_get_child(scrolled_window: *mut GtkScrolledWindow)
18177    -> *mut GtkWidget;
18178    pub fn gtk_scrolled_window_get_hadjustment(
18179        scrolled_window: *mut GtkScrolledWindow,
18180    ) -> *mut GtkAdjustment;
18181    pub fn gtk_scrolled_window_get_has_frame(scrolled_window: *mut GtkScrolledWindow) -> gboolean;
18182    pub fn gtk_scrolled_window_get_hscrollbar(
18183        scrolled_window: *mut GtkScrolledWindow,
18184    ) -> *mut GtkWidget;
18185    pub fn gtk_scrolled_window_get_kinetic_scrolling(
18186        scrolled_window: *mut GtkScrolledWindow,
18187    ) -> gboolean;
18188    pub fn gtk_scrolled_window_get_max_content_height(
18189        scrolled_window: *mut GtkScrolledWindow,
18190    ) -> c_int;
18191    pub fn gtk_scrolled_window_get_max_content_width(
18192        scrolled_window: *mut GtkScrolledWindow,
18193    ) -> c_int;
18194    pub fn gtk_scrolled_window_get_min_content_height(
18195        scrolled_window: *mut GtkScrolledWindow,
18196    ) -> c_int;
18197    pub fn gtk_scrolled_window_get_min_content_width(
18198        scrolled_window: *mut GtkScrolledWindow,
18199    ) -> c_int;
18200    pub fn gtk_scrolled_window_get_overlay_scrolling(
18201        scrolled_window: *mut GtkScrolledWindow,
18202    ) -> gboolean;
18203    pub fn gtk_scrolled_window_get_placement(
18204        scrolled_window: *mut GtkScrolledWindow,
18205    ) -> GtkCornerType;
18206    pub fn gtk_scrolled_window_get_policy(
18207        scrolled_window: *mut GtkScrolledWindow,
18208        hscrollbar_policy: *mut GtkPolicyType,
18209        vscrollbar_policy: *mut GtkPolicyType,
18210    );
18211    pub fn gtk_scrolled_window_get_propagate_natural_height(
18212        scrolled_window: *mut GtkScrolledWindow,
18213    ) -> gboolean;
18214    pub fn gtk_scrolled_window_get_propagate_natural_width(
18215        scrolled_window: *mut GtkScrolledWindow,
18216    ) -> gboolean;
18217    pub fn gtk_scrolled_window_get_vadjustment(
18218        scrolled_window: *mut GtkScrolledWindow,
18219    ) -> *mut GtkAdjustment;
18220    pub fn gtk_scrolled_window_get_vscrollbar(
18221        scrolled_window: *mut GtkScrolledWindow,
18222    ) -> *mut GtkWidget;
18223    pub fn gtk_scrolled_window_set_child(
18224        scrolled_window: *mut GtkScrolledWindow,
18225        child: *mut GtkWidget,
18226    );
18227    pub fn gtk_scrolled_window_set_hadjustment(
18228        scrolled_window: *mut GtkScrolledWindow,
18229        hadjustment: *mut GtkAdjustment,
18230    );
18231    pub fn gtk_scrolled_window_set_has_frame(
18232        scrolled_window: *mut GtkScrolledWindow,
18233        has_frame: gboolean,
18234    );
18235    pub fn gtk_scrolled_window_set_kinetic_scrolling(
18236        scrolled_window: *mut GtkScrolledWindow,
18237        kinetic_scrolling: gboolean,
18238    );
18239    pub fn gtk_scrolled_window_set_max_content_height(
18240        scrolled_window: *mut GtkScrolledWindow,
18241        height: c_int,
18242    );
18243    pub fn gtk_scrolled_window_set_max_content_width(
18244        scrolled_window: *mut GtkScrolledWindow,
18245        width: c_int,
18246    );
18247    pub fn gtk_scrolled_window_set_min_content_height(
18248        scrolled_window: *mut GtkScrolledWindow,
18249        height: c_int,
18250    );
18251    pub fn gtk_scrolled_window_set_min_content_width(
18252        scrolled_window: *mut GtkScrolledWindow,
18253        width: c_int,
18254    );
18255    pub fn gtk_scrolled_window_set_overlay_scrolling(
18256        scrolled_window: *mut GtkScrolledWindow,
18257        overlay_scrolling: gboolean,
18258    );
18259    pub fn gtk_scrolled_window_set_placement(
18260        scrolled_window: *mut GtkScrolledWindow,
18261        window_placement: GtkCornerType,
18262    );
18263    pub fn gtk_scrolled_window_set_policy(
18264        scrolled_window: *mut GtkScrolledWindow,
18265        hscrollbar_policy: GtkPolicyType,
18266        vscrollbar_policy: GtkPolicyType,
18267    );
18268    pub fn gtk_scrolled_window_set_propagate_natural_height(
18269        scrolled_window: *mut GtkScrolledWindow,
18270        propagate: gboolean,
18271    );
18272    pub fn gtk_scrolled_window_set_propagate_natural_width(
18273        scrolled_window: *mut GtkScrolledWindow,
18274        propagate: gboolean,
18275    );
18276    pub fn gtk_scrolled_window_set_vadjustment(
18277        scrolled_window: *mut GtkScrolledWindow,
18278        vadjustment: *mut GtkAdjustment,
18279    );
18280    pub fn gtk_scrolled_window_unset_placement(scrolled_window: *mut GtkScrolledWindow);
18281
18282    //=========================================================================
18283    // GtkSearchBar
18284    //=========================================================================
18285    pub fn gtk_search_bar_get_type() -> GType;
18286    pub fn gtk_search_bar_new() -> *mut GtkWidget;
18287    pub fn gtk_search_bar_connect_entry(bar: *mut GtkSearchBar, entry: *mut GtkEditable);
18288    pub fn gtk_search_bar_get_child(bar: *mut GtkSearchBar) -> *mut GtkWidget;
18289    pub fn gtk_search_bar_get_key_capture_widget(bar: *mut GtkSearchBar) -> *mut GtkWidget;
18290    pub fn gtk_search_bar_get_search_mode(bar: *mut GtkSearchBar) -> gboolean;
18291    pub fn gtk_search_bar_get_show_close_button(bar: *mut GtkSearchBar) -> gboolean;
18292    pub fn gtk_search_bar_set_child(bar: *mut GtkSearchBar, child: *mut GtkWidget);
18293    pub fn gtk_search_bar_set_key_capture_widget(bar: *mut GtkSearchBar, widget: *mut GtkWidget);
18294    pub fn gtk_search_bar_set_search_mode(bar: *mut GtkSearchBar, search_mode: gboolean);
18295    pub fn gtk_search_bar_set_show_close_button(bar: *mut GtkSearchBar, visible: gboolean);
18296
18297    //=========================================================================
18298    // GtkSearchEntry
18299    //=========================================================================
18300    pub fn gtk_search_entry_get_type() -> GType;
18301    pub fn gtk_search_entry_new() -> *mut GtkWidget;
18302    #[cfg(feature = "v4_14")]
18303    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18304    pub fn gtk_search_entry_get_input_hints(entry: *mut GtkSearchEntry) -> GtkInputHints;
18305    #[cfg(feature = "v4_14")]
18306    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18307    pub fn gtk_search_entry_get_input_purpose(entry: *mut GtkSearchEntry) -> GtkInputPurpose;
18308    pub fn gtk_search_entry_get_key_capture_widget(entry: *mut GtkSearchEntry) -> *mut GtkWidget;
18309    #[cfg(feature = "v4_10")]
18310    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18311    pub fn gtk_search_entry_get_placeholder_text(entry: *mut GtkSearchEntry) -> *const c_char;
18312    #[cfg(feature = "v4_8")]
18313    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
18314    pub fn gtk_search_entry_get_search_delay(entry: *mut GtkSearchEntry) -> c_uint;
18315    #[cfg(feature = "v4_14")]
18316    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18317    pub fn gtk_search_entry_set_input_hints(entry: *mut GtkSearchEntry, hints: GtkInputHints);
18318    #[cfg(feature = "v4_14")]
18319    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18320    pub fn gtk_search_entry_set_input_purpose(entry: *mut GtkSearchEntry, purpose: GtkInputPurpose);
18321    pub fn gtk_search_entry_set_key_capture_widget(
18322        entry: *mut GtkSearchEntry,
18323        widget: *mut GtkWidget,
18324    );
18325    #[cfg(feature = "v4_10")]
18326    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18327    pub fn gtk_search_entry_set_placeholder_text(entry: *mut GtkSearchEntry, text: *const c_char);
18328    #[cfg(feature = "v4_8")]
18329    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
18330    pub fn gtk_search_entry_set_search_delay(entry: *mut GtkSearchEntry, delay: c_uint);
18331
18332    //=========================================================================
18333    // GtkSelectionFilterModel
18334    //=========================================================================
18335    pub fn gtk_selection_filter_model_get_type() -> GType;
18336    pub fn gtk_selection_filter_model_new(
18337        model: *mut GtkSelectionModel,
18338    ) -> *mut GtkSelectionFilterModel;
18339    pub fn gtk_selection_filter_model_get_model(
18340        self_: *mut GtkSelectionFilterModel,
18341    ) -> *mut GtkSelectionModel;
18342    pub fn gtk_selection_filter_model_set_model(
18343        self_: *mut GtkSelectionFilterModel,
18344        model: *mut GtkSelectionModel,
18345    );
18346
18347    //=========================================================================
18348    // GtkSeparator
18349    //=========================================================================
18350    pub fn gtk_separator_get_type() -> GType;
18351    pub fn gtk_separator_new(orientation: GtkOrientation) -> *mut GtkWidget;
18352
18353    //=========================================================================
18354    // GtkSettings
18355    //=========================================================================
18356    pub fn gtk_settings_get_type() -> GType;
18357    pub fn gtk_settings_get_default() -> *mut GtkSettings;
18358    pub fn gtk_settings_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkSettings;
18359    pub fn gtk_settings_reset_property(settings: *mut GtkSettings, name: *const c_char);
18360
18361    //=========================================================================
18362    // GtkShortcut
18363    //=========================================================================
18364    pub fn gtk_shortcut_get_type() -> GType;
18365    pub fn gtk_shortcut_new(
18366        trigger: *mut GtkShortcutTrigger,
18367        action: *mut GtkShortcutAction,
18368    ) -> *mut GtkShortcut;
18369    pub fn gtk_shortcut_new_with_arguments(
18370        trigger: *mut GtkShortcutTrigger,
18371        action: *mut GtkShortcutAction,
18372        format_string: *const c_char,
18373        ...
18374    ) -> *mut GtkShortcut;
18375    pub fn gtk_shortcut_get_action(self_: *mut GtkShortcut) -> *mut GtkShortcutAction;
18376    pub fn gtk_shortcut_get_arguments(self_: *mut GtkShortcut) -> *mut glib::GVariant;
18377    pub fn gtk_shortcut_get_trigger(self_: *mut GtkShortcut) -> *mut GtkShortcutTrigger;
18378    pub fn gtk_shortcut_set_action(self_: *mut GtkShortcut, action: *mut GtkShortcutAction);
18379    pub fn gtk_shortcut_set_arguments(self_: *mut GtkShortcut, args: *mut glib::GVariant);
18380    pub fn gtk_shortcut_set_trigger(self_: *mut GtkShortcut, trigger: *mut GtkShortcutTrigger);
18381
18382    //=========================================================================
18383    // GtkShortcutAction
18384    //=========================================================================
18385    pub fn gtk_shortcut_action_get_type() -> GType;
18386    pub fn gtk_shortcut_action_parse_string(string: *const c_char) -> *mut GtkShortcutAction;
18387    pub fn gtk_shortcut_action_activate(
18388        self_: *mut GtkShortcutAction,
18389        flags: GtkShortcutActionFlags,
18390        widget: *mut GtkWidget,
18391        args: *mut glib::GVariant,
18392    ) -> gboolean;
18393    pub fn gtk_shortcut_action_print(self_: *mut GtkShortcutAction, string: *mut glib::GString);
18394    pub fn gtk_shortcut_action_to_string(self_: *mut GtkShortcutAction) -> *mut c_char;
18395
18396    //=========================================================================
18397    // GtkShortcutController
18398    //=========================================================================
18399    pub fn gtk_shortcut_controller_get_type() -> GType;
18400    pub fn gtk_shortcut_controller_new() -> *mut GtkEventController;
18401    pub fn gtk_shortcut_controller_new_for_model(
18402        model: *mut gio::GListModel,
18403    ) -> *mut GtkEventController;
18404    pub fn gtk_shortcut_controller_add_shortcut(
18405        self_: *mut GtkShortcutController,
18406        shortcut: *mut GtkShortcut,
18407    );
18408    pub fn gtk_shortcut_controller_get_mnemonics_modifiers(
18409        self_: *mut GtkShortcutController,
18410    ) -> gdk::GdkModifierType;
18411    pub fn gtk_shortcut_controller_get_scope(self_: *mut GtkShortcutController)
18412    -> GtkShortcutScope;
18413    pub fn gtk_shortcut_controller_remove_shortcut(
18414        self_: *mut GtkShortcutController,
18415        shortcut: *mut GtkShortcut,
18416    );
18417    pub fn gtk_shortcut_controller_set_mnemonics_modifiers(
18418        self_: *mut GtkShortcutController,
18419        modifiers: gdk::GdkModifierType,
18420    );
18421    pub fn gtk_shortcut_controller_set_scope(
18422        self_: *mut GtkShortcutController,
18423        scope: GtkShortcutScope,
18424    );
18425
18426    //=========================================================================
18427    // GtkShortcutLabel
18428    //=========================================================================
18429    pub fn gtk_shortcut_label_get_type() -> GType;
18430    pub fn gtk_shortcut_label_new(accelerator: *const c_char) -> *mut GtkWidget;
18431    pub fn gtk_shortcut_label_get_accelerator(self_: *mut GtkShortcutLabel) -> *const c_char;
18432    pub fn gtk_shortcut_label_get_disabled_text(self_: *mut GtkShortcutLabel) -> *const c_char;
18433    pub fn gtk_shortcut_label_set_accelerator(
18434        self_: *mut GtkShortcutLabel,
18435        accelerator: *const c_char,
18436    );
18437    pub fn gtk_shortcut_label_set_disabled_text(
18438        self_: *mut GtkShortcutLabel,
18439        disabled_text: *const c_char,
18440    );
18441
18442    //=========================================================================
18443    // GtkShortcutTrigger
18444    //=========================================================================
18445    pub fn gtk_shortcut_trigger_get_type() -> GType;
18446    pub fn gtk_shortcut_trigger_parse_string(string: *const c_char) -> *mut GtkShortcutTrigger;
18447    #[cfg(feature = "v4_24")]
18448    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
18449    pub fn gtk_shortcut_trigger_create_for_menu() -> *mut GtkShortcutTrigger;
18450    #[cfg(feature = "v4_24")]
18451    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
18452    pub fn gtk_shortcut_trigger_create_with_aliases(
18453        keyval: c_uint,
18454        modifiers: gdk::GdkModifierType,
18455    ) -> *mut GtkShortcutTrigger;
18456    pub fn gtk_shortcut_trigger_compare(trigger1: gconstpointer, trigger2: gconstpointer) -> c_int;
18457    pub fn gtk_shortcut_trigger_equal(trigger1: gconstpointer, trigger2: gconstpointer)
18458    -> gboolean;
18459    pub fn gtk_shortcut_trigger_hash(trigger: gconstpointer) -> c_uint;
18460    pub fn gtk_shortcut_trigger_print(self_: *mut GtkShortcutTrigger, string: *mut glib::GString);
18461    pub fn gtk_shortcut_trigger_print_label(
18462        self_: *mut GtkShortcutTrigger,
18463        display: *mut gdk::GdkDisplay,
18464        string: *mut glib::GString,
18465    ) -> gboolean;
18466    pub fn gtk_shortcut_trigger_to_label(
18467        self_: *mut GtkShortcutTrigger,
18468        display: *mut gdk::GdkDisplay,
18469    ) -> *mut c_char;
18470    pub fn gtk_shortcut_trigger_to_string(self_: *mut GtkShortcutTrigger) -> *mut c_char;
18471    pub fn gtk_shortcut_trigger_trigger(
18472        self_: *mut GtkShortcutTrigger,
18473        event: *mut gdk::GdkEvent,
18474        enable_mnemonics: gboolean,
18475    ) -> gdk::GdkKeyMatch;
18476
18477    //=========================================================================
18478    // GtkShortcutsGroup
18479    //=========================================================================
18480    pub fn gtk_shortcuts_group_get_type() -> GType;
18481    #[cfg(feature = "v4_14")]
18482    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18483    pub fn gtk_shortcuts_group_add_shortcut(
18484        self_: *mut GtkShortcutsGroup,
18485        shortcut: *mut GtkShortcutsShortcut,
18486    );
18487
18488    //=========================================================================
18489    // GtkShortcutsSection
18490    //=========================================================================
18491    pub fn gtk_shortcuts_section_get_type() -> GType;
18492    #[cfg(feature = "v4_14")]
18493    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18494    pub fn gtk_shortcuts_section_add_group(
18495        self_: *mut GtkShortcutsSection,
18496        group: *mut GtkShortcutsGroup,
18497    );
18498
18499    //=========================================================================
18500    // GtkShortcutsShortcut
18501    //=========================================================================
18502    pub fn gtk_shortcuts_shortcut_get_type() -> GType;
18503
18504    //=========================================================================
18505    // GtkShortcutsWindow
18506    //=========================================================================
18507    pub fn gtk_shortcuts_window_get_type() -> GType;
18508    #[cfg(feature = "v4_14")]
18509    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18510    pub fn gtk_shortcuts_window_add_section(
18511        self_: *mut GtkShortcutsWindow,
18512        section: *mut GtkShortcutsSection,
18513    );
18514
18515    //=========================================================================
18516    // GtkSignalAction
18517    //=========================================================================
18518    pub fn gtk_signal_action_get_type() -> GType;
18519    pub fn gtk_signal_action_new(signal_name: *const c_char) -> *mut GtkSignalAction;
18520    pub fn gtk_signal_action_get_signal_name(self_: *mut GtkSignalAction) -> *const c_char;
18521
18522    //=========================================================================
18523    // GtkSignalListItemFactory
18524    //=========================================================================
18525    pub fn gtk_signal_list_item_factory_get_type() -> GType;
18526    pub fn gtk_signal_list_item_factory_new() -> *mut GtkListItemFactory;
18527
18528    //=========================================================================
18529    // GtkSingleSelection
18530    //=========================================================================
18531    pub fn gtk_single_selection_get_type() -> GType;
18532    pub fn gtk_single_selection_new(model: *mut gio::GListModel) -> *mut GtkSingleSelection;
18533    pub fn gtk_single_selection_get_autoselect(self_: *mut GtkSingleSelection) -> gboolean;
18534    pub fn gtk_single_selection_get_can_unselect(self_: *mut GtkSingleSelection) -> gboolean;
18535    pub fn gtk_single_selection_get_model(self_: *mut GtkSingleSelection) -> *mut gio::GListModel;
18536    pub fn gtk_single_selection_get_selected(self_: *mut GtkSingleSelection) -> c_uint;
18537    pub fn gtk_single_selection_get_selected_item(
18538        self_: *mut GtkSingleSelection,
18539    ) -> *mut gobject::GObject;
18540    pub fn gtk_single_selection_set_autoselect(
18541        self_: *mut GtkSingleSelection,
18542        autoselect: gboolean,
18543    );
18544    pub fn gtk_single_selection_set_can_unselect(
18545        self_: *mut GtkSingleSelection,
18546        can_unselect: gboolean,
18547    );
18548    pub fn gtk_single_selection_set_model(
18549        self_: *mut GtkSingleSelection,
18550        model: *mut gio::GListModel,
18551    );
18552    pub fn gtk_single_selection_set_selected(self_: *mut GtkSingleSelection, position: c_uint);
18553
18554    //=========================================================================
18555    // GtkSizeGroup
18556    //=========================================================================
18557    pub fn gtk_size_group_get_type() -> GType;
18558    pub fn gtk_size_group_new(mode: GtkSizeGroupMode) -> *mut GtkSizeGroup;
18559    pub fn gtk_size_group_add_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
18560    pub fn gtk_size_group_get_mode(size_group: *mut GtkSizeGroup) -> GtkSizeGroupMode;
18561    pub fn gtk_size_group_get_widgets(size_group: *mut GtkSizeGroup) -> *mut glib::GSList;
18562    pub fn gtk_size_group_remove_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
18563    pub fn gtk_size_group_set_mode(size_group: *mut GtkSizeGroup, mode: GtkSizeGroupMode);
18564
18565    //=========================================================================
18566    // GtkSliceListModel
18567    //=========================================================================
18568    pub fn gtk_slice_list_model_get_type() -> GType;
18569    pub fn gtk_slice_list_model_new(
18570        model: *mut gio::GListModel,
18571        offset: c_uint,
18572        size: c_uint,
18573    ) -> *mut GtkSliceListModel;
18574    pub fn gtk_slice_list_model_get_model(self_: *mut GtkSliceListModel) -> *mut gio::GListModel;
18575    pub fn gtk_slice_list_model_get_offset(self_: *mut GtkSliceListModel) -> c_uint;
18576    pub fn gtk_slice_list_model_get_size(self_: *mut GtkSliceListModel) -> c_uint;
18577    pub fn gtk_slice_list_model_set_model(
18578        self_: *mut GtkSliceListModel,
18579        model: *mut gio::GListModel,
18580    );
18581    pub fn gtk_slice_list_model_set_offset(self_: *mut GtkSliceListModel, offset: c_uint);
18582    pub fn gtk_slice_list_model_set_size(self_: *mut GtkSliceListModel, size: c_uint);
18583
18584    //=========================================================================
18585    // GtkSnapshot
18586    //=========================================================================
18587    pub fn gtk_snapshot_get_type() -> GType;
18588    pub fn gtk_snapshot_new() -> *mut GtkSnapshot;
18589    pub fn gtk_snapshot_append_border(
18590        snapshot: *mut GtkSnapshot,
18591        outline: *const gsk::GskRoundedRect,
18592        border_width: *const [c_float; 4],
18593        border_color: *const [gdk::GdkRGBA; 4],
18594    );
18595    pub fn gtk_snapshot_append_cairo(
18596        snapshot: *mut GtkSnapshot,
18597        bounds: *const graphene::graphene_rect_t,
18598    ) -> *mut cairo::cairo_t;
18599    pub fn gtk_snapshot_append_color(
18600        snapshot: *mut GtkSnapshot,
18601        color: *const gdk::GdkRGBA,
18602        bounds: *const graphene::graphene_rect_t,
18603    );
18604    pub fn gtk_snapshot_append_conic_gradient(
18605        snapshot: *mut GtkSnapshot,
18606        bounds: *const graphene::graphene_rect_t,
18607        center: *const graphene::graphene_point_t,
18608        rotation: c_float,
18609        stops: *const gsk::GskColorStop,
18610        n_stops: size_t,
18611    );
18612    #[cfg(feature = "v4_14")]
18613    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18614    pub fn gtk_snapshot_append_fill(
18615        snapshot: *mut GtkSnapshot,
18616        path: *mut gsk::GskPath,
18617        fill_rule: gsk::GskFillRule,
18618        color: *const gdk::GdkRGBA,
18619    );
18620    pub fn gtk_snapshot_append_inset_shadow(
18621        snapshot: *mut GtkSnapshot,
18622        outline: *const gsk::GskRoundedRect,
18623        color: *const gdk::GdkRGBA,
18624        dx: c_float,
18625        dy: c_float,
18626        spread: c_float,
18627        blur_radius: c_float,
18628    );
18629    pub fn gtk_snapshot_append_layout(
18630        snapshot: *mut GtkSnapshot,
18631        layout: *mut pango::PangoLayout,
18632        color: *const gdk::GdkRGBA,
18633    );
18634    pub fn gtk_snapshot_append_linear_gradient(
18635        snapshot: *mut GtkSnapshot,
18636        bounds: *const graphene::graphene_rect_t,
18637        start_point: *const graphene::graphene_point_t,
18638        end_point: *const graphene::graphene_point_t,
18639        stops: *const gsk::GskColorStop,
18640        n_stops: size_t,
18641    );
18642    pub fn gtk_snapshot_append_node(snapshot: *mut GtkSnapshot, node: *mut gsk::GskRenderNode);
18643    pub fn gtk_snapshot_append_outset_shadow(
18644        snapshot: *mut GtkSnapshot,
18645        outline: *const gsk::GskRoundedRect,
18646        color: *const gdk::GdkRGBA,
18647        dx: c_float,
18648        dy: c_float,
18649        spread: c_float,
18650        blur_radius: c_float,
18651    );
18652    #[cfg(feature = "v4_22")]
18653    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18654    pub fn gtk_snapshot_append_paste(
18655        snapshot: *mut GtkSnapshot,
18656        bounds: *const graphene::graphene_rect_t,
18657        nth: size_t,
18658    );
18659    pub fn gtk_snapshot_append_radial_gradient(
18660        snapshot: *mut GtkSnapshot,
18661        bounds: *const graphene::graphene_rect_t,
18662        center: *const graphene::graphene_point_t,
18663        hradius: c_float,
18664        vradius: c_float,
18665        start: c_float,
18666        end: c_float,
18667        stops: *const gsk::GskColorStop,
18668        n_stops: size_t,
18669    );
18670    pub fn gtk_snapshot_append_repeating_linear_gradient(
18671        snapshot: *mut GtkSnapshot,
18672        bounds: *const graphene::graphene_rect_t,
18673        start_point: *const graphene::graphene_point_t,
18674        end_point: *const graphene::graphene_point_t,
18675        stops: *const gsk::GskColorStop,
18676        n_stops: size_t,
18677    );
18678    pub fn gtk_snapshot_append_repeating_radial_gradient(
18679        snapshot: *mut GtkSnapshot,
18680        bounds: *const graphene::graphene_rect_t,
18681        center: *const graphene::graphene_point_t,
18682        hradius: c_float,
18683        vradius: c_float,
18684        start: c_float,
18685        end: c_float,
18686        stops: *const gsk::GskColorStop,
18687        n_stops: size_t,
18688    );
18689    #[cfg(feature = "v4_10")]
18690    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18691    pub fn gtk_snapshot_append_scaled_texture(
18692        snapshot: *mut GtkSnapshot,
18693        texture: *mut gdk::GdkTexture,
18694        filter: gsk::GskScalingFilter,
18695        bounds: *const graphene::graphene_rect_t,
18696    );
18697    #[cfg(feature = "v4_14")]
18698    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18699    pub fn gtk_snapshot_append_stroke(
18700        snapshot: *mut GtkSnapshot,
18701        path: *mut gsk::GskPath,
18702        stroke: *const gsk::GskStroke,
18703        color: *const gdk::GdkRGBA,
18704    );
18705    pub fn gtk_snapshot_append_texture(
18706        snapshot: *mut GtkSnapshot,
18707        texture: *mut gdk::GdkTexture,
18708        bounds: *const graphene::graphene_rect_t,
18709    );
18710    pub fn gtk_snapshot_free_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18711    pub fn gtk_snapshot_free_to_paintable(
18712        snapshot: *mut GtkSnapshot,
18713        size: *const graphene::graphene_size_t,
18714    ) -> *mut gdk::GdkPaintable;
18715    pub fn gtk_snapshot_gl_shader_pop_texture(snapshot: *mut GtkSnapshot);
18716    pub fn gtk_snapshot_perspective(snapshot: *mut GtkSnapshot, depth: c_float);
18717    pub fn gtk_snapshot_pop(snapshot: *mut GtkSnapshot);
18718    pub fn gtk_snapshot_push_blend(snapshot: *mut GtkSnapshot, blend_mode: gsk::GskBlendMode);
18719    pub fn gtk_snapshot_push_blur(snapshot: *mut GtkSnapshot, radius: c_double);
18720    pub fn gtk_snapshot_push_clip(
18721        snapshot: *mut GtkSnapshot,
18722        bounds: *const graphene::graphene_rect_t,
18723    );
18724    pub fn gtk_snapshot_push_color_matrix(
18725        snapshot: *mut GtkSnapshot,
18726        color_matrix: *const graphene::graphene_matrix_t,
18727        color_offset: *const graphene::graphene_vec4_t,
18728    );
18729    #[cfg(feature = "v4_20")]
18730    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
18731    pub fn gtk_snapshot_push_component_transfer(
18732        snapshot: *mut GtkSnapshot,
18733        red: *const gsk::GskComponentTransfer,
18734        green: *const gsk::GskComponentTransfer,
18735        blue: *const gsk::GskComponentTransfer,
18736        alpha: *const gsk::GskComponentTransfer,
18737    );
18738    #[cfg(feature = "v4_22")]
18739    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18740    pub fn gtk_snapshot_push_composite(snapshot: *mut GtkSnapshot, op: gsk::GskPorterDuff);
18741    #[cfg(feature = "v4_22")]
18742    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18743    pub fn gtk_snapshot_push_copy(snapshot: *mut GtkSnapshot);
18744    pub fn gtk_snapshot_push_cross_fade(snapshot: *mut GtkSnapshot, progress: c_double);
18745    pub fn gtk_snapshot_push_debug(snapshot: *mut GtkSnapshot, message: *const c_char, ...);
18746    #[cfg(feature = "v4_14")]
18747    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18748    pub fn gtk_snapshot_push_fill(
18749        snapshot: *mut GtkSnapshot,
18750        path: *mut gsk::GskPath,
18751        fill_rule: gsk::GskFillRule,
18752    );
18753    pub fn gtk_snapshot_push_gl_shader(
18754        snapshot: *mut GtkSnapshot,
18755        shader: *mut gsk::GskGLShader,
18756        bounds: *const graphene::graphene_rect_t,
18757        take_args: *mut glib::GBytes,
18758    );
18759    #[cfg(feature = "v4_22")]
18760    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18761    pub fn gtk_snapshot_push_isolation(snapshot: *mut GtkSnapshot, features: gsk::GskIsolation);
18762    #[cfg(feature = "v4_10")]
18763    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18764    pub fn gtk_snapshot_push_mask(snapshot: *mut GtkSnapshot, mask_mode: gsk::GskMaskMode);
18765    pub fn gtk_snapshot_push_opacity(snapshot: *mut GtkSnapshot, opacity: c_double);
18766    pub fn gtk_snapshot_push_repeat(
18767        snapshot: *mut GtkSnapshot,
18768        bounds: *const graphene::graphene_rect_t,
18769        child_bounds: *const graphene::graphene_rect_t,
18770    );
18771    pub fn gtk_snapshot_push_rounded_clip(
18772        snapshot: *mut GtkSnapshot,
18773        bounds: *const gsk::GskRoundedRect,
18774    );
18775    pub fn gtk_snapshot_push_shadow(
18776        snapshot: *mut GtkSnapshot,
18777        shadow: *const gsk::GskShadow,
18778        n_shadows: size_t,
18779    );
18780    #[cfg(feature = "v4_14")]
18781    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18782    pub fn gtk_snapshot_push_stroke(
18783        snapshot: *mut GtkSnapshot,
18784        path: *mut gsk::GskPath,
18785        stroke: *const gsk::GskStroke,
18786    );
18787    pub fn gtk_snapshot_render_background(
18788        snapshot: *mut GtkSnapshot,
18789        context: *mut GtkStyleContext,
18790        x: c_double,
18791        y: c_double,
18792        width: c_double,
18793        height: c_double,
18794    );
18795    pub fn gtk_snapshot_render_focus(
18796        snapshot: *mut GtkSnapshot,
18797        context: *mut GtkStyleContext,
18798        x: c_double,
18799        y: c_double,
18800        width: c_double,
18801        height: c_double,
18802    );
18803    pub fn gtk_snapshot_render_frame(
18804        snapshot: *mut GtkSnapshot,
18805        context: *mut GtkStyleContext,
18806        x: c_double,
18807        y: c_double,
18808        width: c_double,
18809        height: c_double,
18810    );
18811    pub fn gtk_snapshot_render_insertion_cursor(
18812        snapshot: *mut GtkSnapshot,
18813        context: *mut GtkStyleContext,
18814        x: c_double,
18815        y: c_double,
18816        layout: *mut pango::PangoLayout,
18817        index: c_int,
18818        direction: pango::PangoDirection,
18819    );
18820    pub fn gtk_snapshot_render_layout(
18821        snapshot: *mut GtkSnapshot,
18822        context: *mut GtkStyleContext,
18823        x: c_double,
18824        y: c_double,
18825        layout: *mut pango::PangoLayout,
18826    );
18827    pub fn gtk_snapshot_restore(snapshot: *mut GtkSnapshot);
18828    pub fn gtk_snapshot_rotate(snapshot: *mut GtkSnapshot, angle: c_float);
18829    pub fn gtk_snapshot_rotate_3d(
18830        snapshot: *mut GtkSnapshot,
18831        angle: c_float,
18832        axis: *const graphene::graphene_vec3_t,
18833    );
18834    pub fn gtk_snapshot_save(snapshot: *mut GtkSnapshot);
18835    pub fn gtk_snapshot_scale(snapshot: *mut GtkSnapshot, factor_x: c_float, factor_y: c_float);
18836    pub fn gtk_snapshot_scale_3d(
18837        snapshot: *mut GtkSnapshot,
18838        factor_x: c_float,
18839        factor_y: c_float,
18840        factor_z: c_float,
18841    );
18842    #[cfg(feature = "v4_24")]
18843    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
18844    pub fn gtk_snapshot_set_snap(self_: *mut GtkSnapshot, snap: gsk::GskRectSnap);
18845    pub fn gtk_snapshot_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18846    pub fn gtk_snapshot_to_paintable(
18847        snapshot: *mut GtkSnapshot,
18848        size: *const graphene::graphene_size_t,
18849    ) -> *mut gdk::GdkPaintable;
18850    pub fn gtk_snapshot_transform(snapshot: *mut GtkSnapshot, transform: *mut gsk::GskTransform);
18851    pub fn gtk_snapshot_transform_matrix(
18852        snapshot: *mut GtkSnapshot,
18853        matrix: *const graphene::graphene_matrix_t,
18854    );
18855    pub fn gtk_snapshot_translate(
18856        snapshot: *mut GtkSnapshot,
18857        point: *const graphene::graphene_point_t,
18858    );
18859    pub fn gtk_snapshot_translate_3d(
18860        snapshot: *mut GtkSnapshot,
18861        point: *const graphene::graphene_point3d_t,
18862    );
18863
18864    //=========================================================================
18865    // GtkSortListModel
18866    //=========================================================================
18867    pub fn gtk_sort_list_model_get_type() -> GType;
18868    pub fn gtk_sort_list_model_new(
18869        model: *mut gio::GListModel,
18870        sorter: *mut GtkSorter,
18871    ) -> *mut GtkSortListModel;
18872    pub fn gtk_sort_list_model_get_incremental(self_: *mut GtkSortListModel) -> gboolean;
18873    pub fn gtk_sort_list_model_get_model(self_: *mut GtkSortListModel) -> *mut gio::GListModel;
18874    pub fn gtk_sort_list_model_get_pending(self_: *mut GtkSortListModel) -> c_uint;
18875    #[cfg(feature = "v4_12")]
18876    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18877    pub fn gtk_sort_list_model_get_section_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18878    pub fn gtk_sort_list_model_get_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18879    pub fn gtk_sort_list_model_set_incremental(self_: *mut GtkSortListModel, incremental: gboolean);
18880    pub fn gtk_sort_list_model_set_model(self_: *mut GtkSortListModel, model: *mut gio::GListModel);
18881    #[cfg(feature = "v4_12")]
18882    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18883    pub fn gtk_sort_list_model_set_section_sorter(
18884        self_: *mut GtkSortListModel,
18885        sorter: *mut GtkSorter,
18886    );
18887    pub fn gtk_sort_list_model_set_sorter(self_: *mut GtkSortListModel, sorter: *mut GtkSorter);
18888
18889    //=========================================================================
18890    // GtkSorter
18891    //=========================================================================
18892    pub fn gtk_sorter_get_type() -> GType;
18893    pub fn gtk_sorter_changed(self_: *mut GtkSorter, change: GtkSorterChange);
18894    pub fn gtk_sorter_compare(
18895        self_: *mut GtkSorter,
18896        item1: *mut gobject::GObject,
18897        item2: *mut gobject::GObject,
18898    ) -> GtkOrdering;
18899    pub fn gtk_sorter_get_order(self_: *mut GtkSorter) -> GtkSorterOrder;
18900
18901    //=========================================================================
18902    // GtkSpinButton
18903    //=========================================================================
18904    pub fn gtk_spin_button_get_type() -> GType;
18905    pub fn gtk_spin_button_new(
18906        adjustment: *mut GtkAdjustment,
18907        climb_rate: c_double,
18908        digits: c_uint,
18909    ) -> *mut GtkWidget;
18910    pub fn gtk_spin_button_new_with_range(
18911        min: c_double,
18912        max: c_double,
18913        step: c_double,
18914    ) -> *mut GtkWidget;
18915    pub fn gtk_spin_button_configure(
18916        spin_button: *mut GtkSpinButton,
18917        adjustment: *mut GtkAdjustment,
18918        climb_rate: c_double,
18919        digits: c_uint,
18920    );
18921    #[cfg(feature = "v4_14")]
18922    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18923    pub fn gtk_spin_button_get_activates_default(spin_button: *mut GtkSpinButton) -> gboolean;
18924    pub fn gtk_spin_button_get_adjustment(spin_button: *mut GtkSpinButton) -> *mut GtkAdjustment;
18925    pub fn gtk_spin_button_get_climb_rate(spin_button: *mut GtkSpinButton) -> c_double;
18926    pub fn gtk_spin_button_get_digits(spin_button: *mut GtkSpinButton) -> c_uint;
18927    pub fn gtk_spin_button_get_increments(
18928        spin_button: *mut GtkSpinButton,
18929        step: *mut c_double,
18930        page: *mut c_double,
18931    );
18932    pub fn gtk_spin_button_get_numeric(spin_button: *mut GtkSpinButton) -> gboolean;
18933    pub fn gtk_spin_button_get_range(
18934        spin_button: *mut GtkSpinButton,
18935        min: *mut c_double,
18936        max: *mut c_double,
18937    );
18938    pub fn gtk_spin_button_get_snap_to_ticks(spin_button: *mut GtkSpinButton) -> gboolean;
18939    pub fn gtk_spin_button_get_update_policy(
18940        spin_button: *mut GtkSpinButton,
18941    ) -> GtkSpinButtonUpdatePolicy;
18942    pub fn gtk_spin_button_get_value(spin_button: *mut GtkSpinButton) -> c_double;
18943    pub fn gtk_spin_button_get_value_as_int(spin_button: *mut GtkSpinButton) -> c_int;
18944    pub fn gtk_spin_button_get_wrap(spin_button: *mut GtkSpinButton) -> gboolean;
18945    #[cfg(feature = "v4_14")]
18946    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18947    pub fn gtk_spin_button_set_activates_default(
18948        spin_button: *mut GtkSpinButton,
18949        activates_default: gboolean,
18950    );
18951    pub fn gtk_spin_button_set_adjustment(
18952        spin_button: *mut GtkSpinButton,
18953        adjustment: *mut GtkAdjustment,
18954    );
18955    pub fn gtk_spin_button_set_climb_rate(spin_button: *mut GtkSpinButton, climb_rate: c_double);
18956    pub fn gtk_spin_button_set_digits(spin_button: *mut GtkSpinButton, digits: c_uint);
18957    pub fn gtk_spin_button_set_increments(
18958        spin_button: *mut GtkSpinButton,
18959        step: c_double,
18960        page: c_double,
18961    );
18962    pub fn gtk_spin_button_set_numeric(spin_button: *mut GtkSpinButton, numeric: gboolean);
18963    pub fn gtk_spin_button_set_range(spin_button: *mut GtkSpinButton, min: c_double, max: c_double);
18964    pub fn gtk_spin_button_set_snap_to_ticks(
18965        spin_button: *mut GtkSpinButton,
18966        snap_to_ticks: gboolean,
18967    );
18968    pub fn gtk_spin_button_set_update_policy(
18969        spin_button: *mut GtkSpinButton,
18970        policy: GtkSpinButtonUpdatePolicy,
18971    );
18972    pub fn gtk_spin_button_set_value(spin_button: *mut GtkSpinButton, value: c_double);
18973    pub fn gtk_spin_button_set_wrap(spin_button: *mut GtkSpinButton, wrap: gboolean);
18974    pub fn gtk_spin_button_spin(
18975        spin_button: *mut GtkSpinButton,
18976        direction: GtkSpinType,
18977        increment: c_double,
18978    );
18979    pub fn gtk_spin_button_update(spin_button: *mut GtkSpinButton);
18980
18981    //=========================================================================
18982    // GtkSpinner
18983    //=========================================================================
18984    pub fn gtk_spinner_get_type() -> GType;
18985    pub fn gtk_spinner_new() -> *mut GtkWidget;
18986    pub fn gtk_spinner_get_spinning(spinner: *mut GtkSpinner) -> gboolean;
18987    pub fn gtk_spinner_set_spinning(spinner: *mut GtkSpinner, spinning: gboolean);
18988    pub fn gtk_spinner_start(spinner: *mut GtkSpinner);
18989    pub fn gtk_spinner_stop(spinner: *mut GtkSpinner);
18990
18991    //=========================================================================
18992    // GtkStack
18993    //=========================================================================
18994    pub fn gtk_stack_get_type() -> GType;
18995    pub fn gtk_stack_new() -> *mut GtkWidget;
18996    pub fn gtk_stack_add_child(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
18997    pub fn gtk_stack_add_named(
18998        stack: *mut GtkStack,
18999        child: *mut GtkWidget,
19000        name: *const c_char,
19001    ) -> *mut GtkStackPage;
19002    pub fn gtk_stack_add_titled(
19003        stack: *mut GtkStack,
19004        child: *mut GtkWidget,
19005        name: *const c_char,
19006        title: *const c_char,
19007    ) -> *mut GtkStackPage;
19008    pub fn gtk_stack_get_child_by_name(stack: *mut GtkStack, name: *const c_char)
19009    -> *mut GtkWidget;
19010    pub fn gtk_stack_get_hhomogeneous(stack: *mut GtkStack) -> gboolean;
19011    pub fn gtk_stack_get_interpolate_size(stack: *mut GtkStack) -> gboolean;
19012    pub fn gtk_stack_get_page(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
19013    pub fn gtk_stack_get_pages(stack: *mut GtkStack) -> *mut GtkSelectionModel;
19014    pub fn gtk_stack_get_transition_duration(stack: *mut GtkStack) -> c_uint;
19015    pub fn gtk_stack_get_transition_running(stack: *mut GtkStack) -> gboolean;
19016    pub fn gtk_stack_get_transition_type(stack: *mut GtkStack) -> GtkStackTransitionType;
19017    pub fn gtk_stack_get_vhomogeneous(stack: *mut GtkStack) -> gboolean;
19018    pub fn gtk_stack_get_visible_child(stack: *mut GtkStack) -> *mut GtkWidget;
19019    pub fn gtk_stack_get_visible_child_name(stack: *mut GtkStack) -> *const c_char;
19020    pub fn gtk_stack_remove(stack: *mut GtkStack, child: *mut GtkWidget);
19021    pub fn gtk_stack_set_hhomogeneous(stack: *mut GtkStack, hhomogeneous: gboolean);
19022    pub fn gtk_stack_set_interpolate_size(stack: *mut GtkStack, interpolate_size: gboolean);
19023    pub fn gtk_stack_set_transition_duration(stack: *mut GtkStack, duration: c_uint);
19024    pub fn gtk_stack_set_transition_type(stack: *mut GtkStack, transition: GtkStackTransitionType);
19025    pub fn gtk_stack_set_vhomogeneous(stack: *mut GtkStack, vhomogeneous: gboolean);
19026    pub fn gtk_stack_set_visible_child(stack: *mut GtkStack, child: *mut GtkWidget);
19027    pub fn gtk_stack_set_visible_child_full(
19028        stack: *mut GtkStack,
19029        name: *const c_char,
19030        transition: GtkStackTransitionType,
19031    );
19032    pub fn gtk_stack_set_visible_child_name(stack: *mut GtkStack, name: *const c_char);
19033
19034    //=========================================================================
19035    // GtkStackPage
19036    //=========================================================================
19037    pub fn gtk_stack_page_get_type() -> GType;
19038    pub fn gtk_stack_page_get_child(self_: *mut GtkStackPage) -> *mut GtkWidget;
19039    pub fn gtk_stack_page_get_icon_name(self_: *mut GtkStackPage) -> *const c_char;
19040    pub fn gtk_stack_page_get_name(self_: *mut GtkStackPage) -> *const c_char;
19041    pub fn gtk_stack_page_get_needs_attention(self_: *mut GtkStackPage) -> gboolean;
19042    pub fn gtk_stack_page_get_title(self_: *mut GtkStackPage) -> *const c_char;
19043    pub fn gtk_stack_page_get_use_underline(self_: *mut GtkStackPage) -> gboolean;
19044    pub fn gtk_stack_page_get_visible(self_: *mut GtkStackPage) -> gboolean;
19045    pub fn gtk_stack_page_set_icon_name(self_: *mut GtkStackPage, setting: *const c_char);
19046    pub fn gtk_stack_page_set_name(self_: *mut GtkStackPage, setting: *const c_char);
19047    pub fn gtk_stack_page_set_needs_attention(self_: *mut GtkStackPage, setting: gboolean);
19048    pub fn gtk_stack_page_set_title(self_: *mut GtkStackPage, setting: *const c_char);
19049    pub fn gtk_stack_page_set_use_underline(self_: *mut GtkStackPage, setting: gboolean);
19050    pub fn gtk_stack_page_set_visible(self_: *mut GtkStackPage, visible: gboolean);
19051
19052    //=========================================================================
19053    // GtkStackSidebar
19054    //=========================================================================
19055    pub fn gtk_stack_sidebar_get_type() -> GType;
19056    pub fn gtk_stack_sidebar_new() -> *mut GtkWidget;
19057    pub fn gtk_stack_sidebar_get_stack(self_: *mut GtkStackSidebar) -> *mut GtkStack;
19058    pub fn gtk_stack_sidebar_set_stack(self_: *mut GtkStackSidebar, stack: *mut GtkStack);
19059
19060    //=========================================================================
19061    // GtkStackSwitcher
19062    //=========================================================================
19063    pub fn gtk_stack_switcher_get_type() -> GType;
19064    pub fn gtk_stack_switcher_new() -> *mut GtkWidget;
19065    pub fn gtk_stack_switcher_get_stack(switcher: *mut GtkStackSwitcher) -> *mut GtkStack;
19066    pub fn gtk_stack_switcher_set_stack(switcher: *mut GtkStackSwitcher, stack: *mut GtkStack);
19067
19068    //=========================================================================
19069    // GtkStatusbar
19070    //=========================================================================
19071    pub fn gtk_statusbar_get_type() -> GType;
19072    pub fn gtk_statusbar_new() -> *mut GtkWidget;
19073    pub fn gtk_statusbar_get_context_id(
19074        statusbar: *mut GtkStatusbar,
19075        context_description: *const c_char,
19076    ) -> c_uint;
19077    pub fn gtk_statusbar_pop(statusbar: *mut GtkStatusbar, context_id: c_uint);
19078    pub fn gtk_statusbar_push(
19079        statusbar: *mut GtkStatusbar,
19080        context_id: c_uint,
19081        text: *const c_char,
19082    ) -> c_uint;
19083    pub fn gtk_statusbar_remove(
19084        statusbar: *mut GtkStatusbar,
19085        context_id: c_uint,
19086        message_id: c_uint,
19087    );
19088    pub fn gtk_statusbar_remove_all(statusbar: *mut GtkStatusbar, context_id: c_uint);
19089
19090    //=========================================================================
19091    // GtkStringFilter
19092    //=========================================================================
19093    pub fn gtk_string_filter_get_type() -> GType;
19094    pub fn gtk_string_filter_new(expression: *mut GtkExpression) -> *mut GtkStringFilter;
19095    pub fn gtk_string_filter_get_expression(self_: *mut GtkStringFilter) -> *mut GtkExpression;
19096    pub fn gtk_string_filter_get_ignore_case(self_: *mut GtkStringFilter) -> gboolean;
19097    pub fn gtk_string_filter_get_match_mode(
19098        self_: *mut GtkStringFilter,
19099    ) -> GtkStringFilterMatchMode;
19100    pub fn gtk_string_filter_get_search(self_: *mut GtkStringFilter) -> *const c_char;
19101    pub fn gtk_string_filter_set_expression(
19102        self_: *mut GtkStringFilter,
19103        expression: *mut GtkExpression,
19104    );
19105    pub fn gtk_string_filter_set_ignore_case(self_: *mut GtkStringFilter, ignore_case: gboolean);
19106    pub fn gtk_string_filter_set_match_mode(
19107        self_: *mut GtkStringFilter,
19108        mode: GtkStringFilterMatchMode,
19109    );
19110    pub fn gtk_string_filter_set_search(self_: *mut GtkStringFilter, search: *const c_char);
19111
19112    //=========================================================================
19113    // GtkStringList
19114    //=========================================================================
19115    pub fn gtk_string_list_get_type() -> GType;
19116    pub fn gtk_string_list_new(strings: *const *const c_char) -> *mut GtkStringList;
19117    pub fn gtk_string_list_append(self_: *mut GtkStringList, string: *const c_char);
19118    #[cfg(feature = "v4_18")]
19119    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
19120    pub fn gtk_string_list_find(self_: *mut GtkStringList, string: *const c_char) -> c_uint;
19121    pub fn gtk_string_list_get_string(self_: *mut GtkStringList, position: c_uint)
19122    -> *const c_char;
19123    pub fn gtk_string_list_remove(self_: *mut GtkStringList, position: c_uint);
19124    pub fn gtk_string_list_splice(
19125        self_: *mut GtkStringList,
19126        position: c_uint,
19127        n_removals: c_uint,
19128        additions: *const *const c_char,
19129    );
19130    pub fn gtk_string_list_take(self_: *mut GtkStringList, string: *mut c_char);
19131
19132    //=========================================================================
19133    // GtkStringObject
19134    //=========================================================================
19135    pub fn gtk_string_object_get_type() -> GType;
19136    pub fn gtk_string_object_new(string: *const c_char) -> *mut GtkStringObject;
19137    pub fn gtk_string_object_get_string(self_: *mut GtkStringObject) -> *const c_char;
19138
19139    //=========================================================================
19140    // GtkStringSorter
19141    //=========================================================================
19142    pub fn gtk_string_sorter_get_type() -> GType;
19143    pub fn gtk_string_sorter_new(expression: *mut GtkExpression) -> *mut GtkStringSorter;
19144    #[cfg(feature = "v4_10")]
19145    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19146    pub fn gtk_string_sorter_get_collation(self_: *mut GtkStringSorter) -> GtkCollation;
19147    pub fn gtk_string_sorter_get_expression(self_: *mut GtkStringSorter) -> *mut GtkExpression;
19148    pub fn gtk_string_sorter_get_ignore_case(self_: *mut GtkStringSorter) -> gboolean;
19149    #[cfg(feature = "v4_10")]
19150    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19151    pub fn gtk_string_sorter_set_collation(self_: *mut GtkStringSorter, collation: GtkCollation);
19152    pub fn gtk_string_sorter_set_expression(
19153        self_: *mut GtkStringSorter,
19154        expression: *mut GtkExpression,
19155    );
19156    pub fn gtk_string_sorter_set_ignore_case(self_: *mut GtkStringSorter, ignore_case: gboolean);
19157
19158    //=========================================================================
19159    // GtkStyleContext
19160    //=========================================================================
19161    pub fn gtk_style_context_get_type() -> GType;
19162    pub fn gtk_style_context_add_provider_for_display(
19163        display: *mut gdk::GdkDisplay,
19164        provider: *mut GtkStyleProvider,
19165        priority: c_uint,
19166    );
19167    pub fn gtk_style_context_remove_provider_for_display(
19168        display: *mut gdk::GdkDisplay,
19169        provider: *mut GtkStyleProvider,
19170    );
19171    pub fn gtk_style_context_add_class(context: *mut GtkStyleContext, class_name: *const c_char);
19172    pub fn gtk_style_context_add_provider(
19173        context: *mut GtkStyleContext,
19174        provider: *mut GtkStyleProvider,
19175        priority: c_uint,
19176    );
19177    pub fn gtk_style_context_get_border(context: *mut GtkStyleContext, border: *mut GtkBorder);
19178    pub fn gtk_style_context_get_color(context: *mut GtkStyleContext, color: *mut gdk::GdkRGBA);
19179    pub fn gtk_style_context_get_display(context: *mut GtkStyleContext) -> *mut gdk::GdkDisplay;
19180    pub fn gtk_style_context_get_margin(context: *mut GtkStyleContext, margin: *mut GtkBorder);
19181    pub fn gtk_style_context_get_padding(context: *mut GtkStyleContext, padding: *mut GtkBorder);
19182    pub fn gtk_style_context_get_scale(context: *mut GtkStyleContext) -> c_int;
19183    pub fn gtk_style_context_get_state(context: *mut GtkStyleContext) -> GtkStateFlags;
19184    pub fn gtk_style_context_has_class(
19185        context: *mut GtkStyleContext,
19186        class_name: *const c_char,
19187    ) -> gboolean;
19188    pub fn gtk_style_context_lookup_color(
19189        context: *mut GtkStyleContext,
19190        color_name: *const c_char,
19191        color: *mut gdk::GdkRGBA,
19192    ) -> gboolean;
19193    pub fn gtk_style_context_remove_class(context: *mut GtkStyleContext, class_name: *const c_char);
19194    pub fn gtk_style_context_remove_provider(
19195        context: *mut GtkStyleContext,
19196        provider: *mut GtkStyleProvider,
19197    );
19198    pub fn gtk_style_context_restore(context: *mut GtkStyleContext);
19199    pub fn gtk_style_context_save(context: *mut GtkStyleContext);
19200    pub fn gtk_style_context_set_display(
19201        context: *mut GtkStyleContext,
19202        display: *mut gdk::GdkDisplay,
19203    );
19204    pub fn gtk_style_context_set_scale(context: *mut GtkStyleContext, scale: c_int);
19205    pub fn gtk_style_context_set_state(context: *mut GtkStyleContext, flags: GtkStateFlags);
19206    pub fn gtk_style_context_to_string(
19207        context: *mut GtkStyleContext,
19208        flags: GtkStyleContextPrintFlags,
19209    ) -> *mut c_char;
19210
19211    //=========================================================================
19212    // GtkSvg
19213    //=========================================================================
19214    #[cfg(feature = "v4_22")]
19215    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19216    pub fn gtk_svg_get_type() -> GType;
19217    #[cfg(feature = "v4_22")]
19218    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19219    pub fn gtk_svg_new() -> *mut GtkSvg;
19220    #[cfg(feature = "v4_22")]
19221    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19222    pub fn gtk_svg_new_from_bytes(bytes: *mut glib::GBytes) -> *mut GtkSvg;
19223    #[cfg(feature = "v4_22")]
19224    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19225    pub fn gtk_svg_new_from_resource(path: *const c_char) -> *mut GtkSvg;
19226    #[cfg(feature = "v4_22")]
19227    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19228    pub fn gtk_svg_get_features(self_: *mut GtkSvg) -> GtkSvgFeatures;
19229    #[cfg(feature = "v4_24")]
19230    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19231    pub fn gtk_svg_get_overflow(self_: *mut GtkSvg) -> GtkOverflow;
19232    #[cfg(feature = "v4_22")]
19233    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19234    pub fn gtk_svg_get_state(self_: *mut GtkSvg) -> c_uint;
19235    #[cfg(feature = "v4_22")]
19236    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19237    pub fn gtk_svg_get_state_names(self_: *mut GtkSvg, length: *mut c_uint) -> *mut *const c_char;
19238    #[cfg(feature = "v4_24")]
19239    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19240    pub fn gtk_svg_get_stylesheet(self_: *mut GtkSvg) -> *mut glib::GBytes;
19241    #[cfg(feature = "v4_22")]
19242    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19243    pub fn gtk_svg_get_weight(self_: *mut GtkSvg) -> c_double;
19244    #[cfg(feature = "v4_22")]
19245    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19246    pub fn gtk_svg_load_from_bytes(self_: *mut GtkSvg, bytes: *mut glib::GBytes);
19247    #[cfg(feature = "v4_22")]
19248    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19249    pub fn gtk_svg_load_from_resource(self_: *mut GtkSvg, path: *const c_char);
19250    #[cfg(feature = "v4_22")]
19251    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19252    pub fn gtk_svg_pause(self_: *mut GtkSvg);
19253    #[cfg(feature = "v4_22")]
19254    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19255    pub fn gtk_svg_play(self_: *mut GtkSvg);
19256    #[cfg(feature = "v4_22")]
19257    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19258    pub fn gtk_svg_serialize(self_: *mut GtkSvg) -> *mut glib::GBytes;
19259    #[cfg(feature = "v4_22")]
19260    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19261    pub fn gtk_svg_set_features(self_: *mut GtkSvg, features: GtkSvgFeatures);
19262    #[cfg(feature = "v4_22")]
19263    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19264    pub fn gtk_svg_set_frame_clock(self_: *mut GtkSvg, clock: *mut gdk::GdkFrameClock);
19265    #[cfg(feature = "v4_24")]
19266    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19267    pub fn gtk_svg_set_overflow(self_: *mut GtkSvg, overflow: GtkOverflow);
19268    #[cfg(feature = "v4_24")]
19269    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19270    pub fn gtk_svg_set_settings(self_: *mut GtkSvg, settings: *mut GtkSettings);
19271    #[cfg(feature = "v4_22")]
19272    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19273    pub fn gtk_svg_set_state(self_: *mut GtkSvg, state: c_uint);
19274    #[cfg(feature = "v4_24")]
19275    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19276    pub fn gtk_svg_set_stylesheet(self_: *mut GtkSvg, bytes: *mut glib::GBytes);
19277    #[cfg(feature = "v4_22")]
19278    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19279    pub fn gtk_svg_set_weight(self_: *mut GtkSvg, weight: c_double);
19280    #[cfg(feature = "v4_22")]
19281    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19282    pub fn gtk_svg_write_to_file(
19283        self_: *mut GtkSvg,
19284        filename: *const c_char,
19285        error: *mut *mut glib::GError,
19286    ) -> gboolean;
19287
19288    //=========================================================================
19289    // GtkSvgWidget
19290    //=========================================================================
19291    #[cfg(feature = "v4_24")]
19292    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19293    pub fn gtk_svg_widget_get_type() -> GType;
19294    #[cfg(feature = "v4_24")]
19295    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19296    pub fn gtk_svg_widget_new() -> *mut GtkSvgWidget;
19297    #[cfg(feature = "v4_24")]
19298    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19299    pub fn gtk_svg_widget_get_state(self_: *mut GtkSvgWidget) -> c_uint;
19300    #[cfg(feature = "v4_24")]
19301    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19302    pub fn gtk_svg_widget_get_stylesheet(self_: *mut GtkSvgWidget) -> *mut glib::GBytes;
19303    #[cfg(feature = "v4_24")]
19304    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19305    pub fn gtk_svg_widget_load_from_bytes(self_: *mut GtkSvgWidget, bytes: *mut glib::GBytes);
19306    #[cfg(feature = "v4_24")]
19307    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19308    pub fn gtk_svg_widget_set_state(self_: *mut GtkSvgWidget, state: c_uint);
19309    #[cfg(feature = "v4_24")]
19310    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19311    pub fn gtk_svg_widget_set_stylesheet(self_: *mut GtkSvgWidget, bytes: *mut glib::GBytes);
19312
19313    //=========================================================================
19314    // GtkSwitch
19315    //=========================================================================
19316    pub fn gtk_switch_get_type() -> GType;
19317    pub fn gtk_switch_new() -> *mut GtkWidget;
19318    pub fn gtk_switch_get_active(self_: *mut GtkSwitch) -> gboolean;
19319    pub fn gtk_switch_get_state(self_: *mut GtkSwitch) -> gboolean;
19320    pub fn gtk_switch_set_active(self_: *mut GtkSwitch, is_active: gboolean);
19321    pub fn gtk_switch_set_state(self_: *mut GtkSwitch, state: gboolean);
19322
19323    //=========================================================================
19324    // GtkText
19325    //=========================================================================
19326    pub fn gtk_text_get_type() -> GType;
19327    pub fn gtk_text_new() -> *mut GtkWidget;
19328    pub fn gtk_text_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
19329    #[cfg(feature = "v4_4")]
19330    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19331    pub fn gtk_text_compute_cursor_extents(
19332        self_: *mut GtkText,
19333        position: size_t,
19334        strong: *mut graphene::graphene_rect_t,
19335        weak: *mut graphene::graphene_rect_t,
19336    );
19337    pub fn gtk_text_get_activates_default(self_: *mut GtkText) -> gboolean;
19338    pub fn gtk_text_get_attributes(self_: *mut GtkText) -> *mut pango::PangoAttrList;
19339    pub fn gtk_text_get_buffer(self_: *mut GtkText) -> *mut GtkEntryBuffer;
19340    pub fn gtk_text_get_enable_emoji_completion(self_: *mut GtkText) -> gboolean;
19341    pub fn gtk_text_get_extra_menu(self_: *mut GtkText) -> *mut gio::GMenuModel;
19342    pub fn gtk_text_get_input_hints(self_: *mut GtkText) -> GtkInputHints;
19343    pub fn gtk_text_get_input_purpose(self_: *mut GtkText) -> GtkInputPurpose;
19344    pub fn gtk_text_get_invisible_char(self_: *mut GtkText) -> u32;
19345    pub fn gtk_text_get_max_length(self_: *mut GtkText) -> c_int;
19346    pub fn gtk_text_get_overwrite_mode(self_: *mut GtkText) -> gboolean;
19347    pub fn gtk_text_get_placeholder_text(self_: *mut GtkText) -> *const c_char;
19348    pub fn gtk_text_get_propagate_text_width(self_: *mut GtkText) -> gboolean;
19349    pub fn gtk_text_get_tabs(self_: *mut GtkText) -> *mut pango::PangoTabArray;
19350    pub fn gtk_text_get_text_length(self_: *mut GtkText) -> u16;
19351    pub fn gtk_text_get_truncate_multiline(self_: *mut GtkText) -> gboolean;
19352    pub fn gtk_text_get_visibility(self_: *mut GtkText) -> gboolean;
19353    pub fn gtk_text_grab_focus_without_selecting(self_: *mut GtkText) -> gboolean;
19354    pub fn gtk_text_set_activates_default(self_: *mut GtkText, activates: gboolean);
19355    pub fn gtk_text_set_attributes(self_: *mut GtkText, attrs: *mut pango::PangoAttrList);
19356    pub fn gtk_text_set_buffer(self_: *mut GtkText, buffer: *mut GtkEntryBuffer);
19357    pub fn gtk_text_set_enable_emoji_completion(
19358        self_: *mut GtkText,
19359        enable_emoji_completion: gboolean,
19360    );
19361    pub fn gtk_text_set_extra_menu(self_: *mut GtkText, model: *mut gio::GMenuModel);
19362    pub fn gtk_text_set_input_hints(self_: *mut GtkText, hints: GtkInputHints);
19363    pub fn gtk_text_set_input_purpose(self_: *mut GtkText, purpose: GtkInputPurpose);
19364    pub fn gtk_text_set_invisible_char(self_: *mut GtkText, ch: u32);
19365    pub fn gtk_text_set_max_length(self_: *mut GtkText, length: c_int);
19366    pub fn gtk_text_set_overwrite_mode(self_: *mut GtkText, overwrite: gboolean);
19367    pub fn gtk_text_set_placeholder_text(self_: *mut GtkText, text: *const c_char);
19368    pub fn gtk_text_set_propagate_text_width(self_: *mut GtkText, propagate_text_width: gboolean);
19369    pub fn gtk_text_set_tabs(self_: *mut GtkText, tabs: *mut pango::PangoTabArray);
19370    pub fn gtk_text_set_truncate_multiline(self_: *mut GtkText, truncate_multiline: gboolean);
19371    pub fn gtk_text_set_visibility(self_: *mut GtkText, visible: gboolean);
19372    pub fn gtk_text_unset_invisible_char(self_: *mut GtkText);
19373
19374    //=========================================================================
19375    // GtkTextBuffer
19376    //=========================================================================
19377    pub fn gtk_text_buffer_get_type() -> GType;
19378    pub fn gtk_text_buffer_new(table: *mut GtkTextTagTable) -> *mut GtkTextBuffer;
19379    #[cfg(feature = "v4_16")]
19380    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
19381    pub fn gtk_text_buffer_add_commit_notify(
19382        buffer: *mut GtkTextBuffer,
19383        flags: GtkTextBufferNotifyFlags,
19384        commit_notify: GtkTextBufferCommitNotify,
19385        user_data: gpointer,
19386        destroy: glib::GDestroyNotify,
19387    ) -> c_uint;
19388    pub fn gtk_text_buffer_add_mark(
19389        buffer: *mut GtkTextBuffer,
19390        mark: *mut GtkTextMark,
19391        where_: *const GtkTextIter,
19392    );
19393    pub fn gtk_text_buffer_add_selection_clipboard(
19394        buffer: *mut GtkTextBuffer,
19395        clipboard: *mut gdk::GdkClipboard,
19396    );
19397    pub fn gtk_text_buffer_apply_tag(
19398        buffer: *mut GtkTextBuffer,
19399        tag: *mut GtkTextTag,
19400        start: *const GtkTextIter,
19401        end: *const GtkTextIter,
19402    );
19403    pub fn gtk_text_buffer_apply_tag_by_name(
19404        buffer: *mut GtkTextBuffer,
19405        name: *const c_char,
19406        start: *const GtkTextIter,
19407        end: *const GtkTextIter,
19408    );
19409    pub fn gtk_text_buffer_backspace(
19410        buffer: *mut GtkTextBuffer,
19411        iter: *mut GtkTextIter,
19412        interactive: gboolean,
19413        default_editable: gboolean,
19414    ) -> gboolean;
19415    pub fn gtk_text_buffer_begin_irreversible_action(buffer: *mut GtkTextBuffer);
19416    pub fn gtk_text_buffer_begin_user_action(buffer: *mut GtkTextBuffer);
19417    pub fn gtk_text_buffer_copy_clipboard(
19418        buffer: *mut GtkTextBuffer,
19419        clipboard: *mut gdk::GdkClipboard,
19420    );
19421    pub fn gtk_text_buffer_create_child_anchor(
19422        buffer: *mut GtkTextBuffer,
19423        iter: *mut GtkTextIter,
19424    ) -> *mut GtkTextChildAnchor;
19425    pub fn gtk_text_buffer_create_mark(
19426        buffer: *mut GtkTextBuffer,
19427        mark_name: *const c_char,
19428        where_: *const GtkTextIter,
19429        left_gravity: gboolean,
19430    ) -> *mut GtkTextMark;
19431    pub fn gtk_text_buffer_create_tag(
19432        buffer: *mut GtkTextBuffer,
19433        tag_name: *const c_char,
19434        first_property_name: *const c_char,
19435        ...
19436    ) -> *mut GtkTextTag;
19437    pub fn gtk_text_buffer_cut_clipboard(
19438        buffer: *mut GtkTextBuffer,
19439        clipboard: *mut gdk::GdkClipboard,
19440        default_editable: gboolean,
19441    );
19442    pub fn gtk_text_buffer_delete(
19443        buffer: *mut GtkTextBuffer,
19444        start: *mut GtkTextIter,
19445        end: *mut GtkTextIter,
19446    );
19447    pub fn gtk_text_buffer_delete_interactive(
19448        buffer: *mut GtkTextBuffer,
19449        start_iter: *mut GtkTextIter,
19450        end_iter: *mut GtkTextIter,
19451        default_editable: gboolean,
19452    ) -> gboolean;
19453    pub fn gtk_text_buffer_delete_mark(buffer: *mut GtkTextBuffer, mark: *mut GtkTextMark);
19454    pub fn gtk_text_buffer_delete_mark_by_name(buffer: *mut GtkTextBuffer, name: *const c_char);
19455    pub fn gtk_text_buffer_delete_selection(
19456        buffer: *mut GtkTextBuffer,
19457        interactive: gboolean,
19458        default_editable: gboolean,
19459    ) -> gboolean;
19460    pub fn gtk_text_buffer_end_irreversible_action(buffer: *mut GtkTextBuffer);
19461    pub fn gtk_text_buffer_end_user_action(buffer: *mut GtkTextBuffer);
19462    pub fn gtk_text_buffer_get_bounds(
19463        buffer: *mut GtkTextBuffer,
19464        start: *mut GtkTextIter,
19465        end: *mut GtkTextIter,
19466    );
19467    pub fn gtk_text_buffer_get_can_redo(buffer: *mut GtkTextBuffer) -> gboolean;
19468    pub fn gtk_text_buffer_get_can_undo(buffer: *mut GtkTextBuffer) -> gboolean;
19469    pub fn gtk_text_buffer_get_char_count(buffer: *mut GtkTextBuffer) -> c_int;
19470    pub fn gtk_text_buffer_get_enable_undo(buffer: *mut GtkTextBuffer) -> gboolean;
19471    pub fn gtk_text_buffer_get_end_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
19472    pub fn gtk_text_buffer_get_has_selection(buffer: *mut GtkTextBuffer) -> gboolean;
19473    pub fn gtk_text_buffer_get_insert(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
19474    pub fn gtk_text_buffer_get_iter_at_child_anchor(
19475        buffer: *mut GtkTextBuffer,
19476        iter: *mut GtkTextIter,
19477        anchor: *mut GtkTextChildAnchor,
19478    );
19479    pub fn gtk_text_buffer_get_iter_at_line(
19480        buffer: *mut GtkTextBuffer,
19481        iter: *mut GtkTextIter,
19482        line_number: c_int,
19483    ) -> gboolean;
19484    pub fn gtk_text_buffer_get_iter_at_line_index(
19485        buffer: *mut GtkTextBuffer,
19486        iter: *mut GtkTextIter,
19487        line_number: c_int,
19488        byte_index: c_int,
19489    ) -> gboolean;
19490    pub fn gtk_text_buffer_get_iter_at_line_offset(
19491        buffer: *mut GtkTextBuffer,
19492        iter: *mut GtkTextIter,
19493        line_number: c_int,
19494        char_offset: c_int,
19495    ) -> gboolean;
19496    pub fn gtk_text_buffer_get_iter_at_mark(
19497        buffer: *mut GtkTextBuffer,
19498        iter: *mut GtkTextIter,
19499        mark: *mut GtkTextMark,
19500    );
19501    pub fn gtk_text_buffer_get_iter_at_offset(
19502        buffer: *mut GtkTextBuffer,
19503        iter: *mut GtkTextIter,
19504        char_offset: c_int,
19505    );
19506    pub fn gtk_text_buffer_get_line_count(buffer: *mut GtkTextBuffer) -> c_int;
19507    pub fn gtk_text_buffer_get_mark(
19508        buffer: *mut GtkTextBuffer,
19509        name: *const c_char,
19510    ) -> *mut GtkTextMark;
19511    pub fn gtk_text_buffer_get_max_undo_levels(buffer: *mut GtkTextBuffer) -> c_uint;
19512    pub fn gtk_text_buffer_get_modified(buffer: *mut GtkTextBuffer) -> gboolean;
19513    pub fn gtk_text_buffer_get_selection_bound(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
19514    pub fn gtk_text_buffer_get_selection_bounds(
19515        buffer: *mut GtkTextBuffer,
19516        start: *mut GtkTextIter,
19517        end: *mut GtkTextIter,
19518    ) -> gboolean;
19519    pub fn gtk_text_buffer_get_selection_content(
19520        buffer: *mut GtkTextBuffer,
19521    ) -> *mut gdk::GdkContentProvider;
19522    pub fn gtk_text_buffer_get_slice(
19523        buffer: *mut GtkTextBuffer,
19524        start: *const GtkTextIter,
19525        end: *const GtkTextIter,
19526        include_hidden_chars: gboolean,
19527    ) -> *mut c_char;
19528    pub fn gtk_text_buffer_get_start_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
19529    pub fn gtk_text_buffer_get_tag_table(buffer: *mut GtkTextBuffer) -> *mut GtkTextTagTable;
19530    pub fn gtk_text_buffer_get_text(
19531        buffer: *mut GtkTextBuffer,
19532        start: *const GtkTextIter,
19533        end: *const GtkTextIter,
19534        include_hidden_chars: gboolean,
19535    ) -> *mut c_char;
19536    pub fn gtk_text_buffer_insert(
19537        buffer: *mut GtkTextBuffer,
19538        iter: *mut GtkTextIter,
19539        text: *const c_char,
19540        len: c_int,
19541    );
19542    pub fn gtk_text_buffer_insert_at_cursor(
19543        buffer: *mut GtkTextBuffer,
19544        text: *const c_char,
19545        len: c_int,
19546    );
19547    pub fn gtk_text_buffer_insert_child_anchor(
19548        buffer: *mut GtkTextBuffer,
19549        iter: *mut GtkTextIter,
19550        anchor: *mut GtkTextChildAnchor,
19551    );
19552    pub fn gtk_text_buffer_insert_interactive(
19553        buffer: *mut GtkTextBuffer,
19554        iter: *mut GtkTextIter,
19555        text: *const c_char,
19556        len: c_int,
19557        default_editable: gboolean,
19558    ) -> gboolean;
19559    pub fn gtk_text_buffer_insert_interactive_at_cursor(
19560        buffer: *mut GtkTextBuffer,
19561        text: *const c_char,
19562        len: c_int,
19563        default_editable: gboolean,
19564    ) -> gboolean;
19565    pub fn gtk_text_buffer_insert_markup(
19566        buffer: *mut GtkTextBuffer,
19567        iter: *mut GtkTextIter,
19568        markup: *const c_char,
19569        len: c_int,
19570    );
19571    pub fn gtk_text_buffer_insert_paintable(
19572        buffer: *mut GtkTextBuffer,
19573        iter: *mut GtkTextIter,
19574        paintable: *mut gdk::GdkPaintable,
19575    );
19576    pub fn gtk_text_buffer_insert_range(
19577        buffer: *mut GtkTextBuffer,
19578        iter: *mut GtkTextIter,
19579        start: *const GtkTextIter,
19580        end: *const GtkTextIter,
19581    );
19582    pub fn gtk_text_buffer_insert_range_interactive(
19583        buffer: *mut GtkTextBuffer,
19584        iter: *mut GtkTextIter,
19585        start: *const GtkTextIter,
19586        end: *const GtkTextIter,
19587        default_editable: gboolean,
19588    ) -> gboolean;
19589    pub fn gtk_text_buffer_insert_with_tags(
19590        buffer: *mut GtkTextBuffer,
19591        iter: *mut GtkTextIter,
19592        text: *const c_char,
19593        len: c_int,
19594        first_tag: *mut GtkTextTag,
19595        ...
19596    );
19597    pub fn gtk_text_buffer_insert_with_tags_by_name(
19598        buffer: *mut GtkTextBuffer,
19599        iter: *mut GtkTextIter,
19600        text: *const c_char,
19601        len: c_int,
19602        first_tag_name: *const c_char,
19603        ...
19604    );
19605    pub fn gtk_text_buffer_move_mark(
19606        buffer: *mut GtkTextBuffer,
19607        mark: *mut GtkTextMark,
19608        where_: *const GtkTextIter,
19609    );
19610    pub fn gtk_text_buffer_move_mark_by_name(
19611        buffer: *mut GtkTextBuffer,
19612        name: *const c_char,
19613        where_: *const GtkTextIter,
19614    );
19615    pub fn gtk_text_buffer_paste_clipboard(
19616        buffer: *mut GtkTextBuffer,
19617        clipboard: *mut gdk::GdkClipboard,
19618        override_location: *mut GtkTextIter,
19619        default_editable: gboolean,
19620    );
19621    pub fn gtk_text_buffer_place_cursor(buffer: *mut GtkTextBuffer, where_: *const GtkTextIter);
19622    pub fn gtk_text_buffer_redo(buffer: *mut GtkTextBuffer);
19623    pub fn gtk_text_buffer_remove_all_tags(
19624        buffer: *mut GtkTextBuffer,
19625        start: *const GtkTextIter,
19626        end: *const GtkTextIter,
19627    );
19628    #[cfg(feature = "v4_16")]
19629    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
19630    pub fn gtk_text_buffer_remove_commit_notify(
19631        buffer: *mut GtkTextBuffer,
19632        commit_notify_handler: c_uint,
19633    );
19634    pub fn gtk_text_buffer_remove_selection_clipboard(
19635        buffer: *mut GtkTextBuffer,
19636        clipboard: *mut gdk::GdkClipboard,
19637    );
19638    pub fn gtk_text_buffer_remove_tag(
19639        buffer: *mut GtkTextBuffer,
19640        tag: *mut GtkTextTag,
19641        start: *const GtkTextIter,
19642        end: *const GtkTextIter,
19643    );
19644    pub fn gtk_text_buffer_remove_tag_by_name(
19645        buffer: *mut GtkTextBuffer,
19646        name: *const c_char,
19647        start: *const GtkTextIter,
19648        end: *const GtkTextIter,
19649    );
19650    pub fn gtk_text_buffer_select_range(
19651        buffer: *mut GtkTextBuffer,
19652        ins: *const GtkTextIter,
19653        bound: *const GtkTextIter,
19654    );
19655    pub fn gtk_text_buffer_set_enable_undo(buffer: *mut GtkTextBuffer, enable_undo: gboolean);
19656    pub fn gtk_text_buffer_set_max_undo_levels(buffer: *mut GtkTextBuffer, max_undo_levels: c_uint);
19657    pub fn gtk_text_buffer_set_modified(buffer: *mut GtkTextBuffer, setting: gboolean);
19658    pub fn gtk_text_buffer_set_text(buffer: *mut GtkTextBuffer, text: *const c_char, len: c_int);
19659    pub fn gtk_text_buffer_undo(buffer: *mut GtkTextBuffer);
19660
19661    //=========================================================================
19662    // GtkTextChildAnchor
19663    //=========================================================================
19664    pub fn gtk_text_child_anchor_get_type() -> GType;
19665    pub fn gtk_text_child_anchor_new() -> *mut GtkTextChildAnchor;
19666    #[cfg(feature = "v4_6")]
19667    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19668    pub fn gtk_text_child_anchor_new_with_replacement(
19669        character: *const c_char,
19670    ) -> *mut GtkTextChildAnchor;
19671    pub fn gtk_text_child_anchor_get_deleted(anchor: *mut GtkTextChildAnchor) -> gboolean;
19672    pub fn gtk_text_child_anchor_get_widgets(
19673        anchor: *mut GtkTextChildAnchor,
19674        out_len: *mut c_uint,
19675    ) -> *mut *mut GtkWidget;
19676
19677    //=========================================================================
19678    // GtkTextMark
19679    //=========================================================================
19680    pub fn gtk_text_mark_get_type() -> GType;
19681    pub fn gtk_text_mark_new(name: *const c_char, left_gravity: gboolean) -> *mut GtkTextMark;
19682    pub fn gtk_text_mark_get_buffer(mark: *mut GtkTextMark) -> *mut GtkTextBuffer;
19683    pub fn gtk_text_mark_get_deleted(mark: *mut GtkTextMark) -> gboolean;
19684    pub fn gtk_text_mark_get_left_gravity(mark: *mut GtkTextMark) -> gboolean;
19685    pub fn gtk_text_mark_get_name(mark: *mut GtkTextMark) -> *const c_char;
19686    pub fn gtk_text_mark_get_visible(mark: *mut GtkTextMark) -> gboolean;
19687    pub fn gtk_text_mark_set_visible(mark: *mut GtkTextMark, setting: gboolean);
19688
19689    //=========================================================================
19690    // GtkTextTag
19691    //=========================================================================
19692    pub fn gtk_text_tag_get_type() -> GType;
19693    pub fn gtk_text_tag_new(name: *const c_char) -> *mut GtkTextTag;
19694    pub fn gtk_text_tag_changed(tag: *mut GtkTextTag, size_changed: gboolean);
19695    pub fn gtk_text_tag_get_priority(tag: *mut GtkTextTag) -> c_int;
19696    pub fn gtk_text_tag_set_priority(tag: *mut GtkTextTag, priority: c_int);
19697
19698    //=========================================================================
19699    // GtkTextTagTable
19700    //=========================================================================
19701    pub fn gtk_text_tag_table_get_type() -> GType;
19702    pub fn gtk_text_tag_table_new() -> *mut GtkTextTagTable;
19703    pub fn gtk_text_tag_table_add(table: *mut GtkTextTagTable, tag: *mut GtkTextTag) -> gboolean;
19704    pub fn gtk_text_tag_table_foreach(
19705        table: *mut GtkTextTagTable,
19706        func: GtkTextTagTableForeach,
19707        data: gpointer,
19708    );
19709    pub fn gtk_text_tag_table_get_size(table: *mut GtkTextTagTable) -> c_int;
19710    pub fn gtk_text_tag_table_lookup(
19711        table: *mut GtkTextTagTable,
19712        name: *const c_char,
19713    ) -> *mut GtkTextTag;
19714    pub fn gtk_text_tag_table_remove(table: *mut GtkTextTagTable, tag: *mut GtkTextTag);
19715
19716    //=========================================================================
19717    // GtkTextView
19718    //=========================================================================
19719    pub fn gtk_text_view_get_type() -> GType;
19720    pub fn gtk_text_view_new() -> *mut GtkWidget;
19721    pub fn gtk_text_view_new_with_buffer(buffer: *mut GtkTextBuffer) -> *mut GtkWidget;
19722    pub fn gtk_text_view_add_child_at_anchor(
19723        text_view: *mut GtkTextView,
19724        child: *mut GtkWidget,
19725        anchor: *mut GtkTextChildAnchor,
19726    );
19727    pub fn gtk_text_view_add_overlay(
19728        text_view: *mut GtkTextView,
19729        child: *mut GtkWidget,
19730        xpos: c_int,
19731        ypos: c_int,
19732    );
19733    pub fn gtk_text_view_backward_display_line(
19734        text_view: *mut GtkTextView,
19735        iter: *mut GtkTextIter,
19736    ) -> gboolean;
19737    pub fn gtk_text_view_backward_display_line_start(
19738        text_view: *mut GtkTextView,
19739        iter: *mut GtkTextIter,
19740    ) -> gboolean;
19741    pub fn gtk_text_view_buffer_to_window_coords(
19742        text_view: *mut GtkTextView,
19743        win: GtkTextWindowType,
19744        buffer_x: c_int,
19745        buffer_y: c_int,
19746        window_x: *mut c_int,
19747        window_y: *mut c_int,
19748    );
19749    pub fn gtk_text_view_forward_display_line(
19750        text_view: *mut GtkTextView,
19751        iter: *mut GtkTextIter,
19752    ) -> gboolean;
19753    pub fn gtk_text_view_forward_display_line_end(
19754        text_view: *mut GtkTextView,
19755        iter: *mut GtkTextIter,
19756    ) -> gboolean;
19757    pub fn gtk_text_view_get_accepts_tab(text_view: *mut GtkTextView) -> gboolean;
19758    pub fn gtk_text_view_get_bottom_margin(text_view: *mut GtkTextView) -> c_int;
19759    pub fn gtk_text_view_get_buffer(text_view: *mut GtkTextView) -> *mut GtkTextBuffer;
19760    pub fn gtk_text_view_get_cursor_locations(
19761        text_view: *mut GtkTextView,
19762        iter: *const GtkTextIter,
19763        strong: *mut gdk::GdkRectangle,
19764        weak: *mut gdk::GdkRectangle,
19765    );
19766    pub fn gtk_text_view_get_cursor_visible(text_view: *mut GtkTextView) -> gboolean;
19767    pub fn gtk_text_view_get_editable(text_view: *mut GtkTextView) -> gboolean;
19768    pub fn gtk_text_view_get_extra_menu(text_view: *mut GtkTextView) -> *mut gio::GMenuModel;
19769    pub fn gtk_text_view_get_gutter(
19770        text_view: *mut GtkTextView,
19771        win: GtkTextWindowType,
19772    ) -> *mut GtkWidget;
19773    pub fn gtk_text_view_get_indent(text_view: *mut GtkTextView) -> c_int;
19774    pub fn gtk_text_view_get_input_hints(text_view: *mut GtkTextView) -> GtkInputHints;
19775    pub fn gtk_text_view_get_input_purpose(text_view: *mut GtkTextView) -> GtkInputPurpose;
19776    pub fn gtk_text_view_get_iter_at_location(
19777        text_view: *mut GtkTextView,
19778        iter: *mut GtkTextIter,
19779        x: c_int,
19780        y: c_int,
19781    ) -> gboolean;
19782    pub fn gtk_text_view_get_iter_at_position(
19783        text_view: *mut GtkTextView,
19784        iter: *mut GtkTextIter,
19785        trailing: *mut c_int,
19786        x: c_int,
19787        y: c_int,
19788    ) -> gboolean;
19789    pub fn gtk_text_view_get_iter_location(
19790        text_view: *mut GtkTextView,
19791        iter: *const GtkTextIter,
19792        location: *mut gdk::GdkRectangle,
19793    );
19794    pub fn gtk_text_view_get_justification(text_view: *mut GtkTextView) -> GtkJustification;
19795    pub fn gtk_text_view_get_left_margin(text_view: *mut GtkTextView) -> c_int;
19796    pub fn gtk_text_view_get_line_at_y(
19797        text_view: *mut GtkTextView,
19798        target_iter: *mut GtkTextIter,
19799        y: c_int,
19800        line_top: *mut c_int,
19801    );
19802    pub fn gtk_text_view_get_line_yrange(
19803        text_view: *mut GtkTextView,
19804        iter: *const GtkTextIter,
19805        y: *mut c_int,
19806        height: *mut c_int,
19807    );
19808    #[cfg(feature = "v4_4")]
19809    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19810    pub fn gtk_text_view_get_ltr_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19811    pub fn gtk_text_view_get_monospace(text_view: *mut GtkTextView) -> gboolean;
19812    pub fn gtk_text_view_get_overwrite(text_view: *mut GtkTextView) -> gboolean;
19813    pub fn gtk_text_view_get_pixels_above_lines(text_view: *mut GtkTextView) -> c_int;
19814    pub fn gtk_text_view_get_pixels_below_lines(text_view: *mut GtkTextView) -> c_int;
19815    pub fn gtk_text_view_get_pixels_inside_wrap(text_view: *mut GtkTextView) -> c_int;
19816    pub fn gtk_text_view_get_right_margin(text_view: *mut GtkTextView) -> c_int;
19817    #[cfg(feature = "v4_4")]
19818    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19819    pub fn gtk_text_view_get_rtl_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19820    pub fn gtk_text_view_get_tabs(text_view: *mut GtkTextView) -> *mut pango::PangoTabArray;
19821    pub fn gtk_text_view_get_top_margin(text_view: *mut GtkTextView) -> c_int;
19822    #[cfg(feature = "v4_18")]
19823    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
19824    pub fn gtk_text_view_get_visible_offset(
19825        text_view: *mut GtkTextView,
19826        x_offset: *mut c_double,
19827        y_offset: *mut c_double,
19828    );
19829    pub fn gtk_text_view_get_visible_rect(
19830        text_view: *mut GtkTextView,
19831        visible_rect: *mut gdk::GdkRectangle,
19832    );
19833    pub fn gtk_text_view_get_wrap_mode(text_view: *mut GtkTextView) -> GtkWrapMode;
19834    pub fn gtk_text_view_im_context_filter_keypress(
19835        text_view: *mut GtkTextView,
19836        event: *mut gdk::GdkEvent,
19837    ) -> gboolean;
19838    pub fn gtk_text_view_move_mark_onscreen(
19839        text_view: *mut GtkTextView,
19840        mark: *mut GtkTextMark,
19841    ) -> gboolean;
19842    pub fn gtk_text_view_move_overlay(
19843        text_view: *mut GtkTextView,
19844        child: *mut GtkWidget,
19845        xpos: c_int,
19846        ypos: c_int,
19847    );
19848    pub fn gtk_text_view_move_visually(
19849        text_view: *mut GtkTextView,
19850        iter: *mut GtkTextIter,
19851        count: c_int,
19852    ) -> gboolean;
19853    pub fn gtk_text_view_place_cursor_onscreen(text_view: *mut GtkTextView) -> gboolean;
19854    pub fn gtk_text_view_remove(text_view: *mut GtkTextView, child: *mut GtkWidget);
19855    pub fn gtk_text_view_reset_cursor_blink(text_view: *mut GtkTextView);
19856    pub fn gtk_text_view_reset_im_context(text_view: *mut GtkTextView);
19857    pub fn gtk_text_view_scroll_mark_onscreen(text_view: *mut GtkTextView, mark: *mut GtkTextMark);
19858    pub fn gtk_text_view_scroll_to_iter(
19859        text_view: *mut GtkTextView,
19860        iter: *mut GtkTextIter,
19861        within_margin: c_double,
19862        use_align: gboolean,
19863        xalign: c_double,
19864        yalign: c_double,
19865    ) -> gboolean;
19866    pub fn gtk_text_view_scroll_to_mark(
19867        text_view: *mut GtkTextView,
19868        mark: *mut GtkTextMark,
19869        within_margin: c_double,
19870        use_align: gboolean,
19871        xalign: c_double,
19872        yalign: c_double,
19873    );
19874    pub fn gtk_text_view_set_accepts_tab(text_view: *mut GtkTextView, accepts_tab: gboolean);
19875    pub fn gtk_text_view_set_bottom_margin(text_view: *mut GtkTextView, bottom_margin: c_int);
19876    pub fn gtk_text_view_set_buffer(text_view: *mut GtkTextView, buffer: *mut GtkTextBuffer);
19877    pub fn gtk_text_view_set_cursor_visible(text_view: *mut GtkTextView, setting: gboolean);
19878    pub fn gtk_text_view_set_editable(text_view: *mut GtkTextView, setting: gboolean);
19879    pub fn gtk_text_view_set_extra_menu(text_view: *mut GtkTextView, model: *mut gio::GMenuModel);
19880    pub fn gtk_text_view_set_gutter(
19881        text_view: *mut GtkTextView,
19882        win: GtkTextWindowType,
19883        widget: *mut GtkWidget,
19884    );
19885    pub fn gtk_text_view_set_indent(text_view: *mut GtkTextView, indent: c_int);
19886    pub fn gtk_text_view_set_input_hints(text_view: *mut GtkTextView, hints: GtkInputHints);
19887    pub fn gtk_text_view_set_input_purpose(text_view: *mut GtkTextView, purpose: GtkInputPurpose);
19888    pub fn gtk_text_view_set_justification(
19889        text_view: *mut GtkTextView,
19890        justification: GtkJustification,
19891    );
19892    pub fn gtk_text_view_set_left_margin(text_view: *mut GtkTextView, left_margin: c_int);
19893    pub fn gtk_text_view_set_monospace(text_view: *mut GtkTextView, monospace: gboolean);
19894    pub fn gtk_text_view_set_overwrite(text_view: *mut GtkTextView, overwrite: gboolean);
19895    pub fn gtk_text_view_set_pixels_above_lines(
19896        text_view: *mut GtkTextView,
19897        pixels_above_lines: c_int,
19898    );
19899    pub fn gtk_text_view_set_pixels_below_lines(
19900        text_view: *mut GtkTextView,
19901        pixels_below_lines: c_int,
19902    );
19903    pub fn gtk_text_view_set_pixels_inside_wrap(
19904        text_view: *mut GtkTextView,
19905        pixels_inside_wrap: c_int,
19906    );
19907    pub fn gtk_text_view_set_right_margin(text_view: *mut GtkTextView, right_margin: c_int);
19908    pub fn gtk_text_view_set_tabs(text_view: *mut GtkTextView, tabs: *mut pango::PangoTabArray);
19909    pub fn gtk_text_view_set_top_margin(text_view: *mut GtkTextView, top_margin: c_int);
19910    pub fn gtk_text_view_set_wrap_mode(text_view: *mut GtkTextView, wrap_mode: GtkWrapMode);
19911    pub fn gtk_text_view_starts_display_line(
19912        text_view: *mut GtkTextView,
19913        iter: *const GtkTextIter,
19914    ) -> gboolean;
19915    pub fn gtk_text_view_window_to_buffer_coords(
19916        text_view: *mut GtkTextView,
19917        win: GtkTextWindowType,
19918        window_x: c_int,
19919        window_y: c_int,
19920        buffer_x: *mut c_int,
19921        buffer_y: *mut c_int,
19922    );
19923
19924    //=========================================================================
19925    // GtkToggleButton
19926    //=========================================================================
19927    pub fn gtk_toggle_button_get_type() -> GType;
19928    pub fn gtk_toggle_button_new() -> *mut GtkWidget;
19929    pub fn gtk_toggle_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
19930    pub fn gtk_toggle_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
19931    pub fn gtk_toggle_button_get_active(toggle_button: *mut GtkToggleButton) -> gboolean;
19932    pub fn gtk_toggle_button_set_active(toggle_button: *mut GtkToggleButton, is_active: gboolean);
19933    pub fn gtk_toggle_button_set_group(
19934        toggle_button: *mut GtkToggleButton,
19935        group: *mut GtkToggleButton,
19936    );
19937    pub fn gtk_toggle_button_toggled(toggle_button: *mut GtkToggleButton);
19938
19939    //=========================================================================
19940    // GtkTooltip
19941    //=========================================================================
19942    pub fn gtk_tooltip_get_type() -> GType;
19943    pub fn gtk_tooltip_set_custom(tooltip: *mut GtkTooltip, custom_widget: *mut GtkWidget);
19944    pub fn gtk_tooltip_set_icon(tooltip: *mut GtkTooltip, paintable: *mut gdk::GdkPaintable);
19945    pub fn gtk_tooltip_set_icon_from_gicon(tooltip: *mut GtkTooltip, gicon: *mut gio::GIcon);
19946    pub fn gtk_tooltip_set_icon_from_icon_name(tooltip: *mut GtkTooltip, icon_name: *const c_char);
19947    pub fn gtk_tooltip_set_markup(tooltip: *mut GtkTooltip, markup: *const c_char);
19948    pub fn gtk_tooltip_set_text(tooltip: *mut GtkTooltip, text: *const c_char);
19949    pub fn gtk_tooltip_set_tip_area(tooltip: *mut GtkTooltip, rect: *const gdk::GdkRectangle);
19950
19951    //=========================================================================
19952    // GtkTreeExpander
19953    //=========================================================================
19954    pub fn gtk_tree_expander_get_type() -> GType;
19955    pub fn gtk_tree_expander_new() -> *mut GtkWidget;
19956    pub fn gtk_tree_expander_get_child(self_: *mut GtkTreeExpander) -> *mut GtkWidget;
19957    #[cfg(feature = "v4_10")]
19958    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19959    pub fn gtk_tree_expander_get_hide_expander(self_: *mut GtkTreeExpander) -> gboolean;
19960    #[cfg(feature = "v4_10")]
19961    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19962    pub fn gtk_tree_expander_get_indent_for_depth(self_: *mut GtkTreeExpander) -> gboolean;
19963    #[cfg(feature = "v4_6")]
19964    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19965    pub fn gtk_tree_expander_get_indent_for_icon(self_: *mut GtkTreeExpander) -> gboolean;
19966    pub fn gtk_tree_expander_get_item(self_: *mut GtkTreeExpander) -> *mut gobject::GObject;
19967    pub fn gtk_tree_expander_get_list_row(self_: *mut GtkTreeExpander) -> *mut GtkTreeListRow;
19968    pub fn gtk_tree_expander_set_child(self_: *mut GtkTreeExpander, child: *mut GtkWidget);
19969    #[cfg(feature = "v4_10")]
19970    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19971    pub fn gtk_tree_expander_set_hide_expander(
19972        self_: *mut GtkTreeExpander,
19973        hide_expander: gboolean,
19974    );
19975    #[cfg(feature = "v4_10")]
19976    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19977    pub fn gtk_tree_expander_set_indent_for_depth(
19978        self_: *mut GtkTreeExpander,
19979        indent_for_depth: gboolean,
19980    );
19981    #[cfg(feature = "v4_6")]
19982    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19983    pub fn gtk_tree_expander_set_indent_for_icon(
19984        self_: *mut GtkTreeExpander,
19985        indent_for_icon: gboolean,
19986    );
19987    pub fn gtk_tree_expander_set_list_row(
19988        self_: *mut GtkTreeExpander,
19989        list_row: *mut GtkTreeListRow,
19990    );
19991
19992    //=========================================================================
19993    // GtkTreeListModel
19994    //=========================================================================
19995    pub fn gtk_tree_list_model_get_type() -> GType;
19996    pub fn gtk_tree_list_model_new(
19997        root: *mut gio::GListModel,
19998        passthrough: gboolean,
19999        autoexpand: gboolean,
20000        create_func: GtkTreeListModelCreateModelFunc,
20001        user_data: gpointer,
20002        user_destroy: glib::GDestroyNotify,
20003    ) -> *mut GtkTreeListModel;
20004    pub fn gtk_tree_list_model_get_autoexpand(self_: *mut GtkTreeListModel) -> gboolean;
20005    pub fn gtk_tree_list_model_get_child_row(
20006        self_: *mut GtkTreeListModel,
20007        position: c_uint,
20008    ) -> *mut GtkTreeListRow;
20009    pub fn gtk_tree_list_model_get_model(self_: *mut GtkTreeListModel) -> *mut gio::GListModel;
20010    pub fn gtk_tree_list_model_get_passthrough(self_: *mut GtkTreeListModel) -> gboolean;
20011    pub fn gtk_tree_list_model_get_row(
20012        self_: *mut GtkTreeListModel,
20013        position: c_uint,
20014    ) -> *mut GtkTreeListRow;
20015    pub fn gtk_tree_list_model_set_autoexpand(self_: *mut GtkTreeListModel, autoexpand: gboolean);
20016
20017    //=========================================================================
20018    // GtkTreeListRow
20019    //=========================================================================
20020    pub fn gtk_tree_list_row_get_type() -> GType;
20021    pub fn gtk_tree_list_row_get_child_row(
20022        self_: *mut GtkTreeListRow,
20023        position: c_uint,
20024    ) -> *mut GtkTreeListRow;
20025    pub fn gtk_tree_list_row_get_children(self_: *mut GtkTreeListRow) -> *mut gio::GListModel;
20026    pub fn gtk_tree_list_row_get_depth(self_: *mut GtkTreeListRow) -> c_uint;
20027    pub fn gtk_tree_list_row_get_expanded(self_: *mut GtkTreeListRow) -> gboolean;
20028    pub fn gtk_tree_list_row_get_item(self_: *mut GtkTreeListRow) -> *mut gobject::GObject;
20029    pub fn gtk_tree_list_row_get_parent(self_: *mut GtkTreeListRow) -> *mut GtkTreeListRow;
20030    pub fn gtk_tree_list_row_get_position(self_: *mut GtkTreeListRow) -> c_uint;
20031    pub fn gtk_tree_list_row_is_expandable(self_: *mut GtkTreeListRow) -> gboolean;
20032    pub fn gtk_tree_list_row_set_expanded(self_: *mut GtkTreeListRow, expanded: gboolean);
20033
20034    //=========================================================================
20035    // GtkTreeListRowSorter
20036    //=========================================================================
20037    pub fn gtk_tree_list_row_sorter_get_type() -> GType;
20038    pub fn gtk_tree_list_row_sorter_new(sorter: *mut GtkSorter) -> *mut GtkTreeListRowSorter;
20039    pub fn gtk_tree_list_row_sorter_get_sorter(self_: *mut GtkTreeListRowSorter) -> *mut GtkSorter;
20040    pub fn gtk_tree_list_row_sorter_set_sorter(
20041        self_: *mut GtkTreeListRowSorter,
20042        sorter: *mut GtkSorter,
20043    );
20044
20045    //=========================================================================
20046    // GtkTreeModelFilter
20047    //=========================================================================
20048    pub fn gtk_tree_model_filter_get_type() -> GType;
20049    pub fn gtk_tree_model_filter_clear_cache(filter: *mut GtkTreeModelFilter);
20050    pub fn gtk_tree_model_filter_convert_child_iter_to_iter(
20051        filter: *mut GtkTreeModelFilter,
20052        filter_iter: *mut GtkTreeIter,
20053        child_iter: *mut GtkTreeIter,
20054    ) -> gboolean;
20055    pub fn gtk_tree_model_filter_convert_child_path_to_path(
20056        filter: *mut GtkTreeModelFilter,
20057        child_path: *mut GtkTreePath,
20058    ) -> *mut GtkTreePath;
20059    pub fn gtk_tree_model_filter_convert_iter_to_child_iter(
20060        filter: *mut GtkTreeModelFilter,
20061        child_iter: *mut GtkTreeIter,
20062        filter_iter: *mut GtkTreeIter,
20063    );
20064    pub fn gtk_tree_model_filter_convert_path_to_child_path(
20065        filter: *mut GtkTreeModelFilter,
20066        filter_path: *mut GtkTreePath,
20067    ) -> *mut GtkTreePath;
20068    pub fn gtk_tree_model_filter_get_model(filter: *mut GtkTreeModelFilter) -> *mut GtkTreeModel;
20069    pub fn gtk_tree_model_filter_refilter(filter: *mut GtkTreeModelFilter);
20070    pub fn gtk_tree_model_filter_set_modify_func(
20071        filter: *mut GtkTreeModelFilter,
20072        n_columns: c_int,
20073        types: *mut GType,
20074        func: GtkTreeModelFilterModifyFunc,
20075        data: gpointer,
20076        destroy: glib::GDestroyNotify,
20077    );
20078    pub fn gtk_tree_model_filter_set_visible_column(filter: *mut GtkTreeModelFilter, column: c_int);
20079    pub fn gtk_tree_model_filter_set_visible_func(
20080        filter: *mut GtkTreeModelFilter,
20081        func: GtkTreeModelFilterVisibleFunc,
20082        data: gpointer,
20083        destroy: glib::GDestroyNotify,
20084    );
20085
20086    //=========================================================================
20087    // GtkTreeModelSort
20088    //=========================================================================
20089    pub fn gtk_tree_model_sort_get_type() -> GType;
20090    pub fn gtk_tree_model_sort_new_with_model(
20091        child_model: *mut GtkTreeModel,
20092    ) -> *mut GtkTreeModelSort;
20093    pub fn gtk_tree_model_sort_clear_cache(tree_model_sort: *mut GtkTreeModelSort);
20094    pub fn gtk_tree_model_sort_convert_child_iter_to_iter(
20095        tree_model_sort: *mut GtkTreeModelSort,
20096        sort_iter: *mut GtkTreeIter,
20097        child_iter: *mut GtkTreeIter,
20098    ) -> gboolean;
20099    pub fn gtk_tree_model_sort_convert_child_path_to_path(
20100        tree_model_sort: *mut GtkTreeModelSort,
20101        child_path: *mut GtkTreePath,
20102    ) -> *mut GtkTreePath;
20103    pub fn gtk_tree_model_sort_convert_iter_to_child_iter(
20104        tree_model_sort: *mut GtkTreeModelSort,
20105        child_iter: *mut GtkTreeIter,
20106        sorted_iter: *mut GtkTreeIter,
20107    );
20108    pub fn gtk_tree_model_sort_convert_path_to_child_path(
20109        tree_model_sort: *mut GtkTreeModelSort,
20110        sorted_path: *mut GtkTreePath,
20111    ) -> *mut GtkTreePath;
20112    pub fn gtk_tree_model_sort_get_model(tree_model: *mut GtkTreeModelSort) -> *mut GtkTreeModel;
20113    pub fn gtk_tree_model_sort_iter_is_valid(
20114        tree_model_sort: *mut GtkTreeModelSort,
20115        iter: *mut GtkTreeIter,
20116    ) -> gboolean;
20117    pub fn gtk_tree_model_sort_reset_default_sort_func(tree_model_sort: *mut GtkTreeModelSort);
20118
20119    //=========================================================================
20120    // GtkTreeSelection
20121    //=========================================================================
20122    pub fn gtk_tree_selection_get_type() -> GType;
20123    pub fn gtk_tree_selection_count_selected_rows(selection: *mut GtkTreeSelection) -> c_int;
20124    pub fn gtk_tree_selection_get_mode(selection: *mut GtkTreeSelection) -> GtkSelectionMode;
20125    pub fn gtk_tree_selection_get_select_function(
20126        selection: *mut GtkTreeSelection,
20127    ) -> GtkTreeSelectionFunc;
20128    pub fn gtk_tree_selection_get_selected(
20129        selection: *mut GtkTreeSelection,
20130        model: *mut *mut GtkTreeModel,
20131        iter: *mut GtkTreeIter,
20132    ) -> gboolean;
20133    pub fn gtk_tree_selection_get_selected_rows(
20134        selection: *mut GtkTreeSelection,
20135        model: *mut *mut GtkTreeModel,
20136    ) -> *mut glib::GList;
20137    pub fn gtk_tree_selection_get_tree_view(selection: *mut GtkTreeSelection) -> *mut GtkTreeView;
20138    pub fn gtk_tree_selection_get_user_data(selection: *mut GtkTreeSelection) -> gpointer;
20139    pub fn gtk_tree_selection_iter_is_selected(
20140        selection: *mut GtkTreeSelection,
20141        iter: *mut GtkTreeIter,
20142    ) -> gboolean;
20143    pub fn gtk_tree_selection_path_is_selected(
20144        selection: *mut GtkTreeSelection,
20145        path: *mut GtkTreePath,
20146    ) -> gboolean;
20147    pub fn gtk_tree_selection_select_all(selection: *mut GtkTreeSelection);
20148    pub fn gtk_tree_selection_select_iter(selection: *mut GtkTreeSelection, iter: *mut GtkTreeIter);
20149    pub fn gtk_tree_selection_select_path(selection: *mut GtkTreeSelection, path: *mut GtkTreePath);
20150    pub fn gtk_tree_selection_select_range(
20151        selection: *mut GtkTreeSelection,
20152        start_path: *mut GtkTreePath,
20153        end_path: *mut GtkTreePath,
20154    );
20155    pub fn gtk_tree_selection_selected_foreach(
20156        selection: *mut GtkTreeSelection,
20157        func: GtkTreeSelectionForeachFunc,
20158        data: gpointer,
20159    );
20160    pub fn gtk_tree_selection_set_mode(selection: *mut GtkTreeSelection, type_: GtkSelectionMode);
20161    pub fn gtk_tree_selection_set_select_function(
20162        selection: *mut GtkTreeSelection,
20163        func: GtkTreeSelectionFunc,
20164        data: gpointer,
20165        destroy: glib::GDestroyNotify,
20166    );
20167    pub fn gtk_tree_selection_unselect_all(selection: *mut GtkTreeSelection);
20168    pub fn gtk_tree_selection_unselect_iter(
20169        selection: *mut GtkTreeSelection,
20170        iter: *mut GtkTreeIter,
20171    );
20172    pub fn gtk_tree_selection_unselect_path(
20173        selection: *mut GtkTreeSelection,
20174        path: *mut GtkTreePath,
20175    );
20176    pub fn gtk_tree_selection_unselect_range(
20177        selection: *mut GtkTreeSelection,
20178        start_path: *mut GtkTreePath,
20179        end_path: *mut GtkTreePath,
20180    );
20181
20182    //=========================================================================
20183    // GtkTreeStore
20184    //=========================================================================
20185    pub fn gtk_tree_store_get_type() -> GType;
20186    pub fn gtk_tree_store_new(n_columns: c_int, ...) -> *mut GtkTreeStore;
20187    pub fn gtk_tree_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkTreeStore;
20188    pub fn gtk_tree_store_append(
20189        tree_store: *mut GtkTreeStore,
20190        iter: *mut GtkTreeIter,
20191        parent: *mut GtkTreeIter,
20192    );
20193    pub fn gtk_tree_store_clear(tree_store: *mut GtkTreeStore);
20194    pub fn gtk_tree_store_insert(
20195        tree_store: *mut GtkTreeStore,
20196        iter: *mut GtkTreeIter,
20197        parent: *mut GtkTreeIter,
20198        position: c_int,
20199    );
20200    pub fn gtk_tree_store_insert_after(
20201        tree_store: *mut GtkTreeStore,
20202        iter: *mut GtkTreeIter,
20203        parent: *mut GtkTreeIter,
20204        sibling: *mut GtkTreeIter,
20205    );
20206    pub fn gtk_tree_store_insert_before(
20207        tree_store: *mut GtkTreeStore,
20208        iter: *mut GtkTreeIter,
20209        parent: *mut GtkTreeIter,
20210        sibling: *mut GtkTreeIter,
20211    );
20212    pub fn gtk_tree_store_insert_with_values(
20213        tree_store: *mut GtkTreeStore,
20214        iter: *mut GtkTreeIter,
20215        parent: *mut GtkTreeIter,
20216        position: c_int,
20217        ...
20218    );
20219    pub fn gtk_tree_store_insert_with_valuesv(
20220        tree_store: *mut GtkTreeStore,
20221        iter: *mut GtkTreeIter,
20222        parent: *mut GtkTreeIter,
20223        position: c_int,
20224        columns: *mut c_int,
20225        values: *mut gobject::GValue,
20226        n_values: c_int,
20227    );
20228    pub fn gtk_tree_store_is_ancestor(
20229        tree_store: *mut GtkTreeStore,
20230        iter: *mut GtkTreeIter,
20231        descendant: *mut GtkTreeIter,
20232    ) -> gboolean;
20233    pub fn gtk_tree_store_iter_depth(
20234        tree_store: *mut GtkTreeStore,
20235        iter: *mut GtkTreeIter,
20236    ) -> c_int;
20237    pub fn gtk_tree_store_iter_is_valid(
20238        tree_store: *mut GtkTreeStore,
20239        iter: *mut GtkTreeIter,
20240    ) -> gboolean;
20241    pub fn gtk_tree_store_move_after(
20242        tree_store: *mut GtkTreeStore,
20243        iter: *mut GtkTreeIter,
20244        position: *mut GtkTreeIter,
20245    );
20246    pub fn gtk_tree_store_move_before(
20247        tree_store: *mut GtkTreeStore,
20248        iter: *mut GtkTreeIter,
20249        position: *mut GtkTreeIter,
20250    );
20251    pub fn gtk_tree_store_prepend(
20252        tree_store: *mut GtkTreeStore,
20253        iter: *mut GtkTreeIter,
20254        parent: *mut GtkTreeIter,
20255    );
20256    pub fn gtk_tree_store_remove(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter)
20257    -> gboolean;
20258    pub fn gtk_tree_store_reorder(
20259        tree_store: *mut GtkTreeStore,
20260        parent: *mut GtkTreeIter,
20261        new_order: *mut c_int,
20262    );
20263    pub fn gtk_tree_store_set(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, ...);
20264    pub fn gtk_tree_store_set_column_types(
20265        tree_store: *mut GtkTreeStore,
20266        n_columns: c_int,
20267        types: *mut GType,
20268    );
20269    //pub fn gtk_tree_store_set_valist(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
20270    pub fn gtk_tree_store_set_value(
20271        tree_store: *mut GtkTreeStore,
20272        iter: *mut GtkTreeIter,
20273        column: c_int,
20274        value: *mut gobject::GValue,
20275    );
20276    pub fn gtk_tree_store_set_valuesv(
20277        tree_store: *mut GtkTreeStore,
20278        iter: *mut GtkTreeIter,
20279        columns: *mut c_int,
20280        values: *mut gobject::GValue,
20281        n_values: c_int,
20282    );
20283    pub fn gtk_tree_store_swap(
20284        tree_store: *mut GtkTreeStore,
20285        a: *mut GtkTreeIter,
20286        b: *mut GtkTreeIter,
20287    );
20288
20289    //=========================================================================
20290    // GtkTreeView
20291    //=========================================================================
20292    pub fn gtk_tree_view_get_type() -> GType;
20293    pub fn gtk_tree_view_new() -> *mut GtkWidget;
20294    pub fn gtk_tree_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
20295    pub fn gtk_tree_view_append_column(
20296        tree_view: *mut GtkTreeView,
20297        column: *mut GtkTreeViewColumn,
20298    ) -> c_int;
20299    pub fn gtk_tree_view_collapse_all(tree_view: *mut GtkTreeView);
20300    pub fn gtk_tree_view_collapse_row(
20301        tree_view: *mut GtkTreeView,
20302        path: *mut GtkTreePath,
20303    ) -> gboolean;
20304    pub fn gtk_tree_view_columns_autosize(tree_view: *mut GtkTreeView);
20305    pub fn gtk_tree_view_convert_bin_window_to_tree_coords(
20306        tree_view: *mut GtkTreeView,
20307        bx: c_int,
20308        by: c_int,
20309        tx: *mut c_int,
20310        ty: *mut c_int,
20311    );
20312    pub fn gtk_tree_view_convert_bin_window_to_widget_coords(
20313        tree_view: *mut GtkTreeView,
20314        bx: c_int,
20315        by: c_int,
20316        wx: *mut c_int,
20317        wy: *mut c_int,
20318    );
20319    pub fn gtk_tree_view_convert_tree_to_bin_window_coords(
20320        tree_view: *mut GtkTreeView,
20321        tx: c_int,
20322        ty: c_int,
20323        bx: *mut c_int,
20324        by: *mut c_int,
20325    );
20326    pub fn gtk_tree_view_convert_tree_to_widget_coords(
20327        tree_view: *mut GtkTreeView,
20328        tx: c_int,
20329        ty: c_int,
20330        wx: *mut c_int,
20331        wy: *mut c_int,
20332    );
20333    pub fn gtk_tree_view_convert_widget_to_bin_window_coords(
20334        tree_view: *mut GtkTreeView,
20335        wx: c_int,
20336        wy: c_int,
20337        bx: *mut c_int,
20338        by: *mut c_int,
20339    );
20340    pub fn gtk_tree_view_convert_widget_to_tree_coords(
20341        tree_view: *mut GtkTreeView,
20342        wx: c_int,
20343        wy: c_int,
20344        tx: *mut c_int,
20345        ty: *mut c_int,
20346    );
20347    pub fn gtk_tree_view_create_row_drag_icon(
20348        tree_view: *mut GtkTreeView,
20349        path: *mut GtkTreePath,
20350    ) -> *mut gdk::GdkPaintable;
20351    pub fn gtk_tree_view_enable_model_drag_dest(
20352        tree_view: *mut GtkTreeView,
20353        formats: *mut gdk::GdkContentFormats,
20354        actions: gdk::GdkDragAction,
20355    );
20356    pub fn gtk_tree_view_enable_model_drag_source(
20357        tree_view: *mut GtkTreeView,
20358        start_button_mask: gdk::GdkModifierType,
20359        formats: *mut gdk::GdkContentFormats,
20360        actions: gdk::GdkDragAction,
20361    );
20362    pub fn gtk_tree_view_expand_all(tree_view: *mut GtkTreeView);
20363    pub fn gtk_tree_view_expand_row(
20364        tree_view: *mut GtkTreeView,
20365        path: *mut GtkTreePath,
20366        open_all: gboolean,
20367    ) -> gboolean;
20368    pub fn gtk_tree_view_expand_to_path(tree_view: *mut GtkTreeView, path: *mut GtkTreePath);
20369    pub fn gtk_tree_view_get_activate_on_single_click(tree_view: *mut GtkTreeView) -> gboolean;
20370    pub fn gtk_tree_view_get_background_area(
20371        tree_view: *mut GtkTreeView,
20372        path: *mut GtkTreePath,
20373        column: *mut GtkTreeViewColumn,
20374        rect: *mut gdk::GdkRectangle,
20375    );
20376    pub fn gtk_tree_view_get_cell_area(
20377        tree_view: *mut GtkTreeView,
20378        path: *mut GtkTreePath,
20379        column: *mut GtkTreeViewColumn,
20380        rect: *mut gdk::GdkRectangle,
20381    );
20382    pub fn gtk_tree_view_get_column(
20383        tree_view: *mut GtkTreeView,
20384        n: c_int,
20385    ) -> *mut GtkTreeViewColumn;
20386    pub fn gtk_tree_view_get_columns(tree_view: *mut GtkTreeView) -> *mut glib::GList;
20387    pub fn gtk_tree_view_get_cursor(
20388        tree_view: *mut GtkTreeView,
20389        path: *mut *mut GtkTreePath,
20390        focus_column: *mut *mut GtkTreeViewColumn,
20391    );
20392    pub fn gtk_tree_view_get_dest_row_at_pos(
20393        tree_view: *mut GtkTreeView,
20394        drag_x: c_int,
20395        drag_y: c_int,
20396        path: *mut *mut GtkTreePath,
20397        pos: *mut GtkTreeViewDropPosition,
20398    ) -> gboolean;
20399    pub fn gtk_tree_view_get_drag_dest_row(
20400        tree_view: *mut GtkTreeView,
20401        path: *mut *mut GtkTreePath,
20402        pos: *mut GtkTreeViewDropPosition,
20403    );
20404    pub fn gtk_tree_view_get_enable_search(tree_view: *mut GtkTreeView) -> gboolean;
20405    pub fn gtk_tree_view_get_enable_tree_lines(tree_view: *mut GtkTreeView) -> gboolean;
20406    pub fn gtk_tree_view_get_expander_column(tree_view: *mut GtkTreeView)
20407    -> *mut GtkTreeViewColumn;
20408    pub fn gtk_tree_view_get_fixed_height_mode(tree_view: *mut GtkTreeView) -> gboolean;
20409    pub fn gtk_tree_view_get_grid_lines(tree_view: *mut GtkTreeView) -> GtkTreeViewGridLines;
20410    pub fn gtk_tree_view_get_headers_clickable(tree_view: *mut GtkTreeView) -> gboolean;
20411    pub fn gtk_tree_view_get_headers_visible(tree_view: *mut GtkTreeView) -> gboolean;
20412    pub fn gtk_tree_view_get_hover_expand(tree_view: *mut GtkTreeView) -> gboolean;
20413    pub fn gtk_tree_view_get_hover_selection(tree_view: *mut GtkTreeView) -> gboolean;
20414    pub fn gtk_tree_view_get_level_indentation(tree_view: *mut GtkTreeView) -> c_int;
20415    pub fn gtk_tree_view_get_model(tree_view: *mut GtkTreeView) -> *mut GtkTreeModel;
20416    pub fn gtk_tree_view_get_n_columns(tree_view: *mut GtkTreeView) -> c_uint;
20417    pub fn gtk_tree_view_get_path_at_pos(
20418        tree_view: *mut GtkTreeView,
20419        x: c_int,
20420        y: c_int,
20421        path: *mut *mut GtkTreePath,
20422        column: *mut *mut GtkTreeViewColumn,
20423        cell_x: *mut c_int,
20424        cell_y: *mut c_int,
20425    ) -> gboolean;
20426    pub fn gtk_tree_view_get_reorderable(tree_view: *mut GtkTreeView) -> gboolean;
20427    pub fn gtk_tree_view_get_row_separator_func(
20428        tree_view: *mut GtkTreeView,
20429    ) -> GtkTreeViewRowSeparatorFunc;
20430    pub fn gtk_tree_view_get_rubber_banding(tree_view: *mut GtkTreeView) -> gboolean;
20431    pub fn gtk_tree_view_get_search_column(tree_view: *mut GtkTreeView) -> c_int;
20432    pub fn gtk_tree_view_get_search_entry(tree_view: *mut GtkTreeView) -> *mut GtkEditable;
20433    pub fn gtk_tree_view_get_search_equal_func(
20434        tree_view: *mut GtkTreeView,
20435    ) -> GtkTreeViewSearchEqualFunc;
20436    pub fn gtk_tree_view_get_selection(tree_view: *mut GtkTreeView) -> *mut GtkTreeSelection;
20437    pub fn gtk_tree_view_get_show_expanders(tree_view: *mut GtkTreeView) -> gboolean;
20438    pub fn gtk_tree_view_get_tooltip_column(tree_view: *mut GtkTreeView) -> c_int;
20439    pub fn gtk_tree_view_get_tooltip_context(
20440        tree_view: *mut GtkTreeView,
20441        x: c_int,
20442        y: c_int,
20443        keyboard_tip: gboolean,
20444        model: *mut *mut GtkTreeModel,
20445        path: *mut *mut GtkTreePath,
20446        iter: *mut GtkTreeIter,
20447    ) -> gboolean;
20448    pub fn gtk_tree_view_get_visible_range(
20449        tree_view: *mut GtkTreeView,
20450        start_path: *mut *mut GtkTreePath,
20451        end_path: *mut *mut GtkTreePath,
20452    ) -> gboolean;
20453    pub fn gtk_tree_view_get_visible_rect(
20454        tree_view: *mut GtkTreeView,
20455        visible_rect: *mut gdk::GdkRectangle,
20456    );
20457    pub fn gtk_tree_view_insert_column(
20458        tree_view: *mut GtkTreeView,
20459        column: *mut GtkTreeViewColumn,
20460        position: c_int,
20461    ) -> c_int;
20462    pub fn gtk_tree_view_insert_column_with_attributes(
20463        tree_view: *mut GtkTreeView,
20464        position: c_int,
20465        title: *const c_char,
20466        cell: *mut GtkCellRenderer,
20467        ...
20468    ) -> c_int;
20469    pub fn gtk_tree_view_insert_column_with_data_func(
20470        tree_view: *mut GtkTreeView,
20471        position: c_int,
20472        title: *const c_char,
20473        cell: *mut GtkCellRenderer,
20474        func: GtkTreeCellDataFunc,
20475        data: gpointer,
20476        dnotify: glib::GDestroyNotify,
20477    ) -> c_int;
20478    pub fn gtk_tree_view_is_blank_at_pos(
20479        tree_view: *mut GtkTreeView,
20480        x: c_int,
20481        y: c_int,
20482        path: *mut *mut GtkTreePath,
20483        column: *mut *mut GtkTreeViewColumn,
20484        cell_x: *mut c_int,
20485        cell_y: *mut c_int,
20486    ) -> gboolean;
20487    pub fn gtk_tree_view_is_rubber_banding_active(tree_view: *mut GtkTreeView) -> gboolean;
20488    pub fn gtk_tree_view_map_expanded_rows(
20489        tree_view: *mut GtkTreeView,
20490        func: GtkTreeViewMappingFunc,
20491        data: gpointer,
20492    );
20493    pub fn gtk_tree_view_move_column_after(
20494        tree_view: *mut GtkTreeView,
20495        column: *mut GtkTreeViewColumn,
20496        base_column: *mut GtkTreeViewColumn,
20497    );
20498    pub fn gtk_tree_view_remove_column(
20499        tree_view: *mut GtkTreeView,
20500        column: *mut GtkTreeViewColumn,
20501    ) -> c_int;
20502    pub fn gtk_tree_view_row_activated(
20503        tree_view: *mut GtkTreeView,
20504        path: *mut GtkTreePath,
20505        column: *mut GtkTreeViewColumn,
20506    );
20507    pub fn gtk_tree_view_row_expanded(
20508        tree_view: *mut GtkTreeView,
20509        path: *mut GtkTreePath,
20510    ) -> gboolean;
20511    pub fn gtk_tree_view_scroll_to_cell(
20512        tree_view: *mut GtkTreeView,
20513        path: *mut GtkTreePath,
20514        column: *mut GtkTreeViewColumn,
20515        use_align: gboolean,
20516        row_align: c_float,
20517        col_align: c_float,
20518    );
20519    pub fn gtk_tree_view_scroll_to_point(tree_view: *mut GtkTreeView, tree_x: c_int, tree_y: c_int);
20520    pub fn gtk_tree_view_set_activate_on_single_click(
20521        tree_view: *mut GtkTreeView,
20522        single: gboolean,
20523    );
20524    pub fn gtk_tree_view_set_column_drag_function(
20525        tree_view: *mut GtkTreeView,
20526        func: GtkTreeViewColumnDropFunc,
20527        user_data: gpointer,
20528        destroy: glib::GDestroyNotify,
20529    );
20530    pub fn gtk_tree_view_set_cursor(
20531        tree_view: *mut GtkTreeView,
20532        path: *mut GtkTreePath,
20533        focus_column: *mut GtkTreeViewColumn,
20534        start_editing: gboolean,
20535    );
20536    pub fn gtk_tree_view_set_cursor_on_cell(
20537        tree_view: *mut GtkTreeView,
20538        path: *mut GtkTreePath,
20539        focus_column: *mut GtkTreeViewColumn,
20540        focus_cell: *mut GtkCellRenderer,
20541        start_editing: gboolean,
20542    );
20543    pub fn gtk_tree_view_set_drag_dest_row(
20544        tree_view: *mut GtkTreeView,
20545        path: *mut GtkTreePath,
20546        pos: GtkTreeViewDropPosition,
20547    );
20548    pub fn gtk_tree_view_set_enable_search(tree_view: *mut GtkTreeView, enable_search: gboolean);
20549    pub fn gtk_tree_view_set_enable_tree_lines(tree_view: *mut GtkTreeView, enabled: gboolean);
20550    pub fn gtk_tree_view_set_expander_column(
20551        tree_view: *mut GtkTreeView,
20552        column: *mut GtkTreeViewColumn,
20553    );
20554    pub fn gtk_tree_view_set_fixed_height_mode(tree_view: *mut GtkTreeView, enable: gboolean);
20555    pub fn gtk_tree_view_set_grid_lines(
20556        tree_view: *mut GtkTreeView,
20557        grid_lines: GtkTreeViewGridLines,
20558    );
20559    pub fn gtk_tree_view_set_headers_clickable(tree_view: *mut GtkTreeView, setting: gboolean);
20560    pub fn gtk_tree_view_set_headers_visible(
20561        tree_view: *mut GtkTreeView,
20562        headers_visible: gboolean,
20563    );
20564    pub fn gtk_tree_view_set_hover_expand(tree_view: *mut GtkTreeView, expand: gboolean);
20565    pub fn gtk_tree_view_set_hover_selection(tree_view: *mut GtkTreeView, hover: gboolean);
20566    pub fn gtk_tree_view_set_level_indentation(tree_view: *mut GtkTreeView, indentation: c_int);
20567    pub fn gtk_tree_view_set_model(tree_view: *mut GtkTreeView, model: *mut GtkTreeModel);
20568    pub fn gtk_tree_view_set_reorderable(tree_view: *mut GtkTreeView, reorderable: gboolean);
20569    pub fn gtk_tree_view_set_row_separator_func(
20570        tree_view: *mut GtkTreeView,
20571        func: GtkTreeViewRowSeparatorFunc,
20572        data: gpointer,
20573        destroy: glib::GDestroyNotify,
20574    );
20575    pub fn gtk_tree_view_set_rubber_banding(tree_view: *mut GtkTreeView, enable: gboolean);
20576    pub fn gtk_tree_view_set_search_column(tree_view: *mut GtkTreeView, column: c_int);
20577    pub fn gtk_tree_view_set_search_entry(tree_view: *mut GtkTreeView, entry: *mut GtkEditable);
20578    pub fn gtk_tree_view_set_search_equal_func(
20579        tree_view: *mut GtkTreeView,
20580        search_equal_func: GtkTreeViewSearchEqualFunc,
20581        search_user_data: gpointer,
20582        search_destroy: glib::GDestroyNotify,
20583    );
20584    pub fn gtk_tree_view_set_show_expanders(tree_view: *mut GtkTreeView, enabled: gboolean);
20585    pub fn gtk_tree_view_set_tooltip_cell(
20586        tree_view: *mut GtkTreeView,
20587        tooltip: *mut GtkTooltip,
20588        path: *mut GtkTreePath,
20589        column: *mut GtkTreeViewColumn,
20590        cell: *mut GtkCellRenderer,
20591    );
20592    pub fn gtk_tree_view_set_tooltip_column(tree_view: *mut GtkTreeView, column: c_int);
20593    pub fn gtk_tree_view_set_tooltip_row(
20594        tree_view: *mut GtkTreeView,
20595        tooltip: *mut GtkTooltip,
20596        path: *mut GtkTreePath,
20597    );
20598    pub fn gtk_tree_view_unset_rows_drag_dest(tree_view: *mut GtkTreeView);
20599    pub fn gtk_tree_view_unset_rows_drag_source(tree_view: *mut GtkTreeView);
20600
20601    //=========================================================================
20602    // GtkTreeViewColumn
20603    //=========================================================================
20604    pub fn gtk_tree_view_column_get_type() -> GType;
20605    pub fn gtk_tree_view_column_new() -> *mut GtkTreeViewColumn;
20606    pub fn gtk_tree_view_column_new_with_area(area: *mut GtkCellArea) -> *mut GtkTreeViewColumn;
20607    pub fn gtk_tree_view_column_new_with_attributes(
20608        title: *const c_char,
20609        cell: *mut GtkCellRenderer,
20610        ...
20611    ) -> *mut GtkTreeViewColumn;
20612    pub fn gtk_tree_view_column_add_attribute(
20613        tree_column: *mut GtkTreeViewColumn,
20614        cell_renderer: *mut GtkCellRenderer,
20615        attribute: *const c_char,
20616        column: c_int,
20617    );
20618    pub fn gtk_tree_view_column_cell_get_position(
20619        tree_column: *mut GtkTreeViewColumn,
20620        cell_renderer: *mut GtkCellRenderer,
20621        x_offset: *mut c_int,
20622        width: *mut c_int,
20623    ) -> gboolean;
20624    pub fn gtk_tree_view_column_cell_get_size(
20625        tree_column: *mut GtkTreeViewColumn,
20626        x_offset: *mut c_int,
20627        y_offset: *mut c_int,
20628        width: *mut c_int,
20629        height: *mut c_int,
20630    );
20631    pub fn gtk_tree_view_column_cell_is_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20632    pub fn gtk_tree_view_column_cell_set_cell_data(
20633        tree_column: *mut GtkTreeViewColumn,
20634        tree_model: *mut GtkTreeModel,
20635        iter: *mut GtkTreeIter,
20636        is_expander: gboolean,
20637        is_expanded: gboolean,
20638    );
20639    pub fn gtk_tree_view_column_clear(tree_column: *mut GtkTreeViewColumn);
20640    pub fn gtk_tree_view_column_clear_attributes(
20641        tree_column: *mut GtkTreeViewColumn,
20642        cell_renderer: *mut GtkCellRenderer,
20643    );
20644    pub fn gtk_tree_view_column_clicked(tree_column: *mut GtkTreeViewColumn);
20645    pub fn gtk_tree_view_column_focus_cell(
20646        tree_column: *mut GtkTreeViewColumn,
20647        cell: *mut GtkCellRenderer,
20648    );
20649    pub fn gtk_tree_view_column_get_alignment(tree_column: *mut GtkTreeViewColumn) -> c_float;
20650    pub fn gtk_tree_view_column_get_button(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
20651    pub fn gtk_tree_view_column_get_clickable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20652    pub fn gtk_tree_view_column_get_expand(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20653    pub fn gtk_tree_view_column_get_fixed_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20654    pub fn gtk_tree_view_column_get_max_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20655    pub fn gtk_tree_view_column_get_min_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20656    pub fn gtk_tree_view_column_get_reorderable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20657    pub fn gtk_tree_view_column_get_resizable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20658    pub fn gtk_tree_view_column_get_sizing(
20659        tree_column: *mut GtkTreeViewColumn,
20660    ) -> GtkTreeViewColumnSizing;
20661    pub fn gtk_tree_view_column_get_sort_column_id(tree_column: *mut GtkTreeViewColumn) -> c_int;
20662    pub fn gtk_tree_view_column_get_sort_indicator(tree_column: *mut GtkTreeViewColumn)
20663    -> gboolean;
20664    pub fn gtk_tree_view_column_get_sort_order(tree_column: *mut GtkTreeViewColumn) -> GtkSortType;
20665    pub fn gtk_tree_view_column_get_spacing(tree_column: *mut GtkTreeViewColumn) -> c_int;
20666    pub fn gtk_tree_view_column_get_title(tree_column: *mut GtkTreeViewColumn) -> *const c_char;
20667    pub fn gtk_tree_view_column_get_tree_view(
20668        tree_column: *mut GtkTreeViewColumn,
20669    ) -> *mut GtkWidget;
20670    pub fn gtk_tree_view_column_get_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20671    pub fn gtk_tree_view_column_get_widget(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
20672    pub fn gtk_tree_view_column_get_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20673    pub fn gtk_tree_view_column_get_x_offset(tree_column: *mut GtkTreeViewColumn) -> c_int;
20674    pub fn gtk_tree_view_column_pack_end(
20675        tree_column: *mut GtkTreeViewColumn,
20676        cell: *mut GtkCellRenderer,
20677        expand: gboolean,
20678    );
20679    pub fn gtk_tree_view_column_pack_start(
20680        tree_column: *mut GtkTreeViewColumn,
20681        cell: *mut GtkCellRenderer,
20682        expand: gboolean,
20683    );
20684    pub fn gtk_tree_view_column_queue_resize(tree_column: *mut GtkTreeViewColumn);
20685    pub fn gtk_tree_view_column_set_alignment(tree_column: *mut GtkTreeViewColumn, xalign: c_float);
20686    pub fn gtk_tree_view_column_set_attributes(
20687        tree_column: *mut GtkTreeViewColumn,
20688        cell_renderer: *mut GtkCellRenderer,
20689        ...
20690    );
20691    pub fn gtk_tree_view_column_set_cell_data_func(
20692        tree_column: *mut GtkTreeViewColumn,
20693        cell_renderer: *mut GtkCellRenderer,
20694        func: GtkTreeCellDataFunc,
20695        func_data: gpointer,
20696        destroy: glib::GDestroyNotify,
20697    );
20698    pub fn gtk_tree_view_column_set_clickable(
20699        tree_column: *mut GtkTreeViewColumn,
20700        clickable: gboolean,
20701    );
20702    pub fn gtk_tree_view_column_set_expand(tree_column: *mut GtkTreeViewColumn, expand: gboolean);
20703    pub fn gtk_tree_view_column_set_fixed_width(
20704        tree_column: *mut GtkTreeViewColumn,
20705        fixed_width: c_int,
20706    );
20707    pub fn gtk_tree_view_column_set_max_width(
20708        tree_column: *mut GtkTreeViewColumn,
20709        max_width: c_int,
20710    );
20711    pub fn gtk_tree_view_column_set_min_width(
20712        tree_column: *mut GtkTreeViewColumn,
20713        min_width: c_int,
20714    );
20715    pub fn gtk_tree_view_column_set_reorderable(
20716        tree_column: *mut GtkTreeViewColumn,
20717        reorderable: gboolean,
20718    );
20719    pub fn gtk_tree_view_column_set_resizable(
20720        tree_column: *mut GtkTreeViewColumn,
20721        resizable: gboolean,
20722    );
20723    pub fn gtk_tree_view_column_set_sizing(
20724        tree_column: *mut GtkTreeViewColumn,
20725        type_: GtkTreeViewColumnSizing,
20726    );
20727    pub fn gtk_tree_view_column_set_sort_column_id(
20728        tree_column: *mut GtkTreeViewColumn,
20729        sort_column_id: c_int,
20730    );
20731    pub fn gtk_tree_view_column_set_sort_indicator(
20732        tree_column: *mut GtkTreeViewColumn,
20733        setting: gboolean,
20734    );
20735    pub fn gtk_tree_view_column_set_sort_order(
20736        tree_column: *mut GtkTreeViewColumn,
20737        order: GtkSortType,
20738    );
20739    pub fn gtk_tree_view_column_set_spacing(tree_column: *mut GtkTreeViewColumn, spacing: c_int);
20740    pub fn gtk_tree_view_column_set_title(
20741        tree_column: *mut GtkTreeViewColumn,
20742        title: *const c_char,
20743    );
20744    pub fn gtk_tree_view_column_set_visible(tree_column: *mut GtkTreeViewColumn, visible: gboolean);
20745    pub fn gtk_tree_view_column_set_widget(
20746        tree_column: *mut GtkTreeViewColumn,
20747        widget: *mut GtkWidget,
20748    );
20749
20750    //=========================================================================
20751    // GtkTryExpression
20752    //=========================================================================
20753    #[cfg(feature = "v4_22")]
20754    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
20755    pub fn gtk_try_expression_get_type() -> GType;
20756    #[cfg(feature = "v4_22")]
20757    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
20758    pub fn gtk_try_expression_new(
20759        n_expressions: c_uint,
20760        expressions: *mut *mut GtkExpression,
20761    ) -> *mut GtkTryExpression;
20762
20763    //=========================================================================
20764    // GtkUriLauncher
20765    //=========================================================================
20766    #[cfg(feature = "v4_10")]
20767    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20768    pub fn gtk_uri_launcher_get_type() -> GType;
20769    #[cfg(feature = "v4_10")]
20770    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20771    pub fn gtk_uri_launcher_new(uri: *const c_char) -> *mut GtkUriLauncher;
20772    #[cfg(feature = "v4_20")]
20773    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
20774    pub fn gtk_uri_launcher_can_launch(
20775        self_: *mut GtkUriLauncher,
20776        parent: *mut GtkWindow,
20777    ) -> gboolean;
20778    #[cfg(feature = "v4_10")]
20779    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20780    pub fn gtk_uri_launcher_get_uri(self_: *mut GtkUriLauncher) -> *const c_char;
20781    #[cfg(feature = "v4_10")]
20782    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20783    pub fn gtk_uri_launcher_launch(
20784        self_: *mut GtkUriLauncher,
20785        parent: *mut GtkWindow,
20786        cancellable: *mut gio::GCancellable,
20787        callback: gio::GAsyncReadyCallback,
20788        user_data: gpointer,
20789    );
20790    #[cfg(feature = "v4_10")]
20791    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20792    pub fn gtk_uri_launcher_launch_finish(
20793        self_: *mut GtkUriLauncher,
20794        result: *mut gio::GAsyncResult,
20795        error: *mut *mut glib::GError,
20796    ) -> gboolean;
20797    #[cfg(feature = "v4_10")]
20798    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20799    pub fn gtk_uri_launcher_set_uri(self_: *mut GtkUriLauncher, uri: *const c_char);
20800
20801    //=========================================================================
20802    // GtkVideo
20803    //=========================================================================
20804    pub fn gtk_video_get_type() -> GType;
20805    pub fn gtk_video_new() -> *mut GtkWidget;
20806    pub fn gtk_video_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
20807    pub fn gtk_video_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
20808    pub fn gtk_video_new_for_media_stream(stream: *mut GtkMediaStream) -> *mut GtkWidget;
20809    pub fn gtk_video_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
20810    pub fn gtk_video_get_autoplay(self_: *mut GtkVideo) -> gboolean;
20811    pub fn gtk_video_get_file(self_: *mut GtkVideo) -> *mut gio::GFile;
20812    #[cfg(feature = "v4_14")]
20813    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20814    pub fn gtk_video_get_graphics_offload(self_: *mut GtkVideo) -> GtkGraphicsOffloadEnabled;
20815    pub fn gtk_video_get_loop(self_: *mut GtkVideo) -> gboolean;
20816    pub fn gtk_video_get_media_stream(self_: *mut GtkVideo) -> *mut GtkMediaStream;
20817    pub fn gtk_video_set_autoplay(self_: *mut GtkVideo, autoplay: gboolean);
20818    pub fn gtk_video_set_file(self_: *mut GtkVideo, file: *mut gio::GFile);
20819    pub fn gtk_video_set_filename(self_: *mut GtkVideo, filename: *const c_char);
20820    #[cfg(feature = "v4_14")]
20821    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20822    pub fn gtk_video_set_graphics_offload(self_: *mut GtkVideo, enabled: GtkGraphicsOffloadEnabled);
20823    pub fn gtk_video_set_loop(self_: *mut GtkVideo, loop_: gboolean);
20824    pub fn gtk_video_set_media_stream(self_: *mut GtkVideo, stream: *mut GtkMediaStream);
20825    pub fn gtk_video_set_resource(self_: *mut GtkVideo, resource_path: *const c_char);
20826
20827    //=========================================================================
20828    // GtkViewport
20829    //=========================================================================
20830    pub fn gtk_viewport_get_type() -> GType;
20831    pub fn gtk_viewport_new(
20832        hadjustment: *mut GtkAdjustment,
20833        vadjustment: *mut GtkAdjustment,
20834    ) -> *mut GtkWidget;
20835    pub fn gtk_viewport_get_child(viewport: *mut GtkViewport) -> *mut GtkWidget;
20836    pub fn gtk_viewport_get_scroll_to_focus(viewport: *mut GtkViewport) -> gboolean;
20837    #[cfg(feature = "v4_12")]
20838    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20839    pub fn gtk_viewport_scroll_to(
20840        viewport: *mut GtkViewport,
20841        descendant: *mut GtkWidget,
20842        scroll: *mut GtkScrollInfo,
20843    );
20844    pub fn gtk_viewport_set_child(viewport: *mut GtkViewport, child: *mut GtkWidget);
20845    pub fn gtk_viewport_set_scroll_to_focus(viewport: *mut GtkViewport, scroll_to_focus: gboolean);
20846
20847    //=========================================================================
20848    // GtkVolumeButton
20849    //=========================================================================
20850    pub fn gtk_volume_button_get_type() -> GType;
20851    pub fn gtk_volume_button_new() -> *mut GtkWidget;
20852
20853    //=========================================================================
20854    // GtkWidget
20855    //=========================================================================
20856    pub fn gtk_widget_get_type() -> GType;
20857    pub fn gtk_widget_get_default_direction() -> GtkTextDirection;
20858    pub fn gtk_widget_set_default_direction(dir: GtkTextDirection);
20859    pub fn gtk_widget_action_set_enabled(
20860        widget: *mut GtkWidget,
20861        action_name: *const c_char,
20862        enabled: gboolean,
20863    );
20864    pub fn gtk_widget_activate(widget: *mut GtkWidget) -> gboolean;
20865    pub fn gtk_widget_activate_action(
20866        widget: *mut GtkWidget,
20867        name: *const c_char,
20868        format_string: *const c_char,
20869        ...
20870    ) -> gboolean;
20871    pub fn gtk_widget_activate_action_variant(
20872        widget: *mut GtkWidget,
20873        name: *const c_char,
20874        args: *mut glib::GVariant,
20875    ) -> gboolean;
20876    pub fn gtk_widget_activate_default(widget: *mut GtkWidget);
20877    pub fn gtk_widget_add_controller(widget: *mut GtkWidget, controller: *mut GtkEventController);
20878    pub fn gtk_widget_add_css_class(widget: *mut GtkWidget, css_class: *const c_char);
20879    pub fn gtk_widget_add_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
20880    pub fn gtk_widget_add_tick_callback(
20881        widget: *mut GtkWidget,
20882        callback: GtkTickCallback,
20883        user_data: gpointer,
20884        notify: glib::GDestroyNotify,
20885    ) -> c_uint;
20886    pub fn gtk_widget_allocate(
20887        widget: *mut GtkWidget,
20888        width: c_int,
20889        height: c_int,
20890        baseline: c_int,
20891        transform: *mut gsk::GskTransform,
20892    );
20893    pub fn gtk_widget_child_focus(widget: *mut GtkWidget, direction: GtkDirectionType) -> gboolean;
20894    pub fn gtk_widget_compute_bounds(
20895        widget: *mut GtkWidget,
20896        target: *mut GtkWidget,
20897        out_bounds: *mut graphene::graphene_rect_t,
20898    ) -> gboolean;
20899    pub fn gtk_widget_compute_expand(
20900        widget: *mut GtkWidget,
20901        orientation: GtkOrientation,
20902    ) -> gboolean;
20903    pub fn gtk_widget_compute_point(
20904        widget: *mut GtkWidget,
20905        target: *mut GtkWidget,
20906        point: *const graphene::graphene_point_t,
20907        out_point: *mut graphene::graphene_point_t,
20908    ) -> gboolean;
20909    pub fn gtk_widget_compute_transform(
20910        widget: *mut GtkWidget,
20911        target: *mut GtkWidget,
20912        out_transform: *mut graphene::graphene_matrix_t,
20913    ) -> gboolean;
20914    pub fn gtk_widget_contains(widget: *mut GtkWidget, x: c_double, y: c_double) -> gboolean;
20915    pub fn gtk_widget_create_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20916    pub fn gtk_widget_create_pango_layout(
20917        widget: *mut GtkWidget,
20918        text: *const c_char,
20919    ) -> *mut pango::PangoLayout;
20920    #[cfg(feature = "v4_8")]
20921    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
20922    pub fn gtk_widget_dispose_template(widget: *mut GtkWidget, widget_type: GType);
20923    pub fn gtk_drag_check_threshold(
20924        widget: *mut GtkWidget,
20925        start_x: c_int,
20926        start_y: c_int,
20927        current_x: c_int,
20928        current_y: c_int,
20929    ) -> gboolean;
20930    pub fn gtk_widget_error_bell(widget: *mut GtkWidget);
20931    pub fn gtk_widget_get_allocated_baseline(widget: *mut GtkWidget) -> c_int;
20932    pub fn gtk_widget_get_allocated_height(widget: *mut GtkWidget) -> c_int;
20933    pub fn gtk_widget_get_allocated_width(widget: *mut GtkWidget) -> c_int;
20934    pub fn gtk_widget_get_allocation(widget: *mut GtkWidget, allocation: *mut GtkAllocation);
20935    pub fn gtk_widget_get_ancestor(widget: *mut GtkWidget, widget_type: GType) -> *mut GtkWidget;
20936    #[cfg(feature = "v4_12")]
20937    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20938    pub fn gtk_widget_get_baseline(widget: *mut GtkWidget) -> c_int;
20939    pub fn gtk_widget_get_can_focus(widget: *mut GtkWidget) -> gboolean;
20940    pub fn gtk_widget_get_can_target(widget: *mut GtkWidget) -> gboolean;
20941    pub fn gtk_widget_get_child_visible(widget: *mut GtkWidget) -> gboolean;
20942    pub fn gtk_widget_get_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
20943    #[cfg(feature = "v4_10")]
20944    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20945    pub fn gtk_widget_get_color(widget: *mut GtkWidget, color: *mut gdk::GdkRGBA);
20946    pub fn gtk_widget_get_css_classes(widget: *mut GtkWidget) -> *mut *mut c_char;
20947    pub fn gtk_widget_get_css_name(self_: *mut GtkWidget) -> *const c_char;
20948    pub fn gtk_widget_get_cursor(widget: *mut GtkWidget) -> *mut gdk::GdkCursor;
20949    pub fn gtk_widget_get_direction(widget: *mut GtkWidget) -> GtkTextDirection;
20950    pub fn gtk_widget_get_display(widget: *mut GtkWidget) -> *mut gdk::GdkDisplay;
20951    pub fn gtk_widget_get_first_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20952    pub fn gtk_widget_get_focus_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20953    pub fn gtk_widget_get_focus_on_click(widget: *mut GtkWidget) -> gboolean;
20954    pub fn gtk_widget_get_focusable(widget: *mut GtkWidget) -> gboolean;
20955    pub fn gtk_widget_get_font_map(widget: *mut GtkWidget) -> *mut pango::PangoFontMap;
20956    pub fn gtk_widget_get_font_options(
20957        widget: *mut GtkWidget,
20958    ) -> *const cairo::cairo_font_options_t;
20959    pub fn gtk_widget_get_frame_clock(widget: *mut GtkWidget) -> *mut gdk::GdkFrameClock;
20960    pub fn gtk_widget_get_halign(widget: *mut GtkWidget) -> GtkAlign;
20961    pub fn gtk_widget_get_has_tooltip(widget: *mut GtkWidget) -> gboolean;
20962    pub fn gtk_widget_get_height(widget: *mut GtkWidget) -> c_int;
20963    pub fn gtk_widget_get_hexpand(widget: *mut GtkWidget) -> gboolean;
20964    pub fn gtk_widget_get_hexpand_set(widget: *mut GtkWidget) -> gboolean;
20965    pub fn gtk_widget_get_last_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20966    pub fn gtk_widget_get_layout_manager(widget: *mut GtkWidget) -> *mut GtkLayoutManager;
20967    #[cfg(feature = "v4_18")]
20968    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
20969    pub fn gtk_widget_get_limit_events(widget: *mut GtkWidget) -> gboolean;
20970    pub fn gtk_widget_get_mapped(widget: *mut GtkWidget) -> gboolean;
20971    pub fn gtk_widget_get_margin_bottom(widget: *mut GtkWidget) -> c_int;
20972    pub fn gtk_widget_get_margin_end(widget: *mut GtkWidget) -> c_int;
20973    pub fn gtk_widget_get_margin_start(widget: *mut GtkWidget) -> c_int;
20974    pub fn gtk_widget_get_margin_top(widget: *mut GtkWidget) -> c_int;
20975    pub fn gtk_widget_get_name(widget: *mut GtkWidget) -> *const c_char;
20976    pub fn gtk_widget_get_native(widget: *mut GtkWidget) -> *mut GtkNative;
20977    pub fn gtk_widget_get_next_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
20978    pub fn gtk_widget_get_opacity(widget: *mut GtkWidget) -> c_double;
20979    pub fn gtk_widget_get_overflow(widget: *mut GtkWidget) -> GtkOverflow;
20980    pub fn gtk_widget_get_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20981    pub fn gtk_widget_get_parent(widget: *mut GtkWidget) -> *mut GtkWidget;
20982    pub fn gtk_widget_get_preferred_size(
20983        widget: *mut GtkWidget,
20984        minimum_size: *mut GtkRequisition,
20985        natural_size: *mut GtkRequisition,
20986    );
20987    pub fn gtk_widget_get_prev_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
20988    pub fn gtk_widget_get_primary_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
20989    pub fn gtk_widget_get_realized(widget: *mut GtkWidget) -> gboolean;
20990    pub fn gtk_widget_get_receives_default(widget: *mut GtkWidget) -> gboolean;
20991    pub fn gtk_widget_get_request_mode(widget: *mut GtkWidget) -> GtkSizeRequestMode;
20992    pub fn gtk_widget_get_root(widget: *mut GtkWidget) -> *mut GtkRoot;
20993    pub fn gtk_widget_get_scale_factor(widget: *mut GtkWidget) -> c_int;
20994    pub fn gtk_widget_get_sensitive(widget: *mut GtkWidget) -> gboolean;
20995    pub fn gtk_widget_get_settings(widget: *mut GtkWidget) -> *mut GtkSettings;
20996    pub fn gtk_widget_get_size(widget: *mut GtkWidget, orientation: GtkOrientation) -> c_int;
20997    pub fn gtk_widget_get_size_request(
20998        widget: *mut GtkWidget,
20999        width: *mut c_int,
21000        height: *mut c_int,
21001    );
21002    pub fn gtk_widget_get_state_flags(widget: *mut GtkWidget) -> GtkStateFlags;
21003    pub fn gtk_widget_get_style_context(widget: *mut GtkWidget) -> *mut GtkStyleContext;
21004    pub fn gtk_widget_get_template_child(
21005        widget: *mut GtkWidget,
21006        widget_type: GType,
21007        name: *const c_char,
21008    ) -> *mut gobject::GObject;
21009    pub fn gtk_widget_get_tooltip_markup(widget: *mut GtkWidget) -> *const c_char;
21010    pub fn gtk_widget_get_tooltip_text(widget: *mut GtkWidget) -> *const c_char;
21011    pub fn gtk_widget_get_valign(widget: *mut GtkWidget) -> GtkAlign;
21012    pub fn gtk_widget_get_vexpand(widget: *mut GtkWidget) -> gboolean;
21013    pub fn gtk_widget_get_vexpand_set(widget: *mut GtkWidget) -> gboolean;
21014    pub fn gtk_widget_get_visible(widget: *mut GtkWidget) -> gboolean;
21015    pub fn gtk_widget_get_width(widget: *mut GtkWidget) -> c_int;
21016    pub fn gtk_widget_grab_focus(widget: *mut GtkWidget) -> gboolean;
21017    pub fn gtk_widget_has_css_class(widget: *mut GtkWidget, css_class: *const c_char) -> gboolean;
21018    pub fn gtk_widget_has_default(widget: *mut GtkWidget) -> gboolean;
21019    pub fn gtk_widget_has_focus(widget: *mut GtkWidget) -> gboolean;
21020    pub fn gtk_widget_has_visible_focus(widget: *mut GtkWidget) -> gboolean;
21021    pub fn gtk_widget_hide(widget: *mut GtkWidget);
21022    pub fn gtk_widget_in_destruction(widget: *mut GtkWidget) -> gboolean;
21023    pub fn gtk_widget_init_template(widget: *mut GtkWidget);
21024    pub fn gtk_widget_insert_action_group(
21025        widget: *mut GtkWidget,
21026        name: *const c_char,
21027        group: *mut gio::GActionGroup,
21028    );
21029    pub fn gtk_widget_insert_after(
21030        widget: *mut GtkWidget,
21031        parent: *mut GtkWidget,
21032        previous_sibling: *mut GtkWidget,
21033    );
21034    pub fn gtk_widget_insert_before(
21035        widget: *mut GtkWidget,
21036        parent: *mut GtkWidget,
21037        next_sibling: *mut GtkWidget,
21038    );
21039    pub fn gtk_widget_is_ancestor(widget: *mut GtkWidget, ancestor: *mut GtkWidget) -> gboolean;
21040    pub fn gtk_widget_is_drawable(widget: *mut GtkWidget) -> gboolean;
21041    pub fn gtk_widget_is_focus(widget: *mut GtkWidget) -> gboolean;
21042    pub fn gtk_widget_is_sensitive(widget: *mut GtkWidget) -> gboolean;
21043    pub fn gtk_widget_is_visible(widget: *mut GtkWidget) -> gboolean;
21044    pub fn gtk_widget_keynav_failed(
21045        widget: *mut GtkWidget,
21046        direction: GtkDirectionType,
21047    ) -> gboolean;
21048    pub fn gtk_widget_list_mnemonic_labels(widget: *mut GtkWidget) -> *mut glib::GList;
21049    pub fn gtk_widget_map(widget: *mut GtkWidget);
21050    pub fn gtk_widget_measure(
21051        widget: *mut GtkWidget,
21052        orientation: GtkOrientation,
21053        for_size: c_int,
21054        minimum: *mut c_int,
21055        natural: *mut c_int,
21056        minimum_baseline: *mut c_int,
21057        natural_baseline: *mut c_int,
21058    );
21059    pub fn gtk_widget_mnemonic_activate(
21060        widget: *mut GtkWidget,
21061        group_cycling: gboolean,
21062    ) -> gboolean;
21063    pub fn gtk_widget_observe_children(widget: *mut GtkWidget) -> *mut gio::GListModel;
21064    pub fn gtk_widget_observe_controllers(widget: *mut GtkWidget) -> *mut gio::GListModel;
21065    pub fn gtk_widget_pick(
21066        widget: *mut GtkWidget,
21067        x: c_double,
21068        y: c_double,
21069        flags: GtkPickFlags,
21070    ) -> *mut GtkWidget;
21071    pub fn gtk_widget_queue_allocate(widget: *mut GtkWidget);
21072    pub fn gtk_widget_queue_draw(widget: *mut GtkWidget);
21073    pub fn gtk_widget_queue_resize(widget: *mut GtkWidget);
21074    pub fn gtk_widget_realize(widget: *mut GtkWidget);
21075    pub fn gtk_widget_remove_controller(
21076        widget: *mut GtkWidget,
21077        controller: *mut GtkEventController,
21078    );
21079    pub fn gtk_widget_remove_css_class(widget: *mut GtkWidget, css_class: *const c_char);
21080    pub fn gtk_widget_remove_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
21081    pub fn gtk_widget_remove_tick_callback(widget: *mut GtkWidget, id: c_uint);
21082    pub fn gtk_widget_set_can_focus(widget: *mut GtkWidget, can_focus: gboolean);
21083    pub fn gtk_widget_set_can_target(widget: *mut GtkWidget, can_target: gboolean);
21084    pub fn gtk_widget_set_child_visible(widget: *mut GtkWidget, child_visible: gboolean);
21085    pub fn gtk_widget_set_css_classes(widget: *mut GtkWidget, classes: *mut *const c_char);
21086    pub fn gtk_widget_set_cursor(widget: *mut GtkWidget, cursor: *mut gdk::GdkCursor);
21087    pub fn gtk_widget_set_cursor_from_name(widget: *mut GtkWidget, name: *const c_char);
21088    pub fn gtk_widget_set_direction(widget: *mut GtkWidget, dir: GtkTextDirection);
21089    pub fn gtk_widget_set_focus_child(widget: *mut GtkWidget, child: *mut GtkWidget);
21090    pub fn gtk_widget_set_focus_on_click(widget: *mut GtkWidget, focus_on_click: gboolean);
21091    pub fn gtk_widget_set_focusable(widget: *mut GtkWidget, focusable: gboolean);
21092    pub fn gtk_widget_set_font_map(widget: *mut GtkWidget, font_map: *mut pango::PangoFontMap);
21093    pub fn gtk_widget_set_font_options(
21094        widget: *mut GtkWidget,
21095        options: *const cairo::cairo_font_options_t,
21096    );
21097    pub fn gtk_widget_set_halign(widget: *mut GtkWidget, align: GtkAlign);
21098    pub fn gtk_widget_set_has_tooltip(widget: *mut GtkWidget, has_tooltip: gboolean);
21099    pub fn gtk_widget_set_hexpand(widget: *mut GtkWidget, expand: gboolean);
21100    pub fn gtk_widget_set_hexpand_set(widget: *mut GtkWidget, set: gboolean);
21101    pub fn gtk_widget_set_layout_manager(
21102        widget: *mut GtkWidget,
21103        layout_manager: *mut GtkLayoutManager,
21104    );
21105    #[cfg(feature = "v4_18")]
21106    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21107    pub fn gtk_widget_set_limit_events(widget: *mut GtkWidget, limit_events: gboolean);
21108    pub fn gtk_widget_set_margin_bottom(widget: *mut GtkWidget, margin: c_int);
21109    pub fn gtk_widget_set_margin_end(widget: *mut GtkWidget, margin: c_int);
21110    pub fn gtk_widget_set_margin_start(widget: *mut GtkWidget, margin: c_int);
21111    pub fn gtk_widget_set_margin_top(widget: *mut GtkWidget, margin: c_int);
21112    pub fn gtk_widget_set_name(widget: *mut GtkWidget, name: *const c_char);
21113    pub fn gtk_widget_set_opacity(widget: *mut GtkWidget, opacity: c_double);
21114    pub fn gtk_widget_set_overflow(widget: *mut GtkWidget, overflow: GtkOverflow);
21115    pub fn gtk_widget_set_parent(widget: *mut GtkWidget, parent: *mut GtkWidget);
21116    pub fn gtk_widget_set_receives_default(widget: *mut GtkWidget, receives_default: gboolean);
21117    pub fn gtk_widget_set_sensitive(widget: *mut GtkWidget, sensitive: gboolean);
21118    pub fn gtk_widget_set_size_request(widget: *mut GtkWidget, width: c_int, height: c_int);
21119    pub fn gtk_widget_set_state_flags(
21120        widget: *mut GtkWidget,
21121        flags: GtkStateFlags,
21122        clear: gboolean,
21123    );
21124    pub fn gtk_widget_set_tooltip_markup(widget: *mut GtkWidget, markup: *const c_char);
21125    pub fn gtk_widget_set_tooltip_text(widget: *mut GtkWidget, text: *const c_char);
21126    pub fn gtk_widget_set_valign(widget: *mut GtkWidget, align: GtkAlign);
21127    pub fn gtk_widget_set_vexpand(widget: *mut GtkWidget, expand: gboolean);
21128    pub fn gtk_widget_set_vexpand_set(widget: *mut GtkWidget, set: gboolean);
21129    pub fn gtk_widget_set_visible(widget: *mut GtkWidget, visible: gboolean);
21130    pub fn gtk_widget_should_layout(widget: *mut GtkWidget) -> gboolean;
21131    pub fn gtk_widget_show(widget: *mut GtkWidget);
21132    pub fn gtk_widget_size_allocate(
21133        widget: *mut GtkWidget,
21134        allocation: *const GtkAllocation,
21135        baseline: c_int,
21136    );
21137    pub fn gtk_widget_snapshot_child(
21138        widget: *mut GtkWidget,
21139        child: *mut GtkWidget,
21140        snapshot: *mut GtkSnapshot,
21141    );
21142    pub fn gtk_widget_translate_coordinates(
21143        src_widget: *mut GtkWidget,
21144        dest_widget: *mut GtkWidget,
21145        src_x: c_double,
21146        src_y: c_double,
21147        dest_x: *mut c_double,
21148        dest_y: *mut c_double,
21149    ) -> gboolean;
21150    pub fn gtk_widget_trigger_tooltip_query(widget: *mut GtkWidget);
21151    pub fn gtk_widget_unmap(widget: *mut GtkWidget);
21152    pub fn gtk_widget_unparent(widget: *mut GtkWidget);
21153    pub fn gtk_widget_unrealize(widget: *mut GtkWidget);
21154    pub fn gtk_widget_unset_state_flags(widget: *mut GtkWidget, flags: GtkStateFlags);
21155
21156    //=========================================================================
21157    // GtkWidgetPaintable
21158    //=========================================================================
21159    pub fn gtk_widget_paintable_get_type() -> GType;
21160    pub fn gtk_widget_paintable_new(widget: *mut GtkWidget) -> *mut GtkWidgetPaintable;
21161    pub fn gtk_widget_paintable_get_widget(self_: *mut GtkWidgetPaintable) -> *mut GtkWidget;
21162    pub fn gtk_widget_paintable_set_widget(self_: *mut GtkWidgetPaintable, widget: *mut GtkWidget);
21163
21164    //=========================================================================
21165    // GtkWindow
21166    //=========================================================================
21167    pub fn gtk_window_get_type() -> GType;
21168    pub fn gtk_window_new() -> *mut GtkWidget;
21169    pub fn gtk_window_get_default_icon_name() -> *const c_char;
21170    pub fn gtk_window_get_toplevels() -> *mut gio::GListModel;
21171    pub fn gtk_window_list_toplevels() -> *mut glib::GList;
21172    pub fn gtk_window_set_auto_startup_notification(setting: gboolean);
21173    pub fn gtk_window_set_default_icon_name(name: *const c_char);
21174    pub fn gtk_window_set_interactive_debugging(enable: gboolean);
21175    pub fn gtk_window_close(window: *mut GtkWindow);
21176    pub fn gtk_window_destroy(window: *mut GtkWindow);
21177    pub fn gtk_window_fullscreen(window: *mut GtkWindow);
21178    pub fn gtk_window_fullscreen_on_monitor(window: *mut GtkWindow, monitor: *mut gdk::GdkMonitor);
21179    pub fn gtk_window_get_application(window: *mut GtkWindow) -> *mut GtkApplication;
21180    pub fn gtk_window_get_child(window: *mut GtkWindow) -> *mut GtkWidget;
21181    pub fn gtk_window_get_decorated(window: *mut GtkWindow) -> gboolean;
21182    pub fn gtk_window_get_default_size(
21183        window: *mut GtkWindow,
21184        width: *mut c_int,
21185        height: *mut c_int,
21186    );
21187    pub fn gtk_window_get_default_widget(window: *mut GtkWindow) -> *mut GtkWidget;
21188    pub fn gtk_window_get_deletable(window: *mut GtkWindow) -> gboolean;
21189    pub fn gtk_window_get_destroy_with_parent(window: *mut GtkWindow) -> gboolean;
21190    pub fn gtk_window_get_focus(window: *mut GtkWindow) -> *mut GtkWidget;
21191    pub fn gtk_window_get_focus_visible(window: *mut GtkWindow) -> gboolean;
21192    #[cfg(feature = "v4_20")]
21193    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
21194    pub fn gtk_window_get_gravity(window: *mut GtkWindow) -> GtkWindowGravity;
21195    pub fn gtk_window_get_group(window: *mut GtkWindow) -> *mut GtkWindowGroup;
21196    #[cfg(feature = "v4_2")]
21197    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
21198    pub fn gtk_window_get_handle_menubar_accel(window: *mut GtkWindow) -> gboolean;
21199    pub fn gtk_window_get_hide_on_close(window: *mut GtkWindow) -> gboolean;
21200    pub fn gtk_window_get_icon_name(window: *mut GtkWindow) -> *const c_char;
21201    pub fn gtk_window_get_mnemonics_visible(window: *mut GtkWindow) -> gboolean;
21202    pub fn gtk_window_get_modal(window: *mut GtkWindow) -> gboolean;
21203    pub fn gtk_window_get_resizable(window: *mut GtkWindow) -> gboolean;
21204    pub fn gtk_window_get_title(window: *mut GtkWindow) -> *const c_char;
21205    pub fn gtk_window_get_titlebar(window: *mut GtkWindow) -> *mut GtkWidget;
21206    pub fn gtk_window_get_transient_for(window: *mut GtkWindow) -> *mut GtkWindow;
21207    pub fn gtk_window_has_group(window: *mut GtkWindow) -> gboolean;
21208    pub fn gtk_window_is_active(window: *mut GtkWindow) -> gboolean;
21209    pub fn gtk_window_is_fullscreen(window: *mut GtkWindow) -> gboolean;
21210    pub fn gtk_window_is_maximized(window: *mut GtkWindow) -> gboolean;
21211    #[cfg(feature = "v4_12")]
21212    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21213    pub fn gtk_window_is_suspended(window: *mut GtkWindow) -> gboolean;
21214    pub fn gtk_window_maximize(window: *mut GtkWindow);
21215    pub fn gtk_window_minimize(window: *mut GtkWindow);
21216    pub fn gtk_window_present(window: *mut GtkWindow);
21217    pub fn gtk_window_present_with_time(window: *mut GtkWindow, timestamp: u32);
21218    pub fn gtk_window_set_application(window: *mut GtkWindow, application: *mut GtkApplication);
21219    pub fn gtk_window_set_child(window: *mut GtkWindow, child: *mut GtkWidget);
21220    pub fn gtk_window_set_decorated(window: *mut GtkWindow, setting: gboolean);
21221    pub fn gtk_window_set_default_size(window: *mut GtkWindow, width: c_int, height: c_int);
21222    pub fn gtk_window_set_default_widget(window: *mut GtkWindow, default_widget: *mut GtkWidget);
21223    pub fn gtk_window_set_deletable(window: *mut GtkWindow, setting: gboolean);
21224    pub fn gtk_window_set_destroy_with_parent(window: *mut GtkWindow, setting: gboolean);
21225    pub fn gtk_window_set_display(window: *mut GtkWindow, display: *mut gdk::GdkDisplay);
21226    pub fn gtk_window_set_focus(window: *mut GtkWindow, focus: *mut GtkWidget);
21227    pub fn gtk_window_set_focus_visible(window: *mut GtkWindow, setting: gboolean);
21228    #[cfg(feature = "v4_20")]
21229    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
21230    pub fn gtk_window_set_gravity(window: *mut GtkWindow, gravity: GtkWindowGravity);
21231    #[cfg(feature = "v4_2")]
21232    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
21233    pub fn gtk_window_set_handle_menubar_accel(
21234        window: *mut GtkWindow,
21235        handle_menubar_accel: gboolean,
21236    );
21237    pub fn gtk_window_set_hide_on_close(window: *mut GtkWindow, setting: gboolean);
21238    pub fn gtk_window_set_icon_name(window: *mut GtkWindow, name: *const c_char);
21239    pub fn gtk_window_set_mnemonics_visible(window: *mut GtkWindow, setting: gboolean);
21240    pub fn gtk_window_set_modal(window: *mut GtkWindow, modal: gboolean);
21241    pub fn gtk_window_set_resizable(window: *mut GtkWindow, resizable: gboolean);
21242    pub fn gtk_window_set_startup_id(window: *mut GtkWindow, startup_id: *const c_char);
21243    pub fn gtk_window_set_title(window: *mut GtkWindow, title: *const c_char);
21244    pub fn gtk_window_set_titlebar(window: *mut GtkWindow, titlebar: *mut GtkWidget);
21245    pub fn gtk_window_set_transient_for(window: *mut GtkWindow, parent: *mut GtkWindow);
21246    pub fn gtk_window_unfullscreen(window: *mut GtkWindow);
21247    pub fn gtk_window_unmaximize(window: *mut GtkWindow);
21248    pub fn gtk_window_unminimize(window: *mut GtkWindow);
21249
21250    //=========================================================================
21251    // GtkWindowControls
21252    //=========================================================================
21253    pub fn gtk_window_controls_get_type() -> GType;
21254    pub fn gtk_window_controls_new(side: GtkPackType) -> *mut GtkWidget;
21255    pub fn gtk_window_controls_get_decoration_layout(
21256        self_: *mut GtkWindowControls,
21257    ) -> *const c_char;
21258    pub fn gtk_window_controls_get_empty(self_: *mut GtkWindowControls) -> gboolean;
21259    pub fn gtk_window_controls_get_side(self_: *mut GtkWindowControls) -> GtkPackType;
21260    #[cfg(feature = "v4_18")]
21261    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21262    pub fn gtk_window_controls_get_use_native_controls(self_: *mut GtkWindowControls) -> gboolean;
21263    pub fn gtk_window_controls_set_decoration_layout(
21264        self_: *mut GtkWindowControls,
21265        layout: *const c_char,
21266    );
21267    pub fn gtk_window_controls_set_side(self_: *mut GtkWindowControls, side: GtkPackType);
21268    #[cfg(feature = "v4_18")]
21269    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21270    pub fn gtk_window_controls_set_use_native_controls(
21271        self_: *mut GtkWindowControls,
21272        setting: gboolean,
21273    );
21274
21275    //=========================================================================
21276    // GtkWindowGroup
21277    //=========================================================================
21278    pub fn gtk_window_group_get_type() -> GType;
21279    pub fn gtk_window_group_new() -> *mut GtkWindowGroup;
21280    pub fn gtk_window_group_add_window(window_group: *mut GtkWindowGroup, window: *mut GtkWindow);
21281    pub fn gtk_window_group_list_windows(window_group: *mut GtkWindowGroup) -> *mut glib::GList;
21282    pub fn gtk_window_group_remove_window(
21283        window_group: *mut GtkWindowGroup,
21284        window: *mut GtkWindow,
21285    );
21286
21287    //=========================================================================
21288    // GtkWindowHandle
21289    //=========================================================================
21290    pub fn gtk_window_handle_get_type() -> GType;
21291    pub fn gtk_window_handle_new() -> *mut GtkWidget;
21292    pub fn gtk_window_handle_get_child(self_: *mut GtkWindowHandle) -> *mut GtkWidget;
21293    pub fn gtk_window_handle_set_child(self_: *mut GtkWindowHandle, child: *mut GtkWidget);
21294
21295    //=========================================================================
21296    // GtkAccessible
21297    //=========================================================================
21298    #[cfg(feature = "v4_10")]
21299    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21300    pub fn gtk_accessible_get_type() -> GType;
21301    #[cfg(feature = "v4_14")]
21302    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21303    pub fn gtk_accessible_announce(
21304        self_: *mut GtkAccessible,
21305        message: *const c_char,
21306        priority: GtkAccessibleAnnouncementPriority,
21307    );
21308    #[cfg(feature = "v4_22")]
21309    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21310    pub fn gtk_accessible_get_accessible_id(self_: *mut GtkAccessible) -> *mut c_char;
21311    #[cfg(feature = "v4_10")]
21312    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21313    pub fn gtk_accessible_get_accessible_parent(self_: *mut GtkAccessible) -> *mut GtkAccessible;
21314    #[cfg(feature = "v4_10")]
21315    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21316    pub fn gtk_accessible_get_accessible_role(self_: *mut GtkAccessible) -> GtkAccessibleRole;
21317    #[cfg(feature = "v4_10")]
21318    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21319    pub fn gtk_accessible_get_at_context(self_: *mut GtkAccessible) -> *mut GtkATContext;
21320    #[cfg(feature = "v4_10")]
21321    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21322    pub fn gtk_accessible_get_bounds(
21323        self_: *mut GtkAccessible,
21324        x: *mut c_int,
21325        y: *mut c_int,
21326        width: *mut c_int,
21327        height: *mut c_int,
21328    ) -> gboolean;
21329    #[cfg(feature = "v4_10")]
21330    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21331    pub fn gtk_accessible_get_first_accessible_child(
21332        self_: *mut GtkAccessible,
21333    ) -> *mut GtkAccessible;
21334    #[cfg(feature = "v4_10")]
21335    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21336    pub fn gtk_accessible_get_next_accessible_sibling(
21337        self_: *mut GtkAccessible,
21338    ) -> *mut GtkAccessible;
21339    #[cfg(feature = "v4_10")]
21340    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21341    pub fn gtk_accessible_get_platform_state(
21342        self_: *mut GtkAccessible,
21343        state: GtkAccessiblePlatformState,
21344    ) -> gboolean;
21345    #[cfg(feature = "v4_10")]
21346    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21347    pub fn gtk_accessible_reset_property(
21348        self_: *mut GtkAccessible,
21349        property: GtkAccessibleProperty,
21350    );
21351    #[cfg(feature = "v4_10")]
21352    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21353    pub fn gtk_accessible_reset_relation(
21354        self_: *mut GtkAccessible,
21355        relation: GtkAccessibleRelation,
21356    );
21357    #[cfg(feature = "v4_10")]
21358    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21359    pub fn gtk_accessible_reset_state(self_: *mut GtkAccessible, state: GtkAccessibleState);
21360    #[cfg(feature = "v4_10")]
21361    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21362    pub fn gtk_accessible_set_accessible_parent(
21363        self_: *mut GtkAccessible,
21364        parent: *mut GtkAccessible,
21365        next_sibling: *mut GtkAccessible,
21366    );
21367    #[cfg(feature = "v4_10")]
21368    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21369    pub fn gtk_accessible_update_next_accessible_sibling(
21370        self_: *mut GtkAccessible,
21371        new_sibling: *mut GtkAccessible,
21372    );
21373    #[cfg(feature = "v4_18")]
21374    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21375    pub fn gtk_accessible_update_platform_state(
21376        self_: *mut GtkAccessible,
21377        state: GtkAccessiblePlatformState,
21378    );
21379    #[cfg(feature = "v4_10")]
21380    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21381    pub fn gtk_accessible_update_property(
21382        self_: *mut GtkAccessible,
21383        first_property: GtkAccessibleProperty,
21384        ...
21385    );
21386    #[cfg(feature = "v4_10")]
21387    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21388    pub fn gtk_accessible_update_property_value(
21389        self_: *mut GtkAccessible,
21390        n_properties: c_int,
21391        properties: *mut GtkAccessibleProperty,
21392        values: *const gobject::GValue,
21393    );
21394    #[cfg(feature = "v4_10")]
21395    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21396    pub fn gtk_accessible_update_relation(
21397        self_: *mut GtkAccessible,
21398        first_relation: GtkAccessibleRelation,
21399        ...
21400    );
21401    #[cfg(feature = "v4_10")]
21402    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21403    pub fn gtk_accessible_update_relation_value(
21404        self_: *mut GtkAccessible,
21405        n_relations: c_int,
21406        relations: *mut GtkAccessibleRelation,
21407        values: *const gobject::GValue,
21408    );
21409    #[cfg(feature = "v4_10")]
21410    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21411    pub fn gtk_accessible_update_state(
21412        self_: *mut GtkAccessible,
21413        first_state: GtkAccessibleState,
21414        ...
21415    );
21416    #[cfg(feature = "v4_10")]
21417    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21418    pub fn gtk_accessible_update_state_value(
21419        self_: *mut GtkAccessible,
21420        n_states: c_int,
21421        states: *mut GtkAccessibleState,
21422        values: *const gobject::GValue,
21423    );
21424
21425    //=========================================================================
21426    // GtkAccessibleHypertext
21427    //=========================================================================
21428    #[cfg(feature = "v4_22")]
21429    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21430    pub fn gtk_accessible_hypertext_get_type() -> GType;
21431
21432    //=========================================================================
21433    // GtkAccessibleRange
21434    //=========================================================================
21435    #[cfg(feature = "v4_10")]
21436    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21437    pub fn gtk_accessible_range_get_type() -> GType;
21438
21439    //=========================================================================
21440    // GtkAccessibleText
21441    //=========================================================================
21442    #[cfg(feature = "v4_14")]
21443    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21444    pub fn gtk_accessible_text_get_type() -> GType;
21445    #[cfg(feature = "v4_14")]
21446    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21447    pub fn gtk_accessible_text_update_caret_position(self_: *mut GtkAccessibleText);
21448    #[cfg(feature = "v4_14")]
21449    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21450    pub fn gtk_accessible_text_update_contents(
21451        self_: *mut GtkAccessibleText,
21452        change: GtkAccessibleTextContentChange,
21453        start: c_uint,
21454        end: c_uint,
21455    );
21456    #[cfg(feature = "v4_14")]
21457    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21458    pub fn gtk_accessible_text_update_selection_bound(self_: *mut GtkAccessibleText);
21459
21460    //=========================================================================
21461    // GtkActionable
21462    //=========================================================================
21463    pub fn gtk_actionable_get_type() -> GType;
21464    pub fn gtk_actionable_get_action_name(actionable: *mut GtkActionable) -> *const c_char;
21465    pub fn gtk_actionable_get_action_target_value(
21466        actionable: *mut GtkActionable,
21467    ) -> *mut glib::GVariant;
21468    pub fn gtk_actionable_set_action_name(
21469        actionable: *mut GtkActionable,
21470        action_name: *const c_char,
21471    );
21472    pub fn gtk_actionable_set_action_target(
21473        actionable: *mut GtkActionable,
21474        format_string: *const c_char,
21475        ...
21476    );
21477    pub fn gtk_actionable_set_action_target_value(
21478        actionable: *mut GtkActionable,
21479        target_value: *mut glib::GVariant,
21480    );
21481    pub fn gtk_actionable_set_detailed_action_name(
21482        actionable: *mut GtkActionable,
21483        detailed_action_name: *const c_char,
21484    );
21485
21486    //=========================================================================
21487    // GtkAppChooser
21488    //=========================================================================
21489    pub fn gtk_app_chooser_get_type() -> GType;
21490    pub fn gtk_app_chooser_get_app_info(self_: *mut GtkAppChooser) -> *mut gio::GAppInfo;
21491    pub fn gtk_app_chooser_get_content_type(self_: *mut GtkAppChooser) -> *mut c_char;
21492    pub fn gtk_app_chooser_refresh(self_: *mut GtkAppChooser);
21493
21494    //=========================================================================
21495    // GtkBuildable
21496    //=========================================================================
21497    pub fn gtk_buildable_get_type() -> GType;
21498    pub fn gtk_buildable_get_buildable_id(buildable: *mut GtkBuildable) -> *const c_char;
21499
21500    //=========================================================================
21501    // GtkBuilderScope
21502    //=========================================================================
21503    pub fn gtk_builder_scope_get_type() -> GType;
21504
21505    //=========================================================================
21506    // GtkCellEditable
21507    //=========================================================================
21508    pub fn gtk_cell_editable_get_type() -> GType;
21509    pub fn gtk_cell_editable_editing_done(cell_editable: *mut GtkCellEditable);
21510    pub fn gtk_cell_editable_remove_widget(cell_editable: *mut GtkCellEditable);
21511    pub fn gtk_cell_editable_start_editing(
21512        cell_editable: *mut GtkCellEditable,
21513        event: *mut gdk::GdkEvent,
21514    );
21515
21516    //=========================================================================
21517    // GtkCellLayout
21518    //=========================================================================
21519    pub fn gtk_cell_layout_get_type() -> GType;
21520    pub fn gtk_cell_layout_add_attribute(
21521        cell_layout: *mut GtkCellLayout,
21522        cell: *mut GtkCellRenderer,
21523        attribute: *const c_char,
21524        column: c_int,
21525    );
21526    pub fn gtk_cell_layout_clear(cell_layout: *mut GtkCellLayout);
21527    pub fn gtk_cell_layout_clear_attributes(
21528        cell_layout: *mut GtkCellLayout,
21529        cell: *mut GtkCellRenderer,
21530    );
21531    pub fn gtk_cell_layout_get_area(cell_layout: *mut GtkCellLayout) -> *mut GtkCellArea;
21532    pub fn gtk_cell_layout_get_cells(cell_layout: *mut GtkCellLayout) -> *mut glib::GList;
21533    pub fn gtk_cell_layout_pack_end(
21534        cell_layout: *mut GtkCellLayout,
21535        cell: *mut GtkCellRenderer,
21536        expand: gboolean,
21537    );
21538    pub fn gtk_cell_layout_pack_start(
21539        cell_layout: *mut GtkCellLayout,
21540        cell: *mut GtkCellRenderer,
21541        expand: gboolean,
21542    );
21543    pub fn gtk_cell_layout_reorder(
21544        cell_layout: *mut GtkCellLayout,
21545        cell: *mut GtkCellRenderer,
21546        position: c_int,
21547    );
21548    pub fn gtk_cell_layout_set_attributes(
21549        cell_layout: *mut GtkCellLayout,
21550        cell: *mut GtkCellRenderer,
21551        ...
21552    );
21553    pub fn gtk_cell_layout_set_cell_data_func(
21554        cell_layout: *mut GtkCellLayout,
21555        cell: *mut GtkCellRenderer,
21556        func: GtkCellLayoutDataFunc,
21557        func_data: gpointer,
21558        destroy: glib::GDestroyNotify,
21559    );
21560
21561    //=========================================================================
21562    // GtkColorChooser
21563    //=========================================================================
21564    pub fn gtk_color_chooser_get_type() -> GType;
21565    pub fn gtk_color_chooser_add_palette(
21566        chooser: *mut GtkColorChooser,
21567        orientation: GtkOrientation,
21568        colors_per_line: c_int,
21569        n_colors: c_int,
21570        colors: *mut gdk::GdkRGBA,
21571    );
21572    pub fn gtk_color_chooser_get_rgba(chooser: *mut GtkColorChooser, color: *mut gdk::GdkRGBA);
21573    pub fn gtk_color_chooser_get_use_alpha(chooser: *mut GtkColorChooser) -> gboolean;
21574    pub fn gtk_color_chooser_set_rgba(chooser: *mut GtkColorChooser, color: *const gdk::GdkRGBA);
21575    pub fn gtk_color_chooser_set_use_alpha(chooser: *mut GtkColorChooser, use_alpha: gboolean);
21576
21577    //=========================================================================
21578    // GtkConstraintTarget
21579    //=========================================================================
21580    pub fn gtk_constraint_target_get_type() -> GType;
21581
21582    //=========================================================================
21583    // GtkEditable
21584    //=========================================================================
21585    pub fn gtk_editable_get_type() -> GType;
21586    pub fn gtk_editable_delegate_get_property(
21587        object: *mut gobject::GObject,
21588        prop_id: c_uint,
21589        value: *mut gobject::GValue,
21590        pspec: *mut gobject::GParamSpec,
21591    ) -> gboolean;
21592    pub fn gtk_editable_delegate_set_property(
21593        object: *mut gobject::GObject,
21594        prop_id: c_uint,
21595        value: *const gobject::GValue,
21596        pspec: *mut gobject::GParamSpec,
21597    ) -> gboolean;
21598    pub fn gtk_editable_install_properties(
21599        object_class: *mut gobject::GObjectClass,
21600        first_prop: c_uint,
21601    ) -> c_uint;
21602    #[cfg(feature = "v4_10")]
21603    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21604    pub fn gtk_editable_delegate_get_accessible_platform_state(
21605        editable: *mut GtkEditable,
21606        state: GtkAccessiblePlatformState,
21607    ) -> gboolean;
21608    pub fn gtk_editable_delete_selection(editable: *mut GtkEditable);
21609    pub fn gtk_editable_delete_text(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
21610    pub fn gtk_editable_finish_delegate(editable: *mut GtkEditable);
21611    pub fn gtk_editable_get_alignment(editable: *mut GtkEditable) -> c_float;
21612    pub fn gtk_editable_get_chars(
21613        editable: *mut GtkEditable,
21614        start_pos: c_int,
21615        end_pos: c_int,
21616    ) -> *mut c_char;
21617    #[cfg(feature = "v4_24")]
21618    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
21619    pub fn gtk_editable_get_complete_text(editable: *mut GtkEditable) -> *mut c_char;
21620    pub fn gtk_editable_get_delegate(editable: *mut GtkEditable) -> *mut GtkEditable;
21621    pub fn gtk_editable_get_editable(editable: *mut GtkEditable) -> gboolean;
21622    pub fn gtk_editable_get_enable_undo(editable: *mut GtkEditable) -> gboolean;
21623    #[cfg(feature = "v4_24")]
21624    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
21625    pub fn gtk_editable_get_input_interceptor(editable: *mut GtkEditable) -> *mut GtkWidget;
21626    pub fn gtk_editable_get_max_width_chars(editable: *mut GtkEditable) -> c_int;
21627    pub fn gtk_editable_get_position(editable: *mut GtkEditable) -> c_int;
21628    pub fn gtk_editable_get_selection_bounds(
21629        editable: *mut GtkEditable,
21630        start_pos: *mut c_int,
21631        end_pos: *mut c_int,
21632    ) -> gboolean;
21633    pub fn gtk_editable_get_text(editable: *mut GtkEditable) -> *const c_char;
21634    pub fn gtk_editable_get_width_chars(editable: *mut GtkEditable) -> c_int;
21635    pub fn gtk_editable_init_delegate(editable: *mut GtkEditable);
21636    pub fn gtk_editable_insert_text(
21637        editable: *mut GtkEditable,
21638        text: *const c_char,
21639        length: c_int,
21640        position: *mut c_int,
21641    );
21642    pub fn gtk_editable_select_region(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
21643    pub fn gtk_editable_set_alignment(editable: *mut GtkEditable, xalign: c_float);
21644    pub fn gtk_editable_set_editable(editable: *mut GtkEditable, is_editable: gboolean);
21645    pub fn gtk_editable_set_enable_undo(editable: *mut GtkEditable, enable_undo: gboolean);
21646    #[cfg(feature = "v4_24")]
21647    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
21648    pub fn gtk_editable_set_input_interceptor(
21649        editable: *mut GtkEditable,
21650        interceptor: *mut GtkWidget,
21651    );
21652    pub fn gtk_editable_set_max_width_chars(editable: *mut GtkEditable, n_chars: c_int);
21653    pub fn gtk_editable_set_position(editable: *mut GtkEditable, position: c_int);
21654    pub fn gtk_editable_set_text(editable: *mut GtkEditable, text: *const c_char);
21655    pub fn gtk_editable_set_width_chars(editable: *mut GtkEditable, n_chars: c_int);
21656
21657    //=========================================================================
21658    // GtkFileChooser
21659    //=========================================================================
21660    pub fn gtk_file_chooser_get_type() -> GType;
21661    pub fn gtk_file_chooser_add_choice(
21662        chooser: *mut GtkFileChooser,
21663        id: *const c_char,
21664        label: *const c_char,
21665        options: *mut *const c_char,
21666        option_labels: *mut *const c_char,
21667    );
21668    pub fn gtk_file_chooser_add_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21669    pub fn gtk_file_chooser_add_shortcut_folder(
21670        chooser: *mut GtkFileChooser,
21671        folder: *mut gio::GFile,
21672        error: *mut *mut glib::GError,
21673    ) -> gboolean;
21674    pub fn gtk_file_chooser_get_action(chooser: *mut GtkFileChooser) -> GtkFileChooserAction;
21675    pub fn gtk_file_chooser_get_choice(
21676        chooser: *mut GtkFileChooser,
21677        id: *const c_char,
21678    ) -> *const c_char;
21679    pub fn gtk_file_chooser_get_create_folders(chooser: *mut GtkFileChooser) -> gboolean;
21680    pub fn gtk_file_chooser_get_current_folder(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
21681    pub fn gtk_file_chooser_get_current_name(chooser: *mut GtkFileChooser) -> *mut c_char;
21682    pub fn gtk_file_chooser_get_file(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
21683    pub fn gtk_file_chooser_get_files(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
21684    pub fn gtk_file_chooser_get_filter(chooser: *mut GtkFileChooser) -> *mut GtkFileFilter;
21685    pub fn gtk_file_chooser_get_filters(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
21686    pub fn gtk_file_chooser_get_select_multiple(chooser: *mut GtkFileChooser) -> gboolean;
21687    pub fn gtk_file_chooser_get_shortcut_folders(
21688        chooser: *mut GtkFileChooser,
21689    ) -> *mut gio::GListModel;
21690    pub fn gtk_file_chooser_remove_choice(chooser: *mut GtkFileChooser, id: *const c_char);
21691    pub fn gtk_file_chooser_remove_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21692    pub fn gtk_file_chooser_remove_shortcut_folder(
21693        chooser: *mut GtkFileChooser,
21694        folder: *mut gio::GFile,
21695        error: *mut *mut glib::GError,
21696    ) -> gboolean;
21697    pub fn gtk_file_chooser_set_action(chooser: *mut GtkFileChooser, action: GtkFileChooserAction);
21698    pub fn gtk_file_chooser_set_choice(
21699        chooser: *mut GtkFileChooser,
21700        id: *const c_char,
21701        option: *const c_char,
21702    );
21703    pub fn gtk_file_chooser_set_create_folders(
21704        chooser: *mut GtkFileChooser,
21705        create_folders: gboolean,
21706    );
21707    pub fn gtk_file_chooser_set_current_folder(
21708        chooser: *mut GtkFileChooser,
21709        file: *mut gio::GFile,
21710        error: *mut *mut glib::GError,
21711    ) -> gboolean;
21712    pub fn gtk_file_chooser_set_current_name(chooser: *mut GtkFileChooser, name: *const c_char);
21713    pub fn gtk_file_chooser_set_file(
21714        chooser: *mut GtkFileChooser,
21715        file: *mut gio::GFile,
21716        error: *mut *mut glib::GError,
21717    ) -> gboolean;
21718    pub fn gtk_file_chooser_set_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21719    pub fn gtk_file_chooser_set_select_multiple(
21720        chooser: *mut GtkFileChooser,
21721        select_multiple: gboolean,
21722    );
21723
21724    //=========================================================================
21725    // GtkFontChooser
21726    //=========================================================================
21727    pub fn gtk_font_chooser_get_type() -> GType;
21728    pub fn gtk_font_chooser_get_font(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21729    pub fn gtk_font_chooser_get_font_desc(
21730        fontchooser: *mut GtkFontChooser,
21731    ) -> *mut pango::PangoFontDescription;
21732    pub fn gtk_font_chooser_get_font_face(
21733        fontchooser: *mut GtkFontChooser,
21734    ) -> *mut pango::PangoFontFace;
21735    pub fn gtk_font_chooser_get_font_family(
21736        fontchooser: *mut GtkFontChooser,
21737    ) -> *mut pango::PangoFontFamily;
21738    pub fn gtk_font_chooser_get_font_features(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21739    pub fn gtk_font_chooser_get_font_map(
21740        fontchooser: *mut GtkFontChooser,
21741    ) -> *mut pango::PangoFontMap;
21742    pub fn gtk_font_chooser_get_font_size(fontchooser: *mut GtkFontChooser) -> c_int;
21743    pub fn gtk_font_chooser_get_language(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21744    pub fn gtk_font_chooser_get_level(fontchooser: *mut GtkFontChooser) -> GtkFontChooserLevel;
21745    pub fn gtk_font_chooser_get_preview_text(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21746    pub fn gtk_font_chooser_get_show_preview_entry(fontchooser: *mut GtkFontChooser) -> gboolean;
21747    pub fn gtk_font_chooser_set_filter_func(
21748        fontchooser: *mut GtkFontChooser,
21749        filter: GtkFontFilterFunc,
21750        user_data: gpointer,
21751        destroy: glib::GDestroyNotify,
21752    );
21753    pub fn gtk_font_chooser_set_font(fontchooser: *mut GtkFontChooser, fontname: *const c_char);
21754    pub fn gtk_font_chooser_set_font_desc(
21755        fontchooser: *mut GtkFontChooser,
21756        font_desc: *const pango::PangoFontDescription,
21757    );
21758    pub fn gtk_font_chooser_set_font_map(
21759        fontchooser: *mut GtkFontChooser,
21760        fontmap: *mut pango::PangoFontMap,
21761    );
21762    pub fn gtk_font_chooser_set_language(fontchooser: *mut GtkFontChooser, language: *const c_char);
21763    pub fn gtk_font_chooser_set_level(fontchooser: *mut GtkFontChooser, level: GtkFontChooserLevel);
21764    pub fn gtk_font_chooser_set_preview_text(fontchooser: *mut GtkFontChooser, text: *const c_char);
21765    pub fn gtk_font_chooser_set_show_preview_entry(
21766        fontchooser: *mut GtkFontChooser,
21767        show_preview_entry: gboolean,
21768    );
21769
21770    //=========================================================================
21771    // GtkNative
21772    //=========================================================================
21773    pub fn gtk_native_get_type() -> GType;
21774    pub fn gtk_native_get_for_surface(surface: *mut gdk::GdkSurface) -> *mut GtkNative;
21775    pub fn gtk_native_get_renderer(self_: *mut GtkNative) -> *mut gsk::GskRenderer;
21776    pub fn gtk_native_get_surface(self_: *mut GtkNative) -> *mut gdk::GdkSurface;
21777    pub fn gtk_native_get_surface_transform(
21778        self_: *mut GtkNative,
21779        x: *mut c_double,
21780        y: *mut c_double,
21781    );
21782    pub fn gtk_native_realize(self_: *mut GtkNative);
21783    pub fn gtk_native_unrealize(self_: *mut GtkNative);
21784
21785    //=========================================================================
21786    // GtkOrientable
21787    //=========================================================================
21788    pub fn gtk_orientable_get_type() -> GType;
21789    pub fn gtk_orientable_get_orientation(orientable: *mut GtkOrientable) -> GtkOrientation;
21790    pub fn gtk_orientable_set_orientation(
21791        orientable: *mut GtkOrientable,
21792        orientation: GtkOrientation,
21793    );
21794
21795    //=========================================================================
21796    // GtkPrintOperationPreview
21797    //=========================================================================
21798    pub fn gtk_print_operation_preview_get_type() -> GType;
21799    pub fn gtk_print_operation_preview_end_preview(preview: *mut GtkPrintOperationPreview);
21800    pub fn gtk_print_operation_preview_is_selected(
21801        preview: *mut GtkPrintOperationPreview,
21802        page_nr: c_int,
21803    ) -> gboolean;
21804    pub fn gtk_print_operation_preview_render_page(
21805        preview: *mut GtkPrintOperationPreview,
21806        page_nr: c_int,
21807    );
21808
21809    //=========================================================================
21810    // GtkRoot
21811    //=========================================================================
21812    pub fn gtk_root_get_type() -> GType;
21813    pub fn gtk_root_get_display(self_: *mut GtkRoot) -> *mut gdk::GdkDisplay;
21814    pub fn gtk_root_get_focus(self_: *mut GtkRoot) -> *mut GtkWidget;
21815    pub fn gtk_root_set_focus(self_: *mut GtkRoot, focus: *mut GtkWidget);
21816
21817    //=========================================================================
21818    // GtkScrollable
21819    //=========================================================================
21820    pub fn gtk_scrollable_get_type() -> GType;
21821    pub fn gtk_scrollable_get_border(
21822        scrollable: *mut GtkScrollable,
21823        border: *mut GtkBorder,
21824    ) -> gboolean;
21825    pub fn gtk_scrollable_get_hadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21826    pub fn gtk_scrollable_get_hscroll_policy(scrollable: *mut GtkScrollable)
21827    -> GtkScrollablePolicy;
21828    pub fn gtk_scrollable_get_vadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21829    pub fn gtk_scrollable_get_vscroll_policy(scrollable: *mut GtkScrollable)
21830    -> GtkScrollablePolicy;
21831    pub fn gtk_scrollable_set_hadjustment(
21832        scrollable: *mut GtkScrollable,
21833        hadjustment: *mut GtkAdjustment,
21834    );
21835    pub fn gtk_scrollable_set_hscroll_policy(
21836        scrollable: *mut GtkScrollable,
21837        policy: GtkScrollablePolicy,
21838    );
21839    pub fn gtk_scrollable_set_vadjustment(
21840        scrollable: *mut GtkScrollable,
21841        vadjustment: *mut GtkAdjustment,
21842    );
21843    pub fn gtk_scrollable_set_vscroll_policy(
21844        scrollable: *mut GtkScrollable,
21845        policy: GtkScrollablePolicy,
21846    );
21847
21848    //=========================================================================
21849    // GtkSectionModel
21850    //=========================================================================
21851    #[cfg(feature = "v4_12")]
21852    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21853    pub fn gtk_section_model_get_type() -> GType;
21854    #[cfg(feature = "v4_12")]
21855    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21856    pub fn gtk_section_model_get_section(
21857        self_: *mut GtkSectionModel,
21858        position: c_uint,
21859        out_start: *mut c_uint,
21860        out_end: *mut c_uint,
21861    );
21862    #[cfg(feature = "v4_12")]
21863    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21864    pub fn gtk_section_model_sections_changed(
21865        self_: *mut GtkSectionModel,
21866        position: c_uint,
21867        n_items: c_uint,
21868    );
21869
21870    //=========================================================================
21871    // GtkSelectionModel
21872    //=========================================================================
21873    pub fn gtk_selection_model_get_type() -> GType;
21874    pub fn gtk_selection_model_get_selection(model: *mut GtkSelectionModel) -> *mut GtkBitset;
21875    pub fn gtk_selection_model_get_selection_in_range(
21876        model: *mut GtkSelectionModel,
21877        position: c_uint,
21878        n_items: c_uint,
21879    ) -> *mut GtkBitset;
21880    pub fn gtk_selection_model_is_selected(
21881        model: *mut GtkSelectionModel,
21882        position: c_uint,
21883    ) -> gboolean;
21884    pub fn gtk_selection_model_select_all(model: *mut GtkSelectionModel) -> gboolean;
21885    pub fn gtk_selection_model_select_item(
21886        model: *mut GtkSelectionModel,
21887        position: c_uint,
21888        unselect_rest: gboolean,
21889    ) -> gboolean;
21890    pub fn gtk_selection_model_select_range(
21891        model: *mut GtkSelectionModel,
21892        position: c_uint,
21893        n_items: c_uint,
21894        unselect_rest: gboolean,
21895    ) -> gboolean;
21896    pub fn gtk_selection_model_selection_changed(
21897        model: *mut GtkSelectionModel,
21898        position: c_uint,
21899        n_items: c_uint,
21900    );
21901    pub fn gtk_selection_model_set_selection(
21902        model: *mut GtkSelectionModel,
21903        selected: *mut GtkBitset,
21904        mask: *mut GtkBitset,
21905    ) -> gboolean;
21906    pub fn gtk_selection_model_unselect_all(model: *mut GtkSelectionModel) -> gboolean;
21907    pub fn gtk_selection_model_unselect_item(
21908        model: *mut GtkSelectionModel,
21909        position: c_uint,
21910    ) -> gboolean;
21911    pub fn gtk_selection_model_unselect_range(
21912        model: *mut GtkSelectionModel,
21913        position: c_uint,
21914        n_items: c_uint,
21915    ) -> gboolean;
21916
21917    //=========================================================================
21918    // GtkShortcutManager
21919    //=========================================================================
21920    pub fn gtk_shortcut_manager_get_type() -> GType;
21921
21922    //=========================================================================
21923    // GtkStyleProvider
21924    //=========================================================================
21925    pub fn gtk_style_provider_get_type() -> GType;
21926
21927    //=========================================================================
21928    // GtkSymbolicPaintable
21929    //=========================================================================
21930    #[cfg(feature = "v4_6")]
21931    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21932    pub fn gtk_symbolic_paintable_get_type() -> GType;
21933    #[cfg(feature = "v4_6")]
21934    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21935    pub fn gtk_symbolic_paintable_snapshot_symbolic(
21936        paintable: *mut GtkSymbolicPaintable,
21937        snapshot: *mut gdk::GdkSnapshot,
21938        width: c_double,
21939        height: c_double,
21940        colors: *const gdk::GdkRGBA,
21941        n_colors: size_t,
21942    );
21943    #[cfg(feature = "v4_22")]
21944    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21945    pub fn gtk_symbolic_paintable_snapshot_with_weight(
21946        paintable: *mut GtkSymbolicPaintable,
21947        snapshot: *mut gdk::GdkSnapshot,
21948        width: c_double,
21949        height: c_double,
21950        colors: *const gdk::GdkRGBA,
21951        n_colors: size_t,
21952        weight: c_double,
21953    );
21954
21955    //=========================================================================
21956    // GtkTreeDragDest
21957    //=========================================================================
21958    pub fn gtk_tree_drag_dest_get_type() -> GType;
21959    pub fn gtk_tree_drag_dest_drag_data_received(
21960        drag_dest: *mut GtkTreeDragDest,
21961        dest: *mut GtkTreePath,
21962        value: *const gobject::GValue,
21963    ) -> gboolean;
21964    pub fn gtk_tree_drag_dest_row_drop_possible(
21965        drag_dest: *mut GtkTreeDragDest,
21966        dest_path: *mut GtkTreePath,
21967        value: *const gobject::GValue,
21968    ) -> gboolean;
21969
21970    //=========================================================================
21971    // GtkTreeDragSource
21972    //=========================================================================
21973    pub fn gtk_tree_drag_source_get_type() -> GType;
21974    pub fn gtk_tree_drag_source_drag_data_delete(
21975        drag_source: *mut GtkTreeDragSource,
21976        path: *mut GtkTreePath,
21977    ) -> gboolean;
21978    pub fn gtk_tree_drag_source_drag_data_get(
21979        drag_source: *mut GtkTreeDragSource,
21980        path: *mut GtkTreePath,
21981    ) -> *mut gdk::GdkContentProvider;
21982    pub fn gtk_tree_drag_source_row_draggable(
21983        drag_source: *mut GtkTreeDragSource,
21984        path: *mut GtkTreePath,
21985    ) -> gboolean;
21986
21987    //=========================================================================
21988    // GtkTreeModel
21989    //=========================================================================
21990    pub fn gtk_tree_model_get_type() -> GType;
21991    pub fn gtk_tree_model_filter_new(
21992        child_model: *mut GtkTreeModel,
21993        root: *mut GtkTreePath,
21994    ) -> *mut GtkTreeModel;
21995    pub fn gtk_tree_model_foreach(
21996        model: *mut GtkTreeModel,
21997        func: GtkTreeModelForeachFunc,
21998        user_data: gpointer,
21999    );
22000    pub fn gtk_tree_model_get(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, ...);
22001    pub fn gtk_tree_model_get_column_type(tree_model: *mut GtkTreeModel, index_: c_int) -> GType;
22002    pub fn gtk_tree_model_get_flags(tree_model: *mut GtkTreeModel) -> GtkTreeModelFlags;
22003    pub fn gtk_tree_model_get_iter(
22004        tree_model: *mut GtkTreeModel,
22005        iter: *mut GtkTreeIter,
22006        path: *mut GtkTreePath,
22007    ) -> gboolean;
22008    pub fn gtk_tree_model_get_iter_first(
22009        tree_model: *mut GtkTreeModel,
22010        iter: *mut GtkTreeIter,
22011    ) -> gboolean;
22012    pub fn gtk_tree_model_get_iter_from_string(
22013        tree_model: *mut GtkTreeModel,
22014        iter: *mut GtkTreeIter,
22015        path_string: *const c_char,
22016    ) -> gboolean;
22017    pub fn gtk_tree_model_get_n_columns(tree_model: *mut GtkTreeModel) -> c_int;
22018    pub fn gtk_tree_model_get_path(
22019        tree_model: *mut GtkTreeModel,
22020        iter: *mut GtkTreeIter,
22021    ) -> *mut GtkTreePath;
22022    pub fn gtk_tree_model_get_string_from_iter(
22023        tree_model: *mut GtkTreeModel,
22024        iter: *mut GtkTreeIter,
22025    ) -> *mut c_char;
22026    //pub fn gtk_tree_model_get_valist(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
22027    pub fn gtk_tree_model_get_value(
22028        tree_model: *mut GtkTreeModel,
22029        iter: *mut GtkTreeIter,
22030        column: c_int,
22031        value: *mut gobject::GValue,
22032    );
22033    pub fn gtk_tree_model_iter_children(
22034        tree_model: *mut GtkTreeModel,
22035        iter: *mut GtkTreeIter,
22036        parent: *mut GtkTreeIter,
22037    ) -> gboolean;
22038    pub fn gtk_tree_model_iter_has_child(
22039        tree_model: *mut GtkTreeModel,
22040        iter: *mut GtkTreeIter,
22041    ) -> gboolean;
22042    pub fn gtk_tree_model_iter_n_children(
22043        tree_model: *mut GtkTreeModel,
22044        iter: *mut GtkTreeIter,
22045    ) -> c_int;
22046    pub fn gtk_tree_model_iter_next(
22047        tree_model: *mut GtkTreeModel,
22048        iter: *mut GtkTreeIter,
22049    ) -> gboolean;
22050    pub fn gtk_tree_model_iter_nth_child(
22051        tree_model: *mut GtkTreeModel,
22052        iter: *mut GtkTreeIter,
22053        parent: *mut GtkTreeIter,
22054        n: c_int,
22055    ) -> gboolean;
22056    pub fn gtk_tree_model_iter_parent(
22057        tree_model: *mut GtkTreeModel,
22058        iter: *mut GtkTreeIter,
22059        child: *mut GtkTreeIter,
22060    ) -> gboolean;
22061    pub fn gtk_tree_model_iter_previous(
22062        tree_model: *mut GtkTreeModel,
22063        iter: *mut GtkTreeIter,
22064    ) -> gboolean;
22065    pub fn gtk_tree_model_ref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
22066    pub fn gtk_tree_model_row_changed(
22067        tree_model: *mut GtkTreeModel,
22068        path: *mut GtkTreePath,
22069        iter: *mut GtkTreeIter,
22070    );
22071    pub fn gtk_tree_model_row_deleted(tree_model: *mut GtkTreeModel, path: *mut GtkTreePath);
22072    pub fn gtk_tree_model_row_has_child_toggled(
22073        tree_model: *mut GtkTreeModel,
22074        path: *mut GtkTreePath,
22075        iter: *mut GtkTreeIter,
22076    );
22077    pub fn gtk_tree_model_row_inserted(
22078        tree_model: *mut GtkTreeModel,
22079        path: *mut GtkTreePath,
22080        iter: *mut GtkTreeIter,
22081    );
22082    pub fn gtk_tree_model_rows_reordered(
22083        tree_model: *mut GtkTreeModel,
22084        path: *mut GtkTreePath,
22085        iter: *mut GtkTreeIter,
22086        new_order: *mut c_int,
22087    );
22088    pub fn gtk_tree_model_rows_reordered_with_length(
22089        tree_model: *mut GtkTreeModel,
22090        path: *mut GtkTreePath,
22091        iter: *mut GtkTreeIter,
22092        new_order: *mut c_int,
22093        length: c_int,
22094    );
22095    pub fn gtk_tree_model_unref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
22096
22097    //=========================================================================
22098    // GtkTreeSortable
22099    //=========================================================================
22100    pub fn gtk_tree_sortable_get_type() -> GType;
22101    pub fn gtk_tree_sortable_get_sort_column_id(
22102        sortable: *mut GtkTreeSortable,
22103        sort_column_id: *mut c_int,
22104        order: *mut GtkSortType,
22105    ) -> gboolean;
22106    pub fn gtk_tree_sortable_has_default_sort_func(sortable: *mut GtkTreeSortable) -> gboolean;
22107    pub fn gtk_tree_sortable_set_default_sort_func(
22108        sortable: *mut GtkTreeSortable,
22109        sort_func: GtkTreeIterCompareFunc,
22110        user_data: gpointer,
22111        destroy: glib::GDestroyNotify,
22112    );
22113    pub fn gtk_tree_sortable_set_sort_column_id(
22114        sortable: *mut GtkTreeSortable,
22115        sort_column_id: c_int,
22116        order: GtkSortType,
22117    );
22118    pub fn gtk_tree_sortable_set_sort_func(
22119        sortable: *mut GtkTreeSortable,
22120        sort_column_id: c_int,
22121        sort_func: GtkTreeIterCompareFunc,
22122        user_data: gpointer,
22123        destroy: glib::GDestroyNotify,
22124    );
22125    pub fn gtk_tree_sortable_sort_column_changed(sortable: *mut GtkTreeSortable);
22126
22127    //=========================================================================
22128    // Other functions
22129    //=========================================================================
22130    #[cfg(feature = "v4_22")]
22131    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
22132    pub fn gtk_accelerator_get_accessible_label(
22133        accelerator_key: c_uint,
22134        accelerator_mods: gdk::GdkModifierType,
22135    ) -> *mut c_char;
22136    pub fn gtk_accelerator_get_default_mod_mask() -> gdk::GdkModifierType;
22137    pub fn gtk_accelerator_get_label(
22138        accelerator_key: c_uint,
22139        accelerator_mods: gdk::GdkModifierType,
22140    ) -> *mut c_char;
22141    pub fn gtk_accelerator_get_label_with_keycode(
22142        display: *mut gdk::GdkDisplay,
22143        accelerator_key: c_uint,
22144        keycode: c_uint,
22145        accelerator_mods: gdk::GdkModifierType,
22146    ) -> *mut c_char;
22147    pub fn gtk_accelerator_name(
22148        accelerator_key: c_uint,
22149        accelerator_mods: gdk::GdkModifierType,
22150    ) -> *mut c_char;
22151    pub fn gtk_accelerator_name_with_keycode(
22152        display: *mut gdk::GdkDisplay,
22153        accelerator_key: c_uint,
22154        keycode: c_uint,
22155        accelerator_mods: gdk::GdkModifierType,
22156    ) -> *mut c_char;
22157    pub fn gtk_accelerator_parse(
22158        accelerator: *const c_char,
22159        accelerator_key: *mut c_uint,
22160        accelerator_mods: *mut gdk::GdkModifierType,
22161    ) -> gboolean;
22162    pub fn gtk_accelerator_parse_with_keycode(
22163        accelerator: *const c_char,
22164        display: *mut gdk::GdkDisplay,
22165        accelerator_key: *mut c_uint,
22166        accelerator_codes: *mut *mut c_uint,
22167        accelerator_mods: *mut gdk::GdkModifierType,
22168    ) -> gboolean;
22169    pub fn gtk_accelerator_valid(keyval: c_uint, modifiers: gdk::GdkModifierType) -> gboolean;
22170    pub fn gtk_check_version(
22171        required_major: c_uint,
22172        required_minor: c_uint,
22173        required_micro: c_uint,
22174    ) -> *const c_char;
22175    pub fn gtk_css_parser_error_quark() -> glib::GQuark;
22176    pub fn gtk_css_parser_warning_quark() -> glib::GQuark;
22177    #[cfg(feature = "v4_22")]
22178    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
22179    pub fn gtk_disable_portal_interfaces(portal_interfaces: *mut *const c_char);
22180    #[cfg(feature = "v4_18")]
22181    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
22182    pub fn gtk_disable_portals();
22183    pub fn gtk_disable_setlocale();
22184    pub fn gtk_distribute_natural_allocation(
22185        extra_space: c_int,
22186        n_requested_sizes: c_uint,
22187        sizes: *mut GtkRequestedSize,
22188    ) -> c_int;
22189    pub fn gtk_enumerate_printers(
22190        func: GtkPrinterFunc,
22191        data: gpointer,
22192        destroy: glib::GDestroyNotify,
22193        wait: gboolean,
22194    );
22195    pub fn gtk_get_binary_age() -> c_uint;
22196    pub fn gtk_get_debug_flags() -> GtkDebugFlags;
22197    pub fn gtk_get_default_language() -> *mut pango::PangoLanguage;
22198    pub fn gtk_get_interface_age() -> c_uint;
22199    pub fn gtk_get_locale_direction() -> GtkTextDirection;
22200    pub fn gtk_get_major_version() -> c_uint;
22201    pub fn gtk_get_micro_version() -> c_uint;
22202    pub fn gtk_get_minor_version() -> c_uint;
22203    pub fn gtk_hsv_to_rgb(
22204        h: c_float,
22205        s: c_float,
22206        v: c_float,
22207        r: *mut c_float,
22208        g: *mut c_float,
22209        b: *mut c_float,
22210    );
22211    pub fn gtk_init();
22212    pub fn gtk_init_check() -> gboolean;
22213    pub fn gtk_is_initialized() -> gboolean;
22214    pub fn gtk_param_spec_expression(
22215        name: *const c_char,
22216        nick: *const c_char,
22217        blurb: *const c_char,
22218        flags: gobject::GParamFlags,
22219    ) -> *mut gobject::GParamSpec;
22220    pub fn gtk_print_run_page_setup_dialog(
22221        parent: *mut GtkWindow,
22222        page_setup: *mut GtkPageSetup,
22223        settings: *mut GtkPrintSettings,
22224    ) -> *mut GtkPageSetup;
22225    pub fn gtk_print_run_page_setup_dialog_async(
22226        parent: *mut GtkWindow,
22227        page_setup: *mut GtkPageSetup,
22228        settings: *mut GtkPrintSettings,
22229        done_cb: GtkPageSetupDoneFunc,
22230        data: gpointer,
22231    );
22232    pub fn gtk_render_activity(
22233        context: *mut GtkStyleContext,
22234        cr: *mut cairo::cairo_t,
22235        x: c_double,
22236        y: c_double,
22237        width: c_double,
22238        height: c_double,
22239    );
22240    pub fn gtk_render_arrow(
22241        context: *mut GtkStyleContext,
22242        cr: *mut cairo::cairo_t,
22243        angle: c_double,
22244        x: c_double,
22245        y: c_double,
22246        size: c_double,
22247    );
22248    pub fn gtk_render_background(
22249        context: *mut GtkStyleContext,
22250        cr: *mut cairo::cairo_t,
22251        x: c_double,
22252        y: c_double,
22253        width: c_double,
22254        height: c_double,
22255    );
22256    pub fn gtk_render_check(
22257        context: *mut GtkStyleContext,
22258        cr: *mut cairo::cairo_t,
22259        x: c_double,
22260        y: c_double,
22261        width: c_double,
22262        height: c_double,
22263    );
22264    pub fn gtk_render_expander(
22265        context: *mut GtkStyleContext,
22266        cr: *mut cairo::cairo_t,
22267        x: c_double,
22268        y: c_double,
22269        width: c_double,
22270        height: c_double,
22271    );
22272    pub fn gtk_render_focus(
22273        context: *mut GtkStyleContext,
22274        cr: *mut cairo::cairo_t,
22275        x: c_double,
22276        y: c_double,
22277        width: c_double,
22278        height: c_double,
22279    );
22280    pub fn gtk_render_frame(
22281        context: *mut GtkStyleContext,
22282        cr: *mut cairo::cairo_t,
22283        x: c_double,
22284        y: c_double,
22285        width: c_double,
22286        height: c_double,
22287    );
22288    pub fn gtk_render_handle(
22289        context: *mut GtkStyleContext,
22290        cr: *mut cairo::cairo_t,
22291        x: c_double,
22292        y: c_double,
22293        width: c_double,
22294        height: c_double,
22295    );
22296    pub fn gtk_render_icon(
22297        context: *mut GtkStyleContext,
22298        cr: *mut cairo::cairo_t,
22299        texture: *mut gdk::GdkTexture,
22300        x: c_double,
22301        y: c_double,
22302    );
22303    pub fn gtk_render_layout(
22304        context: *mut GtkStyleContext,
22305        cr: *mut cairo::cairo_t,
22306        x: c_double,
22307        y: c_double,
22308        layout: *mut pango::PangoLayout,
22309    );
22310    pub fn gtk_render_line(
22311        context: *mut GtkStyleContext,
22312        cr: *mut cairo::cairo_t,
22313        x0: c_double,
22314        y0: c_double,
22315        x1: c_double,
22316        y1: c_double,
22317    );
22318    pub fn gtk_render_option(
22319        context: *mut GtkStyleContext,
22320        cr: *mut cairo::cairo_t,
22321        x: c_double,
22322        y: c_double,
22323        width: c_double,
22324        height: c_double,
22325    );
22326    pub fn gtk_rgb_to_hsv(
22327        r: c_float,
22328        g: c_float,
22329        b: c_float,
22330        h: *mut c_float,
22331        s: *mut c_float,
22332        v: *mut c_float,
22333    );
22334    pub fn gtk_set_debug_flags(flags: GtkDebugFlags);
22335    pub fn gtk_show_about_dialog(parent: *mut GtkWindow, first_property_name: *const c_char, ...);
22336    pub fn gtk_show_uri(parent: *mut GtkWindow, uri: *const c_char, timestamp: u32);
22337    pub fn gtk_show_uri_full(
22338        parent: *mut GtkWindow,
22339        uri: *const c_char,
22340        timestamp: u32,
22341        cancellable: *mut gio::GCancellable,
22342        callback: gio::GAsyncReadyCallback,
22343        user_data: gpointer,
22344    );
22345    pub fn gtk_show_uri_full_finish(
22346        parent: *mut GtkWindow,
22347        result: *mut gio::GAsyncResult,
22348        error: *mut *mut glib::GError,
22349    ) -> gboolean;
22350    #[cfg(feature = "v4_10")]
22351    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22352    pub fn gtk_test_accessible_assertion_message_role(
22353        domain: *const c_char,
22354        file: *const c_char,
22355        line: c_int,
22356        func: *const c_char,
22357        expr: *const c_char,
22358        accessible: *mut GtkAccessible,
22359        expected_role: GtkAccessibleRole,
22360        actual_role: GtkAccessibleRole,
22361    );
22362    #[cfg(feature = "v4_10")]
22363    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22364    pub fn gtk_test_accessible_check_property(
22365        accessible: *mut GtkAccessible,
22366        property: GtkAccessibleProperty,
22367        ...
22368    ) -> *mut c_char;
22369    #[cfg(feature = "v4_10")]
22370    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22371    pub fn gtk_test_accessible_check_relation(
22372        accessible: *mut GtkAccessible,
22373        relation: GtkAccessibleRelation,
22374        ...
22375    ) -> *mut c_char;
22376    #[cfg(feature = "v4_10")]
22377    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22378    pub fn gtk_test_accessible_check_state(
22379        accessible: *mut GtkAccessible,
22380        state: GtkAccessibleState,
22381        ...
22382    ) -> *mut c_char;
22383    #[cfg(feature = "v4_10")]
22384    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22385    pub fn gtk_test_accessible_has_property(
22386        accessible: *mut GtkAccessible,
22387        property: GtkAccessibleProperty,
22388    ) -> gboolean;
22389    #[cfg(feature = "v4_10")]
22390    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22391    pub fn gtk_test_accessible_has_relation(
22392        accessible: *mut GtkAccessible,
22393        relation: GtkAccessibleRelation,
22394    ) -> gboolean;
22395    #[cfg(feature = "v4_10")]
22396    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22397    pub fn gtk_test_accessible_has_role(
22398        accessible: *mut GtkAccessible,
22399        role: GtkAccessibleRole,
22400    ) -> gboolean;
22401    #[cfg(feature = "v4_10")]
22402    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22403    pub fn gtk_test_accessible_has_state(
22404        accessible: *mut GtkAccessible,
22405        state: GtkAccessibleState,
22406    ) -> gboolean;
22407    pub fn gtk_test_init(argcp: *mut c_int, argvp: *mut *mut *mut c_char, ...);
22408    pub fn gtk_test_list_all_types(n_types: *mut c_uint) -> *const GType;
22409    pub fn gtk_test_register_all_types();
22410    pub fn gtk_test_widget_wait_for_draw(widget: *mut GtkWidget);
22411    pub fn gtk_tree_create_row_drag_content(
22412        tree_model: *mut GtkTreeModel,
22413        path: *mut GtkTreePath,
22414    ) -> *mut gdk::GdkContentProvider;
22415    pub fn gtk_tree_get_row_drag_data(
22416        value: *const gobject::GValue,
22417        tree_model: *mut *mut GtkTreeModel,
22418        path: *mut *mut GtkTreePath,
22419    ) -> gboolean;
22420    pub fn gtk_value_dup_expression(value: *const gobject::GValue) -> *mut GtkExpression;
22421    pub fn gtk_value_get_expression(value: *const gobject::GValue) -> *mut GtkExpression;
22422    pub fn gtk_value_set_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
22423    pub fn gtk_value_take_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
22424
22425}