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
1156pub type GtkDialogFlags = c_uint;
1157pub const GTK_DIALOG_MODAL: GtkDialogFlags = 1;
1158pub const GTK_DIALOG_DESTROY_WITH_PARENT: GtkDialogFlags = 2;
1159pub const GTK_DIALOG_USE_HEADER_BAR: GtkDialogFlags = 4;
1160
1161pub type GtkEventControllerScrollFlags = c_uint;
1162pub const GTK_EVENT_CONTROLLER_SCROLL_NONE: GtkEventControllerScrollFlags = 0;
1163pub const GTK_EVENT_CONTROLLER_SCROLL_VERTICAL: GtkEventControllerScrollFlags = 1;
1164pub const GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL: GtkEventControllerScrollFlags = 2;
1165pub const GTK_EVENT_CONTROLLER_SCROLL_DISCRETE: GtkEventControllerScrollFlags = 4;
1166pub const GTK_EVENT_CONTROLLER_SCROLL_KINETIC: GtkEventControllerScrollFlags = 8;
1167#[cfg(feature = "v4_20")]
1168#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1169pub const GTK_EVENT_CONTROLLER_SCROLL_PHYSICAL_DIRECTION: GtkEventControllerScrollFlags = 16;
1170pub const GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES: GtkEventControllerScrollFlags = 3;
1171
1172pub type GtkFontChooserLevel = c_uint;
1173pub const GTK_FONT_CHOOSER_LEVEL_FAMILY: GtkFontChooserLevel = 0;
1174pub const GTK_FONT_CHOOSER_LEVEL_STYLE: GtkFontChooserLevel = 1;
1175pub const GTK_FONT_CHOOSER_LEVEL_SIZE: GtkFontChooserLevel = 2;
1176pub const GTK_FONT_CHOOSER_LEVEL_VARIATIONS: GtkFontChooserLevel = 4;
1177pub const GTK_FONT_CHOOSER_LEVEL_FEATURES: GtkFontChooserLevel = 8;
1178
1179pub type GtkIconLookupFlags = c_uint;
1180#[cfg(feature = "v4_18")]
1181#[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
1182pub const GTK_ICON_LOOKUP_NONE: GtkIconLookupFlags = 0;
1183pub const GTK_ICON_LOOKUP_FORCE_REGULAR: GtkIconLookupFlags = 1;
1184pub const GTK_ICON_LOOKUP_FORCE_SYMBOLIC: GtkIconLookupFlags = 2;
1185pub const GTK_ICON_LOOKUP_PRELOAD: GtkIconLookupFlags = 4;
1186
1187pub type GtkInputHints = c_uint;
1188pub const GTK_INPUT_HINT_NONE: GtkInputHints = 0;
1189pub const GTK_INPUT_HINT_SPELLCHECK: GtkInputHints = 1;
1190pub const GTK_INPUT_HINT_NO_SPELLCHECK: GtkInputHints = 2;
1191pub const GTK_INPUT_HINT_WORD_COMPLETION: GtkInputHints = 4;
1192pub const GTK_INPUT_HINT_LOWERCASE: GtkInputHints = 8;
1193pub const GTK_INPUT_HINT_UPPERCASE_CHARS: GtkInputHints = 16;
1194pub const GTK_INPUT_HINT_UPPERCASE_WORDS: GtkInputHints = 32;
1195pub const GTK_INPUT_HINT_UPPERCASE_SENTENCES: GtkInputHints = 64;
1196pub const GTK_INPUT_HINT_INHIBIT_OSK: GtkInputHints = 128;
1197pub const GTK_INPUT_HINT_VERTICAL_WRITING: GtkInputHints = 256;
1198pub const GTK_INPUT_HINT_EMOJI: GtkInputHints = 512;
1199pub const GTK_INPUT_HINT_NO_EMOJI: GtkInputHints = 1024;
1200pub const GTK_INPUT_HINT_PRIVATE: GtkInputHints = 2048;
1201
1202pub type GtkListScrollFlags = c_uint;
1203pub const GTK_LIST_SCROLL_NONE: GtkListScrollFlags = 0;
1204pub const GTK_LIST_SCROLL_FOCUS: GtkListScrollFlags = 1;
1205pub const GTK_LIST_SCROLL_SELECT: GtkListScrollFlags = 2;
1206
1207pub type GtkPickFlags = c_uint;
1208pub const GTK_PICK_DEFAULT: GtkPickFlags = 0;
1209pub const GTK_PICK_INSENSITIVE: GtkPickFlags = 1;
1210pub const GTK_PICK_NON_TARGETABLE: GtkPickFlags = 2;
1211
1212pub type GtkPopoverMenuFlags = c_uint;
1213#[cfg(feature = "v4_14")]
1214#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
1215pub const GTK_POPOVER_MENU_SLIDING: GtkPopoverMenuFlags = 0;
1216pub const GTK_POPOVER_MENU_NESTED: GtkPopoverMenuFlags = 1;
1217
1218pub type GtkPrintCapabilities = c_uint;
1219pub const GTK_PRINT_CAPABILITY_PAGE_SET: GtkPrintCapabilities = 1;
1220pub const GTK_PRINT_CAPABILITY_COPIES: GtkPrintCapabilities = 2;
1221pub const GTK_PRINT_CAPABILITY_COLLATE: GtkPrintCapabilities = 4;
1222pub const GTK_PRINT_CAPABILITY_REVERSE: GtkPrintCapabilities = 8;
1223pub const GTK_PRINT_CAPABILITY_SCALE: GtkPrintCapabilities = 16;
1224pub const GTK_PRINT_CAPABILITY_GENERATE_PDF: GtkPrintCapabilities = 32;
1225pub const GTK_PRINT_CAPABILITY_GENERATE_PS: GtkPrintCapabilities = 64;
1226pub const GTK_PRINT_CAPABILITY_PREVIEW: GtkPrintCapabilities = 128;
1227pub const GTK_PRINT_CAPABILITY_NUMBER_UP: GtkPrintCapabilities = 256;
1228pub const GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT: GtkPrintCapabilities = 512;
1229
1230pub type GtkShortcutActionFlags = c_uint;
1231pub const GTK_SHORTCUT_ACTION_EXCLUSIVE: GtkShortcutActionFlags = 1;
1232
1233pub type GtkStateFlags = c_uint;
1234pub const GTK_STATE_FLAG_NORMAL: GtkStateFlags = 0;
1235pub const GTK_STATE_FLAG_ACTIVE: GtkStateFlags = 1;
1236pub const GTK_STATE_FLAG_PRELIGHT: GtkStateFlags = 2;
1237pub const GTK_STATE_FLAG_SELECTED: GtkStateFlags = 4;
1238pub const GTK_STATE_FLAG_INSENSITIVE: GtkStateFlags = 8;
1239pub const GTK_STATE_FLAG_INCONSISTENT: GtkStateFlags = 16;
1240pub const GTK_STATE_FLAG_FOCUSED: GtkStateFlags = 32;
1241pub const GTK_STATE_FLAG_BACKDROP: GtkStateFlags = 64;
1242pub const GTK_STATE_FLAG_DIR_LTR: GtkStateFlags = 128;
1243pub const GTK_STATE_FLAG_DIR_RTL: GtkStateFlags = 256;
1244pub const GTK_STATE_FLAG_LINK: GtkStateFlags = 512;
1245pub const GTK_STATE_FLAG_VISITED: GtkStateFlags = 1024;
1246pub const GTK_STATE_FLAG_CHECKED: GtkStateFlags = 2048;
1247pub const GTK_STATE_FLAG_DROP_ACTIVE: GtkStateFlags = 4096;
1248pub const GTK_STATE_FLAG_FOCUS_VISIBLE: GtkStateFlags = 8192;
1249pub const GTK_STATE_FLAG_FOCUS_WITHIN: GtkStateFlags = 16384;
1250
1251pub type GtkStyleContextPrintFlags = c_uint;
1252pub const GTK_STYLE_CONTEXT_PRINT_NONE: GtkStyleContextPrintFlags = 0;
1253pub const GTK_STYLE_CONTEXT_PRINT_RECURSE: GtkStyleContextPrintFlags = 1;
1254pub const GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE: GtkStyleContextPrintFlags = 2;
1255pub const GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE: GtkStyleContextPrintFlags = 4;
1256
1257pub type GtkSvgFeatures = c_uint;
1258pub const GTK_SVG_ANIMATIONS: GtkSvgFeatures = 1;
1259pub const GTK_SVG_SYSTEM_RESOURCES: GtkSvgFeatures = 2;
1260pub const GTK_SVG_EXTERNAL_RESOURCES: GtkSvgFeatures = 4;
1261pub const GTK_SVG_EXTENSIONS: GtkSvgFeatures = 8;
1262pub const GTK_SVG_TRADITIONAL_SYMBOLIC: GtkSvgFeatures = 16;
1263
1264pub type GtkTextBufferNotifyFlags = c_uint;
1265pub const GTK_TEXT_BUFFER_NOTIFY_BEFORE_INSERT: GtkTextBufferNotifyFlags = 1;
1266pub const GTK_TEXT_BUFFER_NOTIFY_AFTER_INSERT: GtkTextBufferNotifyFlags = 2;
1267pub const GTK_TEXT_BUFFER_NOTIFY_BEFORE_DELETE: GtkTextBufferNotifyFlags = 4;
1268pub const GTK_TEXT_BUFFER_NOTIFY_AFTER_DELETE: GtkTextBufferNotifyFlags = 8;
1269
1270pub type GtkTextSearchFlags = c_uint;
1271pub const GTK_TEXT_SEARCH_VISIBLE_ONLY: GtkTextSearchFlags = 1;
1272pub const GTK_TEXT_SEARCH_TEXT_ONLY: GtkTextSearchFlags = 2;
1273pub const GTK_TEXT_SEARCH_CASE_INSENSITIVE: GtkTextSearchFlags = 4;
1274
1275pub type GtkTreeModelFlags = c_uint;
1276pub const GTK_TREE_MODEL_ITERS_PERSIST: GtkTreeModelFlags = 1;
1277pub const GTK_TREE_MODEL_LIST_ONLY: GtkTreeModelFlags = 2;
1278
1279// Callbacks
1280pub type GtkAssistantPageFunc = Option<unsafe extern "C" fn(c_int, gpointer) -> c_int>;
1281pub type GtkCellAllocCallback = Option<
1282    unsafe extern "C" fn(
1283        *mut GtkCellRenderer,
1284        *const gdk::GdkRectangle,
1285        *const gdk::GdkRectangle,
1286        gpointer,
1287    ) -> gboolean,
1288>;
1289pub type GtkCellCallback = Option<unsafe extern "C" fn(*mut GtkCellRenderer, gpointer) -> gboolean>;
1290pub type GtkCellLayoutDataFunc = Option<
1291    unsafe extern "C" fn(
1292        *mut GtkCellLayout,
1293        *mut GtkCellRenderer,
1294        *mut GtkTreeModel,
1295        *mut GtkTreeIter,
1296        gpointer,
1297    ),
1298>;
1299pub type GtkCustomAllocateFunc = Option<unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, c_int)>;
1300pub type GtkCustomFilterFunc =
1301    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> gboolean>;
1302pub type GtkCustomMeasureFunc = Option<
1303    unsafe extern "C" fn(
1304        *mut GtkWidget,
1305        GtkOrientation,
1306        c_int,
1307        *mut c_int,
1308        *mut c_int,
1309        *mut c_int,
1310        *mut c_int,
1311    ),
1312>;
1313pub type GtkCustomRequestModeFunc =
1314    Option<unsafe extern "C" fn(*mut GtkWidget) -> GtkSizeRequestMode>;
1315pub type GtkDrawingAreaDrawFunc =
1316    Option<unsafe extern "C" fn(*mut GtkDrawingArea, *mut cairo::cairo_t, c_int, c_int, gpointer)>;
1317pub type GtkEntryCompletionMatchFunc = Option<
1318    unsafe extern "C" fn(
1319        *mut GtkEntryCompletion,
1320        *const c_char,
1321        *mut GtkTreeIter,
1322        gpointer,
1323    ) -> gboolean,
1324>;
1325pub type GtkExpressionNotify = Option<unsafe extern "C" fn(gpointer)>;
1326pub type GtkFlowBoxCreateWidgetFunc =
1327    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1328pub type GtkFlowBoxFilterFunc =
1329    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, gpointer) -> gboolean>;
1330pub type GtkFlowBoxForeachFunc =
1331    Option<unsafe extern "C" fn(*mut GtkFlowBox, *mut GtkFlowBoxChild, gpointer)>;
1332pub type GtkFlowBoxSortFunc =
1333    Option<unsafe extern "C" fn(*mut GtkFlowBoxChild, *mut GtkFlowBoxChild, gpointer) -> c_int>;
1334pub type GtkFontFilterFunc = Option<
1335    unsafe extern "C" fn(
1336        *const pango::PangoFontFamily,
1337        *const pango::PangoFontFace,
1338        gpointer,
1339    ) -> gboolean,
1340>;
1341pub type GtkIconViewForeachFunc =
1342    Option<unsafe extern "C" fn(*mut GtkIconView, *mut GtkTreePath, gpointer)>;
1343pub type GtkListBoxCreateWidgetFunc =
1344    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut GtkWidget>;
1345pub type GtkListBoxFilterFunc =
1346    Option<unsafe extern "C" fn(*mut GtkListBoxRow, gpointer) -> gboolean>;
1347pub type GtkListBoxForeachFunc =
1348    Option<unsafe extern "C" fn(*mut GtkListBox, *mut GtkListBoxRow, gpointer)>;
1349pub type GtkListBoxSortFunc =
1350    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer) -> c_int>;
1351pub type GtkListBoxUpdateHeaderFunc =
1352    Option<unsafe extern "C" fn(*mut GtkListBoxRow, *mut GtkListBoxRow, gpointer)>;
1353pub type GtkMapListModelMapFunc =
1354    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut gobject::GObject>;
1355pub type GtkMenuButtonCreatePopupFunc = Option<unsafe extern "C" fn(*mut GtkMenuButton, gpointer)>;
1356pub type GtkPageSetupDoneFunc = Option<unsafe extern "C" fn(*mut GtkPageSetup, gpointer)>;
1357pub type GtkPrintJobCompleteFunc =
1358    Option<unsafe extern "C" fn(*mut GtkPrintJob, gpointer, *const glib::GError)>;
1359pub type GtkPrintSettingsFunc =
1360    Option<unsafe extern "C" fn(*const c_char, *const c_char, gpointer)>;
1361pub type GtkPrinterFunc = Option<unsafe extern "C" fn(*mut GtkPrinter, gpointer) -> gboolean>;
1362pub type GtkScaleFormatValueFunc =
1363    Option<unsafe extern "C" fn(*mut GtkScale, c_double, gpointer) -> *mut c_char>;
1364pub type GtkShortcutFunc =
1365    Option<unsafe extern "C" fn(*mut GtkWidget, *mut glib::GVariant, gpointer) -> gboolean>;
1366pub type GtkTextBufferCommitNotify = Option<
1367    unsafe extern "C" fn(*mut GtkTextBuffer, GtkTextBufferNotifyFlags, c_uint, c_uint, gpointer),
1368>;
1369pub type GtkTextCharPredicate = Option<unsafe extern "C" fn(u32, gpointer) -> gboolean>;
1370pub type GtkTextTagTableForeach = Option<unsafe extern "C" fn(*mut GtkTextTag, gpointer)>;
1371pub type GtkTickCallback =
1372    Option<unsafe extern "C" fn(*mut GtkWidget, *mut gdk::GdkFrameClock, gpointer) -> gboolean>;
1373pub type GtkTreeCellDataFunc = Option<
1374    unsafe extern "C" fn(
1375        *mut GtkTreeViewColumn,
1376        *mut GtkCellRenderer,
1377        *mut GtkTreeModel,
1378        *mut GtkTreeIter,
1379        gpointer,
1380    ),
1381>;
1382pub type GtkTreeIterCompareFunc = Option<
1383    unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter, gpointer) -> c_int,
1384>;
1385pub type GtkTreeListModelCreateModelFunc =
1386    Option<unsafe extern "C" fn(*mut gobject::GObject, gpointer) -> *mut gio::GListModel>;
1387pub type GtkTreeModelFilterModifyFunc = Option<
1388    unsafe extern "C" fn(
1389        *mut GtkTreeModel,
1390        *mut GtkTreeIter,
1391        *mut gobject::GValue,
1392        c_int,
1393        gpointer,
1394    ),
1395>;
1396pub type GtkTreeModelFilterVisibleFunc =
1397    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1398pub type GtkTreeModelForeachFunc = Option<
1399    unsafe extern "C" fn(
1400        *mut GtkTreeModel,
1401        *mut GtkTreePath,
1402        *mut GtkTreeIter,
1403        gpointer,
1404    ) -> gboolean,
1405>;
1406pub type GtkTreeSelectionForeachFunc =
1407    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, gpointer)>;
1408pub type GtkTreeSelectionFunc = Option<
1409    unsafe extern "C" fn(
1410        *mut GtkTreeSelection,
1411        *mut GtkTreeModel,
1412        *mut GtkTreePath,
1413        gboolean,
1414        gpointer,
1415    ) -> gboolean,
1416>;
1417pub type GtkTreeViewColumnDropFunc = Option<
1418    unsafe extern "C" fn(
1419        *mut GtkTreeView,
1420        *mut GtkTreeViewColumn,
1421        *mut GtkTreeViewColumn,
1422        *mut GtkTreeViewColumn,
1423        gpointer,
1424    ) -> gboolean,
1425>;
1426pub type GtkTreeViewMappingFunc =
1427    Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, gpointer)>;
1428pub type GtkTreeViewRowSeparatorFunc =
1429    Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, gpointer) -> gboolean>;
1430pub type GtkTreeViewSearchEqualFunc = Option<
1431    unsafe extern "C" fn(
1432        *mut GtkTreeModel,
1433        c_int,
1434        *const c_char,
1435        *mut GtkTreeIter,
1436        gpointer,
1437    ) -> gboolean,
1438>;
1439pub type GtkWidgetActionActivateFunc =
1440    Option<unsafe extern "C" fn(*mut GtkWidget, *const c_char, *mut glib::GVariant)>;
1441
1442// Records
1443#[repr(C)]
1444#[allow(dead_code)]
1445pub struct _GtkATContextClass {
1446    _data: [u8; 0],
1447    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1448}
1449
1450pub type GtkATContextClass = _GtkATContextClass;
1451
1452#[derive(Copy, Clone)]
1453#[repr(C)]
1454pub struct GtkAccessibleHyperlinkClass {
1455    pub parent_class: gobject::GObjectClass,
1456}
1457
1458impl ::std::fmt::Debug for GtkAccessibleHyperlinkClass {
1459    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1460        f.debug_struct(&format!("GtkAccessibleHyperlinkClass @ {self:p}"))
1461            .field("parent_class", &self.parent_class)
1462            .finish()
1463    }
1464}
1465
1466#[derive(Copy, Clone)]
1467#[repr(C)]
1468pub struct GtkAccessibleHypertextInterface {
1469    pub g_iface: gobject::GTypeInterface,
1470    pub get_n_links: Option<unsafe extern "C" fn(*mut GtkAccessibleHypertext) -> c_uint>,
1471    pub get_link: Option<
1472        unsafe extern "C" fn(*mut GtkAccessibleHypertext, c_uint) -> *mut GtkAccessibleHyperlink,
1473    >,
1474    pub get_link_at: Option<unsafe extern "C" fn(*mut GtkAccessibleHypertext, c_uint) -> c_uint>,
1475}
1476
1477impl ::std::fmt::Debug for GtkAccessibleHypertextInterface {
1478    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1479        f.debug_struct(&format!("GtkAccessibleHypertextInterface @ {self:p}"))
1480            .field("get_n_links", &self.get_n_links)
1481            .field("get_link", &self.get_link)
1482            .field("get_link_at", &self.get_link_at)
1483            .finish()
1484    }
1485}
1486
1487#[derive(Copy, Clone)]
1488#[repr(C)]
1489pub struct GtkAccessibleInterface {
1490    pub g_iface: gobject::GTypeInterface,
1491    pub get_at_context: Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkATContext>,
1492    pub get_platform_state:
1493        Option<unsafe extern "C" fn(*mut GtkAccessible, GtkAccessiblePlatformState) -> gboolean>,
1494    pub get_accessible_parent:
1495        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1496    pub get_first_accessible_child:
1497        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1498    pub get_next_accessible_sibling:
1499        Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut GtkAccessible>,
1500    pub get_bounds: Option<
1501        unsafe extern "C" fn(
1502            *mut GtkAccessible,
1503            *mut c_int,
1504            *mut c_int,
1505            *mut c_int,
1506            *mut c_int,
1507        ) -> gboolean,
1508    >,
1509    pub get_accessible_id: Option<unsafe extern "C" fn(*mut GtkAccessible) -> *mut c_char>,
1510}
1511
1512impl ::std::fmt::Debug for GtkAccessibleInterface {
1513    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1514        f.debug_struct(&format!("GtkAccessibleInterface @ {self:p}"))
1515            .field("g_iface", &self.g_iface)
1516            .field("get_at_context", &self.get_at_context)
1517            .field("get_platform_state", &self.get_platform_state)
1518            .field("get_accessible_parent", &self.get_accessible_parent)
1519            .field(
1520                "get_first_accessible_child",
1521                &self.get_first_accessible_child,
1522            )
1523            .field(
1524                "get_next_accessible_sibling",
1525                &self.get_next_accessible_sibling,
1526            )
1527            .field("get_bounds", &self.get_bounds)
1528            .field("get_accessible_id", &self.get_accessible_id)
1529            .finish()
1530    }
1531}
1532
1533#[repr(C)]
1534#[allow(dead_code)]
1535pub struct GtkAccessibleList {
1536    _data: [u8; 0],
1537    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1538}
1539
1540impl ::std::fmt::Debug for GtkAccessibleList {
1541    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1542        f.debug_struct(&format!("GtkAccessibleList @ {self:p}"))
1543            .finish()
1544    }
1545}
1546
1547#[derive(Copy, Clone)]
1548#[repr(C)]
1549pub struct GtkAccessibleRangeInterface {
1550    pub g_iface: gobject::GTypeInterface,
1551    pub set_current_value:
1552        Option<unsafe extern "C" fn(*mut GtkAccessibleRange, c_double) -> gboolean>,
1553}
1554
1555impl ::std::fmt::Debug for GtkAccessibleRangeInterface {
1556    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1557        f.debug_struct(&format!("GtkAccessibleRangeInterface @ {self:p}"))
1558            .field("g_iface", &self.g_iface)
1559            .field("set_current_value", &self.set_current_value)
1560            .finish()
1561    }
1562}
1563
1564#[derive(Copy, Clone)]
1565#[repr(C)]
1566pub struct GtkAccessibleTextInterface {
1567    pub g_iface: gobject::GTypeInterface,
1568    pub get_contents:
1569        Option<unsafe extern "C" fn(*mut GtkAccessibleText, c_uint, c_uint) -> *mut glib::GBytes>,
1570    pub get_contents_at: Option<
1571        unsafe extern "C" fn(
1572            *mut GtkAccessibleText,
1573            c_uint,
1574            GtkAccessibleTextGranularity,
1575            *mut c_uint,
1576            *mut c_uint,
1577        ) -> *mut glib::GBytes,
1578    >,
1579    pub get_caret_position: Option<unsafe extern "C" fn(*mut GtkAccessibleText) -> c_uint>,
1580    pub get_selection: Option<
1581        unsafe extern "C" fn(
1582            *mut GtkAccessibleText,
1583            *mut size_t,
1584            *mut *mut GtkAccessibleTextRange,
1585        ) -> gboolean,
1586    >,
1587    pub get_attributes: Option<
1588        unsafe extern "C" fn(
1589            *mut GtkAccessibleText,
1590            c_uint,
1591            *mut size_t,
1592            *mut *mut GtkAccessibleTextRange,
1593            *mut *mut *mut c_char,
1594            *mut *mut *mut c_char,
1595        ) -> gboolean,
1596    >,
1597    pub get_default_attributes: Option<
1598        unsafe extern "C" fn(*mut GtkAccessibleText, *mut *mut *mut c_char, *mut *mut *mut c_char),
1599    >,
1600    pub get_extents: Option<
1601        unsafe extern "C" fn(
1602            *mut GtkAccessibleText,
1603            c_uint,
1604            c_uint,
1605            *mut graphene::graphene_rect_t,
1606        ) -> gboolean,
1607    >,
1608    pub get_offset: Option<
1609        unsafe extern "C" fn(
1610            *mut GtkAccessibleText,
1611            *const graphene::graphene_point_t,
1612            *mut c_uint,
1613        ) -> gboolean,
1614    >,
1615    pub set_caret_position:
1616        Option<unsafe extern "C" fn(*mut GtkAccessibleText, c_uint) -> gboolean>,
1617    pub set_selection: Option<
1618        unsafe extern "C" fn(
1619            *mut GtkAccessibleText,
1620            size_t,
1621            *mut GtkAccessibleTextRange,
1622        ) -> gboolean,
1623    >,
1624}
1625
1626impl ::std::fmt::Debug for GtkAccessibleTextInterface {
1627    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1628        f.debug_struct(&format!("GtkAccessibleTextInterface @ {self:p}"))
1629            .field("get_contents", &self.get_contents)
1630            .field("get_contents_at", &self.get_contents_at)
1631            .field("get_caret_position", &self.get_caret_position)
1632            .field("get_selection", &self.get_selection)
1633            .field("get_attributes", &self.get_attributes)
1634            .field("get_default_attributes", &self.get_default_attributes)
1635            .field("get_extents", &self.get_extents)
1636            .field("get_offset", &self.get_offset)
1637            .field("set_caret_position", &self.set_caret_position)
1638            .field("set_selection", &self.set_selection)
1639            .finish()
1640    }
1641}
1642
1643#[derive(Copy, Clone)]
1644#[repr(C)]
1645pub struct GtkAccessibleTextRange {
1646    pub start: size_t,
1647    pub length: size_t,
1648}
1649
1650impl ::std::fmt::Debug for GtkAccessibleTextRange {
1651    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1652        f.debug_struct(&format!("GtkAccessibleTextRange @ {self:p}"))
1653            .field("start", &self.start)
1654            .field("length", &self.length)
1655            .finish()
1656    }
1657}
1658
1659#[derive(Copy, Clone)]
1660#[repr(C)]
1661pub struct GtkActionableInterface {
1662    pub g_iface: gobject::GTypeInterface,
1663    pub get_action_name: Option<unsafe extern "C" fn(*mut GtkActionable) -> *const c_char>,
1664    pub set_action_name: Option<unsafe extern "C" fn(*mut GtkActionable, *const c_char)>,
1665    pub get_action_target_value:
1666        Option<unsafe extern "C" fn(*mut GtkActionable) -> *mut glib::GVariant>,
1667    pub set_action_target_value:
1668        Option<unsafe extern "C" fn(*mut GtkActionable, *mut glib::GVariant)>,
1669}
1670
1671impl ::std::fmt::Debug for GtkActionableInterface {
1672    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1673        f.debug_struct(&format!("GtkActionableInterface @ {self:p}"))
1674            .field("get_action_name", &self.get_action_name)
1675            .field("set_action_name", &self.set_action_name)
1676            .field("get_action_target_value", &self.get_action_target_value)
1677            .field("set_action_target_value", &self.set_action_target_value)
1678            .finish()
1679    }
1680}
1681
1682#[repr(C)]
1683#[allow(dead_code)]
1684pub struct _GtkActivateActionClass {
1685    _data: [u8; 0],
1686    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1687}
1688
1689pub type GtkActivateActionClass = _GtkActivateActionClass;
1690
1691#[derive(Copy, Clone)]
1692#[repr(C)]
1693pub struct GtkAdjustmentClass {
1694    pub parent_class: gobject::GInitiallyUnownedClass,
1695    pub changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1696    pub value_changed: Option<unsafe extern "C" fn(*mut GtkAdjustment)>,
1697    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
1698    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
1699    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
1700    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
1701}
1702
1703impl ::std::fmt::Debug for GtkAdjustmentClass {
1704    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1705        f.debug_struct(&format!("GtkAdjustmentClass @ {self:p}"))
1706            .field("parent_class", &self.parent_class)
1707            .field("changed", &self.changed)
1708            .field("value_changed", &self.value_changed)
1709            .field("_gtk_reserved1", &self._gtk_reserved1)
1710            .field("_gtk_reserved2", &self._gtk_reserved2)
1711            .field("_gtk_reserved3", &self._gtk_reserved3)
1712            .field("_gtk_reserved4", &self._gtk_reserved4)
1713            .finish()
1714    }
1715}
1716
1717#[derive(Copy, Clone)]
1718#[repr(C)]
1719pub struct GtkAlertDialogClass {
1720    pub parent_class: gobject::GObjectClass,
1721}
1722
1723impl ::std::fmt::Debug for GtkAlertDialogClass {
1724    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1725        f.debug_struct(&format!("GtkAlertDialogClass @ {self:p}"))
1726            .field("parent_class", &self.parent_class)
1727            .finish()
1728    }
1729}
1730
1731#[repr(C)]
1732#[allow(dead_code)]
1733pub struct _GtkAlternativeTriggerClass {
1734    _data: [u8; 0],
1735    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1736}
1737
1738pub type GtkAlternativeTriggerClass = _GtkAlternativeTriggerClass;
1739
1740#[repr(C)]
1741#[allow(dead_code)]
1742pub struct _GtkAnyFilterClass {
1743    _data: [u8; 0],
1744    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1745}
1746
1747pub type GtkAnyFilterClass = _GtkAnyFilterClass;
1748
1749#[derive(Copy, Clone)]
1750#[repr(C)]
1751pub struct GtkApplicationClass {
1752    pub parent_class: gio::GApplicationClass,
1753    pub window_added: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1754    pub window_removed: Option<unsafe extern "C" fn(*mut GtkApplication, *mut GtkWindow)>,
1755    pub padding: [gpointer; 8],
1756}
1757
1758impl ::std::fmt::Debug for GtkApplicationClass {
1759    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1760        f.debug_struct(&format!("GtkApplicationClass @ {self:p}"))
1761            .field("parent_class", &self.parent_class)
1762            .field("window_added", &self.window_added)
1763            .field("window_removed", &self.window_removed)
1764            .finish()
1765    }
1766}
1767
1768#[derive(Copy, Clone)]
1769#[repr(C)]
1770pub struct GtkApplicationWindowClass {
1771    pub parent_class: GtkWindowClass,
1772    pub padding: [gpointer; 8],
1773}
1774
1775impl ::std::fmt::Debug for GtkApplicationWindowClass {
1776    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1777        f.debug_struct(&format!("GtkApplicationWindowClass @ {self:p}"))
1778            .field("parent_class", &self.parent_class)
1779            .finish()
1780    }
1781}
1782
1783#[derive(Copy, Clone)]
1784#[repr(C)]
1785pub struct GtkBinLayoutClass {
1786    pub parent_class: GtkLayoutManagerClass,
1787}
1788
1789impl ::std::fmt::Debug for GtkBinLayoutClass {
1790    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1791        f.debug_struct(&format!("GtkBinLayoutClass @ {self:p}"))
1792            .field("parent_class", &self.parent_class)
1793            .finish()
1794    }
1795}
1796
1797#[repr(C)]
1798#[allow(dead_code)]
1799pub struct GtkBitset {
1800    _data: [u8; 0],
1801    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1802}
1803
1804impl ::std::fmt::Debug for GtkBitset {
1805    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1806        f.debug_struct(&format!("GtkBitset @ {self:p}")).finish()
1807    }
1808}
1809
1810#[derive(Copy, Clone)]
1811#[repr(C)]
1812pub struct GtkBitsetIter {
1813    pub private_data: [gpointer; 10],
1814}
1815
1816impl ::std::fmt::Debug for GtkBitsetIter {
1817    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1818        f.debug_struct(&format!("GtkBitsetIter @ {self:p}"))
1819            .finish()
1820    }
1821}
1822
1823#[derive(Copy, Clone)]
1824#[repr(C)]
1825pub struct GtkBookmarkListClass {
1826    pub parent_class: gobject::GObjectClass,
1827}
1828
1829impl ::std::fmt::Debug for GtkBookmarkListClass {
1830    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1831        f.debug_struct(&format!("GtkBookmarkListClass @ {self:p}"))
1832            .field("parent_class", &self.parent_class)
1833            .finish()
1834    }
1835}
1836
1837#[derive(Copy, Clone)]
1838#[repr(C)]
1839pub struct GtkBoolFilterClass {
1840    pub parent_class: GtkFilterClass,
1841}
1842
1843impl ::std::fmt::Debug for GtkBoolFilterClass {
1844    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1845        f.debug_struct(&format!("GtkBoolFilterClass @ {self:p}"))
1846            .field("parent_class", &self.parent_class)
1847            .finish()
1848    }
1849}
1850
1851#[derive(Copy, Clone)]
1852#[repr(C)]
1853pub struct GtkBorder {
1854    pub left: i16,
1855    pub right: i16,
1856    pub top: i16,
1857    pub bottom: i16,
1858}
1859
1860impl ::std::fmt::Debug for GtkBorder {
1861    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1862        f.debug_struct(&format!("GtkBorder @ {self:p}"))
1863            .field("left", &self.left)
1864            .field("right", &self.right)
1865            .field("top", &self.top)
1866            .field("bottom", &self.bottom)
1867            .finish()
1868    }
1869}
1870
1871#[derive(Copy, Clone)]
1872#[repr(C)]
1873pub struct GtkBoxClass {
1874    pub parent_class: GtkWidgetClass,
1875    pub padding: [gpointer; 8],
1876}
1877
1878impl ::std::fmt::Debug for GtkBoxClass {
1879    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1880        f.debug_struct(&format!("GtkBoxClass @ {self:p}"))
1881            .field("parent_class", &self.parent_class)
1882            .finish()
1883    }
1884}
1885
1886#[derive(Copy, Clone)]
1887#[repr(C)]
1888pub struct GtkBoxLayoutClass {
1889    pub parent_class: GtkLayoutManagerClass,
1890}
1891
1892impl ::std::fmt::Debug for GtkBoxLayoutClass {
1893    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1894        f.debug_struct(&format!("GtkBoxLayoutClass @ {self:p}"))
1895            .field("parent_class", &self.parent_class)
1896            .finish()
1897    }
1898}
1899
1900#[derive(Copy, Clone)]
1901#[repr(C)]
1902pub struct GtkBuildableIface {
1903    pub g_iface: gobject::GTypeInterface,
1904    pub set_id: Option<unsafe extern "C" fn(*mut GtkBuildable, *const c_char)>,
1905    pub get_id: Option<unsafe extern "C" fn(*mut GtkBuildable) -> *const c_char>,
1906    pub add_child: Option<
1907        unsafe extern "C" fn(
1908            *mut GtkBuildable,
1909            *mut GtkBuilder,
1910            *mut gobject::GObject,
1911            *const c_char,
1912        ),
1913    >,
1914    pub set_buildable_property: Option<
1915        unsafe extern "C" fn(
1916            *mut GtkBuildable,
1917            *mut GtkBuilder,
1918            *const c_char,
1919            *const gobject::GValue,
1920        ),
1921    >,
1922    pub construct_child: Option<
1923        unsafe extern "C" fn(
1924            *mut GtkBuildable,
1925            *mut GtkBuilder,
1926            *const c_char,
1927        ) -> *mut gobject::GObject,
1928    >,
1929    pub custom_tag_start: Option<
1930        unsafe extern "C" fn(
1931            *mut GtkBuildable,
1932            *mut GtkBuilder,
1933            *mut gobject::GObject,
1934            *const c_char,
1935            *mut GtkBuildableParser,
1936            *mut gpointer,
1937        ) -> gboolean,
1938    >,
1939    pub custom_tag_end: Option<
1940        unsafe extern "C" fn(
1941            *mut GtkBuildable,
1942            *mut GtkBuilder,
1943            *mut gobject::GObject,
1944            *const c_char,
1945            gpointer,
1946        ),
1947    >,
1948    pub custom_finished: Option<
1949        unsafe extern "C" fn(
1950            *mut GtkBuildable,
1951            *mut GtkBuilder,
1952            *mut gobject::GObject,
1953            *const c_char,
1954            gpointer,
1955        ),
1956    >,
1957    pub parser_finished: Option<unsafe extern "C" fn(*mut GtkBuildable, *mut GtkBuilder)>,
1958    pub get_internal_child: Option<
1959        unsafe extern "C" fn(
1960            *mut GtkBuildable,
1961            *mut GtkBuilder,
1962            *const c_char,
1963        ) -> *mut gobject::GObject,
1964    >,
1965}
1966
1967impl ::std::fmt::Debug for GtkBuildableIface {
1968    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1969        f.debug_struct(&format!("GtkBuildableIface @ {self:p}"))
1970            .field("g_iface", &self.g_iface)
1971            .field("set_id", &self.set_id)
1972            .field("get_id", &self.get_id)
1973            .field("add_child", &self.add_child)
1974            .field("set_buildable_property", &self.set_buildable_property)
1975            .field("construct_child", &self.construct_child)
1976            .field("custom_tag_start", &self.custom_tag_start)
1977            .field("custom_tag_end", &self.custom_tag_end)
1978            .field("custom_finished", &self.custom_finished)
1979            .field("parser_finished", &self.parser_finished)
1980            .field("get_internal_child", &self.get_internal_child)
1981            .finish()
1982    }
1983}
1984
1985#[repr(C)]
1986#[allow(dead_code)]
1987pub struct _GtkBuildableParseContext {
1988    _data: [u8; 0],
1989    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1990}
1991
1992pub type GtkBuildableParseContext = _GtkBuildableParseContext;
1993
1994#[derive(Copy, Clone)]
1995#[repr(C)]
1996pub struct GtkBuildableParser {
1997    pub start_element: Option<
1998        unsafe extern "C" fn(
1999            *mut GtkBuildableParseContext,
2000            *const c_char,
2001            *mut *const c_char,
2002            *mut *const c_char,
2003            gpointer,
2004            *mut *mut glib::GError,
2005        ),
2006    >,
2007    pub end_element: Option<
2008        unsafe extern "C" fn(
2009            *mut GtkBuildableParseContext,
2010            *const c_char,
2011            gpointer,
2012            *mut *mut glib::GError,
2013        ),
2014    >,
2015    pub text: Option<
2016        unsafe extern "C" fn(
2017            *mut GtkBuildableParseContext,
2018            *const c_char,
2019            size_t,
2020            gpointer,
2021            *mut *mut glib::GError,
2022        ),
2023    >,
2024    pub error:
2025        Option<unsafe extern "C" fn(*mut GtkBuildableParseContext, *mut glib::GError, gpointer)>,
2026    pub padding: [gpointer; 4],
2027}
2028
2029impl ::std::fmt::Debug for GtkBuildableParser {
2030    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2031        f.debug_struct(&format!("GtkBuildableParser @ {self:p}"))
2032            .field("start_element", &self.start_element)
2033            .field("end_element", &self.end_element)
2034            .field("text", &self.text)
2035            .field("error", &self.error)
2036            .finish()
2037    }
2038}
2039
2040#[derive(Copy, Clone)]
2041#[repr(C)]
2042pub struct GtkBuilderCScopeClass {
2043    pub parent_class: gobject::GObjectClass,
2044}
2045
2046impl ::std::fmt::Debug for GtkBuilderCScopeClass {
2047    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2048        f.debug_struct(&format!("GtkBuilderCScopeClass @ {self:p}"))
2049            .field("parent_class", &self.parent_class)
2050            .finish()
2051    }
2052}
2053
2054#[repr(C)]
2055#[allow(dead_code)]
2056pub struct _GtkBuilderClass {
2057    _data: [u8; 0],
2058    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2059}
2060
2061pub type GtkBuilderClass = _GtkBuilderClass;
2062
2063#[repr(C)]
2064#[allow(dead_code)]
2065pub struct _GtkBuilderListItemFactoryClass {
2066    _data: [u8; 0],
2067    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2068}
2069
2070pub type GtkBuilderListItemFactoryClass = _GtkBuilderListItemFactoryClass;
2071
2072#[derive(Copy, Clone)]
2073#[repr(C)]
2074pub struct GtkBuilderScopeInterface {
2075    pub g_iface: gobject::GTypeInterface,
2076    pub get_type_from_name:
2077        Option<unsafe extern "C" fn(*mut GtkBuilderScope, *mut GtkBuilder, *const c_char) -> GType>,
2078    pub get_type_from_function:
2079        Option<unsafe extern "C" fn(*mut GtkBuilderScope, *mut GtkBuilder, *const c_char) -> GType>,
2080    pub create_closure: Option<
2081        unsafe extern "C" fn(
2082            *mut GtkBuilderScope,
2083            *mut GtkBuilder,
2084            *const c_char,
2085            GtkBuilderClosureFlags,
2086            *mut gobject::GObject,
2087            *mut *mut glib::GError,
2088        ) -> *mut gobject::GClosure,
2089    >,
2090}
2091
2092impl ::std::fmt::Debug for GtkBuilderScopeInterface {
2093    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2094        f.debug_struct(&format!("GtkBuilderScopeInterface @ {self:p}"))
2095            .field("get_type_from_name", &self.get_type_from_name)
2096            .field("get_type_from_function", &self.get_type_from_function)
2097            .field("create_closure", &self.create_closure)
2098            .finish()
2099    }
2100}
2101
2102#[derive(Copy, Clone)]
2103#[repr(C)]
2104pub struct GtkButtonClass {
2105    pub parent_class: GtkWidgetClass,
2106    pub clicked: Option<unsafe extern "C" fn(*mut GtkButton)>,
2107    pub activate: Option<unsafe extern "C" fn(*mut GtkButton)>,
2108    pub padding: [gpointer; 8],
2109}
2110
2111impl ::std::fmt::Debug for GtkButtonClass {
2112    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2113        f.debug_struct(&format!("GtkButtonClass @ {self:p}"))
2114            .field("parent_class", &self.parent_class)
2115            .field("clicked", &self.clicked)
2116            .field("activate", &self.activate)
2117            .finish()
2118    }
2119}
2120
2121#[repr(C)]
2122#[allow(dead_code)]
2123pub struct _GtkButtonPrivate {
2124    _data: [u8; 0],
2125    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2126}
2127
2128pub type GtkButtonPrivate = _GtkButtonPrivate;
2129
2130#[repr(C)]
2131#[allow(dead_code)]
2132pub struct _GtkCallbackActionClass {
2133    _data: [u8; 0],
2134    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2135}
2136
2137pub type GtkCallbackActionClass = _GtkCallbackActionClass;
2138
2139#[derive(Copy, Clone)]
2140#[repr(C)]
2141pub struct GtkCellAreaClass {
2142    pub parent_class: gobject::GInitiallyUnownedClass,
2143    pub add: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2144    pub remove: Option<unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellRenderer)>,
2145    pub foreach: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkCellCallback, gpointer)>,
2146    pub foreach_alloc: Option<
2147        unsafe extern "C" fn(
2148            *mut GtkCellArea,
2149            *mut GtkCellAreaContext,
2150            *mut GtkWidget,
2151            *const gdk::GdkRectangle,
2152            *const gdk::GdkRectangle,
2153            GtkCellAllocCallback,
2154            gpointer,
2155        ),
2156    >,
2157    pub event: Option<
2158        unsafe extern "C" fn(
2159            *mut GtkCellArea,
2160            *mut GtkCellAreaContext,
2161            *mut GtkWidget,
2162            *mut gdk::GdkEvent,
2163            *const gdk::GdkRectangle,
2164            GtkCellRendererState,
2165        ) -> c_int,
2166    >,
2167    pub snapshot: Option<
2168        unsafe extern "C" fn(
2169            *mut GtkCellArea,
2170            *mut GtkCellAreaContext,
2171            *mut GtkWidget,
2172            *mut GtkSnapshot,
2173            *const gdk::GdkRectangle,
2174            *const gdk::GdkRectangle,
2175            GtkCellRendererState,
2176            gboolean,
2177        ),
2178    >,
2179    pub apply_attributes: Option<
2180        unsafe extern "C" fn(
2181            *mut GtkCellArea,
2182            *mut GtkTreeModel,
2183            *mut GtkTreeIter,
2184            gboolean,
2185            gboolean,
2186        ),
2187    >,
2188    pub create_context: Option<unsafe extern "C" fn(*mut GtkCellArea) -> *mut GtkCellAreaContext>,
2189    pub copy_context: Option<
2190        unsafe extern "C" fn(*mut GtkCellArea, *mut GtkCellAreaContext) -> *mut GtkCellAreaContext,
2191    >,
2192    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellArea) -> GtkSizeRequestMode>,
2193    pub get_preferred_width: Option<
2194        unsafe extern "C" fn(
2195            *mut GtkCellArea,
2196            *mut GtkCellAreaContext,
2197            *mut GtkWidget,
2198            *mut c_int,
2199            *mut c_int,
2200        ),
2201    >,
2202    pub get_preferred_height_for_width: Option<
2203        unsafe extern "C" fn(
2204            *mut GtkCellArea,
2205            *mut GtkCellAreaContext,
2206            *mut GtkWidget,
2207            c_int,
2208            *mut c_int,
2209            *mut c_int,
2210        ),
2211    >,
2212    pub get_preferred_height: Option<
2213        unsafe extern "C" fn(
2214            *mut GtkCellArea,
2215            *mut GtkCellAreaContext,
2216            *mut GtkWidget,
2217            *mut c_int,
2218            *mut c_int,
2219        ),
2220    >,
2221    pub get_preferred_width_for_height: Option<
2222        unsafe extern "C" fn(
2223            *mut GtkCellArea,
2224            *mut GtkCellAreaContext,
2225            *mut GtkWidget,
2226            c_int,
2227            *mut c_int,
2228            *mut c_int,
2229        ),
2230    >,
2231    pub set_cell_property: Option<
2232        unsafe extern "C" fn(
2233            *mut GtkCellArea,
2234            *mut GtkCellRenderer,
2235            c_uint,
2236            *mut gobject::GValue,
2237            *mut gobject::GParamSpec,
2238        ),
2239    >,
2240    pub get_cell_property: Option<
2241        unsafe extern "C" fn(
2242            *mut GtkCellArea,
2243            *mut GtkCellRenderer,
2244            c_uint,
2245            *mut gobject::GValue,
2246            *mut gobject::GParamSpec,
2247        ),
2248    >,
2249    pub focus: Option<unsafe extern "C" fn(*mut GtkCellArea, GtkDirectionType) -> gboolean>,
2250    pub is_activatable: Option<unsafe extern "C" fn(*mut GtkCellArea) -> gboolean>,
2251    pub activate: Option<
2252        unsafe extern "C" fn(
2253            *mut GtkCellArea,
2254            *mut GtkCellAreaContext,
2255            *mut GtkWidget,
2256            *const gdk::GdkRectangle,
2257            GtkCellRendererState,
2258            gboolean,
2259        ) -> gboolean,
2260    >,
2261    pub padding: [gpointer; 8],
2262}
2263
2264impl ::std::fmt::Debug for GtkCellAreaClass {
2265    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2266        f.debug_struct(&format!("GtkCellAreaClass @ {self:p}"))
2267            .field("add", &self.add)
2268            .field("remove", &self.remove)
2269            .field("foreach", &self.foreach)
2270            .field("foreach_alloc", &self.foreach_alloc)
2271            .field("event", &self.event)
2272            .field("snapshot", &self.snapshot)
2273            .field("apply_attributes", &self.apply_attributes)
2274            .field("create_context", &self.create_context)
2275            .field("copy_context", &self.copy_context)
2276            .field("get_request_mode", &self.get_request_mode)
2277            .field("get_preferred_width", &self.get_preferred_width)
2278            .field(
2279                "get_preferred_height_for_width",
2280                &self.get_preferred_height_for_width,
2281            )
2282            .field("get_preferred_height", &self.get_preferred_height)
2283            .field(
2284                "get_preferred_width_for_height",
2285                &self.get_preferred_width_for_height,
2286            )
2287            .field("set_cell_property", &self.set_cell_property)
2288            .field("get_cell_property", &self.get_cell_property)
2289            .field("focus", &self.focus)
2290            .field("is_activatable", &self.is_activatable)
2291            .field("activate", &self.activate)
2292            .finish()
2293    }
2294}
2295
2296#[derive(Copy, Clone)]
2297#[repr(C)]
2298pub struct GtkCellAreaContextClass {
2299    pub parent_class: gobject::GObjectClass,
2300    pub allocate: Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, c_int)>,
2301    pub reset: Option<unsafe extern "C" fn(*mut GtkCellAreaContext)>,
2302    pub get_preferred_height_for_width:
2303        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2304    pub get_preferred_width_for_height:
2305        Option<unsafe extern "C" fn(*mut GtkCellAreaContext, c_int, *mut c_int, *mut c_int)>,
2306    pub padding: [gpointer; 8],
2307}
2308
2309impl ::std::fmt::Debug for GtkCellAreaContextClass {
2310    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2311        f.debug_struct(&format!("GtkCellAreaContextClass @ {self:p}"))
2312            .field("allocate", &self.allocate)
2313            .field("reset", &self.reset)
2314            .field(
2315                "get_preferred_height_for_width",
2316                &self.get_preferred_height_for_width,
2317            )
2318            .field(
2319                "get_preferred_width_for_height",
2320                &self.get_preferred_width_for_height,
2321            )
2322            .finish()
2323    }
2324}
2325
2326#[repr(C)]
2327#[allow(dead_code)]
2328pub struct _GtkCellAreaContextPrivate {
2329    _data: [u8; 0],
2330    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2331}
2332
2333pub type GtkCellAreaContextPrivate = _GtkCellAreaContextPrivate;
2334
2335#[derive(Copy, Clone)]
2336#[repr(C)]
2337pub struct GtkCellEditableIface {
2338    pub g_iface: gobject::GTypeInterface,
2339    pub editing_done: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2340    pub remove_widget: Option<unsafe extern "C" fn(*mut GtkCellEditable)>,
2341    pub start_editing: Option<unsafe extern "C" fn(*mut GtkCellEditable, *mut gdk::GdkEvent)>,
2342}
2343
2344impl ::std::fmt::Debug for GtkCellEditableIface {
2345    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2346        f.debug_struct(&format!("GtkCellEditableIface @ {self:p}"))
2347            .field("editing_done", &self.editing_done)
2348            .field("remove_widget", &self.remove_widget)
2349            .field("start_editing", &self.start_editing)
2350            .finish()
2351    }
2352}
2353
2354#[derive(Copy, Clone)]
2355#[repr(C)]
2356pub struct GtkCellLayoutIface {
2357    pub g_iface: gobject::GTypeInterface,
2358    pub pack_start:
2359        Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2360    pub pack_end: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, gboolean)>,
2361    pub clear: Option<unsafe extern "C" fn(*mut GtkCellLayout)>,
2362    pub add_attribute: Option<
2363        unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, *const c_char, c_int),
2364    >,
2365    pub set_cell_data_func: Option<
2366        unsafe extern "C" fn(
2367            *mut GtkCellLayout,
2368            *mut GtkCellRenderer,
2369            GtkCellLayoutDataFunc,
2370            gpointer,
2371            glib::GDestroyNotify,
2372        ),
2373    >,
2374    pub clear_attributes: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer)>,
2375    pub reorder: Option<unsafe extern "C" fn(*mut GtkCellLayout, *mut GtkCellRenderer, c_int)>,
2376    pub get_cells: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut glib::GList>,
2377    pub get_area: Option<unsafe extern "C" fn(*mut GtkCellLayout) -> *mut GtkCellArea>,
2378}
2379
2380impl ::std::fmt::Debug for GtkCellLayoutIface {
2381    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2382        f.debug_struct(&format!("GtkCellLayoutIface @ {self:p}"))
2383            .field("pack_start", &self.pack_start)
2384            .field("pack_end", &self.pack_end)
2385            .field("clear", &self.clear)
2386            .field("add_attribute", &self.add_attribute)
2387            .field("set_cell_data_func", &self.set_cell_data_func)
2388            .field("clear_attributes", &self.clear_attributes)
2389            .field("reorder", &self.reorder)
2390            .field("get_cells", &self.get_cells)
2391            .field("get_area", &self.get_area)
2392            .finish()
2393    }
2394}
2395
2396#[derive(Copy, Clone)]
2397#[repr(C)]
2398pub struct GtkCellRendererClass {
2399    pub parent_class: gobject::GInitiallyUnownedClass,
2400    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkCellRenderer) -> GtkSizeRequestMode>,
2401    pub get_preferred_width:
2402        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
2403    pub get_preferred_height_for_width: Option<
2404        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
2405    >,
2406    pub get_preferred_height:
2407        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, *mut c_int, *mut c_int)>,
2408    pub get_preferred_width_for_height: Option<
2409        unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkWidget, c_int, *mut c_int, *mut c_int),
2410    >,
2411    pub get_aligned_area: Option<
2412        unsafe extern "C" fn(
2413            *mut GtkCellRenderer,
2414            *mut GtkWidget,
2415            GtkCellRendererState,
2416            *const gdk::GdkRectangle,
2417            *mut gdk::GdkRectangle,
2418        ),
2419    >,
2420    pub snapshot: Option<
2421        unsafe extern "C" fn(
2422            *mut GtkCellRenderer,
2423            *mut GtkSnapshot,
2424            *mut GtkWidget,
2425            *const gdk::GdkRectangle,
2426            *const gdk::GdkRectangle,
2427            GtkCellRendererState,
2428        ),
2429    >,
2430    pub activate: Option<
2431        unsafe extern "C" fn(
2432            *mut GtkCellRenderer,
2433            *mut gdk::GdkEvent,
2434            *mut GtkWidget,
2435            *const c_char,
2436            *const gdk::GdkRectangle,
2437            *const gdk::GdkRectangle,
2438            GtkCellRendererState,
2439        ) -> gboolean,
2440    >,
2441    pub start_editing: Option<
2442        unsafe extern "C" fn(
2443            *mut GtkCellRenderer,
2444            *mut gdk::GdkEvent,
2445            *mut GtkWidget,
2446            *const c_char,
2447            *const gdk::GdkRectangle,
2448            *const gdk::GdkRectangle,
2449            GtkCellRendererState,
2450        ) -> *mut GtkCellEditable,
2451    >,
2452    pub editing_canceled: Option<unsafe extern "C" fn(*mut GtkCellRenderer)>,
2453    pub editing_started:
2454        Option<unsafe extern "C" fn(*mut GtkCellRenderer, *mut GtkCellEditable, *const c_char)>,
2455    pub padding: [gpointer; 8],
2456}
2457
2458impl ::std::fmt::Debug for GtkCellRendererClass {
2459    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2460        f.debug_struct(&format!("GtkCellRendererClass @ {self:p}"))
2461            .field("get_request_mode", &self.get_request_mode)
2462            .field("get_preferred_width", &self.get_preferred_width)
2463            .field(
2464                "get_preferred_height_for_width",
2465                &self.get_preferred_height_for_width,
2466            )
2467            .field("get_preferred_height", &self.get_preferred_height)
2468            .field(
2469                "get_preferred_width_for_height",
2470                &self.get_preferred_width_for_height,
2471            )
2472            .field("get_aligned_area", &self.get_aligned_area)
2473            .field("snapshot", &self.snapshot)
2474            .field("activate", &self.activate)
2475            .field("start_editing", &self.start_editing)
2476            .field("editing_canceled", &self.editing_canceled)
2477            .field("editing_started", &self.editing_started)
2478            .finish()
2479    }
2480}
2481
2482#[repr(C)]
2483#[allow(dead_code)]
2484pub struct _GtkCellRendererClassPrivate {
2485    _data: [u8; 0],
2486    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2487}
2488
2489pub type GtkCellRendererClassPrivate = _GtkCellRendererClassPrivate;
2490
2491#[repr(C)]
2492#[allow(dead_code)]
2493pub struct _GtkCellRendererPrivate {
2494    _data: [u8; 0],
2495    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2496}
2497
2498pub type GtkCellRendererPrivate = _GtkCellRendererPrivate;
2499
2500#[derive(Copy, Clone)]
2501#[repr(C)]
2502pub struct GtkCellRendererTextClass {
2503    pub parent_class: GtkCellRendererClass,
2504    pub edited:
2505        Option<unsafe extern "C" fn(*mut GtkCellRendererText, *const c_char, *const c_char)>,
2506    pub padding: [gpointer; 8],
2507}
2508
2509impl ::std::fmt::Debug for GtkCellRendererTextClass {
2510    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2511        f.debug_struct(&format!("GtkCellRendererTextClass @ {self:p}"))
2512            .field("parent_class", &self.parent_class)
2513            .field("edited", &self.edited)
2514            .finish()
2515    }
2516}
2517
2518#[repr(C)]
2519#[allow(dead_code)]
2520pub struct _GtkCenterBoxClass {
2521    _data: [u8; 0],
2522    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2523}
2524
2525pub type GtkCenterBoxClass = _GtkCenterBoxClass;
2526
2527#[derive(Copy, Clone)]
2528#[repr(C)]
2529pub struct GtkCenterLayoutClass {
2530    pub parent_class: GtkLayoutManagerClass,
2531}
2532
2533impl ::std::fmt::Debug for GtkCenterLayoutClass {
2534    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2535        f.debug_struct(&format!("GtkCenterLayoutClass @ {self:p}"))
2536            .field("parent_class", &self.parent_class)
2537            .finish()
2538    }
2539}
2540
2541#[derive(Copy, Clone)]
2542#[repr(C)]
2543pub struct GtkCheckButtonClass {
2544    pub parent_class: GtkWidgetClass,
2545    pub toggled: Option<unsafe extern "C" fn(*mut GtkCheckButton)>,
2546    pub activate: Option<unsafe extern "C" fn(*mut GtkCheckButton)>,
2547    pub padding: [gpointer; 7],
2548}
2549
2550impl ::std::fmt::Debug for GtkCheckButtonClass {
2551    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2552        f.debug_struct(&format!("GtkCheckButtonClass @ {self:p}"))
2553            .field("parent_class", &self.parent_class)
2554            .field("toggled", &self.toggled)
2555            .field("activate", &self.activate)
2556            .finish()
2557    }
2558}
2559
2560#[derive(Copy, Clone)]
2561#[repr(C)]
2562pub struct GtkColorChooserInterface {
2563    pub base_interface: gobject::GTypeInterface,
2564    pub get_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2565    pub set_rgba: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2566    pub add_palette: Option<
2567        unsafe extern "C" fn(*mut GtkColorChooser, GtkOrientation, c_int, c_int, *mut gdk::GdkRGBA),
2568    >,
2569    pub color_activated: Option<unsafe extern "C" fn(*mut GtkColorChooser, *const gdk::GdkRGBA)>,
2570    pub padding: [gpointer; 12],
2571}
2572
2573impl ::std::fmt::Debug for GtkColorChooserInterface {
2574    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2575        f.debug_struct(&format!("GtkColorChooserInterface @ {self:p}"))
2576            .field("base_interface", &self.base_interface)
2577            .field("get_rgba", &self.get_rgba)
2578            .field("set_rgba", &self.set_rgba)
2579            .field("add_palette", &self.add_palette)
2580            .field("color_activated", &self.color_activated)
2581            .finish()
2582    }
2583}
2584
2585#[derive(Copy, Clone)]
2586#[repr(C)]
2587pub struct GtkColorDialogButtonClass {
2588    pub parent_class: GtkWidgetClass,
2589}
2590
2591impl ::std::fmt::Debug for GtkColorDialogButtonClass {
2592    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2593        f.debug_struct(&format!("GtkColorDialogButtonClass @ {self:p}"))
2594            .field("parent_class", &self.parent_class)
2595            .finish()
2596    }
2597}
2598
2599#[derive(Copy, Clone)]
2600#[repr(C)]
2601pub struct GtkColorDialogClass {
2602    pub parent_class: gobject::GObjectClass,
2603}
2604
2605impl ::std::fmt::Debug for GtkColorDialogClass {
2606    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2607        f.debug_struct(&format!("GtkColorDialogClass @ {self:p}"))
2608            .field("parent_class", &self.parent_class)
2609            .finish()
2610    }
2611}
2612
2613#[repr(C)]
2614#[allow(dead_code)]
2615pub struct _GtkColumnViewCellClass {
2616    _data: [u8; 0],
2617    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2618}
2619
2620pub type GtkColumnViewCellClass = _GtkColumnViewCellClass;
2621
2622#[repr(C)]
2623#[allow(dead_code)]
2624pub struct _GtkColumnViewClass {
2625    _data: [u8; 0],
2626    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2627}
2628
2629pub type GtkColumnViewClass = _GtkColumnViewClass;
2630
2631#[repr(C)]
2632#[allow(dead_code)]
2633pub struct _GtkColumnViewColumnClass {
2634    _data: [u8; 0],
2635    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2636}
2637
2638pub type GtkColumnViewColumnClass = _GtkColumnViewColumnClass;
2639
2640#[repr(C)]
2641#[allow(dead_code)]
2642pub struct _GtkColumnViewRowClass {
2643    _data: [u8; 0],
2644    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2645}
2646
2647pub type GtkColumnViewRowClass = _GtkColumnViewRowClass;
2648
2649#[derive(Copy, Clone)]
2650#[repr(C)]
2651pub struct GtkColumnViewSorterClass {
2652    pub parent_class: GtkSorterClass,
2653}
2654
2655impl ::std::fmt::Debug for GtkColumnViewSorterClass {
2656    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2657        f.debug_struct(&format!("GtkColumnViewSorterClass @ {self:p}"))
2658            .field("parent_class", &self.parent_class)
2659            .finish()
2660    }
2661}
2662
2663#[derive(Copy, Clone)]
2664#[repr(C)]
2665pub struct GtkComboBoxClass {
2666    pub parent_class: GtkWidgetClass,
2667    pub changed: Option<unsafe extern "C" fn(*mut GtkComboBox)>,
2668    pub format_entry_text:
2669        Option<unsafe extern "C" fn(*mut GtkComboBox, *const c_char) -> *mut c_char>,
2670    pub activate: Option<unsafe extern "C" fn(*mut GtkComboBox)>,
2671    pub padding: [gpointer; 7],
2672}
2673
2674impl ::std::fmt::Debug for GtkComboBoxClass {
2675    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2676        f.debug_struct(&format!("GtkComboBoxClass @ {self:p}"))
2677            .field("parent_class", &self.parent_class)
2678            .field("changed", &self.changed)
2679            .field("format_entry_text", &self.format_entry_text)
2680            .field("activate", &self.activate)
2681            .finish()
2682    }
2683}
2684
2685#[derive(Copy, Clone)]
2686#[repr(C)]
2687pub struct GtkConstraintClass {
2688    pub parent_class: gobject::GObjectClass,
2689}
2690
2691impl ::std::fmt::Debug for GtkConstraintClass {
2692    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2693        f.debug_struct(&format!("GtkConstraintClass @ {self:p}"))
2694            .field("parent_class", &self.parent_class)
2695            .finish()
2696    }
2697}
2698
2699#[derive(Copy, Clone)]
2700#[repr(C)]
2701pub struct GtkConstraintGuideClass {
2702    pub parent_class: gobject::GObjectClass,
2703}
2704
2705impl ::std::fmt::Debug for GtkConstraintGuideClass {
2706    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2707        f.debug_struct(&format!("GtkConstraintGuideClass @ {self:p}"))
2708            .field("parent_class", &self.parent_class)
2709            .finish()
2710    }
2711}
2712
2713#[derive(Copy, Clone)]
2714#[repr(C)]
2715pub struct GtkConstraintLayoutChildClass {
2716    pub parent_class: GtkLayoutChildClass,
2717}
2718
2719impl ::std::fmt::Debug for GtkConstraintLayoutChildClass {
2720    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2721        f.debug_struct(&format!("GtkConstraintLayoutChildClass @ {self:p}"))
2722            .field("parent_class", &self.parent_class)
2723            .finish()
2724    }
2725}
2726
2727#[derive(Copy, Clone)]
2728#[repr(C)]
2729pub struct GtkConstraintLayoutClass {
2730    pub parent_class: GtkLayoutManagerClass,
2731}
2732
2733impl ::std::fmt::Debug for GtkConstraintLayoutClass {
2734    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2735        f.debug_struct(&format!("GtkConstraintLayoutClass @ {self:p}"))
2736            .field("parent_class", &self.parent_class)
2737            .finish()
2738    }
2739}
2740
2741#[repr(C)]
2742#[allow(dead_code)]
2743pub struct _GtkConstraintTargetInterface {
2744    _data: [u8; 0],
2745    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2746}
2747
2748pub type GtkConstraintTargetInterface = _GtkConstraintTargetInterface;
2749
2750#[derive(Copy, Clone)]
2751#[repr(C)]
2752pub struct GtkCssLocation {
2753    pub bytes: size_t,
2754    pub chars: size_t,
2755    pub lines: size_t,
2756    pub line_bytes: size_t,
2757    pub line_chars: size_t,
2758}
2759
2760impl ::std::fmt::Debug for GtkCssLocation {
2761    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2762        f.debug_struct(&format!("GtkCssLocation @ {self:p}"))
2763            .field("bytes", &self.bytes)
2764            .field("chars", &self.chars)
2765            .field("lines", &self.lines)
2766            .field("line_bytes", &self.line_bytes)
2767            .field("line_chars", &self.line_chars)
2768            .finish()
2769    }
2770}
2771
2772#[repr(C)]
2773#[allow(dead_code)]
2774pub struct _GtkCssProviderClass {
2775    _data: [u8; 0],
2776    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2777}
2778
2779pub type GtkCssProviderClass = _GtkCssProviderClass;
2780
2781#[repr(C)]
2782#[allow(dead_code)]
2783pub struct _GtkCssProviderPrivate {
2784    _data: [u8; 0],
2785    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2786}
2787
2788pub type GtkCssProviderPrivate = _GtkCssProviderPrivate;
2789
2790#[repr(C)]
2791#[allow(dead_code)]
2792pub struct GtkCssSection {
2793    _data: [u8; 0],
2794    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2795}
2796
2797impl ::std::fmt::Debug for GtkCssSection {
2798    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2799        f.debug_struct(&format!("GtkCssSection @ {self:p}"))
2800            .finish()
2801    }
2802}
2803
2804#[repr(C)]
2805#[allow(dead_code)]
2806pub struct _GtkCssStyleChange {
2807    _data: [u8; 0],
2808    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2809}
2810
2811pub type GtkCssStyleChange = _GtkCssStyleChange;
2812
2813#[derive(Copy, Clone)]
2814#[repr(C)]
2815pub struct GtkCustomFilterClass {
2816    pub parent_class: GtkFilterClass,
2817}
2818
2819impl ::std::fmt::Debug for GtkCustomFilterClass {
2820    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2821        f.debug_struct(&format!("GtkCustomFilterClass @ {self:p}"))
2822            .field("parent_class", &self.parent_class)
2823            .finish()
2824    }
2825}
2826
2827#[derive(Copy, Clone)]
2828#[repr(C)]
2829pub struct GtkCustomLayoutClass {
2830    pub parent_class: GtkLayoutManagerClass,
2831}
2832
2833impl ::std::fmt::Debug for GtkCustomLayoutClass {
2834    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2835        f.debug_struct(&format!("GtkCustomLayoutClass @ {self:p}"))
2836            .field("parent_class", &self.parent_class)
2837            .finish()
2838    }
2839}
2840
2841#[derive(Copy, Clone)]
2842#[repr(C)]
2843pub struct GtkCustomSorterClass {
2844    pub parent_class: GtkSorterClass,
2845}
2846
2847impl ::std::fmt::Debug for GtkCustomSorterClass {
2848    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2849        f.debug_struct(&format!("GtkCustomSorterClass @ {self:p}"))
2850            .field("parent_class", &self.parent_class)
2851            .finish()
2852    }
2853}
2854
2855#[derive(Copy, Clone)]
2856#[repr(C)]
2857pub struct GtkDialogClass {
2858    pub parent_class: GtkWindowClass,
2859    pub response: Option<unsafe extern "C" fn(*mut GtkDialog, GtkResponseType)>,
2860    pub close: Option<unsafe extern "C" fn(*mut GtkDialog)>,
2861    pub padding: [gpointer; 8],
2862}
2863
2864impl ::std::fmt::Debug for GtkDialogClass {
2865    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2866        f.debug_struct(&format!("GtkDialogClass @ {self:p}"))
2867            .field("parent_class", &self.parent_class)
2868            .field("response", &self.response)
2869            .field("close", &self.close)
2870            .finish()
2871    }
2872}
2873
2874#[derive(Copy, Clone)]
2875#[repr(C)]
2876pub struct GtkDirectoryListClass {
2877    pub parent_class: gobject::GObjectClass,
2878}
2879
2880impl ::std::fmt::Debug for GtkDirectoryListClass {
2881    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2882        f.debug_struct(&format!("GtkDirectoryListClass @ {self:p}"))
2883            .field("parent_class", &self.parent_class)
2884            .finish()
2885    }
2886}
2887
2888#[derive(Copy, Clone)]
2889#[repr(C)]
2890pub struct GtkDragIconClass {
2891    pub parent_class: GtkWidgetClass,
2892}
2893
2894impl ::std::fmt::Debug for GtkDragIconClass {
2895    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2896        f.debug_struct(&format!("GtkDragIconClass @ {self:p}"))
2897            .field("parent_class", &self.parent_class)
2898            .finish()
2899    }
2900}
2901
2902#[repr(C)]
2903#[allow(dead_code)]
2904pub struct _GtkDragSourceClass {
2905    _data: [u8; 0],
2906    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2907}
2908
2909pub type GtkDragSourceClass = _GtkDragSourceClass;
2910
2911#[derive(Copy, Clone)]
2912#[repr(C)]
2913pub struct GtkDrawingAreaClass {
2914    pub parent_class: GtkWidgetClass,
2915    pub resize: Option<unsafe extern "C" fn(*mut GtkDrawingArea, c_int, c_int)>,
2916    pub padding: [gpointer; 8],
2917}
2918
2919impl ::std::fmt::Debug for GtkDrawingAreaClass {
2920    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2921        f.debug_struct(&format!("GtkDrawingAreaClass @ {self:p}"))
2922            .field("parent_class", &self.parent_class)
2923            .field("resize", &self.resize)
2924            .finish()
2925    }
2926}
2927
2928#[repr(C)]
2929#[allow(dead_code)]
2930pub struct _GtkDropControllerMotionClass {
2931    _data: [u8; 0],
2932    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2933}
2934
2935pub type GtkDropControllerMotionClass = _GtkDropControllerMotionClass;
2936
2937#[derive(Copy, Clone)]
2938#[repr(C)]
2939pub struct GtkDropDownClass {
2940    pub parent_class: GtkWidgetClass,
2941}
2942
2943impl ::std::fmt::Debug for GtkDropDownClass {
2944    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2945        f.debug_struct(&format!("GtkDropDownClass @ {self:p}"))
2946            .field("parent_class", &self.parent_class)
2947            .finish()
2948    }
2949}
2950
2951#[repr(C)]
2952#[allow(dead_code)]
2953pub struct _GtkDropTargetAsyncClass {
2954    _data: [u8; 0],
2955    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2956}
2957
2958pub type GtkDropTargetAsyncClass = _GtkDropTargetAsyncClass;
2959
2960#[repr(C)]
2961#[allow(dead_code)]
2962pub struct _GtkDropTargetClass {
2963    _data: [u8; 0],
2964    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2965}
2966
2967pub type GtkDropTargetClass = _GtkDropTargetClass;
2968
2969#[derive(Copy, Clone)]
2970#[repr(C)]
2971pub struct GtkEditableInterface {
2972    pub base_iface: gobject::GTypeInterface,
2973    pub insert_text:
2974        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
2975    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
2976    pub changed: Option<unsafe extern "C" fn(*mut GtkEditable)>,
2977    pub get_text: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut c_char>,
2978    pub do_insert_text:
2979        Option<unsafe extern "C" fn(*mut GtkEditable, *const c_char, c_int, *mut c_int)>,
2980    pub do_delete_text: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
2981    pub get_selection_bounds:
2982        Option<unsafe extern "C" fn(*mut GtkEditable, *mut c_int, *mut c_int) -> gboolean>,
2983    pub set_selection_bounds: Option<unsafe extern "C" fn(*mut GtkEditable, c_int, c_int)>,
2984    pub get_delegate: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut GtkEditable>,
2985    pub get_complete_text: Option<unsafe extern "C" fn(*mut GtkEditable) -> *mut c_char>,
2986}
2987
2988impl ::std::fmt::Debug for GtkEditableInterface {
2989    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2990        f.debug_struct(&format!("GtkEditableInterface @ {self:p}"))
2991            .field("base_iface", &self.base_iface)
2992            .field("insert_text", &self.insert_text)
2993            .field("delete_text", &self.delete_text)
2994            .field("changed", &self.changed)
2995            .field("get_text", &self.get_text)
2996            .field("do_insert_text", &self.do_insert_text)
2997            .field("do_delete_text", &self.do_delete_text)
2998            .field("get_selection_bounds", &self.get_selection_bounds)
2999            .field("set_selection_bounds", &self.set_selection_bounds)
3000            .field("get_delegate", &self.get_delegate)
3001            .field("get_complete_text", &self.get_complete_text)
3002            .finish()
3003    }
3004}
3005
3006#[derive(Copy, Clone)]
3007#[repr(C)]
3008pub struct GtkEditableLabelClass {
3009    pub parent_class: GtkWidgetClass,
3010}
3011
3012impl ::std::fmt::Debug for GtkEditableLabelClass {
3013    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3014        f.debug_struct(&format!("GtkEditableLabelClass @ {self:p}"))
3015            .field("parent_class", &self.parent_class)
3016            .finish()
3017    }
3018}
3019
3020#[repr(C)]
3021#[allow(dead_code)]
3022pub struct _GtkEmojiChooserClass {
3023    _data: [u8; 0],
3024    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3025}
3026
3027pub type GtkEmojiChooserClass = _GtkEmojiChooserClass;
3028
3029#[derive(Copy, Clone)]
3030#[repr(C)]
3031pub struct GtkEntryBufferClass {
3032    pub parent_class: gobject::GObjectClass,
3033    pub inserted_text:
3034        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint)>,
3035    pub deleted_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint)>,
3036    pub get_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, *mut size_t) -> *const c_char>,
3037    pub get_length: Option<unsafe extern "C" fn(*mut GtkEntryBuffer) -> c_uint>,
3038    pub insert_text:
3039        Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, *const c_char, c_uint) -> c_uint>,
3040    pub delete_text: Option<unsafe extern "C" fn(*mut GtkEntryBuffer, c_uint, c_uint) -> c_uint>,
3041    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3042    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3043    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3044    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3045    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3046    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3047    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3048    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3049}
3050
3051impl ::std::fmt::Debug for GtkEntryBufferClass {
3052    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3053        f.debug_struct(&format!("GtkEntryBufferClass @ {self:p}"))
3054            .field("parent_class", &self.parent_class)
3055            .field("inserted_text", &self.inserted_text)
3056            .field("deleted_text", &self.deleted_text)
3057            .field("get_text", &self.get_text)
3058            .field("get_length", &self.get_length)
3059            .field("insert_text", &self.insert_text)
3060            .field("delete_text", &self.delete_text)
3061            .field("_gtk_reserved1", &self._gtk_reserved1)
3062            .field("_gtk_reserved2", &self._gtk_reserved2)
3063            .field("_gtk_reserved3", &self._gtk_reserved3)
3064            .field("_gtk_reserved4", &self._gtk_reserved4)
3065            .field("_gtk_reserved5", &self._gtk_reserved5)
3066            .field("_gtk_reserved6", &self._gtk_reserved6)
3067            .field("_gtk_reserved7", &self._gtk_reserved7)
3068            .field("_gtk_reserved8", &self._gtk_reserved8)
3069            .finish()
3070    }
3071}
3072
3073#[derive(Copy, Clone)]
3074#[repr(C)]
3075pub struct GtkEntryClass {
3076    pub parent_class: GtkWidgetClass,
3077    pub activate: Option<unsafe extern "C" fn(*mut GtkEntry)>,
3078    pub padding: [gpointer; 8],
3079}
3080
3081impl ::std::fmt::Debug for GtkEntryClass {
3082    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3083        f.debug_struct(&format!("GtkEntryClass @ {self:p}"))
3084            .field("parent_class", &self.parent_class)
3085            .field("activate", &self.activate)
3086            .finish()
3087    }
3088}
3089
3090#[derive(Copy, Clone)]
3091#[repr(C)]
3092pub struct GtkEnumListClass {
3093    pub parent_class: gobject::GObjectClass,
3094}
3095
3096impl ::std::fmt::Debug for GtkEnumListClass {
3097    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3098        f.debug_struct(&format!("GtkEnumListClass @ {self:p}"))
3099            .field("parent_class", &self.parent_class)
3100            .finish()
3101    }
3102}
3103
3104#[derive(Copy, Clone)]
3105#[repr(C)]
3106pub struct GtkEnumListItemClass {
3107    pub parent_class: gobject::GObjectClass,
3108}
3109
3110impl ::std::fmt::Debug for GtkEnumListItemClass {
3111    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3112        f.debug_struct(&format!("GtkEnumListItemClass @ {self:p}"))
3113            .field("parent_class", &self.parent_class)
3114            .finish()
3115    }
3116}
3117
3118#[repr(C)]
3119#[allow(dead_code)]
3120pub struct _GtkEventControllerClass {
3121    _data: [u8; 0],
3122    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3123}
3124
3125pub type GtkEventControllerClass = _GtkEventControllerClass;
3126
3127#[repr(C)]
3128#[allow(dead_code)]
3129pub struct _GtkEventControllerFocusClass {
3130    _data: [u8; 0],
3131    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3132}
3133
3134pub type GtkEventControllerFocusClass = _GtkEventControllerFocusClass;
3135
3136#[repr(C)]
3137#[allow(dead_code)]
3138pub struct _GtkEventControllerKeyClass {
3139    _data: [u8; 0],
3140    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3141}
3142
3143pub type GtkEventControllerKeyClass = _GtkEventControllerKeyClass;
3144
3145#[repr(C)]
3146#[allow(dead_code)]
3147pub struct _GtkEventControllerLegacyClass {
3148    _data: [u8; 0],
3149    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3150}
3151
3152pub type GtkEventControllerLegacyClass = _GtkEventControllerLegacyClass;
3153
3154#[repr(C)]
3155#[allow(dead_code)]
3156pub struct _GtkEventControllerMotionClass {
3157    _data: [u8; 0],
3158    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3159}
3160
3161pub type GtkEventControllerMotionClass = _GtkEventControllerMotionClass;
3162
3163#[repr(C)]
3164#[allow(dead_code)]
3165pub struct _GtkEventControllerScrollClass {
3166    _data: [u8; 0],
3167    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3168}
3169
3170pub type GtkEventControllerScrollClass = _GtkEventControllerScrollClass;
3171
3172#[repr(C)]
3173#[allow(dead_code)]
3174pub struct _GtkEveryFilterClass {
3175    _data: [u8; 0],
3176    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3177}
3178
3179pub type GtkEveryFilterClass = _GtkEveryFilterClass;
3180
3181#[repr(C)]
3182#[allow(dead_code)]
3183pub struct GtkExpressionWatch {
3184    _data: [u8; 0],
3185    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3186}
3187
3188impl ::std::fmt::Debug for GtkExpressionWatch {
3189    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3190        f.debug_struct(&format!("GtkExpressionWatch @ {self:p}"))
3191            .finish()
3192    }
3193}
3194
3195#[derive(Copy, Clone)]
3196#[repr(C)]
3197pub struct GtkFileChooserNativeClass {
3198    pub parent_class: GtkNativeDialogClass,
3199}
3200
3201impl ::std::fmt::Debug for GtkFileChooserNativeClass {
3202    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3203        f.debug_struct(&format!("GtkFileChooserNativeClass @ {self:p}"))
3204            .field("parent_class", &self.parent_class)
3205            .finish()
3206    }
3207}
3208
3209#[derive(Copy, Clone)]
3210#[repr(C)]
3211pub struct GtkFileDialogClass {
3212    pub parent_class: gobject::GObjectClass,
3213}
3214
3215impl ::std::fmt::Debug for GtkFileDialogClass {
3216    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3217        f.debug_struct(&format!("GtkFileDialogClass @ {self:p}"))
3218            .field("parent_class", &self.parent_class)
3219            .finish()
3220    }
3221}
3222
3223#[derive(Copy, Clone)]
3224#[repr(C)]
3225pub struct GtkFileLauncherClass {
3226    pub parent_class: gobject::GObjectClass,
3227}
3228
3229impl ::std::fmt::Debug for GtkFileLauncherClass {
3230    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3231        f.debug_struct(&format!("GtkFileLauncherClass @ {self:p}"))
3232            .field("parent_class", &self.parent_class)
3233            .finish()
3234    }
3235}
3236
3237#[derive(Copy, Clone)]
3238#[repr(C)]
3239pub struct GtkFilterClass {
3240    pub parent_class: gobject::GObjectClass,
3241    pub match_: Option<unsafe extern "C" fn(*mut GtkFilter, *mut gobject::GObject) -> gboolean>,
3242    pub get_strictness: Option<unsafe extern "C" fn(*mut GtkFilter) -> GtkFilterMatch>,
3243    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3244    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3245    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3246    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3247    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
3248    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
3249    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
3250    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
3251}
3252
3253impl ::std::fmt::Debug for GtkFilterClass {
3254    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3255        f.debug_struct(&format!("GtkFilterClass @ {self:p}"))
3256            .field("parent_class", &self.parent_class)
3257            .field("match_", &self.match_)
3258            .field("get_strictness", &self.get_strictness)
3259            .field("_gtk_reserved1", &self._gtk_reserved1)
3260            .field("_gtk_reserved2", &self._gtk_reserved2)
3261            .field("_gtk_reserved3", &self._gtk_reserved3)
3262            .field("_gtk_reserved4", &self._gtk_reserved4)
3263            .field("_gtk_reserved5", &self._gtk_reserved5)
3264            .field("_gtk_reserved6", &self._gtk_reserved6)
3265            .field("_gtk_reserved7", &self._gtk_reserved7)
3266            .field("_gtk_reserved8", &self._gtk_reserved8)
3267            .finish()
3268    }
3269}
3270
3271#[derive(Copy, Clone)]
3272#[repr(C)]
3273pub struct GtkFilterListModelClass {
3274    pub parent_class: gobject::GObjectClass,
3275}
3276
3277impl ::std::fmt::Debug for GtkFilterListModelClass {
3278    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3279        f.debug_struct(&format!("GtkFilterListModelClass @ {self:p}"))
3280            .field("parent_class", &self.parent_class)
3281            .finish()
3282    }
3283}
3284
3285#[derive(Copy, Clone)]
3286#[repr(C)]
3287pub struct GtkFixedClass {
3288    pub parent_class: GtkWidgetClass,
3289    pub padding: [gpointer; 8],
3290}
3291
3292impl ::std::fmt::Debug for GtkFixedClass {
3293    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3294        f.debug_struct(&format!("GtkFixedClass @ {self:p}"))
3295            .field("parent_class", &self.parent_class)
3296            .finish()
3297    }
3298}
3299
3300#[derive(Copy, Clone)]
3301#[repr(C)]
3302pub struct GtkFixedLayoutChildClass {
3303    pub parent_class: GtkLayoutChildClass,
3304}
3305
3306impl ::std::fmt::Debug for GtkFixedLayoutChildClass {
3307    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3308        f.debug_struct(&format!("GtkFixedLayoutChildClass @ {self:p}"))
3309            .field("parent_class", &self.parent_class)
3310            .finish()
3311    }
3312}
3313
3314#[derive(Copy, Clone)]
3315#[repr(C)]
3316pub struct GtkFixedLayoutClass {
3317    pub parent_class: GtkLayoutManagerClass,
3318}
3319
3320impl ::std::fmt::Debug for GtkFixedLayoutClass {
3321    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3322        f.debug_struct(&format!("GtkFixedLayoutClass @ {self:p}"))
3323            .field("parent_class", &self.parent_class)
3324            .finish()
3325    }
3326}
3327
3328#[derive(Copy, Clone)]
3329#[repr(C)]
3330pub struct GtkFlattenListModelClass {
3331    pub parent_class: gobject::GObjectClass,
3332}
3333
3334impl ::std::fmt::Debug for GtkFlattenListModelClass {
3335    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3336        f.debug_struct(&format!("GtkFlattenListModelClass @ {self:p}"))
3337            .field("parent_class", &self.parent_class)
3338            .finish()
3339    }
3340}
3341
3342#[derive(Copy, Clone)]
3343#[repr(C)]
3344pub struct GtkFlowBoxChildClass {
3345    pub parent_class: GtkWidgetClass,
3346    pub activate: Option<unsafe extern "C" fn(*mut GtkFlowBoxChild)>,
3347    pub padding: [gpointer; 8],
3348}
3349
3350impl ::std::fmt::Debug for GtkFlowBoxChildClass {
3351    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3352        f.debug_struct(&format!("GtkFlowBoxChildClass @ {self:p}"))
3353            .field("activate", &self.activate)
3354            .finish()
3355    }
3356}
3357
3358#[derive(Copy, Clone)]
3359#[repr(C)]
3360pub struct GtkFontChooserIface {
3361    pub base_iface: gobject::GTypeInterface,
3362    pub get_font_family:
3363        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFamily>,
3364    pub get_font_face:
3365        Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontFace>,
3366    pub get_font_size: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> c_int>,
3367    pub set_filter_func: Option<
3368        unsafe extern "C" fn(
3369            *mut GtkFontChooser,
3370            GtkFontFilterFunc,
3371            gpointer,
3372            glib::GDestroyNotify,
3373        ),
3374    >,
3375    pub font_activated: Option<unsafe extern "C" fn(*mut GtkFontChooser, *const c_char)>,
3376    pub set_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser, *mut pango::PangoFontMap)>,
3377    pub get_font_map: Option<unsafe extern "C" fn(*mut GtkFontChooser) -> *mut pango::PangoFontMap>,
3378    pub padding: [gpointer; 10],
3379}
3380
3381impl ::std::fmt::Debug for GtkFontChooserIface {
3382    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3383        f.debug_struct(&format!("GtkFontChooserIface @ {self:p}"))
3384            .field("base_iface", &self.base_iface)
3385            .field("get_font_family", &self.get_font_family)
3386            .field("get_font_face", &self.get_font_face)
3387            .field("get_font_size", &self.get_font_size)
3388            .field("set_filter_func", &self.set_filter_func)
3389            .field("font_activated", &self.font_activated)
3390            .field("set_font_map", &self.set_font_map)
3391            .field("get_font_map", &self.get_font_map)
3392            .finish()
3393    }
3394}
3395
3396#[derive(Copy, Clone)]
3397#[repr(C)]
3398pub struct GtkFontDialogButtonClass {
3399    pub parent_class: GtkWidgetClass,
3400}
3401
3402impl ::std::fmt::Debug for GtkFontDialogButtonClass {
3403    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3404        f.debug_struct(&format!("GtkFontDialogButtonClass @ {self:p}"))
3405            .field("parent_class", &self.parent_class)
3406            .finish()
3407    }
3408}
3409
3410#[derive(Copy, Clone)]
3411#[repr(C)]
3412pub struct GtkFontDialogClass {
3413    pub parent_class: gobject::GObjectClass,
3414}
3415
3416impl ::std::fmt::Debug for GtkFontDialogClass {
3417    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3418        f.debug_struct(&format!("GtkFontDialogClass @ {self:p}"))
3419            .field("parent_class", &self.parent_class)
3420            .finish()
3421    }
3422}
3423
3424#[derive(Copy, Clone)]
3425#[repr(C)]
3426pub struct GtkFrameClass {
3427    pub parent_class: GtkWidgetClass,
3428    pub compute_child_allocation: Option<unsafe extern "C" fn(*mut GtkFrame, *mut GtkAllocation)>,
3429    pub padding: [gpointer; 8],
3430}
3431
3432impl ::std::fmt::Debug for GtkFrameClass {
3433    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3434        f.debug_struct(&format!("GtkFrameClass @ {self:p}"))
3435            .field("parent_class", &self.parent_class)
3436            .field("compute_child_allocation", &self.compute_child_allocation)
3437            .finish()
3438    }
3439}
3440
3441#[derive(Copy, Clone)]
3442#[repr(C)]
3443pub struct GtkGLAreaClass {
3444    pub parent_class: GtkWidgetClass,
3445    pub render: Option<unsafe extern "C" fn(*mut GtkGLArea, *mut gdk::GdkGLContext) -> gboolean>,
3446    pub resize: Option<unsafe extern "C" fn(*mut GtkGLArea, c_int, c_int)>,
3447    pub create_context: Option<unsafe extern "C" fn(*mut GtkGLArea) -> *mut gdk::GdkGLContext>,
3448    pub _padding: [gpointer; 8],
3449}
3450
3451impl ::std::fmt::Debug for GtkGLAreaClass {
3452    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3453        f.debug_struct(&format!("GtkGLAreaClass @ {self:p}"))
3454            .field("render", &self.render)
3455            .field("resize", &self.resize)
3456            .field("create_context", &self.create_context)
3457            .finish()
3458    }
3459}
3460
3461#[repr(C)]
3462#[allow(dead_code)]
3463pub struct _GtkGestureClass {
3464    _data: [u8; 0],
3465    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3466}
3467
3468pub type GtkGestureClass = _GtkGestureClass;
3469
3470#[repr(C)]
3471#[allow(dead_code)]
3472pub struct _GtkGestureClickClass {
3473    _data: [u8; 0],
3474    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3475}
3476
3477pub type GtkGestureClickClass = _GtkGestureClickClass;
3478
3479#[repr(C)]
3480#[allow(dead_code)]
3481pub struct _GtkGestureDragClass {
3482    _data: [u8; 0],
3483    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3484}
3485
3486pub type GtkGestureDragClass = _GtkGestureDragClass;
3487
3488#[repr(C)]
3489#[allow(dead_code)]
3490pub struct _GtkGestureLongPressClass {
3491    _data: [u8; 0],
3492    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3493}
3494
3495pub type GtkGestureLongPressClass = _GtkGestureLongPressClass;
3496
3497#[repr(C)]
3498#[allow(dead_code)]
3499pub struct _GtkGesturePanClass {
3500    _data: [u8; 0],
3501    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3502}
3503
3504pub type GtkGesturePanClass = _GtkGesturePanClass;
3505
3506#[repr(C)]
3507#[allow(dead_code)]
3508pub struct _GtkGestureRotateClass {
3509    _data: [u8; 0],
3510    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3511}
3512
3513pub type GtkGestureRotateClass = _GtkGestureRotateClass;
3514
3515#[repr(C)]
3516#[allow(dead_code)]
3517pub struct _GtkGestureSingleClass {
3518    _data: [u8; 0],
3519    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3520}
3521
3522pub type GtkGestureSingleClass = _GtkGestureSingleClass;
3523
3524#[repr(C)]
3525#[allow(dead_code)]
3526pub struct _GtkGestureStylusClass {
3527    _data: [u8; 0],
3528    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3529}
3530
3531pub type GtkGestureStylusClass = _GtkGestureStylusClass;
3532
3533#[repr(C)]
3534#[allow(dead_code)]
3535pub struct _GtkGestureSwipeClass {
3536    _data: [u8; 0],
3537    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3538}
3539
3540pub type GtkGestureSwipeClass = _GtkGestureSwipeClass;
3541
3542#[repr(C)]
3543#[allow(dead_code)]
3544pub struct _GtkGestureZoomClass {
3545    _data: [u8; 0],
3546    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3547}
3548
3549pub type GtkGestureZoomClass = _GtkGestureZoomClass;
3550
3551#[derive(Copy, Clone)]
3552#[repr(C)]
3553pub struct GtkGraphicsOffloadClass {
3554    pub parent_class: GtkWidgetClass,
3555}
3556
3557impl ::std::fmt::Debug for GtkGraphicsOffloadClass {
3558    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3559        f.debug_struct(&format!("GtkGraphicsOffloadClass @ {self:p}"))
3560            .field("parent_class", &self.parent_class)
3561            .finish()
3562    }
3563}
3564
3565#[derive(Copy, Clone)]
3566#[repr(C)]
3567pub struct GtkGridClass {
3568    pub parent_class: GtkWidgetClass,
3569    pub padding: [gpointer; 8],
3570}
3571
3572impl ::std::fmt::Debug for GtkGridClass {
3573    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3574        f.debug_struct(&format!("GtkGridClass @ {self:p}"))
3575            .field("parent_class", &self.parent_class)
3576            .finish()
3577    }
3578}
3579
3580#[derive(Copy, Clone)]
3581#[repr(C)]
3582pub struct GtkGridLayoutChildClass {
3583    pub parent_class: GtkLayoutChildClass,
3584}
3585
3586impl ::std::fmt::Debug for GtkGridLayoutChildClass {
3587    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3588        f.debug_struct(&format!("GtkGridLayoutChildClass @ {self:p}"))
3589            .field("parent_class", &self.parent_class)
3590            .finish()
3591    }
3592}
3593
3594#[derive(Copy, Clone)]
3595#[repr(C)]
3596pub struct GtkGridLayoutClass {
3597    pub parent_class: GtkLayoutManagerClass,
3598}
3599
3600impl ::std::fmt::Debug for GtkGridLayoutClass {
3601    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3602        f.debug_struct(&format!("GtkGridLayoutClass @ {self:p}"))
3603            .field("parent_class", &self.parent_class)
3604            .finish()
3605    }
3606}
3607
3608#[repr(C)]
3609#[allow(dead_code)]
3610pub struct _GtkGridViewClass {
3611    _data: [u8; 0],
3612    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3613}
3614
3615pub type GtkGridViewClass = _GtkGridViewClass;
3616
3617#[derive(Copy, Clone)]
3618#[repr(C)]
3619pub struct GtkIMContextClass {
3620    pub parent_class: gobject::GObjectClass,
3621    pub preedit_start: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3622    pub preedit_end: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3623    pub preedit_changed: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3624    pub commit: Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char)>,
3625    pub retrieve_surrounding: Option<unsafe extern "C" fn(*mut GtkIMContext) -> gboolean>,
3626    pub delete_surrounding:
3627        Option<unsafe extern "C" fn(*mut GtkIMContext, c_int, c_int) -> gboolean>,
3628    pub set_client_widget: Option<unsafe extern "C" fn(*mut GtkIMContext, *mut GtkWidget)>,
3629    pub get_preedit_string: Option<
3630        unsafe extern "C" fn(
3631            *mut GtkIMContext,
3632            *mut *mut c_char,
3633            *mut *mut pango::PangoAttrList,
3634            *mut c_int,
3635        ),
3636    >,
3637    pub filter_keypress:
3638        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkEvent) -> gboolean>,
3639    pub focus_in: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3640    pub focus_out: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3641    pub reset: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3642    pub set_cursor_location:
3643        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkRectangle)>,
3644    pub set_use_preedit: Option<unsafe extern "C" fn(*mut GtkIMContext, gboolean)>,
3645    pub set_surrounding:
3646        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char, c_int, c_int)>,
3647    pub get_surrounding:
3648        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut *mut c_char, *mut c_int) -> gboolean>,
3649    pub set_surrounding_with_selection:
3650        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char, c_int, c_int, c_int)>,
3651    pub get_surrounding_with_selection: Option<
3652        unsafe extern "C" fn(
3653            *mut GtkIMContext,
3654            *mut *mut c_char,
3655            *mut c_int,
3656            *mut c_int,
3657        ) -> gboolean,
3658    >,
3659    pub activate_osk: Option<unsafe extern "C" fn(*mut GtkIMContext)>,
3660    pub activate_osk_with_event:
3661        Option<unsafe extern "C" fn(*mut GtkIMContext, *mut gdk::GdkEvent) -> gboolean>,
3662    pub invalid_composition:
3663        Option<unsafe extern "C" fn(*mut GtkIMContext, *const c_char) -> gboolean>,
3664    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3665    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3666}
3667
3668impl ::std::fmt::Debug for GtkIMContextClass {
3669    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3670        f.debug_struct(&format!("GtkIMContextClass @ {self:p}"))
3671            .field("preedit_start", &self.preedit_start)
3672            .field("preedit_end", &self.preedit_end)
3673            .field("preedit_changed", &self.preedit_changed)
3674            .field("commit", &self.commit)
3675            .field("retrieve_surrounding", &self.retrieve_surrounding)
3676            .field("delete_surrounding", &self.delete_surrounding)
3677            .field("set_client_widget", &self.set_client_widget)
3678            .field("get_preedit_string", &self.get_preedit_string)
3679            .field("filter_keypress", &self.filter_keypress)
3680            .field("focus_in", &self.focus_in)
3681            .field("focus_out", &self.focus_out)
3682            .field("reset", &self.reset)
3683            .field("set_cursor_location", &self.set_cursor_location)
3684            .field("set_use_preedit", &self.set_use_preedit)
3685            .field("set_surrounding", &self.set_surrounding)
3686            .field("get_surrounding", &self.get_surrounding)
3687            .field(
3688                "set_surrounding_with_selection",
3689                &self.set_surrounding_with_selection,
3690            )
3691            .field(
3692                "get_surrounding_with_selection",
3693                &self.get_surrounding_with_selection,
3694            )
3695            .field("activate_osk", &self.activate_osk)
3696            .field("activate_osk_with_event", &self.activate_osk_with_event)
3697            .field("invalid_composition", &self.invalid_composition)
3698            .field("_gtk_reserved3", &self._gtk_reserved3)
3699            .field("_gtk_reserved4", &self._gtk_reserved4)
3700            .finish()
3701    }
3702}
3703
3704#[derive(Copy, Clone)]
3705#[repr(C)]
3706pub struct GtkIMContextSimpleClass {
3707    pub parent_class: GtkIMContextClass,
3708}
3709
3710impl ::std::fmt::Debug for GtkIMContextSimpleClass {
3711    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3712        f.debug_struct(&format!("GtkIMContextSimpleClass @ {self:p}"))
3713            .field("parent_class", &self.parent_class)
3714            .finish()
3715    }
3716}
3717
3718#[repr(C)]
3719#[allow(dead_code)]
3720pub struct _GtkIMContextSimplePrivate {
3721    _data: [u8; 0],
3722    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3723}
3724
3725pub type GtkIMContextSimplePrivate = _GtkIMContextSimplePrivate;
3726
3727#[derive(Copy, Clone)]
3728#[repr(C)]
3729pub struct GtkIMMulticontextClass {
3730    pub parent_class: GtkIMContextClass,
3731    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3732    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3733    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3734    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3735}
3736
3737impl ::std::fmt::Debug for GtkIMMulticontextClass {
3738    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3739        f.debug_struct(&format!("GtkIMMulticontextClass @ {self:p}"))
3740            .field("parent_class", &self.parent_class)
3741            .field("_gtk_reserved1", &self._gtk_reserved1)
3742            .field("_gtk_reserved2", &self._gtk_reserved2)
3743            .field("_gtk_reserved3", &self._gtk_reserved3)
3744            .field("_gtk_reserved4", &self._gtk_reserved4)
3745            .finish()
3746    }
3747}
3748
3749#[repr(C)]
3750#[allow(dead_code)]
3751pub struct _GtkIMMulticontextPrivate {
3752    _data: [u8; 0],
3753    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3754}
3755
3756pub type GtkIMMulticontextPrivate = _GtkIMMulticontextPrivate;
3757
3758#[derive(Copy, Clone)]
3759#[repr(C)]
3760pub struct GtkIconPaintableClass {
3761    pub parent_class: gobject::GObjectClass,
3762}
3763
3764impl ::std::fmt::Debug for GtkIconPaintableClass {
3765    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3766        f.debug_struct(&format!("GtkIconPaintableClass @ {self:p}"))
3767            .field("parent_class", &self.parent_class)
3768            .finish()
3769    }
3770}
3771
3772#[derive(Copy, Clone)]
3773#[repr(C)]
3774pub struct GtkInscriptionClass {
3775    pub parent_class: GtkWidgetClass,
3776}
3777
3778impl ::std::fmt::Debug for GtkInscriptionClass {
3779    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3780        f.debug_struct(&format!("GtkInscriptionClass @ {self:p}"))
3781            .field("parent_class", &self.parent_class)
3782            .finish()
3783    }
3784}
3785
3786#[repr(C)]
3787#[allow(dead_code)]
3788pub struct _GtkKeyvalTriggerClass {
3789    _data: [u8; 0],
3790    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3791}
3792
3793pub type GtkKeyvalTriggerClass = _GtkKeyvalTriggerClass;
3794
3795#[derive(Copy, Clone)]
3796#[repr(C)]
3797pub struct GtkLayoutChildClass {
3798    pub parent_class: gobject::GObjectClass,
3799}
3800
3801impl ::std::fmt::Debug for GtkLayoutChildClass {
3802    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3803        f.debug_struct(&format!("GtkLayoutChildClass @ {self:p}"))
3804            .finish()
3805    }
3806}
3807
3808#[derive(Copy, Clone)]
3809#[repr(C)]
3810pub struct GtkLayoutManagerClass {
3811    pub parent_class: gobject::GObjectClass,
3812    pub get_request_mode:
3813        Option<unsafe extern "C" fn(*mut GtkLayoutManager, *mut GtkWidget) -> GtkSizeRequestMode>,
3814    pub measure: Option<
3815        unsafe extern "C" fn(
3816            *mut GtkLayoutManager,
3817            *mut GtkWidget,
3818            GtkOrientation,
3819            c_int,
3820            *mut c_int,
3821            *mut c_int,
3822            *mut c_int,
3823            *mut c_int,
3824        ),
3825    >,
3826    pub allocate:
3827        Option<unsafe extern "C" fn(*mut GtkLayoutManager, *mut GtkWidget, c_int, c_int, c_int)>,
3828    pub layout_child_type: GType,
3829    pub create_layout_child: Option<
3830        unsafe extern "C" fn(
3831            *mut GtkLayoutManager,
3832            *mut GtkWidget,
3833            *mut GtkWidget,
3834        ) -> *mut GtkLayoutChild,
3835    >,
3836    pub root: Option<unsafe extern "C" fn(*mut GtkLayoutManager)>,
3837    pub unroot: Option<unsafe extern "C" fn(*mut GtkLayoutManager)>,
3838    pub _padding: [gpointer; 16],
3839}
3840
3841impl ::std::fmt::Debug for GtkLayoutManagerClass {
3842    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3843        f.debug_struct(&format!("GtkLayoutManagerClass @ {self:p}"))
3844            .field("get_request_mode", &self.get_request_mode)
3845            .field("measure", &self.measure)
3846            .field("allocate", &self.allocate)
3847            .field("layout_child_type", &self.layout_child_type)
3848            .field("create_layout_child", &self.create_layout_child)
3849            .field("root", &self.root)
3850            .field("unroot", &self.unroot)
3851            .finish()
3852    }
3853}
3854
3855#[repr(C)]
3856#[allow(dead_code)]
3857pub struct _GtkListBaseClass {
3858    _data: [u8; 0],
3859    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3860}
3861
3862pub type GtkListBaseClass = _GtkListBaseClass;
3863
3864#[derive(Copy, Clone)]
3865#[repr(C)]
3866pub struct GtkListBoxRowClass {
3867    pub parent_class: GtkWidgetClass,
3868    pub activate: Option<unsafe extern "C" fn(*mut GtkListBoxRow)>,
3869    pub padding: [gpointer; 8],
3870}
3871
3872impl ::std::fmt::Debug for GtkListBoxRowClass {
3873    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3874        f.debug_struct(&format!("GtkListBoxRowClass @ {self:p}"))
3875            .field("parent_class", &self.parent_class)
3876            .field("activate", &self.activate)
3877            .finish()
3878    }
3879}
3880
3881#[repr(C)]
3882#[allow(dead_code)]
3883pub struct _GtkListHeaderClass {
3884    _data: [u8; 0],
3885    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3886}
3887
3888pub type GtkListHeaderClass = _GtkListHeaderClass;
3889
3890#[repr(C)]
3891#[allow(dead_code)]
3892pub struct _GtkListItemClass {
3893    _data: [u8; 0],
3894    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3895}
3896
3897pub type GtkListItemClass = _GtkListItemClass;
3898
3899#[repr(C)]
3900#[allow(dead_code)]
3901pub struct _GtkListItemFactoryClass {
3902    _data: [u8; 0],
3903    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3904}
3905
3906pub type GtkListItemFactoryClass = _GtkListItemFactoryClass;
3907
3908#[derive(Copy, Clone)]
3909#[repr(C)]
3910pub struct GtkListStoreClass {
3911    pub parent_class: gobject::GObjectClass,
3912    pub padding: [gpointer; 8],
3913}
3914
3915impl ::std::fmt::Debug for GtkListStoreClass {
3916    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3917        f.debug_struct(&format!("GtkListStoreClass @ {self:p}"))
3918            .field("parent_class", &self.parent_class)
3919            .finish()
3920    }
3921}
3922
3923#[repr(C)]
3924#[allow(dead_code)]
3925pub struct _GtkListStorePrivate {
3926    _data: [u8; 0],
3927    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3928}
3929
3930pub type GtkListStorePrivate = _GtkListStorePrivate;
3931
3932#[repr(C)]
3933#[allow(dead_code)]
3934pub struct _GtkListViewClass {
3935    _data: [u8; 0],
3936    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3937}
3938
3939pub type GtkListViewClass = _GtkListViewClass;
3940
3941#[derive(Copy, Clone)]
3942#[repr(C)]
3943pub struct GtkMapListModelClass {
3944    pub parent_class: gobject::GObjectClass,
3945}
3946
3947impl ::std::fmt::Debug for GtkMapListModelClass {
3948    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3949        f.debug_struct(&format!("GtkMapListModelClass @ {self:p}"))
3950            .field("parent_class", &self.parent_class)
3951            .finish()
3952    }
3953}
3954
3955#[derive(Copy, Clone)]
3956#[repr(C)]
3957pub struct GtkMediaControlsClass {
3958    pub parent_class: GtkWidgetClass,
3959}
3960
3961impl ::std::fmt::Debug for GtkMediaControlsClass {
3962    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3963        f.debug_struct(&format!("GtkMediaControlsClass @ {self:p}"))
3964            .field("parent_class", &self.parent_class)
3965            .finish()
3966    }
3967}
3968
3969#[derive(Copy, Clone)]
3970#[repr(C)]
3971pub struct GtkMediaFileClass {
3972    pub parent_class: GtkMediaStreamClass,
3973    pub open: Option<unsafe extern "C" fn(*mut GtkMediaFile)>,
3974    pub close: Option<unsafe extern "C" fn(*mut GtkMediaFile)>,
3975    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
3976    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
3977    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
3978    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
3979}
3980
3981impl ::std::fmt::Debug for GtkMediaFileClass {
3982    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3983        f.debug_struct(&format!("GtkMediaFileClass @ {self:p}"))
3984            .field("parent_class", &self.parent_class)
3985            .field("open", &self.open)
3986            .field("close", &self.close)
3987            .field("_gtk_reserved1", &self._gtk_reserved1)
3988            .field("_gtk_reserved2", &self._gtk_reserved2)
3989            .field("_gtk_reserved3", &self._gtk_reserved3)
3990            .field("_gtk_reserved4", &self._gtk_reserved4)
3991            .finish()
3992    }
3993}
3994
3995#[derive(Copy, Clone)]
3996#[repr(C)]
3997pub struct GtkMediaStreamClass {
3998    pub parent_class: gobject::GObjectClass,
3999    pub play: Option<unsafe extern "C" fn(*mut GtkMediaStream) -> gboolean>,
4000    pub pause: Option<unsafe extern "C" fn(*mut GtkMediaStream)>,
4001    pub seek: Option<unsafe extern "C" fn(*mut GtkMediaStream, i64)>,
4002    pub update_audio: Option<unsafe extern "C" fn(*mut GtkMediaStream, gboolean, c_double)>,
4003    pub realize: Option<unsafe extern "C" fn(*mut GtkMediaStream, *mut gdk::GdkSurface)>,
4004    pub unrealize: Option<unsafe extern "C" fn(*mut GtkMediaStream, *mut gdk::GdkSurface)>,
4005    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4006    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4007    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4008    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4009    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4010    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4011    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4012    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4013}
4014
4015impl ::std::fmt::Debug for GtkMediaStreamClass {
4016    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4017        f.debug_struct(&format!("GtkMediaStreamClass @ {self:p}"))
4018            .field("parent_class", &self.parent_class)
4019            .field("play", &self.play)
4020            .field("pause", &self.pause)
4021            .field("seek", &self.seek)
4022            .field("update_audio", &self.update_audio)
4023            .field("realize", &self.realize)
4024            .field("unrealize", &self.unrealize)
4025            .field("_gtk_reserved1", &self._gtk_reserved1)
4026            .field("_gtk_reserved2", &self._gtk_reserved2)
4027            .field("_gtk_reserved3", &self._gtk_reserved3)
4028            .field("_gtk_reserved4", &self._gtk_reserved4)
4029            .field("_gtk_reserved5", &self._gtk_reserved5)
4030            .field("_gtk_reserved6", &self._gtk_reserved6)
4031            .field("_gtk_reserved7", &self._gtk_reserved7)
4032            .field("_gtk_reserved8", &self._gtk_reserved8)
4033            .finish()
4034    }
4035}
4036
4037#[repr(C)]
4038#[allow(dead_code)]
4039pub struct _GtkMessageDialogClass {
4040    _data: [u8; 0],
4041    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4042}
4043
4044pub type GtkMessageDialogClass = _GtkMessageDialogClass;
4045
4046#[repr(C)]
4047#[allow(dead_code)]
4048pub struct _GtkMnemonicActionClass {
4049    _data: [u8; 0],
4050    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4051}
4052
4053pub type GtkMnemonicActionClass = _GtkMnemonicActionClass;
4054
4055#[repr(C)]
4056#[allow(dead_code)]
4057pub struct _GtkMnemonicTriggerClass {
4058    _data: [u8; 0],
4059    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4060}
4061
4062pub type GtkMnemonicTriggerClass = _GtkMnemonicTriggerClass;
4063
4064#[derive(Copy, Clone)]
4065#[repr(C)]
4066pub struct GtkMountOperationClass {
4067    pub parent_class: gio::GMountOperationClass,
4068    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4069    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4070    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4071    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4072}
4073
4074impl ::std::fmt::Debug for GtkMountOperationClass {
4075    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4076        f.debug_struct(&format!("GtkMountOperationClass @ {self:p}"))
4077            .field("parent_class", &self.parent_class)
4078            .field("_gtk_reserved1", &self._gtk_reserved1)
4079            .field("_gtk_reserved2", &self._gtk_reserved2)
4080            .field("_gtk_reserved3", &self._gtk_reserved3)
4081            .field("_gtk_reserved4", &self._gtk_reserved4)
4082            .finish()
4083    }
4084}
4085
4086#[repr(C)]
4087#[allow(dead_code)]
4088pub struct _GtkMountOperationPrivate {
4089    _data: [u8; 0],
4090    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4091}
4092
4093pub type GtkMountOperationPrivate = _GtkMountOperationPrivate;
4094
4095#[repr(C)]
4096#[allow(dead_code)]
4097pub struct _GtkMultiFilterClass {
4098    _data: [u8; 0],
4099    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4100}
4101
4102pub type GtkMultiFilterClass = _GtkMultiFilterClass;
4103
4104#[derive(Copy, Clone)]
4105#[repr(C)]
4106pub struct GtkMultiSelectionClass {
4107    pub parent_class: gobject::GObjectClass,
4108}
4109
4110impl ::std::fmt::Debug for GtkMultiSelectionClass {
4111    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4112        f.debug_struct(&format!("GtkMultiSelectionClass @ {self:p}"))
4113            .field("parent_class", &self.parent_class)
4114            .finish()
4115    }
4116}
4117
4118#[derive(Copy, Clone)]
4119#[repr(C)]
4120pub struct GtkMultiSorterClass {
4121    pub parent_class: GtkSorterClass,
4122}
4123
4124impl ::std::fmt::Debug for GtkMultiSorterClass {
4125    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4126        f.debug_struct(&format!("GtkMultiSorterClass @ {self:p}"))
4127            .field("parent_class", &self.parent_class)
4128            .finish()
4129    }
4130}
4131
4132#[repr(C)]
4133#[allow(dead_code)]
4134pub struct _GtkNamedActionClass {
4135    _data: [u8; 0],
4136    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4137}
4138
4139pub type GtkNamedActionClass = _GtkNamedActionClass;
4140
4141#[derive(Copy, Clone)]
4142#[repr(C)]
4143pub struct GtkNativeDialogClass {
4144    pub parent_class: gobject::GObjectClass,
4145    pub response: Option<unsafe extern "C" fn(*mut GtkNativeDialog, GtkResponseType)>,
4146    pub show: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
4147    pub hide: Option<unsafe extern "C" fn(*mut GtkNativeDialog)>,
4148    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4149    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4150    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4151    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4152}
4153
4154impl ::std::fmt::Debug for GtkNativeDialogClass {
4155    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4156        f.debug_struct(&format!("GtkNativeDialogClass @ {self:p}"))
4157            .field("response", &self.response)
4158            .field("show", &self.show)
4159            .field("hide", &self.hide)
4160            .field("_gtk_reserved1", &self._gtk_reserved1)
4161            .field("_gtk_reserved2", &self._gtk_reserved2)
4162            .field("_gtk_reserved3", &self._gtk_reserved3)
4163            .field("_gtk_reserved4", &self._gtk_reserved4)
4164            .finish()
4165    }
4166}
4167
4168#[repr(C)]
4169#[allow(dead_code)]
4170pub struct _GtkNativeInterface {
4171    _data: [u8; 0],
4172    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4173}
4174
4175pub type GtkNativeInterface = _GtkNativeInterface;
4176
4177#[repr(C)]
4178#[allow(dead_code)]
4179pub struct _GtkNeverTriggerClass {
4180    _data: [u8; 0],
4181    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4182}
4183
4184pub type GtkNeverTriggerClass = _GtkNeverTriggerClass;
4185
4186#[derive(Copy, Clone)]
4187#[repr(C)]
4188pub struct GtkNoSelectionClass {
4189    pub parent_class: gobject::GObjectClass,
4190}
4191
4192impl ::std::fmt::Debug for GtkNoSelectionClass {
4193    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4194        f.debug_struct(&format!("GtkNoSelectionClass @ {self:p}"))
4195            .field("parent_class", &self.parent_class)
4196            .finish()
4197    }
4198}
4199
4200#[repr(C)]
4201#[allow(dead_code)]
4202pub struct _GtkNothingActionClass {
4203    _data: [u8; 0],
4204    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4205}
4206
4207pub type GtkNothingActionClass = _GtkNothingActionClass;
4208
4209#[derive(Copy, Clone)]
4210#[repr(C)]
4211pub struct GtkNumericSorterClass {
4212    pub parent_class: GtkSorterClass,
4213}
4214
4215impl ::std::fmt::Debug for GtkNumericSorterClass {
4216    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4217        f.debug_struct(&format!("GtkNumericSorterClass @ {self:p}"))
4218            .field("parent_class", &self.parent_class)
4219            .finish()
4220    }
4221}
4222
4223#[derive(Copy, Clone)]
4224#[repr(C)]
4225pub struct GtkOrientableIface {
4226    pub base_iface: gobject::GTypeInterface,
4227}
4228
4229impl ::std::fmt::Debug for GtkOrientableIface {
4230    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4231        f.debug_struct(&format!("GtkOrientableIface @ {self:p}"))
4232            .field("base_iface", &self.base_iface)
4233            .finish()
4234    }
4235}
4236
4237#[derive(Copy, Clone)]
4238#[repr(C)]
4239pub struct GtkOverlayLayoutChildClass {
4240    pub parent_class: GtkLayoutChildClass,
4241}
4242
4243impl ::std::fmt::Debug for GtkOverlayLayoutChildClass {
4244    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4245        f.debug_struct(&format!("GtkOverlayLayoutChildClass @ {self:p}"))
4246            .field("parent_class", &self.parent_class)
4247            .finish()
4248    }
4249}
4250
4251#[derive(Copy, Clone)]
4252#[repr(C)]
4253pub struct GtkOverlayLayoutClass {
4254    pub parent_class: GtkLayoutManagerClass,
4255}
4256
4257impl ::std::fmt::Debug for GtkOverlayLayoutClass {
4258    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4259        f.debug_struct(&format!("GtkOverlayLayoutClass @ {self:p}"))
4260            .field("parent_class", &self.parent_class)
4261            .finish()
4262    }
4263}
4264
4265#[derive(Copy, Clone)]
4266#[repr(C)]
4267pub struct GtkPadActionEntry {
4268    pub type_: GtkPadActionType,
4269    pub index: c_int,
4270    pub mode: c_int,
4271    pub label: *const c_char,
4272    pub action_name: *const c_char,
4273}
4274
4275impl ::std::fmt::Debug for GtkPadActionEntry {
4276    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4277        f.debug_struct(&format!("GtkPadActionEntry @ {self:p}"))
4278            .field("type_", &self.type_)
4279            .field("index", &self.index)
4280            .field("mode", &self.mode)
4281            .field("label", &self.label)
4282            .field("action_name", &self.action_name)
4283            .finish()
4284    }
4285}
4286
4287#[repr(C)]
4288#[allow(dead_code)]
4289pub struct _GtkPadControllerClass {
4290    _data: [u8; 0],
4291    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4292}
4293
4294pub type GtkPadControllerClass = _GtkPadControllerClass;
4295
4296#[derive(Copy, Clone)]
4297#[repr(C)]
4298pub struct GtkPageRange {
4299    pub start: c_int,
4300    pub end: c_int,
4301}
4302
4303impl ::std::fmt::Debug for GtkPageRange {
4304    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4305        f.debug_struct(&format!("GtkPageRange @ {self:p}"))
4306            .field("start", &self.start)
4307            .field("end", &self.end)
4308            .finish()
4309    }
4310}
4311
4312#[repr(C)]
4313#[allow(dead_code)]
4314pub struct GtkPaperSize {
4315    _data: [u8; 0],
4316    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4317}
4318
4319impl ::std::fmt::Debug for GtkPaperSize {
4320    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4321        f.debug_struct(&format!("GtkPaperSize @ {self:p}")).finish()
4322    }
4323}
4324
4325#[derive(Copy, Clone)]
4326#[repr(C)]
4327pub struct GtkPasswordEntryBufferClass {
4328    pub parent_class: GtkEntryBufferClass,
4329}
4330
4331impl ::std::fmt::Debug for GtkPasswordEntryBufferClass {
4332    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4333        f.debug_struct(&format!("GtkPasswordEntryBufferClass @ {self:p}"))
4334            .field("parent_class", &self.parent_class)
4335            .finish()
4336    }
4337}
4338
4339#[repr(C)]
4340#[allow(dead_code)]
4341pub struct _GtkPasswordEntryClass {
4342    _data: [u8; 0],
4343    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4344}
4345
4346pub type GtkPasswordEntryClass = _GtkPasswordEntryClass;
4347
4348#[derive(Copy, Clone)]
4349#[repr(C)]
4350pub struct GtkPictureClass {
4351    pub parent_class: GtkWidgetClass,
4352}
4353
4354impl ::std::fmt::Debug for GtkPictureClass {
4355    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4356        f.debug_struct(&format!("GtkPictureClass @ {self:p}"))
4357            .field("parent_class", &self.parent_class)
4358            .finish()
4359    }
4360}
4361
4362#[derive(Copy, Clone)]
4363#[repr(C)]
4364pub struct GtkPopoverBinClass {
4365    pub parent_class: GtkWidgetClass,
4366}
4367
4368impl ::std::fmt::Debug for GtkPopoverBinClass {
4369    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4370        f.debug_struct(&format!("GtkPopoverBinClass @ {self:p}"))
4371            .field("parent_class", &self.parent_class)
4372            .finish()
4373    }
4374}
4375
4376#[derive(Copy, Clone)]
4377#[repr(C)]
4378pub struct GtkPopoverClass {
4379    pub parent_class: GtkWidgetClass,
4380    pub closed: Option<unsafe extern "C" fn(*mut GtkPopover)>,
4381    pub activate_default: Option<unsafe extern "C" fn(*mut GtkPopover)>,
4382    pub reserved: [gpointer; 8],
4383}
4384
4385impl ::std::fmt::Debug for GtkPopoverClass {
4386    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4387        f.debug_struct(&format!("GtkPopoverClass @ {self:p}"))
4388            .field("parent_class", &self.parent_class)
4389            .field("closed", &self.closed)
4390            .field("activate_default", &self.activate_default)
4391            .finish()
4392    }
4393}
4394
4395#[repr(C)]
4396#[allow(dead_code)]
4397pub struct _GtkPrintBackend {
4398    _data: [u8; 0],
4399    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4400}
4401
4402pub type GtkPrintBackend = _GtkPrintBackend;
4403
4404#[derive(Copy, Clone)]
4405#[repr(C)]
4406pub struct GtkPrintDialogClass {
4407    pub parent_class: gobject::GObjectClass,
4408}
4409
4410impl ::std::fmt::Debug for GtkPrintDialogClass {
4411    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4412        f.debug_struct(&format!("GtkPrintDialogClass @ {self:p}"))
4413            .field("parent_class", &self.parent_class)
4414            .finish()
4415    }
4416}
4417
4418#[derive(Copy, Clone)]
4419#[repr(C)]
4420pub struct GtkPrintOperationClass {
4421    pub parent_class: gobject::GObjectClass,
4422    pub done: Option<unsafe extern "C" fn(*mut GtkPrintOperation, GtkPrintOperationResult)>,
4423    pub begin_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
4424    pub paginate:
4425        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext) -> gboolean>,
4426    pub request_page_setup: Option<
4427        unsafe extern "C" fn(
4428            *mut GtkPrintOperation,
4429            *mut GtkPrintContext,
4430            c_int,
4431            *mut GtkPageSetup,
4432        ),
4433    >,
4434    pub draw_page:
4435        Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext, c_int)>,
4436    pub end_print: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkPrintContext)>,
4437    pub status_changed: Option<unsafe extern "C" fn(*mut GtkPrintOperation)>,
4438    pub create_custom_widget:
4439        Option<unsafe extern "C" fn(*mut GtkPrintOperation) -> *mut GtkWidget>,
4440    pub custom_widget_apply: Option<unsafe extern "C" fn(*mut GtkPrintOperation, *mut GtkWidget)>,
4441    pub preview: Option<
4442        unsafe extern "C" fn(
4443            *mut GtkPrintOperation,
4444            *mut GtkPrintOperationPreview,
4445            *mut GtkPrintContext,
4446            *mut GtkWindow,
4447        ) -> gboolean,
4448    >,
4449    pub update_custom_widget: Option<
4450        unsafe extern "C" fn(
4451            *mut GtkPrintOperation,
4452            *mut GtkWidget,
4453            *mut GtkPageSetup,
4454            *mut GtkPrintSettings,
4455        ),
4456    >,
4457    pub padding: [gpointer; 8],
4458}
4459
4460impl ::std::fmt::Debug for GtkPrintOperationClass {
4461    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4462        f.debug_struct(&format!("GtkPrintOperationClass @ {self:p}"))
4463            .field("parent_class", &self.parent_class)
4464            .field("done", &self.done)
4465            .field("begin_print", &self.begin_print)
4466            .field("paginate", &self.paginate)
4467            .field("request_page_setup", &self.request_page_setup)
4468            .field("draw_page", &self.draw_page)
4469            .field("end_print", &self.end_print)
4470            .field("status_changed", &self.status_changed)
4471            .field("create_custom_widget", &self.create_custom_widget)
4472            .field("custom_widget_apply", &self.custom_widget_apply)
4473            .field("preview", &self.preview)
4474            .field("update_custom_widget", &self.update_custom_widget)
4475            .finish()
4476    }
4477}
4478
4479#[derive(Copy, Clone)]
4480#[repr(C)]
4481pub struct GtkPrintOperationPreviewIface {
4482    pub g_iface: gobject::GTypeInterface,
4483    pub ready: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, *mut GtkPrintContext)>,
4484    pub got_page_size: Option<
4485        unsafe extern "C" fn(
4486            *mut GtkPrintOperationPreview,
4487            *mut GtkPrintContext,
4488            *mut GtkPageSetup,
4489        ),
4490    >,
4491    pub render_page: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int)>,
4492    pub is_selected: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview, c_int) -> gboolean>,
4493    pub end_preview: Option<unsafe extern "C" fn(*mut GtkPrintOperationPreview)>,
4494    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4495    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4496    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
4497    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
4498    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
4499    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
4500    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
4501    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
4502}
4503
4504impl ::std::fmt::Debug for GtkPrintOperationPreviewIface {
4505    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4506        f.debug_struct(&format!("GtkPrintOperationPreviewIface @ {self:p}"))
4507            .field("g_iface", &self.g_iface)
4508            .field("ready", &self.ready)
4509            .field("got_page_size", &self.got_page_size)
4510            .field("render_page", &self.render_page)
4511            .field("is_selected", &self.is_selected)
4512            .field("end_preview", &self.end_preview)
4513            .field("_gtk_reserved1", &self._gtk_reserved1)
4514            .field("_gtk_reserved2", &self._gtk_reserved2)
4515            .field("_gtk_reserved3", &self._gtk_reserved3)
4516            .field("_gtk_reserved4", &self._gtk_reserved4)
4517            .field("_gtk_reserved5", &self._gtk_reserved5)
4518            .field("_gtk_reserved6", &self._gtk_reserved6)
4519            .field("_gtk_reserved7", &self._gtk_reserved7)
4520            .field("_gtk_reserved8", &self._gtk_reserved8)
4521            .finish()
4522    }
4523}
4524
4525#[repr(C)]
4526#[allow(dead_code)]
4527pub struct _GtkPrintOperationPrivate {
4528    _data: [u8; 0],
4529    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4530}
4531
4532pub type GtkPrintOperationPrivate = _GtkPrintOperationPrivate;
4533
4534#[repr(C)]
4535#[allow(dead_code)]
4536pub struct GtkPrintSetup {
4537    _data: [u8; 0],
4538    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4539}
4540
4541impl ::std::fmt::Debug for GtkPrintSetup {
4542    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4543        f.debug_struct(&format!("GtkPrintSetup @ {self:p}"))
4544            .finish()
4545    }
4546}
4547
4548#[derive(Copy, Clone)]
4549#[repr(C)]
4550pub struct GtkRangeClass {
4551    pub parent_class: GtkWidgetClass,
4552    pub value_changed: Option<unsafe extern "C" fn(*mut GtkRange)>,
4553    pub adjust_bounds: Option<unsafe extern "C" fn(*mut GtkRange, c_double)>,
4554    pub move_slider: Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType)>,
4555    pub get_range_border: Option<unsafe extern "C" fn(*mut GtkRange, *mut GtkBorder)>,
4556    pub change_value:
4557        Option<unsafe extern "C" fn(*mut GtkRange, GtkScrollType, c_double) -> gboolean>,
4558    pub padding: [gpointer; 8],
4559}
4560
4561impl ::std::fmt::Debug for GtkRangeClass {
4562    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4563        f.debug_struct(&format!("GtkRangeClass @ {self:p}"))
4564            .field("parent_class", &self.parent_class)
4565            .field("value_changed", &self.value_changed)
4566            .field("adjust_bounds", &self.adjust_bounds)
4567            .field("move_slider", &self.move_slider)
4568            .field("get_range_border", &self.get_range_border)
4569            .field("change_value", &self.change_value)
4570            .finish()
4571    }
4572}
4573
4574#[derive(Copy, Clone)]
4575#[repr(C)]
4576pub struct GtkRecentData {
4577    pub display_name: *mut c_char,
4578    pub description: *mut c_char,
4579    pub mime_type: *mut c_char,
4580    pub app_name: *mut c_char,
4581    pub app_exec: *mut c_char,
4582    pub groups: *mut *mut c_char,
4583    pub is_private: gboolean,
4584}
4585
4586impl ::std::fmt::Debug for GtkRecentData {
4587    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4588        f.debug_struct(&format!("GtkRecentData @ {self:p}"))
4589            .field("display_name", &self.display_name)
4590            .field("description", &self.description)
4591            .field("mime_type", &self.mime_type)
4592            .field("app_name", &self.app_name)
4593            .field("app_exec", &self.app_exec)
4594            .field("groups", &self.groups)
4595            .field("is_private", &self.is_private)
4596            .finish()
4597    }
4598}
4599
4600#[repr(C)]
4601#[allow(dead_code)]
4602pub struct GtkRecentInfo {
4603    _data: [u8; 0],
4604    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4605}
4606
4607impl ::std::fmt::Debug for GtkRecentInfo {
4608    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4609        f.debug_struct(&format!("GtkRecentInfo @ {self:p}"))
4610            .finish()
4611    }
4612}
4613
4614#[derive(Copy, Clone)]
4615#[repr(C)]
4616pub struct GtkRecentManagerClass {
4617    pub parent_class: gobject::GObjectClass,
4618    pub changed: Option<unsafe extern "C" fn(*mut GtkRecentManager)>,
4619    pub _gtk_recent1: Option<unsafe extern "C" fn()>,
4620    pub _gtk_recent2: Option<unsafe extern "C" fn()>,
4621    pub _gtk_recent3: Option<unsafe extern "C" fn()>,
4622    pub _gtk_recent4: Option<unsafe extern "C" fn()>,
4623}
4624
4625impl ::std::fmt::Debug for GtkRecentManagerClass {
4626    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4627        f.debug_struct(&format!("GtkRecentManagerClass @ {self:p}"))
4628            .field("changed", &self.changed)
4629            .field("_gtk_recent1", &self._gtk_recent1)
4630            .field("_gtk_recent2", &self._gtk_recent2)
4631            .field("_gtk_recent3", &self._gtk_recent3)
4632            .field("_gtk_recent4", &self._gtk_recent4)
4633            .finish()
4634    }
4635}
4636
4637#[repr(C)]
4638#[allow(dead_code)]
4639pub struct _GtkRecentManagerPrivate {
4640    _data: [u8; 0],
4641    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4642}
4643
4644pub type GtkRecentManagerPrivate = _GtkRecentManagerPrivate;
4645
4646#[derive(Copy, Clone)]
4647#[repr(C)]
4648pub struct GtkRequestedSize {
4649    pub data: gpointer,
4650    pub minimum_size: c_int,
4651    pub natural_size: c_int,
4652}
4653
4654impl ::std::fmt::Debug for GtkRequestedSize {
4655    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4656        f.debug_struct(&format!("GtkRequestedSize @ {self:p}"))
4657            .field("data", &self.data)
4658            .field("minimum_size", &self.minimum_size)
4659            .field("natural_size", &self.natural_size)
4660            .finish()
4661    }
4662}
4663
4664#[derive(Copy, Clone)]
4665#[repr(C)]
4666pub struct GtkRequisition {
4667    pub width: c_int,
4668    pub height: c_int,
4669}
4670
4671impl ::std::fmt::Debug for GtkRequisition {
4672    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4673        f.debug_struct(&format!("GtkRequisition @ {self:p}"))
4674            .field("width", &self.width)
4675            .field("height", &self.height)
4676            .finish()
4677    }
4678}
4679
4680#[repr(C)]
4681#[allow(dead_code)]
4682pub struct _GtkRootInterface {
4683    _data: [u8; 0],
4684    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4685}
4686
4687pub type GtkRootInterface = _GtkRootInterface;
4688
4689#[derive(Copy, Clone)]
4690#[repr(C)]
4691pub struct GtkScaleButtonClass {
4692    pub parent_class: GtkWidgetClass,
4693    pub value_changed: Option<unsafe extern "C" fn(*mut GtkScaleButton, c_double)>,
4694    pub padding: [gpointer; 8],
4695}
4696
4697impl ::std::fmt::Debug for GtkScaleButtonClass {
4698    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4699        f.debug_struct(&format!("GtkScaleButtonClass @ {self:p}"))
4700            .field("parent_class", &self.parent_class)
4701            .field("value_changed", &self.value_changed)
4702            .finish()
4703    }
4704}
4705
4706#[derive(Copy, Clone)]
4707#[repr(C)]
4708pub struct GtkScaleClass {
4709    pub parent_class: GtkRangeClass,
4710    pub get_layout_offsets: Option<unsafe extern "C" fn(*mut GtkScale, *mut c_int, *mut c_int)>,
4711    pub padding: [gpointer; 8],
4712}
4713
4714impl ::std::fmt::Debug for GtkScaleClass {
4715    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4716        f.debug_struct(&format!("GtkScaleClass @ {self:p}"))
4717            .field("parent_class", &self.parent_class)
4718            .field("get_layout_offsets", &self.get_layout_offsets)
4719            .finish()
4720    }
4721}
4722
4723#[repr(C)]
4724#[allow(dead_code)]
4725pub struct GtkScrollInfo {
4726    _data: [u8; 0],
4727    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4728}
4729
4730impl ::std::fmt::Debug for GtkScrollInfo {
4731    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4732        f.debug_struct(&format!("GtkScrollInfo @ {self:p}"))
4733            .finish()
4734    }
4735}
4736
4737#[derive(Copy, Clone)]
4738#[repr(C)]
4739pub struct GtkScrollableInterface {
4740    pub base_iface: gobject::GTypeInterface,
4741    pub get_border: Option<unsafe extern "C" fn(*mut GtkScrollable, *mut GtkBorder) -> gboolean>,
4742}
4743
4744impl ::std::fmt::Debug for GtkScrollableInterface {
4745    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4746        f.debug_struct(&format!("GtkScrollableInterface @ {self:p}"))
4747            .field("base_iface", &self.base_iface)
4748            .field("get_border", &self.get_border)
4749            .finish()
4750    }
4751}
4752
4753#[derive(Copy, Clone)]
4754#[repr(C)]
4755pub struct GtkSectionModelInterface {
4756    pub g_iface: gobject::GTypeInterface,
4757    pub get_section:
4758        Option<unsafe extern "C" fn(*mut GtkSectionModel, c_uint, *mut c_uint, *mut c_uint)>,
4759}
4760
4761impl ::std::fmt::Debug for GtkSectionModelInterface {
4762    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4763        f.debug_struct(&format!("GtkSectionModelInterface @ {self:p}"))
4764            .field("get_section", &self.get_section)
4765            .finish()
4766    }
4767}
4768
4769#[derive(Copy, Clone)]
4770#[repr(C)]
4771pub struct GtkSelectionFilterModelClass {
4772    pub parent_class: gobject::GObjectClass,
4773}
4774
4775impl ::std::fmt::Debug for GtkSelectionFilterModelClass {
4776    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4777        f.debug_struct(&format!("GtkSelectionFilterModelClass @ {self:p}"))
4778            .field("parent_class", &self.parent_class)
4779            .finish()
4780    }
4781}
4782
4783#[derive(Copy, Clone)]
4784#[repr(C)]
4785pub struct GtkSelectionModelInterface {
4786    pub g_iface: gobject::GTypeInterface,
4787    pub is_selected: Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint) -> gboolean>,
4788    pub get_selection_in_range:
4789        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint) -> *mut GtkBitset>,
4790    pub select_item:
4791        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, gboolean) -> gboolean>,
4792    pub unselect_item: Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint) -> gboolean>,
4793    pub select_range:
4794        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint, gboolean) -> gboolean>,
4795    pub unselect_range:
4796        Option<unsafe extern "C" fn(*mut GtkSelectionModel, c_uint, c_uint) -> gboolean>,
4797    pub select_all: Option<unsafe extern "C" fn(*mut GtkSelectionModel) -> gboolean>,
4798    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkSelectionModel) -> gboolean>,
4799    pub set_selection: Option<
4800        unsafe extern "C" fn(*mut GtkSelectionModel, *mut GtkBitset, *mut GtkBitset) -> gboolean,
4801    >,
4802}
4803
4804impl ::std::fmt::Debug for GtkSelectionModelInterface {
4805    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4806        f.debug_struct(&format!("GtkSelectionModelInterface @ {self:p}"))
4807            .field("is_selected", &self.is_selected)
4808            .field("get_selection_in_range", &self.get_selection_in_range)
4809            .field("select_item", &self.select_item)
4810            .field("unselect_item", &self.unselect_item)
4811            .field("select_range", &self.select_range)
4812            .field("unselect_range", &self.unselect_range)
4813            .field("select_all", &self.select_all)
4814            .field("unselect_all", &self.unselect_all)
4815            .field("set_selection", &self.set_selection)
4816            .finish()
4817    }
4818}
4819
4820#[repr(C)]
4821#[allow(dead_code)]
4822pub struct _GtkShortcutActionClass {
4823    _data: [u8; 0],
4824    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4825}
4826
4827pub type GtkShortcutActionClass = _GtkShortcutActionClass;
4828
4829#[derive(Copy, Clone)]
4830#[repr(C)]
4831pub struct GtkShortcutClass {
4832    pub parent_class: gobject::GObjectClass,
4833}
4834
4835impl ::std::fmt::Debug for GtkShortcutClass {
4836    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4837        f.debug_struct(&format!("GtkShortcutClass @ {self:p}"))
4838            .field("parent_class", &self.parent_class)
4839            .finish()
4840    }
4841}
4842
4843#[repr(C)]
4844#[allow(dead_code)]
4845pub struct _GtkShortcutControllerClass {
4846    _data: [u8; 0],
4847    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4848}
4849
4850pub type GtkShortcutControllerClass = _GtkShortcutControllerClass;
4851
4852#[repr(C)]
4853#[allow(dead_code)]
4854pub struct _GtkShortcutLabelClass {
4855    _data: [u8; 0],
4856    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4857}
4858
4859pub type GtkShortcutLabelClass = _GtkShortcutLabelClass;
4860
4861#[derive(Copy, Clone)]
4862#[repr(C)]
4863pub struct GtkShortcutManagerInterface {
4864    pub g_iface: gobject::GTypeInterface,
4865    pub add_controller:
4866        Option<unsafe extern "C" fn(*mut GtkShortcutManager, *mut GtkShortcutController)>,
4867    pub remove_controller:
4868        Option<unsafe extern "C" fn(*mut GtkShortcutManager, *mut GtkShortcutController)>,
4869}
4870
4871impl ::std::fmt::Debug for GtkShortcutManagerInterface {
4872    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4873        f.debug_struct(&format!("GtkShortcutManagerInterface @ {self:p}"))
4874            .field("add_controller", &self.add_controller)
4875            .field("remove_controller", &self.remove_controller)
4876            .finish()
4877    }
4878}
4879
4880#[repr(C)]
4881#[allow(dead_code)]
4882pub struct _GtkShortcutTriggerClass {
4883    _data: [u8; 0],
4884    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4885}
4886
4887pub type GtkShortcutTriggerClass = _GtkShortcutTriggerClass;
4888
4889#[repr(C)]
4890#[allow(dead_code)]
4891pub struct _GtkShortcutsGroupClass {
4892    _data: [u8; 0],
4893    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4894}
4895
4896pub type GtkShortcutsGroupClass = _GtkShortcutsGroupClass;
4897
4898#[repr(C)]
4899#[allow(dead_code)]
4900pub struct _GtkShortcutsSectionClass {
4901    _data: [u8; 0],
4902    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4903}
4904
4905pub type GtkShortcutsSectionClass = _GtkShortcutsSectionClass;
4906
4907#[repr(C)]
4908#[allow(dead_code)]
4909pub struct _GtkShortcutsShortcutClass {
4910    _data: [u8; 0],
4911    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4912}
4913
4914pub type GtkShortcutsShortcutClass = _GtkShortcutsShortcutClass;
4915
4916#[repr(C)]
4917#[allow(dead_code)]
4918pub struct _GtkSignalActionClass {
4919    _data: [u8; 0],
4920    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4921}
4922
4923pub type GtkSignalActionClass = _GtkSignalActionClass;
4924
4925#[repr(C)]
4926#[allow(dead_code)]
4927pub struct _GtkSignalListItemFactoryClass {
4928    _data: [u8; 0],
4929    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4930}
4931
4932pub type GtkSignalListItemFactoryClass = _GtkSignalListItemFactoryClass;
4933
4934#[derive(Copy, Clone)]
4935#[repr(C)]
4936pub struct GtkSingleSelectionClass {
4937    pub parent_class: gobject::GObjectClass,
4938}
4939
4940impl ::std::fmt::Debug for GtkSingleSelectionClass {
4941    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4942        f.debug_struct(&format!("GtkSingleSelectionClass @ {self:p}"))
4943            .field("parent_class", &self.parent_class)
4944            .finish()
4945    }
4946}
4947
4948#[derive(Copy, Clone)]
4949#[repr(C)]
4950pub struct GtkSliceListModelClass {
4951    pub parent_class: gobject::GObjectClass,
4952}
4953
4954impl ::std::fmt::Debug for GtkSliceListModelClass {
4955    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4956        f.debug_struct(&format!("GtkSliceListModelClass @ {self:p}"))
4957            .field("parent_class", &self.parent_class)
4958            .finish()
4959    }
4960}
4961
4962#[repr(C)]
4963#[allow(dead_code)]
4964pub struct _GtkSnapshotClass {
4965    _data: [u8; 0],
4966    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4967}
4968
4969pub type GtkSnapshotClass = _GtkSnapshotClass;
4970
4971#[derive(Copy, Clone)]
4972#[repr(C)]
4973pub struct GtkSortListModelClass {
4974    pub parent_class: gobject::GObjectClass,
4975}
4976
4977impl ::std::fmt::Debug for GtkSortListModelClass {
4978    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4979        f.debug_struct(&format!("GtkSortListModelClass @ {self:p}"))
4980            .field("parent_class", &self.parent_class)
4981            .finish()
4982    }
4983}
4984
4985#[derive(Copy, Clone)]
4986#[repr(C)]
4987pub struct GtkSorterClass {
4988    pub parent_class: gobject::GObjectClass,
4989    pub compare: Option<
4990        unsafe extern "C" fn(
4991            *mut GtkSorter,
4992            *mut gobject::GObject,
4993            *mut gobject::GObject,
4994        ) -> GtkOrdering,
4995    >,
4996    pub get_order: Option<unsafe extern "C" fn(*mut GtkSorter) -> GtkSorterOrder>,
4997    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
4998    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
4999    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5000    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5001    pub _gtk_reserved5: Option<unsafe extern "C" fn()>,
5002    pub _gtk_reserved6: Option<unsafe extern "C" fn()>,
5003    pub _gtk_reserved7: Option<unsafe extern "C" fn()>,
5004    pub _gtk_reserved8: Option<unsafe extern "C" fn()>,
5005}
5006
5007impl ::std::fmt::Debug for GtkSorterClass {
5008    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5009        f.debug_struct(&format!("GtkSorterClass @ {self:p}"))
5010            .field("parent_class", &self.parent_class)
5011            .field("compare", &self.compare)
5012            .field("get_order", &self.get_order)
5013            .field("_gtk_reserved1", &self._gtk_reserved1)
5014            .field("_gtk_reserved2", &self._gtk_reserved2)
5015            .field("_gtk_reserved3", &self._gtk_reserved3)
5016            .field("_gtk_reserved4", &self._gtk_reserved4)
5017            .field("_gtk_reserved5", &self._gtk_reserved5)
5018            .field("_gtk_reserved6", &self._gtk_reserved6)
5019            .field("_gtk_reserved7", &self._gtk_reserved7)
5020            .field("_gtk_reserved8", &self._gtk_reserved8)
5021            .finish()
5022    }
5023}
5024
5025#[derive(Copy, Clone)]
5026#[repr(C)]
5027pub struct GtkStringFilterClass {
5028    pub parent_class: GtkFilterClass,
5029}
5030
5031impl ::std::fmt::Debug for GtkStringFilterClass {
5032    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5033        f.debug_struct(&format!("GtkStringFilterClass @ {self:p}"))
5034            .field("parent_class", &self.parent_class)
5035            .finish()
5036    }
5037}
5038
5039#[derive(Copy, Clone)]
5040#[repr(C)]
5041pub struct GtkStringListClass {
5042    pub parent_class: gobject::GObjectClass,
5043}
5044
5045impl ::std::fmt::Debug for GtkStringListClass {
5046    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5047        f.debug_struct(&format!("GtkStringListClass @ {self:p}"))
5048            .field("parent_class", &self.parent_class)
5049            .finish()
5050    }
5051}
5052
5053#[derive(Copy, Clone)]
5054#[repr(C)]
5055pub struct GtkStringObjectClass {
5056    pub parent_class: gobject::GObjectClass,
5057}
5058
5059impl ::std::fmt::Debug for GtkStringObjectClass {
5060    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5061        f.debug_struct(&format!("GtkStringObjectClass @ {self:p}"))
5062            .field("parent_class", &self.parent_class)
5063            .finish()
5064    }
5065}
5066
5067#[derive(Copy, Clone)]
5068#[repr(C)]
5069pub struct GtkStringSorterClass {
5070    pub parent_class: GtkSorterClass,
5071}
5072
5073impl ::std::fmt::Debug for GtkStringSorterClass {
5074    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5075        f.debug_struct(&format!("GtkStringSorterClass @ {self:p}"))
5076            .field("parent_class", &self.parent_class)
5077            .finish()
5078    }
5079}
5080
5081#[derive(Copy, Clone)]
5082#[repr(C)]
5083pub struct GtkStyleContextClass {
5084    pub parent_class: gobject::GObjectClass,
5085    pub changed: Option<unsafe extern "C" fn(*mut GtkStyleContext)>,
5086    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5087    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5088    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5089    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5090}
5091
5092impl ::std::fmt::Debug for GtkStyleContextClass {
5093    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5094        f.debug_struct(&format!("GtkStyleContextClass @ {self:p}"))
5095            .field("parent_class", &self.parent_class)
5096            .field("changed", &self.changed)
5097            .field("_gtk_reserved1", &self._gtk_reserved1)
5098            .field("_gtk_reserved2", &self._gtk_reserved2)
5099            .field("_gtk_reserved3", &self._gtk_reserved3)
5100            .field("_gtk_reserved4", &self._gtk_reserved4)
5101            .finish()
5102    }
5103}
5104
5105#[derive(Copy, Clone)]
5106#[repr(C)]
5107pub struct GtkSvgClass {
5108    pub parent_class: gobject::GObjectClass,
5109}
5110
5111impl ::std::fmt::Debug for GtkSvgClass {
5112    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5113        f.debug_struct(&format!("GtkSvgClass @ {self:p}"))
5114            .field("parent_class", &self.parent_class)
5115            .finish()
5116    }
5117}
5118
5119#[derive(Copy, Clone)]
5120#[repr(C)]
5121pub struct GtkSvgLocation {
5122    pub bytes: size_t,
5123    pub lines: size_t,
5124    pub line_chars: size_t,
5125}
5126
5127impl ::std::fmt::Debug for GtkSvgLocation {
5128    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5129        f.debug_struct(&format!("GtkSvgLocation @ {self:p}"))
5130            .field("bytes", &self.bytes)
5131            .field("lines", &self.lines)
5132            .field("line_chars", &self.line_chars)
5133            .finish()
5134    }
5135}
5136
5137#[derive(Copy, Clone)]
5138#[repr(C)]
5139pub struct GtkSvgWidgetClass {
5140    pub parent_class: GtkWidgetClass,
5141}
5142
5143impl ::std::fmt::Debug for GtkSvgWidgetClass {
5144    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5145        f.debug_struct(&format!("GtkSvgWidgetClass @ {self:p}"))
5146            .field("parent_class", &self.parent_class)
5147            .finish()
5148    }
5149}
5150
5151#[derive(Copy, Clone)]
5152#[repr(C)]
5153pub struct GtkSymbolicPaintableInterface {
5154    pub g_iface: gobject::GTypeInterface,
5155    pub snapshot_symbolic: Option<
5156        unsafe extern "C" fn(
5157            *mut GtkSymbolicPaintable,
5158            *mut gdk::GdkSnapshot,
5159            c_double,
5160            c_double,
5161            *const gdk::GdkRGBA,
5162            size_t,
5163        ),
5164    >,
5165    pub snapshot_with_weight: Option<
5166        unsafe extern "C" fn(
5167            *mut GtkSymbolicPaintable,
5168            *mut gdk::GdkSnapshot,
5169            c_double,
5170            c_double,
5171            *const gdk::GdkRGBA,
5172            size_t,
5173            c_double,
5174        ),
5175    >,
5176}
5177
5178impl ::std::fmt::Debug for GtkSymbolicPaintableInterface {
5179    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5180        f.debug_struct(&format!("GtkSymbolicPaintableInterface @ {self:p}"))
5181            .field("snapshot_symbolic", &self.snapshot_symbolic)
5182            .field("snapshot_with_weight", &self.snapshot_with_weight)
5183            .finish()
5184    }
5185}
5186
5187#[derive(Copy, Clone)]
5188#[repr(C)]
5189pub struct GtkTextBufferClass {
5190    pub parent_class: gobject::GObjectClass,
5191    pub insert_text:
5192        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *const c_char, c_int)>,
5193    pub insert_paintable:
5194        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut gdk::GdkPaintable)>,
5195    pub insert_child_anchor:
5196        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextChildAnchor)>,
5197    pub delete_range:
5198        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextIter, *mut GtkTextIter)>,
5199    pub changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5200    pub modified_changed: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5201    pub mark_set:
5202        Option<unsafe extern "C" fn(*mut GtkTextBuffer, *const GtkTextIter, *mut GtkTextMark)>,
5203    pub mark_deleted: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut GtkTextMark)>,
5204    pub apply_tag: Option<
5205        unsafe extern "C" fn(
5206            *mut GtkTextBuffer,
5207            *mut GtkTextTag,
5208            *const GtkTextIter,
5209            *const GtkTextIter,
5210        ),
5211    >,
5212    pub remove_tag: Option<
5213        unsafe extern "C" fn(
5214            *mut GtkTextBuffer,
5215            *mut GtkTextTag,
5216            *const GtkTextIter,
5217            *const GtkTextIter,
5218        ),
5219    >,
5220    pub begin_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5221    pub end_user_action: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5222    pub paste_done: Option<unsafe extern "C" fn(*mut GtkTextBuffer, *mut gdk::GdkClipboard)>,
5223    pub undo: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5224    pub redo: Option<unsafe extern "C" fn(*mut GtkTextBuffer)>,
5225    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5226    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5227    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5228    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5229}
5230
5231impl ::std::fmt::Debug for GtkTextBufferClass {
5232    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5233        f.debug_struct(&format!("GtkTextBufferClass @ {self:p}"))
5234            .field("parent_class", &self.parent_class)
5235            .field("insert_text", &self.insert_text)
5236            .field("insert_paintable", &self.insert_paintable)
5237            .field("insert_child_anchor", &self.insert_child_anchor)
5238            .field("delete_range", &self.delete_range)
5239            .field("changed", &self.changed)
5240            .field("modified_changed", &self.modified_changed)
5241            .field("mark_set", &self.mark_set)
5242            .field("mark_deleted", &self.mark_deleted)
5243            .field("apply_tag", &self.apply_tag)
5244            .field("remove_tag", &self.remove_tag)
5245            .field("begin_user_action", &self.begin_user_action)
5246            .field("end_user_action", &self.end_user_action)
5247            .field("paste_done", &self.paste_done)
5248            .field("undo", &self.undo)
5249            .field("redo", &self.redo)
5250            .field("_gtk_reserved1", &self._gtk_reserved1)
5251            .field("_gtk_reserved2", &self._gtk_reserved2)
5252            .field("_gtk_reserved3", &self._gtk_reserved3)
5253            .field("_gtk_reserved4", &self._gtk_reserved4)
5254            .finish()
5255    }
5256}
5257
5258#[repr(C)]
5259#[allow(dead_code)]
5260pub struct _GtkTextBufferPrivate {
5261    _data: [u8; 0],
5262    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5263}
5264
5265pub type GtkTextBufferPrivate = _GtkTextBufferPrivate;
5266
5267#[derive(Copy, Clone)]
5268#[repr(C)]
5269pub struct GtkTextChildAnchorClass {
5270    pub parent_class: gobject::GObjectClass,
5271    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
5272    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
5273    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
5274    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
5275}
5276
5277impl ::std::fmt::Debug for GtkTextChildAnchorClass {
5278    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5279        f.debug_struct(&format!("GtkTextChildAnchorClass @ {self:p}"))
5280            .field("parent_class", &self.parent_class)
5281            .field("_gtk_reserved1", &self._gtk_reserved1)
5282            .field("_gtk_reserved2", &self._gtk_reserved2)
5283            .field("_gtk_reserved3", &self._gtk_reserved3)
5284            .field("_gtk_reserved4", &self._gtk_reserved4)
5285            .finish()
5286    }
5287}
5288
5289#[derive(Copy, Clone)]
5290#[repr(C)]
5291pub struct GtkTextIter {
5292    pub dummy1: gpointer,
5293    pub dummy2: gpointer,
5294    pub dummy3: c_int,
5295    pub dummy4: c_int,
5296    pub dummy5: c_int,
5297    pub dummy6: c_int,
5298    pub dummy7: c_int,
5299    pub dummy8: c_int,
5300    pub dummy9: gpointer,
5301    pub dummy10: gpointer,
5302    pub dummy11: c_int,
5303    pub dummy12: c_int,
5304    pub dummy13: c_int,
5305    pub dummy14: gpointer,
5306}
5307
5308impl ::std::fmt::Debug for GtkTextIter {
5309    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5310        f.debug_struct(&format!("GtkTextIter @ {self:p}")).finish()
5311    }
5312}
5313
5314#[derive(Copy, Clone)]
5315#[repr(C)]
5316pub struct GtkTextMarkClass {
5317    pub parent_class: gobject::GObjectClass,
5318    pub padding: [gpointer; 8],
5319}
5320
5321impl ::std::fmt::Debug for GtkTextMarkClass {
5322    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5323        f.debug_struct(&format!("GtkTextMarkClass @ {self:p}"))
5324            .field("parent_class", &self.parent_class)
5325            .finish()
5326    }
5327}
5328
5329#[derive(Copy, Clone)]
5330#[repr(C)]
5331pub struct GtkTextTagClass {
5332    pub parent_class: gobject::GObjectClass,
5333    pub padding: [gpointer; 8],
5334}
5335
5336impl ::std::fmt::Debug for GtkTextTagClass {
5337    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5338        f.debug_struct(&format!("GtkTextTagClass @ {self:p}"))
5339            .field("parent_class", &self.parent_class)
5340            .finish()
5341    }
5342}
5343
5344#[repr(C)]
5345#[allow(dead_code)]
5346pub struct _GtkTextTagPrivate {
5347    _data: [u8; 0],
5348    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5349}
5350
5351pub type GtkTextTagPrivate = _GtkTextTagPrivate;
5352
5353#[derive(Copy, Clone)]
5354#[repr(C)]
5355pub struct GtkTextViewClass {
5356    pub parent_class: GtkWidgetClass,
5357    pub move_cursor:
5358        Option<unsafe extern "C" fn(*mut GtkTextView, GtkMovementStep, c_int, gboolean)>,
5359    pub set_anchor: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5360    pub insert_at_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, *const c_char)>,
5361    pub delete_from_cursor: Option<unsafe extern "C" fn(*mut GtkTextView, GtkDeleteType, c_int)>,
5362    pub backspace: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5363    pub cut_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5364    pub copy_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5365    pub paste_clipboard: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5366    pub toggle_overwrite: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5367    pub create_buffer: Option<unsafe extern "C" fn(*mut GtkTextView) -> *mut GtkTextBuffer>,
5368    pub snapshot_layer:
5369        Option<unsafe extern "C" fn(*mut GtkTextView, GtkTextViewLayer, *mut GtkSnapshot)>,
5370    pub extend_selection: Option<
5371        unsafe extern "C" fn(
5372            *mut GtkTextView,
5373            GtkTextExtendSelection,
5374            *const GtkTextIter,
5375            *mut GtkTextIter,
5376            *mut GtkTextIter,
5377        ) -> gboolean,
5378    >,
5379    pub insert_emoji: Option<unsafe extern "C" fn(*mut GtkTextView)>,
5380    pub padding: [gpointer; 8],
5381}
5382
5383impl ::std::fmt::Debug for GtkTextViewClass {
5384    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5385        f.debug_struct(&format!("GtkTextViewClass @ {self:p}"))
5386            .field("parent_class", &self.parent_class)
5387            .field("move_cursor", &self.move_cursor)
5388            .field("set_anchor", &self.set_anchor)
5389            .field("insert_at_cursor", &self.insert_at_cursor)
5390            .field("delete_from_cursor", &self.delete_from_cursor)
5391            .field("backspace", &self.backspace)
5392            .field("cut_clipboard", &self.cut_clipboard)
5393            .field("copy_clipboard", &self.copy_clipboard)
5394            .field("paste_clipboard", &self.paste_clipboard)
5395            .field("toggle_overwrite", &self.toggle_overwrite)
5396            .field("create_buffer", &self.create_buffer)
5397            .field("snapshot_layer", &self.snapshot_layer)
5398            .field("extend_selection", &self.extend_selection)
5399            .field("insert_emoji", &self.insert_emoji)
5400            .finish()
5401    }
5402}
5403
5404#[repr(C)]
5405#[allow(dead_code)]
5406pub struct _GtkTextViewPrivate {
5407    _data: [u8; 0],
5408    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5409}
5410
5411pub type GtkTextViewPrivate = _GtkTextViewPrivate;
5412
5413#[derive(Copy, Clone)]
5414#[repr(C)]
5415pub struct GtkToggleButtonClass {
5416    pub parent_class: GtkButtonClass,
5417    pub toggled: Option<unsafe extern "C" fn(*mut GtkToggleButton)>,
5418    pub padding: [gpointer; 8],
5419}
5420
5421impl ::std::fmt::Debug for GtkToggleButtonClass {
5422    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5423        f.debug_struct(&format!("GtkToggleButtonClass @ {self:p}"))
5424            .field("parent_class", &self.parent_class)
5425            .field("toggled", &self.toggled)
5426            .finish()
5427    }
5428}
5429
5430#[derive(Copy, Clone)]
5431#[repr(C)]
5432pub struct GtkTreeDragDestIface {
5433    pub g_iface: gobject::GTypeInterface,
5434    pub drag_data_received: Option<
5435        unsafe extern "C" fn(
5436            *mut GtkTreeDragDest,
5437            *mut GtkTreePath,
5438            *const gobject::GValue,
5439        ) -> gboolean,
5440    >,
5441    pub row_drop_possible: Option<
5442        unsafe extern "C" fn(
5443            *mut GtkTreeDragDest,
5444            *mut GtkTreePath,
5445            *const gobject::GValue,
5446        ) -> gboolean,
5447    >,
5448}
5449
5450impl ::std::fmt::Debug for GtkTreeDragDestIface {
5451    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5452        f.debug_struct(&format!("GtkTreeDragDestIface @ {self:p}"))
5453            .field("drag_data_received", &self.drag_data_received)
5454            .field("row_drop_possible", &self.row_drop_possible)
5455            .finish()
5456    }
5457}
5458
5459#[derive(Copy, Clone)]
5460#[repr(C)]
5461pub struct GtkTreeDragSourceIface {
5462    pub g_iface: gobject::GTypeInterface,
5463    pub row_draggable:
5464        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
5465    pub drag_data_get: Option<
5466        unsafe extern "C" fn(
5467            *mut GtkTreeDragSource,
5468            *mut GtkTreePath,
5469        ) -> *mut gdk::GdkContentProvider,
5470    >,
5471    pub drag_data_delete:
5472        Option<unsafe extern "C" fn(*mut GtkTreeDragSource, *mut GtkTreePath) -> gboolean>,
5473}
5474
5475impl ::std::fmt::Debug for GtkTreeDragSourceIface {
5476    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5477        f.debug_struct(&format!("GtkTreeDragSourceIface @ {self:p}"))
5478            .field("row_draggable", &self.row_draggable)
5479            .field("drag_data_get", &self.drag_data_get)
5480            .field("drag_data_delete", &self.drag_data_delete)
5481            .finish()
5482    }
5483}
5484
5485#[derive(Copy, Clone)]
5486#[repr(C)]
5487pub struct GtkTreeExpanderClass {
5488    pub parent_class: GtkWidgetClass,
5489}
5490
5491impl ::std::fmt::Debug for GtkTreeExpanderClass {
5492    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5493        f.debug_struct(&format!("GtkTreeExpanderClass @ {self:p}"))
5494            .field("parent_class", &self.parent_class)
5495            .finish()
5496    }
5497}
5498
5499#[derive(Copy, Clone)]
5500#[repr(C)]
5501pub struct GtkTreeIter {
5502    pub stamp: c_int,
5503    pub user_data: gpointer,
5504    pub user_data2: gpointer,
5505    pub user_data3: gpointer,
5506}
5507
5508impl ::std::fmt::Debug for GtkTreeIter {
5509    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5510        f.debug_struct(&format!("GtkTreeIter @ {self:p}"))
5511            .field("stamp", &self.stamp)
5512            .field("user_data", &self.user_data)
5513            .field("user_data2", &self.user_data2)
5514            .field("user_data3", &self.user_data3)
5515            .finish()
5516    }
5517}
5518
5519#[derive(Copy, Clone)]
5520#[repr(C)]
5521pub struct GtkTreeListModelClass {
5522    pub parent_class: gobject::GObjectClass,
5523}
5524
5525impl ::std::fmt::Debug for GtkTreeListModelClass {
5526    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5527        f.debug_struct(&format!("GtkTreeListModelClass @ {self:p}"))
5528            .field("parent_class", &self.parent_class)
5529            .finish()
5530    }
5531}
5532
5533#[derive(Copy, Clone)]
5534#[repr(C)]
5535pub struct GtkTreeListRowClass {
5536    pub parent_class: gobject::GObjectClass,
5537}
5538
5539impl ::std::fmt::Debug for GtkTreeListRowClass {
5540    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5541        f.debug_struct(&format!("GtkTreeListRowClass @ {self:p}"))
5542            .field("parent_class", &self.parent_class)
5543            .finish()
5544    }
5545}
5546
5547#[derive(Copy, Clone)]
5548#[repr(C)]
5549pub struct GtkTreeListRowSorterClass {
5550    pub parent_class: GtkSorterClass,
5551}
5552
5553impl ::std::fmt::Debug for GtkTreeListRowSorterClass {
5554    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5555        f.debug_struct(&format!("GtkTreeListRowSorterClass @ {self:p}"))
5556            .field("parent_class", &self.parent_class)
5557            .finish()
5558    }
5559}
5560
5561#[derive(Copy, Clone)]
5562#[repr(C)]
5563pub struct GtkTreeModelFilterClass {
5564    pub parent_class: gobject::GObjectClass,
5565    pub visible: Option<
5566        unsafe extern "C" fn(
5567            *mut GtkTreeModelFilter,
5568            *mut GtkTreeModel,
5569            *mut GtkTreeIter,
5570        ) -> gboolean,
5571    >,
5572    pub modify: Option<
5573        unsafe extern "C" fn(
5574            *mut GtkTreeModelFilter,
5575            *mut GtkTreeModel,
5576            *mut GtkTreeIter,
5577            *mut gobject::GValue,
5578            c_int,
5579        ),
5580    >,
5581    pub padding: [gpointer; 8],
5582}
5583
5584impl ::std::fmt::Debug for GtkTreeModelFilterClass {
5585    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5586        f.debug_struct(&format!("GtkTreeModelFilterClass @ {self:p}"))
5587            .field("parent_class", &self.parent_class)
5588            .field("visible", &self.visible)
5589            .field("modify", &self.modify)
5590            .finish()
5591    }
5592}
5593
5594#[repr(C)]
5595#[allow(dead_code)]
5596pub struct _GtkTreeModelFilterPrivate {
5597    _data: [u8; 0],
5598    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5599}
5600
5601pub type GtkTreeModelFilterPrivate = _GtkTreeModelFilterPrivate;
5602
5603#[derive(Copy, Clone)]
5604#[repr(C)]
5605pub struct GtkTreeModelIface {
5606    pub g_iface: gobject::GTypeInterface,
5607    pub row_changed:
5608        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5609    pub row_inserted:
5610        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5611    pub row_has_child_toggled:
5612        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter)>,
5613    pub row_deleted: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath)>,
5614    pub rows_reordered: Option<
5615        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreePath, *mut GtkTreeIter, *mut c_int),
5616    >,
5617    pub get_flags: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> GtkTreeModelFlags>,
5618    pub get_n_columns: Option<unsafe extern "C" fn(*mut GtkTreeModel) -> c_int>,
5619    pub get_column_type: Option<unsafe extern "C" fn(*mut GtkTreeModel, c_int) -> GType>,
5620    pub get_iter: Option<
5621        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5622    >,
5623    pub get_path:
5624        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> *mut GtkTreePath>,
5625    pub get_value: Option<
5626        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, c_int, *mut gobject::GValue),
5627    >,
5628    pub iter_next: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5629    pub iter_previous:
5630        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5631    pub iter_children: Option<
5632        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
5633    >,
5634    pub iter_has_child:
5635        Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> gboolean>,
5636    pub iter_n_children: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter) -> c_int>,
5637    pub iter_nth_child: Option<
5638        unsafe extern "C" fn(
5639            *mut GtkTreeModel,
5640            *mut GtkTreeIter,
5641            *mut GtkTreeIter,
5642            c_int,
5643        ) -> gboolean,
5644    >,
5645    pub iter_parent: Option<
5646        unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut GtkTreeIter) -> gboolean,
5647    >,
5648    pub ref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
5649    pub unref_node: Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter)>,
5650}
5651
5652impl ::std::fmt::Debug for GtkTreeModelIface {
5653    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5654        f.debug_struct(&format!("GtkTreeModelIface @ {self:p}"))
5655            .field("row_changed", &self.row_changed)
5656            .field("row_inserted", &self.row_inserted)
5657            .field("row_has_child_toggled", &self.row_has_child_toggled)
5658            .field("row_deleted", &self.row_deleted)
5659            .field("rows_reordered", &self.rows_reordered)
5660            .field("get_flags", &self.get_flags)
5661            .field("get_n_columns", &self.get_n_columns)
5662            .field("get_column_type", &self.get_column_type)
5663            .field("get_iter", &self.get_iter)
5664            .field("get_path", &self.get_path)
5665            .field("get_value", &self.get_value)
5666            .field("iter_next", &self.iter_next)
5667            .field("iter_previous", &self.iter_previous)
5668            .field("iter_children", &self.iter_children)
5669            .field("iter_has_child", &self.iter_has_child)
5670            .field("iter_n_children", &self.iter_n_children)
5671            .field("iter_nth_child", &self.iter_nth_child)
5672            .field("iter_parent", &self.iter_parent)
5673            .field("ref_node", &self.ref_node)
5674            .field("unref_node", &self.unref_node)
5675            .finish()
5676    }
5677}
5678
5679#[derive(Copy, Clone)]
5680#[repr(C)]
5681pub struct GtkTreeModelSortClass {
5682    pub parent_class: gobject::GObjectClass,
5683    pub padding: [gpointer; 8],
5684}
5685
5686impl ::std::fmt::Debug for GtkTreeModelSortClass {
5687    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5688        f.debug_struct(&format!("GtkTreeModelSortClass @ {self:p}"))
5689            .field("parent_class", &self.parent_class)
5690            .finish()
5691    }
5692}
5693
5694#[repr(C)]
5695#[allow(dead_code)]
5696pub struct _GtkTreeModelSortPrivate {
5697    _data: [u8; 0],
5698    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5699}
5700
5701pub type GtkTreeModelSortPrivate = _GtkTreeModelSortPrivate;
5702
5703#[repr(C)]
5704#[allow(dead_code)]
5705pub struct GtkTreePath {
5706    _data: [u8; 0],
5707    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5708}
5709
5710impl ::std::fmt::Debug for GtkTreePath {
5711    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5712        f.debug_struct(&format!("GtkTreePath @ {self:p}")).finish()
5713    }
5714}
5715
5716#[repr(C)]
5717#[allow(dead_code)]
5718pub struct GtkTreeRowReference {
5719    _data: [u8; 0],
5720    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5721}
5722
5723impl ::std::fmt::Debug for GtkTreeRowReference {
5724    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5725        f.debug_struct(&format!("GtkTreeRowReference @ {self:p}"))
5726            .finish()
5727    }
5728}
5729
5730#[derive(Copy, Clone)]
5731#[repr(C)]
5732pub struct GtkTreeSortableIface {
5733    pub g_iface: gobject::GTypeInterface,
5734    pub sort_column_changed: Option<unsafe extern "C" fn(*mut GtkTreeSortable)>,
5735    pub get_sort_column_id: Option<
5736        unsafe extern "C" fn(*mut GtkTreeSortable, *mut c_int, *mut GtkSortType) -> gboolean,
5737    >,
5738    pub set_sort_column_id: Option<unsafe extern "C" fn(*mut GtkTreeSortable, c_int, GtkSortType)>,
5739    pub set_sort_func: Option<
5740        unsafe extern "C" fn(
5741            *mut GtkTreeSortable,
5742            c_int,
5743            GtkTreeIterCompareFunc,
5744            gpointer,
5745            glib::GDestroyNotify,
5746        ),
5747    >,
5748    pub set_default_sort_func: Option<
5749        unsafe extern "C" fn(
5750            *mut GtkTreeSortable,
5751            GtkTreeIterCompareFunc,
5752            gpointer,
5753            glib::GDestroyNotify,
5754        ),
5755    >,
5756    pub has_default_sort_func: Option<unsafe extern "C" fn(*mut GtkTreeSortable) -> gboolean>,
5757}
5758
5759impl ::std::fmt::Debug for GtkTreeSortableIface {
5760    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5761        f.debug_struct(&format!("GtkTreeSortableIface @ {self:p}"))
5762            .field("sort_column_changed", &self.sort_column_changed)
5763            .field("get_sort_column_id", &self.get_sort_column_id)
5764            .field("set_sort_column_id", &self.set_sort_column_id)
5765            .field("set_sort_func", &self.set_sort_func)
5766            .field("set_default_sort_func", &self.set_default_sort_func)
5767            .field("has_default_sort_func", &self.has_default_sort_func)
5768            .finish()
5769    }
5770}
5771
5772#[derive(Copy, Clone)]
5773#[repr(C)]
5774pub struct GtkTreeStoreClass {
5775    pub parent_class: gobject::GObjectClass,
5776    pub padding: [gpointer; 8],
5777}
5778
5779impl ::std::fmt::Debug for GtkTreeStoreClass {
5780    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5781        f.debug_struct(&format!("GtkTreeStoreClass @ {self:p}"))
5782            .field("parent_class", &self.parent_class)
5783            .finish()
5784    }
5785}
5786
5787#[repr(C)]
5788#[allow(dead_code)]
5789pub struct _GtkTreeStorePrivate {
5790    _data: [u8; 0],
5791    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5792}
5793
5794pub type GtkTreeStorePrivate = _GtkTreeStorePrivate;
5795
5796#[derive(Copy, Clone)]
5797#[repr(C)]
5798pub struct GtkTreeViewClass {
5799    pub parent_class: GtkWidgetClass,
5800    pub row_activated:
5801        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreePath, *mut GtkTreeViewColumn)>,
5802    pub test_expand_row: Option<
5803        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5804    >,
5805    pub test_collapse_row: Option<
5806        unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath) -> gboolean,
5807    >,
5808    pub row_expanded:
5809        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
5810    pub row_collapsed:
5811        Option<unsafe extern "C" fn(*mut GtkTreeView, *mut GtkTreeIter, *mut GtkTreePath)>,
5812    pub columns_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
5813    pub cursor_changed: Option<unsafe extern "C" fn(*mut GtkTreeView)>,
5814    pub move_cursor: Option<
5815        unsafe extern "C" fn(
5816            *mut GtkTreeView,
5817            GtkMovementStep,
5818            c_int,
5819            gboolean,
5820            gboolean,
5821        ) -> gboolean,
5822    >,
5823    pub select_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5824    pub unselect_all: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5825    pub select_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean) -> gboolean>,
5826    pub toggle_cursor_row: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5827    pub expand_collapse_cursor_row:
5828        Option<unsafe extern "C" fn(*mut GtkTreeView, gboolean, gboolean, gboolean) -> gboolean>,
5829    pub select_cursor_parent: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5830    pub start_interactive_search: Option<unsafe extern "C" fn(*mut GtkTreeView) -> gboolean>,
5831    pub _reserved: [gpointer; 16],
5832}
5833
5834impl ::std::fmt::Debug for GtkTreeViewClass {
5835    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5836        f.debug_struct(&format!("GtkTreeViewClass @ {self:p}"))
5837            .field("parent_class", &self.parent_class)
5838            .field("row_activated", &self.row_activated)
5839            .field("test_expand_row", &self.test_expand_row)
5840            .field("test_collapse_row", &self.test_collapse_row)
5841            .field("row_expanded", &self.row_expanded)
5842            .field("row_collapsed", &self.row_collapsed)
5843            .field("columns_changed", &self.columns_changed)
5844            .field("cursor_changed", &self.cursor_changed)
5845            .field("move_cursor", &self.move_cursor)
5846            .field("select_all", &self.select_all)
5847            .field("unselect_all", &self.unselect_all)
5848            .field("select_cursor_row", &self.select_cursor_row)
5849            .field("toggle_cursor_row", &self.toggle_cursor_row)
5850            .field(
5851                "expand_collapse_cursor_row",
5852                &self.expand_collapse_cursor_row,
5853            )
5854            .field("select_cursor_parent", &self.select_cursor_parent)
5855            .field("start_interactive_search", &self.start_interactive_search)
5856            .finish()
5857    }
5858}
5859
5860#[derive(Copy, Clone)]
5861#[repr(C)]
5862pub struct GtkUriLauncherClass {
5863    pub parent_class: gobject::GObjectClass,
5864}
5865
5866impl ::std::fmt::Debug for GtkUriLauncherClass {
5867    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5868        f.debug_struct(&format!("GtkUriLauncherClass @ {self:p}"))
5869            .field("parent_class", &self.parent_class)
5870            .finish()
5871    }
5872}
5873
5874#[derive(Copy, Clone)]
5875#[repr(C)]
5876pub struct GtkVideoClass {
5877    pub parent_class: GtkWidgetClass,
5878}
5879
5880impl ::std::fmt::Debug for GtkVideoClass {
5881    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5882        f.debug_struct(&format!("GtkVideoClass @ {self:p}"))
5883            .field("parent_class", &self.parent_class)
5884            .finish()
5885    }
5886}
5887
5888#[derive(Copy, Clone)]
5889#[repr(C)]
5890pub struct GtkWidgetClass {
5891    pub parent_class: gobject::GInitiallyUnownedClass,
5892    pub show: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5893    pub hide: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5894    pub map: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5895    pub unmap: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5896    pub realize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5897    pub unrealize: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5898    pub root: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5899    pub unroot: Option<unsafe extern "C" fn(*mut GtkWidget)>,
5900    pub size_allocate: Option<unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, c_int)>,
5901    pub state_flags_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkStateFlags)>,
5902    pub direction_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkTextDirection)>,
5903    pub get_request_mode: Option<unsafe extern "C" fn(*mut GtkWidget) -> GtkSizeRequestMode>,
5904    pub measure: Option<
5905        unsafe extern "C" fn(
5906            *mut GtkWidget,
5907            GtkOrientation,
5908            c_int,
5909            *mut c_int,
5910            *mut c_int,
5911            *mut c_int,
5912            *mut c_int,
5913        ),
5914    >,
5915    pub mnemonic_activate: Option<unsafe extern "C" fn(*mut GtkWidget, gboolean) -> gboolean>,
5916    pub grab_focus: Option<unsafe extern "C" fn(*mut GtkWidget) -> gboolean>,
5917    pub focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
5918    pub set_focus_child: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkWidget)>,
5919    pub move_focus: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType)>,
5920    pub keynav_failed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkDirectionType) -> gboolean>,
5921    pub query_tooltip: Option<
5922        unsafe extern "C" fn(*mut GtkWidget, c_int, c_int, gboolean, *mut GtkTooltip) -> gboolean,
5923    >,
5924    pub compute_expand: Option<unsafe extern "C" fn(*mut GtkWidget, *mut gboolean, *mut gboolean)>,
5925    pub css_changed: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkCssStyleChange)>,
5926    pub system_setting_changed: Option<unsafe extern "C" fn(*mut GtkWidget, GtkSystemSetting)>,
5927    pub snapshot: Option<unsafe extern "C" fn(*mut GtkWidget, *mut GtkSnapshot)>,
5928    pub contains: Option<unsafe extern "C" fn(*mut GtkWidget, c_double, c_double) -> gboolean>,
5929    pub priv_: *mut GtkWidgetClassPrivate,
5930    pub padding: [gpointer; 8],
5931}
5932
5933impl ::std::fmt::Debug for GtkWidgetClass {
5934    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5935        f.debug_struct(&format!("GtkWidgetClass @ {self:p}"))
5936            .field("parent_class", &self.parent_class)
5937            .field("show", &self.show)
5938            .field("hide", &self.hide)
5939            .field("map", &self.map)
5940            .field("unmap", &self.unmap)
5941            .field("realize", &self.realize)
5942            .field("unrealize", &self.unrealize)
5943            .field("root", &self.root)
5944            .field("unroot", &self.unroot)
5945            .field("size_allocate", &self.size_allocate)
5946            .field("state_flags_changed", &self.state_flags_changed)
5947            .field("direction_changed", &self.direction_changed)
5948            .field("get_request_mode", &self.get_request_mode)
5949            .field("measure", &self.measure)
5950            .field("mnemonic_activate", &self.mnemonic_activate)
5951            .field("grab_focus", &self.grab_focus)
5952            .field("focus", &self.focus)
5953            .field("set_focus_child", &self.set_focus_child)
5954            .field("move_focus", &self.move_focus)
5955            .field("keynav_failed", &self.keynav_failed)
5956            .field("query_tooltip", &self.query_tooltip)
5957            .field("compute_expand", &self.compute_expand)
5958            .field("css_changed", &self.css_changed)
5959            .field("system_setting_changed", &self.system_setting_changed)
5960            .field("snapshot", &self.snapshot)
5961            .field("contains", &self.contains)
5962            .finish()
5963    }
5964}
5965
5966#[repr(C)]
5967#[allow(dead_code)]
5968pub struct _GtkWidgetClassPrivate {
5969    _data: [u8; 0],
5970    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5971}
5972
5973pub type GtkWidgetClassPrivate = _GtkWidgetClassPrivate;
5974
5975#[derive(Copy, Clone)]
5976#[repr(C)]
5977pub struct GtkWidgetPaintableClass {
5978    pub parent_class: gobject::GObjectClass,
5979}
5980
5981impl ::std::fmt::Debug for GtkWidgetPaintableClass {
5982    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5983        f.debug_struct(&format!("GtkWidgetPaintableClass @ {self:p}"))
5984            .field("parent_class", &self.parent_class)
5985            .finish()
5986    }
5987}
5988
5989#[repr(C)]
5990#[allow(dead_code)]
5991pub struct _GtkWidgetPrivate {
5992    _data: [u8; 0],
5993    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
5994}
5995
5996pub type GtkWidgetPrivate = _GtkWidgetPrivate;
5997
5998#[derive(Copy, Clone)]
5999#[repr(C)]
6000pub struct GtkWindowClass {
6001    pub parent_class: GtkWidgetClass,
6002    pub activate_focus: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6003    pub activate_default: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6004    pub keys_changed: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6005    pub enable_debugging: Option<unsafe extern "C" fn(*mut GtkWindow, gboolean) -> gboolean>,
6006    pub close_request: Option<unsafe extern "C" fn(*mut GtkWindow) -> gboolean>,
6007    pub force_close: Option<unsafe extern "C" fn(*mut GtkWindow)>,
6008    pub padding: [gpointer; 7],
6009}
6010
6011impl ::std::fmt::Debug for GtkWindowClass {
6012    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6013        f.debug_struct(&format!("GtkWindowClass @ {self:p}"))
6014            .field("parent_class", &self.parent_class)
6015            .field("activate_focus", &self.activate_focus)
6016            .field("activate_default", &self.activate_default)
6017            .field("keys_changed", &self.keys_changed)
6018            .field("enable_debugging", &self.enable_debugging)
6019            .field("close_request", &self.close_request)
6020            .field("force_close", &self.force_close)
6021            .finish()
6022    }
6023}
6024
6025#[derive(Copy, Clone)]
6026#[repr(C)]
6027pub struct GtkWindowControlsClass {
6028    pub parent_class: GtkWidgetClass,
6029}
6030
6031impl ::std::fmt::Debug for GtkWindowControlsClass {
6032    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6033        f.debug_struct(&format!("GtkWindowControlsClass @ {self:p}"))
6034            .field("parent_class", &self.parent_class)
6035            .finish()
6036    }
6037}
6038
6039#[derive(Copy, Clone)]
6040#[repr(C)]
6041pub struct GtkWindowGroupClass {
6042    pub parent_class: gobject::GObjectClass,
6043    pub _gtk_reserved1: Option<unsafe extern "C" fn()>,
6044    pub _gtk_reserved2: Option<unsafe extern "C" fn()>,
6045    pub _gtk_reserved3: Option<unsafe extern "C" fn()>,
6046    pub _gtk_reserved4: Option<unsafe extern "C" fn()>,
6047}
6048
6049impl ::std::fmt::Debug for GtkWindowGroupClass {
6050    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6051        f.debug_struct(&format!("GtkWindowGroupClass @ {self:p}"))
6052            .field("parent_class", &self.parent_class)
6053            .field("_gtk_reserved1", &self._gtk_reserved1)
6054            .field("_gtk_reserved2", &self._gtk_reserved2)
6055            .field("_gtk_reserved3", &self._gtk_reserved3)
6056            .field("_gtk_reserved4", &self._gtk_reserved4)
6057            .finish()
6058    }
6059}
6060
6061#[repr(C)]
6062#[allow(dead_code)]
6063pub struct _GtkWindowGroupPrivate {
6064    _data: [u8; 0],
6065    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6066}
6067
6068pub type GtkWindowGroupPrivate = _GtkWindowGroupPrivate;
6069
6070#[derive(Copy, Clone)]
6071#[repr(C)]
6072pub struct GtkWindowHandleClass {
6073    pub parent_class: GtkWidgetClass,
6074}
6075
6076impl ::std::fmt::Debug for GtkWindowHandleClass {
6077    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6078        f.debug_struct(&format!("GtkWindowHandleClass @ {self:p}"))
6079            .field("parent_class", &self.parent_class)
6080            .finish()
6081    }
6082}
6083
6084// Classes
6085#[repr(C)]
6086#[allow(dead_code)]
6087pub struct GtkATContext {
6088    _data: [u8; 0],
6089    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6090}
6091
6092impl ::std::fmt::Debug for GtkATContext {
6093    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6094        f.debug_struct(&format!("GtkATContext @ {self:p}")).finish()
6095    }
6096}
6097
6098#[repr(C)]
6099#[allow(dead_code)]
6100pub struct GtkAboutDialog {
6101    _data: [u8; 0],
6102    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6103}
6104
6105impl ::std::fmt::Debug for GtkAboutDialog {
6106    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6107        f.debug_struct(&format!("GtkAboutDialog @ {self:p}"))
6108            .finish()
6109    }
6110}
6111
6112#[repr(C)]
6113#[allow(dead_code)]
6114pub struct GtkAccessibleHyperlink {
6115    _data: [u8; 0],
6116    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6117}
6118
6119impl ::std::fmt::Debug for GtkAccessibleHyperlink {
6120    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6121        f.debug_struct(&format!("GtkAccessibleHyperlink @ {self:p}"))
6122            .finish()
6123    }
6124}
6125
6126#[repr(C)]
6127#[allow(dead_code)]
6128pub struct GtkActionBar {
6129    _data: [u8; 0],
6130    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6131}
6132
6133impl ::std::fmt::Debug for GtkActionBar {
6134    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6135        f.debug_struct(&format!("GtkActionBar @ {self:p}")).finish()
6136    }
6137}
6138
6139#[repr(C)]
6140#[allow(dead_code)]
6141pub struct GtkActivateAction {
6142    _data: [u8; 0],
6143    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6144}
6145
6146impl ::std::fmt::Debug for GtkActivateAction {
6147    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6148        f.debug_struct(&format!("GtkActivateAction @ {self:p}"))
6149            .finish()
6150    }
6151}
6152
6153#[derive(Copy, Clone)]
6154#[repr(C)]
6155pub struct GtkAdjustment {
6156    pub parent_instance: gobject::GInitiallyUnowned,
6157}
6158
6159impl ::std::fmt::Debug for GtkAdjustment {
6160    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6161        f.debug_struct(&format!("GtkAdjustment @ {self:p}"))
6162            .field("parent_instance", &self.parent_instance)
6163            .finish()
6164    }
6165}
6166
6167#[repr(C)]
6168#[allow(dead_code)]
6169pub struct GtkAlertDialog {
6170    _data: [u8; 0],
6171    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6172}
6173
6174impl ::std::fmt::Debug for GtkAlertDialog {
6175    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6176        f.debug_struct(&format!("GtkAlertDialog @ {self:p}"))
6177            .finish()
6178    }
6179}
6180
6181#[repr(C)]
6182#[allow(dead_code)]
6183pub struct GtkAlternativeTrigger {
6184    _data: [u8; 0],
6185    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6186}
6187
6188impl ::std::fmt::Debug for GtkAlternativeTrigger {
6189    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6190        f.debug_struct(&format!("GtkAlternativeTrigger @ {self:p}"))
6191            .finish()
6192    }
6193}
6194
6195#[repr(C)]
6196#[allow(dead_code)]
6197pub struct GtkAnyFilter {
6198    _data: [u8; 0],
6199    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6200}
6201
6202impl ::std::fmt::Debug for GtkAnyFilter {
6203    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6204        f.debug_struct(&format!("GtkAnyFilter @ {self:p}")).finish()
6205    }
6206}
6207
6208#[repr(C)]
6209#[allow(dead_code)]
6210pub struct GtkAppChooserButton {
6211    _data: [u8; 0],
6212    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6213}
6214
6215impl ::std::fmt::Debug for GtkAppChooserButton {
6216    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6217        f.debug_struct(&format!("GtkAppChooserButton @ {self:p}"))
6218            .finish()
6219    }
6220}
6221
6222#[repr(C)]
6223#[allow(dead_code)]
6224pub struct GtkAppChooserDialog {
6225    _data: [u8; 0],
6226    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6227}
6228
6229impl ::std::fmt::Debug for GtkAppChooserDialog {
6230    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6231        f.debug_struct(&format!("GtkAppChooserDialog @ {self:p}"))
6232            .finish()
6233    }
6234}
6235
6236#[repr(C)]
6237#[allow(dead_code)]
6238pub struct GtkAppChooserWidget {
6239    _data: [u8; 0],
6240    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6241}
6242
6243impl ::std::fmt::Debug for GtkAppChooserWidget {
6244    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6245        f.debug_struct(&format!("GtkAppChooserWidget @ {self:p}"))
6246            .finish()
6247    }
6248}
6249
6250#[derive(Copy, Clone)]
6251#[repr(C)]
6252pub struct GtkApplication {
6253    pub parent_instance: gio::GApplication,
6254}
6255
6256impl ::std::fmt::Debug for GtkApplication {
6257    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6258        f.debug_struct(&format!("GtkApplication @ {self:p}"))
6259            .field("parent_instance", &self.parent_instance)
6260            .finish()
6261    }
6262}
6263
6264#[derive(Copy, Clone)]
6265#[repr(C)]
6266pub struct GtkApplicationWindow {
6267    pub parent_instance: GtkWindow,
6268}
6269
6270impl ::std::fmt::Debug for GtkApplicationWindow {
6271    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6272        f.debug_struct(&format!("GtkApplicationWindow @ {self:p}"))
6273            .field("parent_instance", &self.parent_instance)
6274            .finish()
6275    }
6276}
6277
6278#[repr(C)]
6279#[allow(dead_code)]
6280pub struct GtkAspectFrame {
6281    _data: [u8; 0],
6282    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6283}
6284
6285impl ::std::fmt::Debug for GtkAspectFrame {
6286    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6287        f.debug_struct(&format!("GtkAspectFrame @ {self:p}"))
6288            .finish()
6289    }
6290}
6291
6292#[repr(C)]
6293#[allow(dead_code)]
6294pub struct GtkAssistant {
6295    _data: [u8; 0],
6296    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6297}
6298
6299impl ::std::fmt::Debug for GtkAssistant {
6300    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6301        f.debug_struct(&format!("GtkAssistant @ {self:p}")).finish()
6302    }
6303}
6304
6305#[repr(C)]
6306#[allow(dead_code)]
6307pub struct GtkAssistantPage {
6308    _data: [u8; 0],
6309    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6310}
6311
6312impl ::std::fmt::Debug for GtkAssistantPage {
6313    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6314        f.debug_struct(&format!("GtkAssistantPage @ {self:p}"))
6315            .finish()
6316    }
6317}
6318
6319#[repr(C)]
6320#[allow(dead_code)]
6321pub struct GtkBinLayout {
6322    _data: [u8; 0],
6323    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6324}
6325
6326impl ::std::fmt::Debug for GtkBinLayout {
6327    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6328        f.debug_struct(&format!("GtkBinLayout @ {self:p}")).finish()
6329    }
6330}
6331
6332#[repr(C)]
6333#[allow(dead_code)]
6334pub struct GtkBookmarkList {
6335    _data: [u8; 0],
6336    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6337}
6338
6339impl ::std::fmt::Debug for GtkBookmarkList {
6340    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6341        f.debug_struct(&format!("GtkBookmarkList @ {self:p}"))
6342            .finish()
6343    }
6344}
6345
6346#[repr(C)]
6347#[allow(dead_code)]
6348pub struct GtkBoolFilter {
6349    _data: [u8; 0],
6350    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6351}
6352
6353impl ::std::fmt::Debug for GtkBoolFilter {
6354    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6355        f.debug_struct(&format!("GtkBoolFilter @ {self:p}"))
6356            .finish()
6357    }
6358}
6359
6360#[derive(Copy, Clone)]
6361#[repr(C)]
6362pub struct GtkBox {
6363    pub parent_instance: GtkWidget,
6364}
6365
6366impl ::std::fmt::Debug for GtkBox {
6367    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6368        f.debug_struct(&format!("GtkBox @ {self:p}"))
6369            .field("parent_instance", &self.parent_instance)
6370            .finish()
6371    }
6372}
6373
6374#[repr(C)]
6375#[allow(dead_code)]
6376pub struct GtkBoxLayout {
6377    _data: [u8; 0],
6378    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6379}
6380
6381impl ::std::fmt::Debug for GtkBoxLayout {
6382    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6383        f.debug_struct(&format!("GtkBoxLayout @ {self:p}")).finish()
6384    }
6385}
6386
6387#[repr(C)]
6388#[allow(dead_code)]
6389pub struct GtkBuilder {
6390    _data: [u8; 0],
6391    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6392}
6393
6394impl ::std::fmt::Debug for GtkBuilder {
6395    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6396        f.debug_struct(&format!("GtkBuilder @ {self:p}")).finish()
6397    }
6398}
6399
6400#[derive(Copy, Clone)]
6401#[repr(C)]
6402pub struct GtkBuilderCScope {
6403    pub parent_instance: gobject::GObject,
6404}
6405
6406impl ::std::fmt::Debug for GtkBuilderCScope {
6407    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6408        f.debug_struct(&format!("GtkBuilderCScope @ {self:p}"))
6409            .field("parent_instance", &self.parent_instance)
6410            .finish()
6411    }
6412}
6413
6414#[repr(C)]
6415#[allow(dead_code)]
6416pub struct GtkBuilderListItemFactory {
6417    _data: [u8; 0],
6418    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6419}
6420
6421impl ::std::fmt::Debug for GtkBuilderListItemFactory {
6422    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6423        f.debug_struct(&format!("GtkBuilderListItemFactory @ {self:p}"))
6424            .finish()
6425    }
6426}
6427
6428#[derive(Copy, Clone)]
6429#[repr(C)]
6430pub struct GtkButton {
6431    pub parent_instance: GtkWidget,
6432}
6433
6434impl ::std::fmt::Debug for GtkButton {
6435    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6436        f.debug_struct(&format!("GtkButton @ {self:p}")).finish()
6437    }
6438}
6439
6440#[repr(C)]
6441#[allow(dead_code)]
6442pub struct GtkCClosureExpression {
6443    _data: [u8; 0],
6444    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6445}
6446
6447impl ::std::fmt::Debug for GtkCClosureExpression {
6448    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6449        f.debug_struct(&format!("GtkCClosureExpression @ {self:p}"))
6450            .finish()
6451    }
6452}
6453
6454#[repr(C)]
6455#[allow(dead_code)]
6456pub struct GtkCalendar {
6457    _data: [u8; 0],
6458    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6459}
6460
6461impl ::std::fmt::Debug for GtkCalendar {
6462    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6463        f.debug_struct(&format!("GtkCalendar @ {self:p}")).finish()
6464    }
6465}
6466
6467#[repr(C)]
6468#[allow(dead_code)]
6469pub struct GtkCallbackAction {
6470    _data: [u8; 0],
6471    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6472}
6473
6474impl ::std::fmt::Debug for GtkCallbackAction {
6475    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6476        f.debug_struct(&format!("GtkCallbackAction @ {self:p}"))
6477            .finish()
6478    }
6479}
6480
6481#[derive(Copy, Clone)]
6482#[repr(C)]
6483pub struct GtkCellArea {
6484    pub parent_instance: gobject::GInitiallyUnowned,
6485}
6486
6487impl ::std::fmt::Debug for GtkCellArea {
6488    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6489        f.debug_struct(&format!("GtkCellArea @ {self:p}")).finish()
6490    }
6491}
6492
6493#[repr(C)]
6494#[allow(dead_code)]
6495pub struct GtkCellAreaBox {
6496    _data: [u8; 0],
6497    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6498}
6499
6500impl ::std::fmt::Debug for GtkCellAreaBox {
6501    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6502        f.debug_struct(&format!("GtkCellAreaBox @ {self:p}"))
6503            .finish()
6504    }
6505}
6506
6507#[derive(Copy, Clone)]
6508#[repr(C)]
6509pub struct GtkCellAreaContext {
6510    pub parent_instance: gobject::GObject,
6511}
6512
6513impl ::std::fmt::Debug for GtkCellAreaContext {
6514    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6515        f.debug_struct(&format!("GtkCellAreaContext @ {self:p}"))
6516            .finish()
6517    }
6518}
6519
6520#[derive(Copy, Clone)]
6521#[repr(C)]
6522pub struct GtkCellRenderer {
6523    pub parent_instance: gobject::GInitiallyUnowned,
6524    pub priv_: *mut GtkCellRendererPrivate,
6525}
6526
6527impl ::std::fmt::Debug for GtkCellRenderer {
6528    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6529        f.debug_struct(&format!("GtkCellRenderer @ {self:p}"))
6530            .field("parent_instance", &self.parent_instance)
6531            .finish()
6532    }
6533}
6534
6535#[repr(C)]
6536#[allow(dead_code)]
6537pub struct GtkCellRendererAccel {
6538    _data: [u8; 0],
6539    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6540}
6541
6542impl ::std::fmt::Debug for GtkCellRendererAccel {
6543    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6544        f.debug_struct(&format!("GtkCellRendererAccel @ {self:p}"))
6545            .finish()
6546    }
6547}
6548
6549#[repr(C)]
6550#[allow(dead_code)]
6551pub struct GtkCellRendererCombo {
6552    _data: [u8; 0],
6553    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6554}
6555
6556impl ::std::fmt::Debug for GtkCellRendererCombo {
6557    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6558        f.debug_struct(&format!("GtkCellRendererCombo @ {self:p}"))
6559            .finish()
6560    }
6561}
6562
6563#[repr(C)]
6564#[allow(dead_code)]
6565pub struct GtkCellRendererPixbuf {
6566    _data: [u8; 0],
6567    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6568}
6569
6570impl ::std::fmt::Debug for GtkCellRendererPixbuf {
6571    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6572        f.debug_struct(&format!("GtkCellRendererPixbuf @ {self:p}"))
6573            .finish()
6574    }
6575}
6576
6577#[repr(C)]
6578#[allow(dead_code)]
6579pub struct GtkCellRendererProgress {
6580    _data: [u8; 0],
6581    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6582}
6583
6584impl ::std::fmt::Debug for GtkCellRendererProgress {
6585    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6586        f.debug_struct(&format!("GtkCellRendererProgress @ {self:p}"))
6587            .finish()
6588    }
6589}
6590
6591#[repr(C)]
6592#[allow(dead_code)]
6593pub struct GtkCellRendererSpin {
6594    _data: [u8; 0],
6595    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6596}
6597
6598impl ::std::fmt::Debug for GtkCellRendererSpin {
6599    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6600        f.debug_struct(&format!("GtkCellRendererSpin @ {self:p}"))
6601            .finish()
6602    }
6603}
6604
6605#[repr(C)]
6606#[allow(dead_code)]
6607pub struct GtkCellRendererSpinner {
6608    _data: [u8; 0],
6609    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6610}
6611
6612impl ::std::fmt::Debug for GtkCellRendererSpinner {
6613    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6614        f.debug_struct(&format!("GtkCellRendererSpinner @ {self:p}"))
6615            .finish()
6616    }
6617}
6618
6619#[derive(Copy, Clone)]
6620#[repr(C)]
6621pub struct GtkCellRendererText {
6622    pub parent: GtkCellRenderer,
6623}
6624
6625impl ::std::fmt::Debug for GtkCellRendererText {
6626    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6627        f.debug_struct(&format!("GtkCellRendererText @ {self:p}"))
6628            .field("parent", &self.parent)
6629            .finish()
6630    }
6631}
6632
6633#[repr(C)]
6634#[allow(dead_code)]
6635pub struct GtkCellRendererToggle {
6636    _data: [u8; 0],
6637    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6638}
6639
6640impl ::std::fmt::Debug for GtkCellRendererToggle {
6641    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6642        f.debug_struct(&format!("GtkCellRendererToggle @ {self:p}"))
6643            .finish()
6644    }
6645}
6646
6647#[repr(C)]
6648#[allow(dead_code)]
6649pub struct GtkCellView {
6650    _data: [u8; 0],
6651    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6652}
6653
6654impl ::std::fmt::Debug for GtkCellView {
6655    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6656        f.debug_struct(&format!("GtkCellView @ {self:p}")).finish()
6657    }
6658}
6659
6660#[repr(C)]
6661#[allow(dead_code)]
6662pub struct GtkCenterBox {
6663    _data: [u8; 0],
6664    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6665}
6666
6667impl ::std::fmt::Debug for GtkCenterBox {
6668    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6669        f.debug_struct(&format!("GtkCenterBox @ {self:p}")).finish()
6670    }
6671}
6672
6673#[repr(C)]
6674#[allow(dead_code)]
6675pub struct GtkCenterLayout {
6676    _data: [u8; 0],
6677    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6678}
6679
6680impl ::std::fmt::Debug for GtkCenterLayout {
6681    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6682        f.debug_struct(&format!("GtkCenterLayout @ {self:p}"))
6683            .finish()
6684    }
6685}
6686
6687#[derive(Copy, Clone)]
6688#[repr(C)]
6689pub struct GtkCheckButton {
6690    pub parent_instance: GtkWidget,
6691}
6692
6693impl ::std::fmt::Debug for GtkCheckButton {
6694    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6695        f.debug_struct(&format!("GtkCheckButton @ {self:p}"))
6696            .field("parent_instance", &self.parent_instance)
6697            .finish()
6698    }
6699}
6700
6701#[repr(C)]
6702#[allow(dead_code)]
6703pub struct GtkClosureExpression {
6704    _data: [u8; 0],
6705    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6706}
6707
6708impl ::std::fmt::Debug for GtkClosureExpression {
6709    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6710        f.debug_struct(&format!("GtkClosureExpression @ {self:p}"))
6711            .finish()
6712    }
6713}
6714
6715#[repr(C)]
6716#[allow(dead_code)]
6717pub struct GtkColorButton {
6718    _data: [u8; 0],
6719    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6720}
6721
6722impl ::std::fmt::Debug for GtkColorButton {
6723    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6724        f.debug_struct(&format!("GtkColorButton @ {self:p}"))
6725            .finish()
6726    }
6727}
6728
6729#[repr(C)]
6730#[allow(dead_code)]
6731pub struct GtkColorChooserDialog {
6732    _data: [u8; 0],
6733    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6734}
6735
6736impl ::std::fmt::Debug for GtkColorChooserDialog {
6737    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6738        f.debug_struct(&format!("GtkColorChooserDialog @ {self:p}"))
6739            .finish()
6740    }
6741}
6742
6743#[repr(C)]
6744#[allow(dead_code)]
6745pub struct GtkColorChooserWidget {
6746    _data: [u8; 0],
6747    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6748}
6749
6750impl ::std::fmt::Debug for GtkColorChooserWidget {
6751    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6752        f.debug_struct(&format!("GtkColorChooserWidget @ {self:p}"))
6753            .finish()
6754    }
6755}
6756
6757#[repr(C)]
6758#[allow(dead_code)]
6759pub struct GtkColorDialog {
6760    _data: [u8; 0],
6761    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6762}
6763
6764impl ::std::fmt::Debug for GtkColorDialog {
6765    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6766        f.debug_struct(&format!("GtkColorDialog @ {self:p}"))
6767            .finish()
6768    }
6769}
6770
6771#[repr(C)]
6772#[allow(dead_code)]
6773pub struct GtkColorDialogButton {
6774    _data: [u8; 0],
6775    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6776}
6777
6778impl ::std::fmt::Debug for GtkColorDialogButton {
6779    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6780        f.debug_struct(&format!("GtkColorDialogButton @ {self:p}"))
6781            .finish()
6782    }
6783}
6784
6785#[repr(C)]
6786#[allow(dead_code)]
6787pub struct GtkColumnView {
6788    _data: [u8; 0],
6789    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6790}
6791
6792impl ::std::fmt::Debug for GtkColumnView {
6793    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6794        f.debug_struct(&format!("GtkColumnView @ {self:p}"))
6795            .finish()
6796    }
6797}
6798
6799#[repr(C)]
6800#[allow(dead_code)]
6801pub struct GtkColumnViewCell {
6802    _data: [u8; 0],
6803    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6804}
6805
6806impl ::std::fmt::Debug for GtkColumnViewCell {
6807    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6808        f.debug_struct(&format!("GtkColumnViewCell @ {self:p}"))
6809            .finish()
6810    }
6811}
6812
6813#[repr(C)]
6814#[allow(dead_code)]
6815pub struct GtkColumnViewColumn {
6816    _data: [u8; 0],
6817    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6818}
6819
6820impl ::std::fmt::Debug for GtkColumnViewColumn {
6821    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6822        f.debug_struct(&format!("GtkColumnViewColumn @ {self:p}"))
6823            .finish()
6824    }
6825}
6826
6827#[repr(C)]
6828#[allow(dead_code)]
6829pub struct GtkColumnViewRow {
6830    _data: [u8; 0],
6831    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6832}
6833
6834impl ::std::fmt::Debug for GtkColumnViewRow {
6835    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6836        f.debug_struct(&format!("GtkColumnViewRow @ {self:p}"))
6837            .finish()
6838    }
6839}
6840
6841#[repr(C)]
6842#[allow(dead_code)]
6843pub struct GtkColumnViewSorter {
6844    _data: [u8; 0],
6845    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6846}
6847
6848impl ::std::fmt::Debug for GtkColumnViewSorter {
6849    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6850        f.debug_struct(&format!("GtkColumnViewSorter @ {self:p}"))
6851            .finish()
6852    }
6853}
6854
6855#[derive(Copy, Clone)]
6856#[repr(C)]
6857pub struct GtkComboBox {
6858    pub parent_instance: GtkWidget,
6859}
6860
6861impl ::std::fmt::Debug for GtkComboBox {
6862    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6863        f.debug_struct(&format!("GtkComboBox @ {self:p}"))
6864            .field("parent_instance", &self.parent_instance)
6865            .finish()
6866    }
6867}
6868
6869#[repr(C)]
6870#[allow(dead_code)]
6871pub struct GtkComboBoxText {
6872    _data: [u8; 0],
6873    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6874}
6875
6876impl ::std::fmt::Debug for GtkComboBoxText {
6877    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6878        f.debug_struct(&format!("GtkComboBoxText @ {self:p}"))
6879            .finish()
6880    }
6881}
6882
6883#[repr(C)]
6884#[allow(dead_code)]
6885pub struct GtkConstantExpression {
6886    _data: [u8; 0],
6887    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6888}
6889
6890impl ::std::fmt::Debug for GtkConstantExpression {
6891    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6892        f.debug_struct(&format!("GtkConstantExpression @ {self:p}"))
6893            .finish()
6894    }
6895}
6896
6897#[repr(C)]
6898#[allow(dead_code)]
6899pub struct GtkConstraint {
6900    _data: [u8; 0],
6901    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6902}
6903
6904impl ::std::fmt::Debug for GtkConstraint {
6905    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6906        f.debug_struct(&format!("GtkConstraint @ {self:p}"))
6907            .finish()
6908    }
6909}
6910
6911#[repr(C)]
6912#[allow(dead_code)]
6913pub struct GtkConstraintGuide {
6914    _data: [u8; 0],
6915    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6916}
6917
6918impl ::std::fmt::Debug for GtkConstraintGuide {
6919    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6920        f.debug_struct(&format!("GtkConstraintGuide @ {self:p}"))
6921            .finish()
6922    }
6923}
6924
6925#[repr(C)]
6926#[allow(dead_code)]
6927pub struct GtkConstraintLayout {
6928    _data: [u8; 0],
6929    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6930}
6931
6932impl ::std::fmt::Debug for GtkConstraintLayout {
6933    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6934        f.debug_struct(&format!("GtkConstraintLayout @ {self:p}"))
6935            .finish()
6936    }
6937}
6938
6939#[repr(C)]
6940#[allow(dead_code)]
6941pub struct GtkConstraintLayoutChild {
6942    _data: [u8; 0],
6943    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6944}
6945
6946impl ::std::fmt::Debug for GtkConstraintLayoutChild {
6947    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6948        f.debug_struct(&format!("GtkConstraintLayoutChild @ {self:p}"))
6949            .finish()
6950    }
6951}
6952
6953#[derive(Copy, Clone)]
6954#[repr(C)]
6955pub struct GtkCssProvider {
6956    pub parent_instance: gobject::GObject,
6957}
6958
6959impl ::std::fmt::Debug for GtkCssProvider {
6960    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6961        f.debug_struct(&format!("GtkCssProvider @ {self:p}"))
6962            .field("parent_instance", &self.parent_instance)
6963            .finish()
6964    }
6965}
6966
6967#[repr(C)]
6968#[allow(dead_code)]
6969pub struct GtkCustomFilter {
6970    _data: [u8; 0],
6971    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6972}
6973
6974impl ::std::fmt::Debug for GtkCustomFilter {
6975    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6976        f.debug_struct(&format!("GtkCustomFilter @ {self:p}"))
6977            .finish()
6978    }
6979}
6980
6981#[repr(C)]
6982#[allow(dead_code)]
6983pub struct GtkCustomLayout {
6984    _data: [u8; 0],
6985    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
6986}
6987
6988impl ::std::fmt::Debug for GtkCustomLayout {
6989    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6990        f.debug_struct(&format!("GtkCustomLayout @ {self:p}"))
6991            .finish()
6992    }
6993}
6994
6995#[repr(C)]
6996#[allow(dead_code)]
6997pub struct GtkCustomSorter {
6998    _data: [u8; 0],
6999    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7000}
7001
7002impl ::std::fmt::Debug for GtkCustomSorter {
7003    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7004        f.debug_struct(&format!("GtkCustomSorter @ {self:p}"))
7005            .finish()
7006    }
7007}
7008
7009#[derive(Copy, Clone)]
7010#[repr(C)]
7011pub struct GtkDialog {
7012    pub parent_instance: GtkWindow,
7013}
7014
7015impl ::std::fmt::Debug for GtkDialog {
7016    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7017        f.debug_struct(&format!("GtkDialog @ {self:p}"))
7018            .field("parent_instance", &self.parent_instance)
7019            .finish()
7020    }
7021}
7022
7023#[repr(C)]
7024#[allow(dead_code)]
7025pub struct GtkDirectoryList {
7026    _data: [u8; 0],
7027    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7028}
7029
7030impl ::std::fmt::Debug for GtkDirectoryList {
7031    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7032        f.debug_struct(&format!("GtkDirectoryList @ {self:p}"))
7033            .finish()
7034    }
7035}
7036
7037#[repr(C)]
7038#[allow(dead_code)]
7039pub struct GtkDragIcon {
7040    _data: [u8; 0],
7041    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7042}
7043
7044impl ::std::fmt::Debug for GtkDragIcon {
7045    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7046        f.debug_struct(&format!("GtkDragIcon @ {self:p}")).finish()
7047    }
7048}
7049
7050#[repr(C)]
7051#[allow(dead_code)]
7052pub struct GtkDragSource {
7053    _data: [u8; 0],
7054    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7055}
7056
7057impl ::std::fmt::Debug for GtkDragSource {
7058    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7059        f.debug_struct(&format!("GtkDragSource @ {self:p}"))
7060            .finish()
7061    }
7062}
7063
7064#[derive(Copy, Clone)]
7065#[repr(C)]
7066pub struct GtkDrawingArea {
7067    pub widget: GtkWidget,
7068}
7069
7070impl ::std::fmt::Debug for GtkDrawingArea {
7071    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7072        f.debug_struct(&format!("GtkDrawingArea @ {self:p}"))
7073            .field("widget", &self.widget)
7074            .finish()
7075    }
7076}
7077
7078#[repr(C)]
7079#[allow(dead_code)]
7080pub struct GtkDropControllerMotion {
7081    _data: [u8; 0],
7082    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7083}
7084
7085impl ::std::fmt::Debug for GtkDropControllerMotion {
7086    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7087        f.debug_struct(&format!("GtkDropControllerMotion @ {self:p}"))
7088            .finish()
7089    }
7090}
7091
7092#[repr(C)]
7093#[allow(dead_code)]
7094pub struct GtkDropDown {
7095    _data: [u8; 0],
7096    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7097}
7098
7099impl ::std::fmt::Debug for GtkDropDown {
7100    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7101        f.debug_struct(&format!("GtkDropDown @ {self:p}")).finish()
7102    }
7103}
7104
7105#[repr(C)]
7106#[allow(dead_code)]
7107pub struct GtkDropTarget {
7108    _data: [u8; 0],
7109    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7110}
7111
7112impl ::std::fmt::Debug for GtkDropTarget {
7113    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7114        f.debug_struct(&format!("GtkDropTarget @ {self:p}"))
7115            .finish()
7116    }
7117}
7118
7119#[repr(C)]
7120#[allow(dead_code)]
7121pub struct GtkDropTargetAsync {
7122    _data: [u8; 0],
7123    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7124}
7125
7126impl ::std::fmt::Debug for GtkDropTargetAsync {
7127    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7128        f.debug_struct(&format!("GtkDropTargetAsync @ {self:p}"))
7129            .finish()
7130    }
7131}
7132
7133#[repr(C)]
7134#[allow(dead_code)]
7135pub struct GtkEditableLabel {
7136    _data: [u8; 0],
7137    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7138}
7139
7140impl ::std::fmt::Debug for GtkEditableLabel {
7141    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7142        f.debug_struct(&format!("GtkEditableLabel @ {self:p}"))
7143            .finish()
7144    }
7145}
7146
7147#[repr(C)]
7148#[allow(dead_code)]
7149pub struct GtkEmojiChooser {
7150    _data: [u8; 0],
7151    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7152}
7153
7154impl ::std::fmt::Debug for GtkEmojiChooser {
7155    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7156        f.debug_struct(&format!("GtkEmojiChooser @ {self:p}"))
7157            .finish()
7158    }
7159}
7160
7161#[derive(Copy, Clone)]
7162#[repr(C)]
7163pub struct GtkEntry {
7164    pub parent_instance: GtkWidget,
7165}
7166
7167impl ::std::fmt::Debug for GtkEntry {
7168    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7169        f.debug_struct(&format!("GtkEntry @ {self:p}")).finish()
7170    }
7171}
7172
7173#[derive(Copy, Clone)]
7174#[repr(C)]
7175pub struct GtkEntryBuffer {
7176    pub parent_instance: gobject::GObject,
7177}
7178
7179impl ::std::fmt::Debug for GtkEntryBuffer {
7180    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7181        f.debug_struct(&format!("GtkEntryBuffer @ {self:p}"))
7182            .field("parent_instance", &self.parent_instance)
7183            .finish()
7184    }
7185}
7186
7187#[repr(C)]
7188#[allow(dead_code)]
7189pub struct GtkEntryCompletion {
7190    _data: [u8; 0],
7191    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7192}
7193
7194impl ::std::fmt::Debug for GtkEntryCompletion {
7195    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7196        f.debug_struct(&format!("GtkEntryCompletion @ {self:p}"))
7197            .finish()
7198    }
7199}
7200
7201#[repr(C)]
7202#[allow(dead_code)]
7203pub struct GtkEnumList {
7204    _data: [u8; 0],
7205    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7206}
7207
7208impl ::std::fmt::Debug for GtkEnumList {
7209    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7210        f.debug_struct(&format!("GtkEnumList @ {self:p}")).finish()
7211    }
7212}
7213
7214#[repr(C)]
7215#[allow(dead_code)]
7216pub struct GtkEnumListItem {
7217    _data: [u8; 0],
7218    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7219}
7220
7221impl ::std::fmt::Debug for GtkEnumListItem {
7222    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7223        f.debug_struct(&format!("GtkEnumListItem @ {self:p}"))
7224            .finish()
7225    }
7226}
7227
7228#[repr(C)]
7229#[allow(dead_code)]
7230pub struct GtkEventController {
7231    _data: [u8; 0],
7232    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7233}
7234
7235impl ::std::fmt::Debug for GtkEventController {
7236    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7237        f.debug_struct(&format!("GtkEventController @ {self:p}"))
7238            .finish()
7239    }
7240}
7241
7242#[repr(C)]
7243#[allow(dead_code)]
7244pub struct GtkEventControllerFocus {
7245    _data: [u8; 0],
7246    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7247}
7248
7249impl ::std::fmt::Debug for GtkEventControllerFocus {
7250    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7251        f.debug_struct(&format!("GtkEventControllerFocus @ {self:p}"))
7252            .finish()
7253    }
7254}
7255
7256#[repr(C)]
7257#[allow(dead_code)]
7258pub struct GtkEventControllerKey {
7259    _data: [u8; 0],
7260    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7261}
7262
7263impl ::std::fmt::Debug for GtkEventControllerKey {
7264    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7265        f.debug_struct(&format!("GtkEventControllerKey @ {self:p}"))
7266            .finish()
7267    }
7268}
7269
7270#[repr(C)]
7271#[allow(dead_code)]
7272pub struct GtkEventControllerLegacy {
7273    _data: [u8; 0],
7274    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7275}
7276
7277impl ::std::fmt::Debug for GtkEventControllerLegacy {
7278    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7279        f.debug_struct(&format!("GtkEventControllerLegacy @ {self:p}"))
7280            .finish()
7281    }
7282}
7283
7284#[repr(C)]
7285#[allow(dead_code)]
7286pub struct GtkEventControllerMotion {
7287    _data: [u8; 0],
7288    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7289}
7290
7291impl ::std::fmt::Debug for GtkEventControllerMotion {
7292    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7293        f.debug_struct(&format!("GtkEventControllerMotion @ {self:p}"))
7294            .finish()
7295    }
7296}
7297
7298#[repr(C)]
7299#[allow(dead_code)]
7300pub struct GtkEventControllerScroll {
7301    _data: [u8; 0],
7302    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7303}
7304
7305impl ::std::fmt::Debug for GtkEventControllerScroll {
7306    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7307        f.debug_struct(&format!("GtkEventControllerScroll @ {self:p}"))
7308            .finish()
7309    }
7310}
7311
7312#[repr(C)]
7313#[allow(dead_code)]
7314pub struct GtkEveryFilter {
7315    _data: [u8; 0],
7316    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7317}
7318
7319impl ::std::fmt::Debug for GtkEveryFilter {
7320    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7321        f.debug_struct(&format!("GtkEveryFilter @ {self:p}"))
7322            .finish()
7323    }
7324}
7325
7326#[repr(C)]
7327#[allow(dead_code)]
7328pub struct GtkExpander {
7329    _data: [u8; 0],
7330    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7331}
7332
7333impl ::std::fmt::Debug for GtkExpander {
7334    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7335        f.debug_struct(&format!("GtkExpander @ {self:p}")).finish()
7336    }
7337}
7338
7339#[repr(C)]
7340#[allow(dead_code)]
7341pub struct GtkExpression {
7342    _data: [u8; 0],
7343    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7344}
7345
7346impl ::std::fmt::Debug for GtkExpression {
7347    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7348        f.debug_struct(&format!("GtkExpression @ {self:p}"))
7349            .finish()
7350    }
7351}
7352
7353#[repr(C)]
7354#[allow(dead_code)]
7355pub struct GtkFileChooserDialog {
7356    _data: [u8; 0],
7357    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7358}
7359
7360impl ::std::fmt::Debug for GtkFileChooserDialog {
7361    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7362        f.debug_struct(&format!("GtkFileChooserDialog @ {self:p}"))
7363            .finish()
7364    }
7365}
7366
7367#[repr(C)]
7368#[allow(dead_code)]
7369pub struct GtkFileChooserNative {
7370    _data: [u8; 0],
7371    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7372}
7373
7374impl ::std::fmt::Debug for GtkFileChooserNative {
7375    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7376        f.debug_struct(&format!("GtkFileChooserNative @ {self:p}"))
7377            .finish()
7378    }
7379}
7380
7381#[repr(C)]
7382#[allow(dead_code)]
7383pub struct GtkFileChooserWidget {
7384    _data: [u8; 0],
7385    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7386}
7387
7388impl ::std::fmt::Debug for GtkFileChooserWidget {
7389    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7390        f.debug_struct(&format!("GtkFileChooserWidget @ {self:p}"))
7391            .finish()
7392    }
7393}
7394
7395#[repr(C)]
7396#[allow(dead_code)]
7397pub struct GtkFileDialog {
7398    _data: [u8; 0],
7399    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7400}
7401
7402impl ::std::fmt::Debug for GtkFileDialog {
7403    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7404        f.debug_struct(&format!("GtkFileDialog @ {self:p}"))
7405            .finish()
7406    }
7407}
7408
7409#[repr(C)]
7410#[allow(dead_code)]
7411pub struct GtkFileFilter {
7412    _data: [u8; 0],
7413    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7414}
7415
7416impl ::std::fmt::Debug for GtkFileFilter {
7417    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7418        f.debug_struct(&format!("GtkFileFilter @ {self:p}"))
7419            .finish()
7420    }
7421}
7422
7423#[repr(C)]
7424#[allow(dead_code)]
7425pub struct GtkFileLauncher {
7426    _data: [u8; 0],
7427    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7428}
7429
7430impl ::std::fmt::Debug for GtkFileLauncher {
7431    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7432        f.debug_struct(&format!("GtkFileLauncher @ {self:p}"))
7433            .finish()
7434    }
7435}
7436
7437#[derive(Copy, Clone)]
7438#[repr(C)]
7439pub struct GtkFilter {
7440    pub parent_instance: gobject::GObject,
7441}
7442
7443impl ::std::fmt::Debug for GtkFilter {
7444    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7445        f.debug_struct(&format!("GtkFilter @ {self:p}"))
7446            .field("parent_instance", &self.parent_instance)
7447            .finish()
7448    }
7449}
7450
7451#[repr(C)]
7452#[allow(dead_code)]
7453pub struct GtkFilterListModel {
7454    _data: [u8; 0],
7455    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7456}
7457
7458impl ::std::fmt::Debug for GtkFilterListModel {
7459    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7460        f.debug_struct(&format!("GtkFilterListModel @ {self:p}"))
7461            .finish()
7462    }
7463}
7464
7465#[derive(Copy, Clone)]
7466#[repr(C)]
7467pub struct GtkFixed {
7468    pub parent_instance: GtkWidget,
7469}
7470
7471impl ::std::fmt::Debug for GtkFixed {
7472    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7473        f.debug_struct(&format!("GtkFixed @ {self:p}"))
7474            .field("parent_instance", &self.parent_instance)
7475            .finish()
7476    }
7477}
7478
7479#[repr(C)]
7480#[allow(dead_code)]
7481pub struct GtkFixedLayout {
7482    _data: [u8; 0],
7483    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7484}
7485
7486impl ::std::fmt::Debug for GtkFixedLayout {
7487    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7488        f.debug_struct(&format!("GtkFixedLayout @ {self:p}"))
7489            .finish()
7490    }
7491}
7492
7493#[repr(C)]
7494#[allow(dead_code)]
7495pub struct GtkFixedLayoutChild {
7496    _data: [u8; 0],
7497    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7498}
7499
7500impl ::std::fmt::Debug for GtkFixedLayoutChild {
7501    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7502        f.debug_struct(&format!("GtkFixedLayoutChild @ {self:p}"))
7503            .finish()
7504    }
7505}
7506
7507#[repr(C)]
7508#[allow(dead_code)]
7509pub struct GtkFlattenListModel {
7510    _data: [u8; 0],
7511    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7512}
7513
7514impl ::std::fmt::Debug for GtkFlattenListModel {
7515    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7516        f.debug_struct(&format!("GtkFlattenListModel @ {self:p}"))
7517            .finish()
7518    }
7519}
7520
7521#[repr(C)]
7522#[allow(dead_code)]
7523pub struct GtkFlowBox {
7524    _data: [u8; 0],
7525    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7526}
7527
7528impl ::std::fmt::Debug for GtkFlowBox {
7529    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7530        f.debug_struct(&format!("GtkFlowBox @ {self:p}")).finish()
7531    }
7532}
7533
7534#[derive(Copy, Clone)]
7535#[repr(C)]
7536pub struct GtkFlowBoxChild {
7537    pub parent_instance: GtkWidget,
7538}
7539
7540impl ::std::fmt::Debug for GtkFlowBoxChild {
7541    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7542        f.debug_struct(&format!("GtkFlowBoxChild @ {self:p}"))
7543            .finish()
7544    }
7545}
7546
7547#[repr(C)]
7548#[allow(dead_code)]
7549pub struct GtkFontButton {
7550    _data: [u8; 0],
7551    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7552}
7553
7554impl ::std::fmt::Debug for GtkFontButton {
7555    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7556        f.debug_struct(&format!("GtkFontButton @ {self:p}"))
7557            .finish()
7558    }
7559}
7560
7561#[repr(C)]
7562#[allow(dead_code)]
7563pub struct GtkFontChooserDialog {
7564    _data: [u8; 0],
7565    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7566}
7567
7568impl ::std::fmt::Debug for GtkFontChooserDialog {
7569    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7570        f.debug_struct(&format!("GtkFontChooserDialog @ {self:p}"))
7571            .finish()
7572    }
7573}
7574
7575#[repr(C)]
7576#[allow(dead_code)]
7577pub struct GtkFontChooserWidget {
7578    _data: [u8; 0],
7579    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7580}
7581
7582impl ::std::fmt::Debug for GtkFontChooserWidget {
7583    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7584        f.debug_struct(&format!("GtkFontChooserWidget @ {self:p}"))
7585            .finish()
7586    }
7587}
7588
7589#[repr(C)]
7590#[allow(dead_code)]
7591pub struct GtkFontDialog {
7592    _data: [u8; 0],
7593    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7594}
7595
7596impl ::std::fmt::Debug for GtkFontDialog {
7597    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7598        f.debug_struct(&format!("GtkFontDialog @ {self:p}"))
7599            .finish()
7600    }
7601}
7602
7603#[repr(C)]
7604#[allow(dead_code)]
7605pub struct GtkFontDialogButton {
7606    _data: [u8; 0],
7607    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7608}
7609
7610impl ::std::fmt::Debug for GtkFontDialogButton {
7611    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7612        f.debug_struct(&format!("GtkFontDialogButton @ {self:p}"))
7613            .finish()
7614    }
7615}
7616
7617#[derive(Copy, Clone)]
7618#[repr(C)]
7619pub struct GtkFrame {
7620    pub parent_instance: GtkWidget,
7621}
7622
7623impl ::std::fmt::Debug for GtkFrame {
7624    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7625        f.debug_struct(&format!("GtkFrame @ {self:p}"))
7626            .field("parent_instance", &self.parent_instance)
7627            .finish()
7628    }
7629}
7630
7631#[derive(Copy, Clone)]
7632#[repr(C)]
7633pub struct GtkGLArea {
7634    pub parent_instance: GtkWidget,
7635}
7636
7637impl ::std::fmt::Debug for GtkGLArea {
7638    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7639        f.debug_struct(&format!("GtkGLArea @ {self:p}")).finish()
7640    }
7641}
7642
7643#[repr(C)]
7644#[allow(dead_code)]
7645pub struct GtkGesture {
7646    _data: [u8; 0],
7647    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7648}
7649
7650impl ::std::fmt::Debug for GtkGesture {
7651    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7652        f.debug_struct(&format!("GtkGesture @ {self:p}")).finish()
7653    }
7654}
7655
7656#[repr(C)]
7657#[allow(dead_code)]
7658pub struct GtkGestureClick {
7659    _data: [u8; 0],
7660    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7661}
7662
7663impl ::std::fmt::Debug for GtkGestureClick {
7664    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7665        f.debug_struct(&format!("GtkGestureClick @ {self:p}"))
7666            .finish()
7667    }
7668}
7669
7670#[repr(C)]
7671#[allow(dead_code)]
7672pub struct GtkGestureDrag {
7673    _data: [u8; 0],
7674    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7675}
7676
7677impl ::std::fmt::Debug for GtkGestureDrag {
7678    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7679        f.debug_struct(&format!("GtkGestureDrag @ {self:p}"))
7680            .finish()
7681    }
7682}
7683
7684#[repr(C)]
7685#[allow(dead_code)]
7686pub struct GtkGestureLongPress {
7687    _data: [u8; 0],
7688    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7689}
7690
7691impl ::std::fmt::Debug for GtkGestureLongPress {
7692    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7693        f.debug_struct(&format!("GtkGestureLongPress @ {self:p}"))
7694            .finish()
7695    }
7696}
7697
7698#[repr(C)]
7699#[allow(dead_code)]
7700pub struct GtkGesturePan {
7701    _data: [u8; 0],
7702    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7703}
7704
7705impl ::std::fmt::Debug for GtkGesturePan {
7706    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7707        f.debug_struct(&format!("GtkGesturePan @ {self:p}"))
7708            .finish()
7709    }
7710}
7711
7712#[repr(C)]
7713#[allow(dead_code)]
7714pub struct GtkGestureRotate {
7715    _data: [u8; 0],
7716    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7717}
7718
7719impl ::std::fmt::Debug for GtkGestureRotate {
7720    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7721        f.debug_struct(&format!("GtkGestureRotate @ {self:p}"))
7722            .finish()
7723    }
7724}
7725
7726#[repr(C)]
7727#[allow(dead_code)]
7728pub struct GtkGestureSingle {
7729    _data: [u8; 0],
7730    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7731}
7732
7733impl ::std::fmt::Debug for GtkGestureSingle {
7734    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7735        f.debug_struct(&format!("GtkGestureSingle @ {self:p}"))
7736            .finish()
7737    }
7738}
7739
7740#[repr(C)]
7741#[allow(dead_code)]
7742pub struct GtkGestureStylus {
7743    _data: [u8; 0],
7744    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7745}
7746
7747impl ::std::fmt::Debug for GtkGestureStylus {
7748    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7749        f.debug_struct(&format!("GtkGestureStylus @ {self:p}"))
7750            .finish()
7751    }
7752}
7753
7754#[repr(C)]
7755#[allow(dead_code)]
7756pub struct GtkGestureSwipe {
7757    _data: [u8; 0],
7758    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7759}
7760
7761impl ::std::fmt::Debug for GtkGestureSwipe {
7762    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7763        f.debug_struct(&format!("GtkGestureSwipe @ {self:p}"))
7764            .finish()
7765    }
7766}
7767
7768#[repr(C)]
7769#[allow(dead_code)]
7770pub struct GtkGestureZoom {
7771    _data: [u8; 0],
7772    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7773}
7774
7775impl ::std::fmt::Debug for GtkGestureZoom {
7776    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7777        f.debug_struct(&format!("GtkGestureZoom @ {self:p}"))
7778            .finish()
7779    }
7780}
7781
7782#[repr(C)]
7783#[allow(dead_code)]
7784pub struct GtkGraphicsOffload {
7785    _data: [u8; 0],
7786    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7787}
7788
7789impl ::std::fmt::Debug for GtkGraphicsOffload {
7790    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7791        f.debug_struct(&format!("GtkGraphicsOffload @ {self:p}"))
7792            .finish()
7793    }
7794}
7795
7796#[derive(Copy, Clone)]
7797#[repr(C)]
7798pub struct GtkGrid {
7799    pub parent_instance: GtkWidget,
7800}
7801
7802impl ::std::fmt::Debug for GtkGrid {
7803    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7804        f.debug_struct(&format!("GtkGrid @ {self:p}")).finish()
7805    }
7806}
7807
7808#[repr(C)]
7809#[allow(dead_code)]
7810pub struct GtkGridLayout {
7811    _data: [u8; 0],
7812    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7813}
7814
7815impl ::std::fmt::Debug for GtkGridLayout {
7816    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7817        f.debug_struct(&format!("GtkGridLayout @ {self:p}"))
7818            .finish()
7819    }
7820}
7821
7822#[repr(C)]
7823#[allow(dead_code)]
7824pub struct GtkGridLayoutChild {
7825    _data: [u8; 0],
7826    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7827}
7828
7829impl ::std::fmt::Debug for GtkGridLayoutChild {
7830    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7831        f.debug_struct(&format!("GtkGridLayoutChild @ {self:p}"))
7832            .finish()
7833    }
7834}
7835
7836#[repr(C)]
7837#[allow(dead_code)]
7838pub struct GtkGridView {
7839    _data: [u8; 0],
7840    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7841}
7842
7843impl ::std::fmt::Debug for GtkGridView {
7844    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7845        f.debug_struct(&format!("GtkGridView @ {self:p}")).finish()
7846    }
7847}
7848
7849#[repr(C)]
7850#[allow(dead_code)]
7851pub struct GtkHeaderBar {
7852    _data: [u8; 0],
7853    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7854}
7855
7856impl ::std::fmt::Debug for GtkHeaderBar {
7857    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7858        f.debug_struct(&format!("GtkHeaderBar @ {self:p}")).finish()
7859    }
7860}
7861
7862#[derive(Copy, Clone)]
7863#[repr(C)]
7864pub struct GtkIMContext {
7865    pub parent_instance: gobject::GObject,
7866}
7867
7868impl ::std::fmt::Debug for GtkIMContext {
7869    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7870        f.debug_struct(&format!("GtkIMContext @ {self:p}"))
7871            .field("parent_instance", &self.parent_instance)
7872            .finish()
7873    }
7874}
7875
7876#[derive(Copy, Clone)]
7877#[repr(C)]
7878pub struct GtkIMContextSimple {
7879    pub object: GtkIMContext,
7880    pub priv_: *mut GtkIMContextSimplePrivate,
7881}
7882
7883impl ::std::fmt::Debug for GtkIMContextSimple {
7884    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7885        f.debug_struct(&format!("GtkIMContextSimple @ {self:p}"))
7886            .field("object", &self.object)
7887            .finish()
7888    }
7889}
7890
7891#[derive(Copy, Clone)]
7892#[repr(C)]
7893pub struct GtkIMMulticontext {
7894    pub object: GtkIMContext,
7895    pub priv_: *mut GtkIMMulticontextPrivate,
7896}
7897
7898impl ::std::fmt::Debug for GtkIMMulticontext {
7899    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7900        f.debug_struct(&format!("GtkIMMulticontext @ {self:p}"))
7901            .field("object", &self.object)
7902            .finish()
7903    }
7904}
7905
7906#[repr(C)]
7907#[allow(dead_code)]
7908pub struct GtkIconPaintable {
7909    _data: [u8; 0],
7910    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7911}
7912
7913impl ::std::fmt::Debug for GtkIconPaintable {
7914    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7915        f.debug_struct(&format!("GtkIconPaintable @ {self:p}"))
7916            .finish()
7917    }
7918}
7919
7920#[repr(C)]
7921#[allow(dead_code)]
7922pub struct GtkIconTheme {
7923    _data: [u8; 0],
7924    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7925}
7926
7927impl ::std::fmt::Debug for GtkIconTheme {
7928    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7929        f.debug_struct(&format!("GtkIconTheme @ {self:p}")).finish()
7930    }
7931}
7932
7933#[repr(C)]
7934#[allow(dead_code)]
7935pub struct GtkIconView {
7936    _data: [u8; 0],
7937    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7938}
7939
7940impl ::std::fmt::Debug for GtkIconView {
7941    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7942        f.debug_struct(&format!("GtkIconView @ {self:p}")).finish()
7943    }
7944}
7945
7946#[repr(C)]
7947#[allow(dead_code)]
7948pub struct GtkImage {
7949    _data: [u8; 0],
7950    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7951}
7952
7953impl ::std::fmt::Debug for GtkImage {
7954    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7955        f.debug_struct(&format!("GtkImage @ {self:p}")).finish()
7956    }
7957}
7958
7959#[repr(C)]
7960#[allow(dead_code)]
7961pub struct GtkInfoBar {
7962    _data: [u8; 0],
7963    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7964}
7965
7966impl ::std::fmt::Debug for GtkInfoBar {
7967    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7968        f.debug_struct(&format!("GtkInfoBar @ {self:p}")).finish()
7969    }
7970}
7971
7972#[repr(C)]
7973#[allow(dead_code)]
7974pub struct GtkInscription {
7975    _data: [u8; 0],
7976    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7977}
7978
7979impl ::std::fmt::Debug for GtkInscription {
7980    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7981        f.debug_struct(&format!("GtkInscription @ {self:p}"))
7982            .finish()
7983    }
7984}
7985
7986#[repr(C)]
7987#[allow(dead_code)]
7988pub struct GtkKeyvalTrigger {
7989    _data: [u8; 0],
7990    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
7991}
7992
7993impl ::std::fmt::Debug for GtkKeyvalTrigger {
7994    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7995        f.debug_struct(&format!("GtkKeyvalTrigger @ {self:p}"))
7996            .finish()
7997    }
7998}
7999
8000#[repr(C)]
8001#[allow(dead_code)]
8002pub struct GtkLabel {
8003    _data: [u8; 0],
8004    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8005}
8006
8007impl ::std::fmt::Debug for GtkLabel {
8008    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8009        f.debug_struct(&format!("GtkLabel @ {self:p}")).finish()
8010    }
8011}
8012
8013#[derive(Copy, Clone)]
8014#[repr(C)]
8015pub struct GtkLayoutChild {
8016    pub parent_instance: gobject::GObject,
8017}
8018
8019impl ::std::fmt::Debug for GtkLayoutChild {
8020    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8021        f.debug_struct(&format!("GtkLayoutChild @ {self:p}"))
8022            .field("parent_instance", &self.parent_instance)
8023            .finish()
8024    }
8025}
8026
8027#[derive(Copy, Clone)]
8028#[repr(C)]
8029pub struct GtkLayoutManager {
8030    pub parent_instance: gobject::GObject,
8031}
8032
8033impl ::std::fmt::Debug for GtkLayoutManager {
8034    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8035        f.debug_struct(&format!("GtkLayoutManager @ {self:p}"))
8036            .field("parent_instance", &self.parent_instance)
8037            .finish()
8038    }
8039}
8040
8041#[repr(C)]
8042#[allow(dead_code)]
8043pub struct GtkLevelBar {
8044    _data: [u8; 0],
8045    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8046}
8047
8048impl ::std::fmt::Debug for GtkLevelBar {
8049    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8050        f.debug_struct(&format!("GtkLevelBar @ {self:p}")).finish()
8051    }
8052}
8053
8054#[repr(C)]
8055#[allow(dead_code)]
8056pub struct GtkLinkButton {
8057    _data: [u8; 0],
8058    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8059}
8060
8061impl ::std::fmt::Debug for GtkLinkButton {
8062    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8063        f.debug_struct(&format!("GtkLinkButton @ {self:p}"))
8064            .finish()
8065    }
8066}
8067
8068#[repr(C)]
8069#[allow(dead_code)]
8070pub struct GtkListBase {
8071    _data: [u8; 0],
8072    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8073}
8074
8075impl ::std::fmt::Debug for GtkListBase {
8076    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8077        f.debug_struct(&format!("GtkListBase @ {self:p}")).finish()
8078    }
8079}
8080
8081#[repr(C)]
8082#[allow(dead_code)]
8083pub struct GtkListBox {
8084    _data: [u8; 0],
8085    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8086}
8087
8088impl ::std::fmt::Debug for GtkListBox {
8089    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8090        f.debug_struct(&format!("GtkListBox @ {self:p}")).finish()
8091    }
8092}
8093
8094#[derive(Copy, Clone)]
8095#[repr(C)]
8096pub struct GtkListBoxRow {
8097    pub parent_instance: GtkWidget,
8098}
8099
8100impl ::std::fmt::Debug for GtkListBoxRow {
8101    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8102        f.debug_struct(&format!("GtkListBoxRow @ {self:p}"))
8103            .field("parent_instance", &self.parent_instance)
8104            .finish()
8105    }
8106}
8107
8108#[repr(C)]
8109#[allow(dead_code)]
8110pub struct GtkListHeader {
8111    _data: [u8; 0],
8112    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8113}
8114
8115impl ::std::fmt::Debug for GtkListHeader {
8116    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8117        f.debug_struct(&format!("GtkListHeader @ {self:p}"))
8118            .finish()
8119    }
8120}
8121
8122#[repr(C)]
8123#[allow(dead_code)]
8124pub struct GtkListItem {
8125    _data: [u8; 0],
8126    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8127}
8128
8129impl ::std::fmt::Debug for GtkListItem {
8130    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8131        f.debug_struct(&format!("GtkListItem @ {self:p}")).finish()
8132    }
8133}
8134
8135#[repr(C)]
8136#[allow(dead_code)]
8137pub struct GtkListItemFactory {
8138    _data: [u8; 0],
8139    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8140}
8141
8142impl ::std::fmt::Debug for GtkListItemFactory {
8143    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8144        f.debug_struct(&format!("GtkListItemFactory @ {self:p}"))
8145            .finish()
8146    }
8147}
8148
8149#[derive(Copy, Clone)]
8150#[repr(C)]
8151pub struct GtkListStore {
8152    pub parent: gobject::GObject,
8153    pub priv_: *mut GtkListStorePrivate,
8154}
8155
8156impl ::std::fmt::Debug for GtkListStore {
8157    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8158        f.debug_struct(&format!("GtkListStore @ {self:p}"))
8159            .field("parent", &self.parent)
8160            .finish()
8161    }
8162}
8163
8164#[repr(C)]
8165#[allow(dead_code)]
8166pub struct GtkListView {
8167    _data: [u8; 0],
8168    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8169}
8170
8171impl ::std::fmt::Debug for GtkListView {
8172    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8173        f.debug_struct(&format!("GtkListView @ {self:p}")).finish()
8174    }
8175}
8176
8177#[repr(C)]
8178#[allow(dead_code)]
8179pub struct GtkLockButton {
8180    _data: [u8; 0],
8181    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8182}
8183
8184impl ::std::fmt::Debug for GtkLockButton {
8185    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8186        f.debug_struct(&format!("GtkLockButton @ {self:p}"))
8187            .finish()
8188    }
8189}
8190
8191#[repr(C)]
8192#[allow(dead_code)]
8193pub struct GtkMapListModel {
8194    _data: [u8; 0],
8195    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8196}
8197
8198impl ::std::fmt::Debug for GtkMapListModel {
8199    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8200        f.debug_struct(&format!("GtkMapListModel @ {self:p}"))
8201            .finish()
8202    }
8203}
8204
8205#[repr(C)]
8206#[allow(dead_code)]
8207pub struct GtkMediaControls {
8208    _data: [u8; 0],
8209    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8210}
8211
8212impl ::std::fmt::Debug for GtkMediaControls {
8213    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8214        f.debug_struct(&format!("GtkMediaControls @ {self:p}"))
8215            .finish()
8216    }
8217}
8218
8219#[derive(Copy, Clone)]
8220#[repr(C)]
8221pub struct GtkMediaFile {
8222    pub parent_instance: GtkMediaStream,
8223}
8224
8225impl ::std::fmt::Debug for GtkMediaFile {
8226    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8227        f.debug_struct(&format!("GtkMediaFile @ {self:p}"))
8228            .field("parent_instance", &self.parent_instance)
8229            .finish()
8230    }
8231}
8232
8233#[derive(Copy, Clone)]
8234#[repr(C)]
8235pub struct GtkMediaStream {
8236    pub parent_instance: gobject::GObject,
8237}
8238
8239impl ::std::fmt::Debug for GtkMediaStream {
8240    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8241        f.debug_struct(&format!("GtkMediaStream @ {self:p}"))
8242            .field("parent_instance", &self.parent_instance)
8243            .finish()
8244    }
8245}
8246
8247#[repr(C)]
8248#[allow(dead_code)]
8249pub struct GtkMenuButton {
8250    _data: [u8; 0],
8251    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8252}
8253
8254impl ::std::fmt::Debug for GtkMenuButton {
8255    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8256        f.debug_struct(&format!("GtkMenuButton @ {self:p}"))
8257            .finish()
8258    }
8259}
8260
8261#[derive(Copy, Clone)]
8262#[repr(C)]
8263pub struct GtkMessageDialog {
8264    pub parent_instance: GtkDialog,
8265}
8266
8267impl ::std::fmt::Debug for GtkMessageDialog {
8268    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8269        f.debug_struct(&format!("GtkMessageDialog @ {self:p}"))
8270            .field("parent_instance", &self.parent_instance)
8271            .finish()
8272    }
8273}
8274
8275#[repr(C)]
8276#[allow(dead_code)]
8277pub struct GtkMnemonicAction {
8278    _data: [u8; 0],
8279    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8280}
8281
8282impl ::std::fmt::Debug for GtkMnemonicAction {
8283    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8284        f.debug_struct(&format!("GtkMnemonicAction @ {self:p}"))
8285            .finish()
8286    }
8287}
8288
8289#[repr(C)]
8290#[allow(dead_code)]
8291pub struct GtkMnemonicTrigger {
8292    _data: [u8; 0],
8293    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8294}
8295
8296impl ::std::fmt::Debug for GtkMnemonicTrigger {
8297    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8298        f.debug_struct(&format!("GtkMnemonicTrigger @ {self:p}"))
8299            .finish()
8300    }
8301}
8302
8303#[derive(Copy, Clone)]
8304#[repr(C)]
8305pub struct GtkMountOperation {
8306    pub parent_instance: gio::GMountOperation,
8307    pub priv_: *mut GtkMountOperationPrivate,
8308}
8309
8310impl ::std::fmt::Debug for GtkMountOperation {
8311    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8312        f.debug_struct(&format!("GtkMountOperation @ {self:p}"))
8313            .field("parent_instance", &self.parent_instance)
8314            .field("priv_", &self.priv_)
8315            .finish()
8316    }
8317}
8318
8319#[repr(C)]
8320#[allow(dead_code)]
8321pub struct GtkMultiFilter {
8322    _data: [u8; 0],
8323    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8324}
8325
8326impl ::std::fmt::Debug for GtkMultiFilter {
8327    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8328        f.debug_struct(&format!("GtkMultiFilter @ {self:p}"))
8329            .finish()
8330    }
8331}
8332
8333#[repr(C)]
8334#[allow(dead_code)]
8335pub struct GtkMultiSelection {
8336    _data: [u8; 0],
8337    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8338}
8339
8340impl ::std::fmt::Debug for GtkMultiSelection {
8341    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8342        f.debug_struct(&format!("GtkMultiSelection @ {self:p}"))
8343            .finish()
8344    }
8345}
8346
8347#[repr(C)]
8348#[allow(dead_code)]
8349pub struct GtkMultiSorter {
8350    _data: [u8; 0],
8351    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8352}
8353
8354impl ::std::fmt::Debug for GtkMultiSorter {
8355    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8356        f.debug_struct(&format!("GtkMultiSorter @ {self:p}"))
8357            .finish()
8358    }
8359}
8360
8361#[repr(C)]
8362#[allow(dead_code)]
8363pub struct GtkNamedAction {
8364    _data: [u8; 0],
8365    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8366}
8367
8368impl ::std::fmt::Debug for GtkNamedAction {
8369    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8370        f.debug_struct(&format!("GtkNamedAction @ {self:p}"))
8371            .finish()
8372    }
8373}
8374
8375#[derive(Copy, Clone)]
8376#[repr(C)]
8377pub struct GtkNativeDialog {
8378    pub parent_instance: gobject::GObject,
8379}
8380
8381impl ::std::fmt::Debug for GtkNativeDialog {
8382    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8383        f.debug_struct(&format!("GtkNativeDialog @ {self:p}"))
8384            .field("parent_instance", &self.parent_instance)
8385            .finish()
8386    }
8387}
8388
8389#[repr(C)]
8390#[allow(dead_code)]
8391pub struct GtkNeverTrigger {
8392    _data: [u8; 0],
8393    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8394}
8395
8396impl ::std::fmt::Debug for GtkNeverTrigger {
8397    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8398        f.debug_struct(&format!("GtkNeverTrigger @ {self:p}"))
8399            .finish()
8400    }
8401}
8402
8403#[repr(C)]
8404#[allow(dead_code)]
8405pub struct GtkNoSelection {
8406    _data: [u8; 0],
8407    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8408}
8409
8410impl ::std::fmt::Debug for GtkNoSelection {
8411    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8412        f.debug_struct(&format!("GtkNoSelection @ {self:p}"))
8413            .finish()
8414    }
8415}
8416
8417#[repr(C)]
8418#[allow(dead_code)]
8419pub struct GtkNotebook {
8420    _data: [u8; 0],
8421    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8422}
8423
8424impl ::std::fmt::Debug for GtkNotebook {
8425    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8426        f.debug_struct(&format!("GtkNotebook @ {self:p}")).finish()
8427    }
8428}
8429
8430#[repr(C)]
8431#[allow(dead_code)]
8432pub struct GtkNotebookPage {
8433    _data: [u8; 0],
8434    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8435}
8436
8437impl ::std::fmt::Debug for GtkNotebookPage {
8438    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8439        f.debug_struct(&format!("GtkNotebookPage @ {self:p}"))
8440            .finish()
8441    }
8442}
8443
8444#[repr(C)]
8445#[allow(dead_code)]
8446pub struct GtkNothingAction {
8447    _data: [u8; 0],
8448    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8449}
8450
8451impl ::std::fmt::Debug for GtkNothingAction {
8452    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8453        f.debug_struct(&format!("GtkNothingAction @ {self:p}"))
8454            .finish()
8455    }
8456}
8457
8458#[repr(C)]
8459#[allow(dead_code)]
8460pub struct GtkNumericSorter {
8461    _data: [u8; 0],
8462    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8463}
8464
8465impl ::std::fmt::Debug for GtkNumericSorter {
8466    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8467        f.debug_struct(&format!("GtkNumericSorter @ {self:p}"))
8468            .finish()
8469    }
8470}
8471
8472#[repr(C)]
8473#[allow(dead_code)]
8474pub struct GtkObjectExpression {
8475    _data: [u8; 0],
8476    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8477}
8478
8479impl ::std::fmt::Debug for GtkObjectExpression {
8480    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8481        f.debug_struct(&format!("GtkObjectExpression @ {self:p}"))
8482            .finish()
8483    }
8484}
8485
8486#[repr(C)]
8487#[allow(dead_code)]
8488pub struct GtkOverlay {
8489    _data: [u8; 0],
8490    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8491}
8492
8493impl ::std::fmt::Debug for GtkOverlay {
8494    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8495        f.debug_struct(&format!("GtkOverlay @ {self:p}")).finish()
8496    }
8497}
8498
8499#[repr(C)]
8500#[allow(dead_code)]
8501pub struct GtkOverlayLayout {
8502    _data: [u8; 0],
8503    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8504}
8505
8506impl ::std::fmt::Debug for GtkOverlayLayout {
8507    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8508        f.debug_struct(&format!("GtkOverlayLayout @ {self:p}"))
8509            .finish()
8510    }
8511}
8512
8513#[repr(C)]
8514#[allow(dead_code)]
8515pub struct GtkOverlayLayoutChild {
8516    _data: [u8; 0],
8517    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8518}
8519
8520impl ::std::fmt::Debug for GtkOverlayLayoutChild {
8521    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8522        f.debug_struct(&format!("GtkOverlayLayoutChild @ {self:p}"))
8523            .finish()
8524    }
8525}
8526
8527#[repr(C)]
8528#[allow(dead_code)]
8529pub struct GtkPadController {
8530    _data: [u8; 0],
8531    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8532}
8533
8534impl ::std::fmt::Debug for GtkPadController {
8535    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8536        f.debug_struct(&format!("GtkPadController @ {self:p}"))
8537            .finish()
8538    }
8539}
8540
8541#[repr(C)]
8542#[allow(dead_code)]
8543pub struct GtkPageSetup {
8544    _data: [u8; 0],
8545    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8546}
8547
8548impl ::std::fmt::Debug for GtkPageSetup {
8549    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8550        f.debug_struct(&format!("GtkPageSetup @ {self:p}")).finish()
8551    }
8552}
8553
8554#[repr(C)]
8555#[allow(dead_code)]
8556pub struct GtkPageSetupUnixDialog {
8557    _data: [u8; 0],
8558    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8559}
8560
8561impl ::std::fmt::Debug for GtkPageSetupUnixDialog {
8562    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8563        f.debug_struct(&format!("GtkPageSetupUnixDialog @ {self:p}"))
8564            .finish()
8565    }
8566}
8567
8568#[repr(C)]
8569#[allow(dead_code)]
8570pub struct GtkPaned {
8571    _data: [u8; 0],
8572    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8573}
8574
8575impl ::std::fmt::Debug for GtkPaned {
8576    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8577        f.debug_struct(&format!("GtkPaned @ {self:p}")).finish()
8578    }
8579}
8580
8581#[derive(Copy, Clone)]
8582#[repr(C)]
8583pub struct GtkParamSpecExpression {
8584    pub parent_instance: gobject::GParamSpec,
8585}
8586
8587impl ::std::fmt::Debug for GtkParamSpecExpression {
8588    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8589        f.debug_struct(&format!("GtkParamSpecExpression @ {self:p}"))
8590            .finish()
8591    }
8592}
8593
8594#[repr(C)]
8595#[allow(dead_code)]
8596pub struct GtkPasswordEntry {
8597    _data: [u8; 0],
8598    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8599}
8600
8601impl ::std::fmt::Debug for GtkPasswordEntry {
8602    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8603        f.debug_struct(&format!("GtkPasswordEntry @ {self:p}"))
8604            .finish()
8605    }
8606}
8607
8608#[repr(C)]
8609#[allow(dead_code)]
8610pub struct GtkPasswordEntryBuffer {
8611    _data: [u8; 0],
8612    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8613}
8614
8615impl ::std::fmt::Debug for GtkPasswordEntryBuffer {
8616    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8617        f.debug_struct(&format!("GtkPasswordEntryBuffer @ {self:p}"))
8618            .finish()
8619    }
8620}
8621
8622#[repr(C)]
8623#[allow(dead_code)]
8624pub struct GtkPicture {
8625    _data: [u8; 0],
8626    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8627}
8628
8629impl ::std::fmt::Debug for GtkPicture {
8630    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8631        f.debug_struct(&format!("GtkPicture @ {self:p}")).finish()
8632    }
8633}
8634
8635#[derive(Copy, Clone)]
8636#[repr(C)]
8637pub struct GtkPopover {
8638    pub parent: GtkWidget,
8639}
8640
8641impl ::std::fmt::Debug for GtkPopover {
8642    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8643        f.debug_struct(&format!("GtkPopover @ {self:p}"))
8644            .field("parent", &self.parent)
8645            .finish()
8646    }
8647}
8648
8649#[repr(C)]
8650#[allow(dead_code)]
8651pub struct GtkPopoverBin {
8652    _data: [u8; 0],
8653    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8654}
8655
8656impl ::std::fmt::Debug for GtkPopoverBin {
8657    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8658        f.debug_struct(&format!("GtkPopoverBin @ {self:p}"))
8659            .finish()
8660    }
8661}
8662
8663#[repr(C)]
8664#[allow(dead_code)]
8665pub struct GtkPopoverMenu {
8666    _data: [u8; 0],
8667    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8668}
8669
8670impl ::std::fmt::Debug for GtkPopoverMenu {
8671    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8672        f.debug_struct(&format!("GtkPopoverMenu @ {self:p}"))
8673            .finish()
8674    }
8675}
8676
8677#[repr(C)]
8678#[allow(dead_code)]
8679pub struct GtkPopoverMenuBar {
8680    _data: [u8; 0],
8681    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8682}
8683
8684impl ::std::fmt::Debug for GtkPopoverMenuBar {
8685    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8686        f.debug_struct(&format!("GtkPopoverMenuBar @ {self:p}"))
8687            .finish()
8688    }
8689}
8690
8691#[repr(C)]
8692#[allow(dead_code)]
8693pub struct GtkPrintContext {
8694    _data: [u8; 0],
8695    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8696}
8697
8698impl ::std::fmt::Debug for GtkPrintContext {
8699    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8700        f.debug_struct(&format!("GtkPrintContext @ {self:p}"))
8701            .finish()
8702    }
8703}
8704
8705#[repr(C)]
8706#[allow(dead_code)]
8707pub struct GtkPrintDialog {
8708    _data: [u8; 0],
8709    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8710}
8711
8712impl ::std::fmt::Debug for GtkPrintDialog {
8713    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8714        f.debug_struct(&format!("GtkPrintDialog @ {self:p}"))
8715            .finish()
8716    }
8717}
8718
8719#[repr(C)]
8720#[allow(dead_code)]
8721pub struct GtkPrintJob {
8722    _data: [u8; 0],
8723    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8724}
8725
8726impl ::std::fmt::Debug for GtkPrintJob {
8727    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8728        f.debug_struct(&format!("GtkPrintJob @ {self:p}")).finish()
8729    }
8730}
8731
8732#[derive(Copy, Clone)]
8733#[repr(C)]
8734pub struct GtkPrintOperation {
8735    pub parent_instance: gobject::GObject,
8736    pub priv_: *mut GtkPrintOperationPrivate,
8737}
8738
8739impl ::std::fmt::Debug for GtkPrintOperation {
8740    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8741        f.debug_struct(&format!("GtkPrintOperation @ {self:p}"))
8742            .field("parent_instance", &self.parent_instance)
8743            .finish()
8744    }
8745}
8746
8747#[repr(C)]
8748#[allow(dead_code)]
8749pub struct GtkPrintSettings {
8750    _data: [u8; 0],
8751    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8752}
8753
8754impl ::std::fmt::Debug for GtkPrintSettings {
8755    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8756        f.debug_struct(&format!("GtkPrintSettings @ {self:p}"))
8757            .finish()
8758    }
8759}
8760
8761#[repr(C)]
8762#[allow(dead_code)]
8763pub struct GtkPrintUnixDialog {
8764    _data: [u8; 0],
8765    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8766}
8767
8768impl ::std::fmt::Debug for GtkPrintUnixDialog {
8769    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8770        f.debug_struct(&format!("GtkPrintUnixDialog @ {self:p}"))
8771            .finish()
8772    }
8773}
8774
8775#[repr(C)]
8776#[allow(dead_code)]
8777pub struct GtkPrinter {
8778    _data: [u8; 0],
8779    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8780}
8781
8782impl ::std::fmt::Debug for GtkPrinter {
8783    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8784        f.debug_struct(&format!("GtkPrinter @ {self:p}")).finish()
8785    }
8786}
8787
8788#[repr(C)]
8789#[allow(dead_code)]
8790pub struct GtkProgressBar {
8791    _data: [u8; 0],
8792    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8793}
8794
8795impl ::std::fmt::Debug for GtkProgressBar {
8796    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8797        f.debug_struct(&format!("GtkProgressBar @ {self:p}"))
8798            .finish()
8799    }
8800}
8801
8802#[repr(C)]
8803#[allow(dead_code)]
8804pub struct GtkPropertyExpression {
8805    _data: [u8; 0],
8806    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8807}
8808
8809impl ::std::fmt::Debug for GtkPropertyExpression {
8810    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8811        f.debug_struct(&format!("GtkPropertyExpression @ {self:p}"))
8812            .finish()
8813    }
8814}
8815
8816#[derive(Copy, Clone)]
8817#[repr(C)]
8818pub struct GtkRange {
8819    pub parent_instance: GtkWidget,
8820}
8821
8822impl ::std::fmt::Debug for GtkRange {
8823    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8824        f.debug_struct(&format!("GtkRange @ {self:p}"))
8825            .field("parent_instance", &self.parent_instance)
8826            .finish()
8827    }
8828}
8829
8830#[derive(Copy, Clone)]
8831#[repr(C)]
8832pub struct GtkRecentManager {
8833    pub parent_instance: gobject::GObject,
8834    pub priv_: *mut GtkRecentManagerPrivate,
8835}
8836
8837impl ::std::fmt::Debug for GtkRecentManager {
8838    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8839        f.debug_struct(&format!("GtkRecentManager @ {self:p}"))
8840            .finish()
8841    }
8842}
8843
8844#[repr(C)]
8845#[allow(dead_code)]
8846pub struct GtkRevealer {
8847    _data: [u8; 0],
8848    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8849}
8850
8851impl ::std::fmt::Debug for GtkRevealer {
8852    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8853        f.debug_struct(&format!("GtkRevealer @ {self:p}")).finish()
8854    }
8855}
8856
8857#[derive(Copy, Clone)]
8858#[repr(C)]
8859pub struct GtkScale {
8860    pub parent_instance: GtkRange,
8861}
8862
8863impl ::std::fmt::Debug for GtkScale {
8864    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8865        f.debug_struct(&format!("GtkScale @ {self:p}"))
8866            .field("parent_instance", &self.parent_instance)
8867            .finish()
8868    }
8869}
8870
8871#[derive(Copy, Clone)]
8872#[repr(C)]
8873pub struct GtkScaleButton {
8874    pub parent_instance: GtkWidget,
8875}
8876
8877impl ::std::fmt::Debug for GtkScaleButton {
8878    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8879        f.debug_struct(&format!("GtkScaleButton @ {self:p}"))
8880            .field("parent_instance", &self.parent_instance)
8881            .finish()
8882    }
8883}
8884
8885#[repr(C)]
8886#[allow(dead_code)]
8887pub struct GtkScrollbar {
8888    _data: [u8; 0],
8889    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8890}
8891
8892impl ::std::fmt::Debug for GtkScrollbar {
8893    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8894        f.debug_struct(&format!("GtkScrollbar @ {self:p}")).finish()
8895    }
8896}
8897
8898#[repr(C)]
8899#[allow(dead_code)]
8900pub struct GtkScrolledWindow {
8901    _data: [u8; 0],
8902    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8903}
8904
8905impl ::std::fmt::Debug for GtkScrolledWindow {
8906    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8907        f.debug_struct(&format!("GtkScrolledWindow @ {self:p}"))
8908            .finish()
8909    }
8910}
8911
8912#[repr(C)]
8913#[allow(dead_code)]
8914pub struct GtkSearchBar {
8915    _data: [u8; 0],
8916    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8917}
8918
8919impl ::std::fmt::Debug for GtkSearchBar {
8920    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8921        f.debug_struct(&format!("GtkSearchBar @ {self:p}")).finish()
8922    }
8923}
8924
8925#[repr(C)]
8926#[allow(dead_code)]
8927pub struct GtkSearchEntry {
8928    _data: [u8; 0],
8929    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8930}
8931
8932impl ::std::fmt::Debug for GtkSearchEntry {
8933    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8934        f.debug_struct(&format!("GtkSearchEntry @ {self:p}"))
8935            .finish()
8936    }
8937}
8938
8939#[repr(C)]
8940#[allow(dead_code)]
8941pub struct GtkSelectionFilterModel {
8942    _data: [u8; 0],
8943    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8944}
8945
8946impl ::std::fmt::Debug for GtkSelectionFilterModel {
8947    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8948        f.debug_struct(&format!("GtkSelectionFilterModel @ {self:p}"))
8949            .finish()
8950    }
8951}
8952
8953#[repr(C)]
8954#[allow(dead_code)]
8955pub struct GtkSeparator {
8956    _data: [u8; 0],
8957    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8958}
8959
8960impl ::std::fmt::Debug for GtkSeparator {
8961    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8962        f.debug_struct(&format!("GtkSeparator @ {self:p}")).finish()
8963    }
8964}
8965
8966#[repr(C)]
8967#[allow(dead_code)]
8968pub struct GtkSettings {
8969    _data: [u8; 0],
8970    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8971}
8972
8973impl ::std::fmt::Debug for GtkSettings {
8974    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8975        f.debug_struct(&format!("GtkSettings @ {self:p}")).finish()
8976    }
8977}
8978
8979#[repr(C)]
8980#[allow(dead_code)]
8981pub struct GtkShortcut {
8982    _data: [u8; 0],
8983    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8984}
8985
8986impl ::std::fmt::Debug for GtkShortcut {
8987    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8988        f.debug_struct(&format!("GtkShortcut @ {self:p}")).finish()
8989    }
8990}
8991
8992#[repr(C)]
8993#[allow(dead_code)]
8994pub struct GtkShortcutAction {
8995    _data: [u8; 0],
8996    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
8997}
8998
8999impl ::std::fmt::Debug for GtkShortcutAction {
9000    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9001        f.debug_struct(&format!("GtkShortcutAction @ {self:p}"))
9002            .finish()
9003    }
9004}
9005
9006#[repr(C)]
9007#[allow(dead_code)]
9008pub struct GtkShortcutController {
9009    _data: [u8; 0],
9010    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9011}
9012
9013impl ::std::fmt::Debug for GtkShortcutController {
9014    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9015        f.debug_struct(&format!("GtkShortcutController @ {self:p}"))
9016            .finish()
9017    }
9018}
9019
9020#[repr(C)]
9021#[allow(dead_code)]
9022pub struct GtkShortcutLabel {
9023    _data: [u8; 0],
9024    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9025}
9026
9027impl ::std::fmt::Debug for GtkShortcutLabel {
9028    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9029        f.debug_struct(&format!("GtkShortcutLabel @ {self:p}"))
9030            .finish()
9031    }
9032}
9033
9034#[repr(C)]
9035#[allow(dead_code)]
9036pub struct GtkShortcutTrigger {
9037    _data: [u8; 0],
9038    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9039}
9040
9041impl ::std::fmt::Debug for GtkShortcutTrigger {
9042    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9043        f.debug_struct(&format!("GtkShortcutTrigger @ {self:p}"))
9044            .finish()
9045    }
9046}
9047
9048#[repr(C)]
9049#[allow(dead_code)]
9050pub struct GtkShortcutsGroup {
9051    _data: [u8; 0],
9052    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9053}
9054
9055impl ::std::fmt::Debug for GtkShortcutsGroup {
9056    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9057        f.debug_struct(&format!("GtkShortcutsGroup @ {self:p}"))
9058            .finish()
9059    }
9060}
9061
9062#[repr(C)]
9063#[allow(dead_code)]
9064pub struct GtkShortcutsSection {
9065    _data: [u8; 0],
9066    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9067}
9068
9069impl ::std::fmt::Debug for GtkShortcutsSection {
9070    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9071        f.debug_struct(&format!("GtkShortcutsSection @ {self:p}"))
9072            .finish()
9073    }
9074}
9075
9076#[repr(C)]
9077#[allow(dead_code)]
9078pub struct GtkShortcutsShortcut {
9079    _data: [u8; 0],
9080    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9081}
9082
9083impl ::std::fmt::Debug for GtkShortcutsShortcut {
9084    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9085        f.debug_struct(&format!("GtkShortcutsShortcut @ {self:p}"))
9086            .finish()
9087    }
9088}
9089
9090#[repr(C)]
9091#[allow(dead_code)]
9092pub struct GtkShortcutsWindow {
9093    _data: [u8; 0],
9094    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9095}
9096
9097impl ::std::fmt::Debug for GtkShortcutsWindow {
9098    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9099        f.debug_struct(&format!("GtkShortcutsWindow @ {self:p}"))
9100            .finish()
9101    }
9102}
9103
9104#[repr(C)]
9105#[allow(dead_code)]
9106pub struct GtkSignalAction {
9107    _data: [u8; 0],
9108    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9109}
9110
9111impl ::std::fmt::Debug for GtkSignalAction {
9112    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9113        f.debug_struct(&format!("GtkSignalAction @ {self:p}"))
9114            .finish()
9115    }
9116}
9117
9118#[repr(C)]
9119#[allow(dead_code)]
9120pub struct GtkSignalListItemFactory {
9121    _data: [u8; 0],
9122    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9123}
9124
9125impl ::std::fmt::Debug for GtkSignalListItemFactory {
9126    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9127        f.debug_struct(&format!("GtkSignalListItemFactory @ {self:p}"))
9128            .finish()
9129    }
9130}
9131
9132#[repr(C)]
9133#[allow(dead_code)]
9134pub struct GtkSingleSelection {
9135    _data: [u8; 0],
9136    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9137}
9138
9139impl ::std::fmt::Debug for GtkSingleSelection {
9140    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9141        f.debug_struct(&format!("GtkSingleSelection @ {self:p}"))
9142            .finish()
9143    }
9144}
9145
9146#[derive(Copy, Clone)]
9147#[repr(C)]
9148pub struct GtkSizeGroup {
9149    pub parent_instance: gobject::GObject,
9150}
9151
9152impl ::std::fmt::Debug for GtkSizeGroup {
9153    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9154        f.debug_struct(&format!("GtkSizeGroup @ {self:p}"))
9155            .field("parent_instance", &self.parent_instance)
9156            .finish()
9157    }
9158}
9159
9160#[repr(C)]
9161#[allow(dead_code)]
9162pub struct GtkSliceListModel {
9163    _data: [u8; 0],
9164    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9165}
9166
9167impl ::std::fmt::Debug for GtkSliceListModel {
9168    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9169        f.debug_struct(&format!("GtkSliceListModel @ {self:p}"))
9170            .finish()
9171    }
9172}
9173
9174#[repr(C)]
9175#[allow(dead_code)]
9176pub struct GtkSnapshot {
9177    _data: [u8; 0],
9178    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9179}
9180
9181impl ::std::fmt::Debug for GtkSnapshot {
9182    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9183        f.debug_struct(&format!("GtkSnapshot @ {self:p}")).finish()
9184    }
9185}
9186
9187#[repr(C)]
9188#[allow(dead_code)]
9189pub struct GtkSortListModel {
9190    _data: [u8; 0],
9191    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9192}
9193
9194impl ::std::fmt::Debug for GtkSortListModel {
9195    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9196        f.debug_struct(&format!("GtkSortListModel @ {self:p}"))
9197            .finish()
9198    }
9199}
9200
9201#[derive(Copy, Clone)]
9202#[repr(C)]
9203pub struct GtkSorter {
9204    pub parent_instance: gobject::GObject,
9205}
9206
9207impl ::std::fmt::Debug for GtkSorter {
9208    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9209        f.debug_struct(&format!("GtkSorter @ {self:p}"))
9210            .field("parent_instance", &self.parent_instance)
9211            .finish()
9212    }
9213}
9214
9215#[repr(C)]
9216#[allow(dead_code)]
9217pub struct GtkSpinButton {
9218    _data: [u8; 0],
9219    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9220}
9221
9222impl ::std::fmt::Debug for GtkSpinButton {
9223    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9224        f.debug_struct(&format!("GtkSpinButton @ {self:p}"))
9225            .finish()
9226    }
9227}
9228
9229#[repr(C)]
9230#[allow(dead_code)]
9231pub struct GtkSpinner {
9232    _data: [u8; 0],
9233    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9234}
9235
9236impl ::std::fmt::Debug for GtkSpinner {
9237    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9238        f.debug_struct(&format!("GtkSpinner @ {self:p}")).finish()
9239    }
9240}
9241
9242#[repr(C)]
9243#[allow(dead_code)]
9244pub struct GtkStack {
9245    _data: [u8; 0],
9246    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9247}
9248
9249impl ::std::fmt::Debug for GtkStack {
9250    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9251        f.debug_struct(&format!("GtkStack @ {self:p}")).finish()
9252    }
9253}
9254
9255#[repr(C)]
9256#[allow(dead_code)]
9257pub struct GtkStackPage {
9258    _data: [u8; 0],
9259    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9260}
9261
9262impl ::std::fmt::Debug for GtkStackPage {
9263    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9264        f.debug_struct(&format!("GtkStackPage @ {self:p}")).finish()
9265    }
9266}
9267
9268#[repr(C)]
9269#[allow(dead_code)]
9270pub struct GtkStackSidebar {
9271    _data: [u8; 0],
9272    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9273}
9274
9275impl ::std::fmt::Debug for GtkStackSidebar {
9276    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9277        f.debug_struct(&format!("GtkStackSidebar @ {self:p}"))
9278            .finish()
9279    }
9280}
9281
9282#[repr(C)]
9283#[allow(dead_code)]
9284pub struct GtkStackSwitcher {
9285    _data: [u8; 0],
9286    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9287}
9288
9289impl ::std::fmt::Debug for GtkStackSwitcher {
9290    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9291        f.debug_struct(&format!("GtkStackSwitcher @ {self:p}"))
9292            .finish()
9293    }
9294}
9295
9296#[repr(C)]
9297#[allow(dead_code)]
9298pub struct GtkStatusbar {
9299    _data: [u8; 0],
9300    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9301}
9302
9303impl ::std::fmt::Debug for GtkStatusbar {
9304    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9305        f.debug_struct(&format!("GtkStatusbar @ {self:p}")).finish()
9306    }
9307}
9308
9309#[repr(C)]
9310#[allow(dead_code)]
9311pub struct GtkStringFilter {
9312    _data: [u8; 0],
9313    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9314}
9315
9316impl ::std::fmt::Debug for GtkStringFilter {
9317    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9318        f.debug_struct(&format!("GtkStringFilter @ {self:p}"))
9319            .finish()
9320    }
9321}
9322
9323#[repr(C)]
9324#[allow(dead_code)]
9325pub struct GtkStringList {
9326    _data: [u8; 0],
9327    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9328}
9329
9330impl ::std::fmt::Debug for GtkStringList {
9331    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9332        f.debug_struct(&format!("GtkStringList @ {self:p}"))
9333            .finish()
9334    }
9335}
9336
9337#[repr(C)]
9338#[allow(dead_code)]
9339pub struct GtkStringObject {
9340    _data: [u8; 0],
9341    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9342}
9343
9344impl ::std::fmt::Debug for GtkStringObject {
9345    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9346        f.debug_struct(&format!("GtkStringObject @ {self:p}"))
9347            .finish()
9348    }
9349}
9350
9351#[repr(C)]
9352#[allow(dead_code)]
9353pub struct GtkStringSorter {
9354    _data: [u8; 0],
9355    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9356}
9357
9358impl ::std::fmt::Debug for GtkStringSorter {
9359    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9360        f.debug_struct(&format!("GtkStringSorter @ {self:p}"))
9361            .finish()
9362    }
9363}
9364
9365#[derive(Copy, Clone)]
9366#[repr(C)]
9367pub struct GtkStyleContext {
9368    pub parent_object: gobject::GObject,
9369}
9370
9371impl ::std::fmt::Debug for GtkStyleContext {
9372    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9373        f.debug_struct(&format!("GtkStyleContext @ {self:p}"))
9374            .field("parent_object", &self.parent_object)
9375            .finish()
9376    }
9377}
9378
9379#[repr(C)]
9380#[allow(dead_code)]
9381pub struct GtkSvg {
9382    _data: [u8; 0],
9383    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9384}
9385
9386impl ::std::fmt::Debug for GtkSvg {
9387    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9388        f.debug_struct(&format!("GtkSvg @ {self:p}")).finish()
9389    }
9390}
9391
9392#[repr(C)]
9393#[allow(dead_code)]
9394pub struct GtkSvgWidget {
9395    _data: [u8; 0],
9396    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9397}
9398
9399impl ::std::fmt::Debug for GtkSvgWidget {
9400    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9401        f.debug_struct(&format!("GtkSvgWidget @ {self:p}")).finish()
9402    }
9403}
9404
9405#[repr(C)]
9406#[allow(dead_code)]
9407pub struct GtkSwitch {
9408    _data: [u8; 0],
9409    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9410}
9411
9412impl ::std::fmt::Debug for GtkSwitch {
9413    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9414        f.debug_struct(&format!("GtkSwitch @ {self:p}")).finish()
9415    }
9416}
9417
9418#[derive(Copy, Clone)]
9419#[repr(C)]
9420pub struct GtkText {
9421    pub parent_instance: GtkWidget,
9422}
9423
9424impl ::std::fmt::Debug for GtkText {
9425    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9426        f.debug_struct(&format!("GtkText @ {self:p}")).finish()
9427    }
9428}
9429
9430#[derive(Copy, Clone)]
9431#[repr(C)]
9432pub struct GtkTextBuffer {
9433    pub parent_instance: gobject::GObject,
9434    pub priv_: *mut GtkTextBufferPrivate,
9435}
9436
9437impl ::std::fmt::Debug for GtkTextBuffer {
9438    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9439        f.debug_struct(&format!("GtkTextBuffer @ {self:p}"))
9440            .field("parent_instance", &self.parent_instance)
9441            .field("priv_", &self.priv_)
9442            .finish()
9443    }
9444}
9445
9446#[derive(Copy, Clone)]
9447#[repr(C)]
9448pub struct GtkTextChildAnchor {
9449    pub parent_instance: gobject::GObject,
9450    pub segment: gpointer,
9451}
9452
9453impl ::std::fmt::Debug for GtkTextChildAnchor {
9454    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9455        f.debug_struct(&format!("GtkTextChildAnchor @ {self:p}"))
9456            .field("parent_instance", &self.parent_instance)
9457            .finish()
9458    }
9459}
9460
9461#[derive(Copy, Clone)]
9462#[repr(C)]
9463pub struct GtkTextMark {
9464    pub parent_instance: gobject::GObject,
9465    pub segment: gpointer,
9466}
9467
9468impl ::std::fmt::Debug for GtkTextMark {
9469    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9470        f.debug_struct(&format!("GtkTextMark @ {self:p}"))
9471            .field("parent_instance", &self.parent_instance)
9472            .finish()
9473    }
9474}
9475
9476#[derive(Copy, Clone)]
9477#[repr(C)]
9478pub struct GtkTextTag {
9479    pub parent_instance: gobject::GObject,
9480    pub priv_: *mut GtkTextTagPrivate,
9481}
9482
9483impl ::std::fmt::Debug for GtkTextTag {
9484    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9485        f.debug_struct(&format!("GtkTextTag @ {self:p}"))
9486            .field("parent_instance", &self.parent_instance)
9487            .field("priv_", &self.priv_)
9488            .finish()
9489    }
9490}
9491
9492#[repr(C)]
9493#[allow(dead_code)]
9494pub struct GtkTextTagTable {
9495    _data: [u8; 0],
9496    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9497}
9498
9499impl ::std::fmt::Debug for GtkTextTagTable {
9500    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9501        f.debug_struct(&format!("GtkTextTagTable @ {self:p}"))
9502            .finish()
9503    }
9504}
9505
9506#[derive(Copy, Clone)]
9507#[repr(C)]
9508pub struct GtkTextView {
9509    pub parent_instance: GtkWidget,
9510    pub priv_: *mut GtkTextViewPrivate,
9511}
9512
9513impl ::std::fmt::Debug for GtkTextView {
9514    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9515        f.debug_struct(&format!("GtkTextView @ {self:p}"))
9516            .field("parent_instance", &self.parent_instance)
9517            .finish()
9518    }
9519}
9520
9521#[derive(Copy, Clone)]
9522#[repr(C)]
9523pub struct GtkToggleButton {
9524    pub button: GtkButton,
9525}
9526
9527impl ::std::fmt::Debug for GtkToggleButton {
9528    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9529        f.debug_struct(&format!("GtkToggleButton @ {self:p}"))
9530            .finish()
9531    }
9532}
9533
9534#[repr(C)]
9535#[allow(dead_code)]
9536pub struct GtkTooltip {
9537    _data: [u8; 0],
9538    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9539}
9540
9541impl ::std::fmt::Debug for GtkTooltip {
9542    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9543        f.debug_struct(&format!("GtkTooltip @ {self:p}")).finish()
9544    }
9545}
9546
9547#[repr(C)]
9548#[allow(dead_code)]
9549pub struct GtkTreeExpander {
9550    _data: [u8; 0],
9551    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9552}
9553
9554impl ::std::fmt::Debug for GtkTreeExpander {
9555    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9556        f.debug_struct(&format!("GtkTreeExpander @ {self:p}"))
9557            .finish()
9558    }
9559}
9560
9561#[repr(C)]
9562#[allow(dead_code)]
9563pub struct GtkTreeListModel {
9564    _data: [u8; 0],
9565    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9566}
9567
9568impl ::std::fmt::Debug for GtkTreeListModel {
9569    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9570        f.debug_struct(&format!("GtkTreeListModel @ {self:p}"))
9571            .finish()
9572    }
9573}
9574
9575#[repr(C)]
9576#[allow(dead_code)]
9577pub struct GtkTreeListRow {
9578    _data: [u8; 0],
9579    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9580}
9581
9582impl ::std::fmt::Debug for GtkTreeListRow {
9583    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9584        f.debug_struct(&format!("GtkTreeListRow @ {self:p}"))
9585            .finish()
9586    }
9587}
9588
9589#[repr(C)]
9590#[allow(dead_code)]
9591pub struct GtkTreeListRowSorter {
9592    _data: [u8; 0],
9593    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9594}
9595
9596impl ::std::fmt::Debug for GtkTreeListRowSorter {
9597    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9598        f.debug_struct(&format!("GtkTreeListRowSorter @ {self:p}"))
9599            .finish()
9600    }
9601}
9602
9603#[derive(Copy, Clone)]
9604#[repr(C)]
9605pub struct GtkTreeModelFilter {
9606    pub parent: gobject::GObject,
9607    pub priv_: *mut GtkTreeModelFilterPrivate,
9608}
9609
9610impl ::std::fmt::Debug for GtkTreeModelFilter {
9611    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9612        f.debug_struct(&format!("GtkTreeModelFilter @ {self:p}"))
9613            .field("parent", &self.parent)
9614            .finish()
9615    }
9616}
9617
9618#[derive(Copy, Clone)]
9619#[repr(C)]
9620pub struct GtkTreeModelSort {
9621    pub parent: gobject::GObject,
9622    pub priv_: *mut GtkTreeModelSortPrivate,
9623}
9624
9625impl ::std::fmt::Debug for GtkTreeModelSort {
9626    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9627        f.debug_struct(&format!("GtkTreeModelSort @ {self:p}"))
9628            .field("parent", &self.parent)
9629            .finish()
9630    }
9631}
9632
9633#[repr(C)]
9634#[allow(dead_code)]
9635pub struct GtkTreeSelection {
9636    _data: [u8; 0],
9637    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9638}
9639
9640impl ::std::fmt::Debug for GtkTreeSelection {
9641    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9642        f.debug_struct(&format!("GtkTreeSelection @ {self:p}"))
9643            .finish()
9644    }
9645}
9646
9647#[derive(Copy, Clone)]
9648#[repr(C)]
9649pub struct GtkTreeStore {
9650    pub parent: gobject::GObject,
9651    pub priv_: *mut GtkTreeStorePrivate,
9652}
9653
9654impl ::std::fmt::Debug for GtkTreeStore {
9655    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9656        f.debug_struct(&format!("GtkTreeStore @ {self:p}"))
9657            .field("parent", &self.parent)
9658            .field("priv_", &self.priv_)
9659            .finish()
9660    }
9661}
9662
9663#[derive(Copy, Clone)]
9664#[repr(C)]
9665pub struct GtkTreeView {
9666    pub parent_instance: GtkWidget,
9667}
9668
9669impl ::std::fmt::Debug for GtkTreeView {
9670    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9671        f.debug_struct(&format!("GtkTreeView @ {self:p}"))
9672            .field("parent_instance", &self.parent_instance)
9673            .finish()
9674    }
9675}
9676
9677#[repr(C)]
9678#[allow(dead_code)]
9679pub struct GtkTreeViewColumn {
9680    _data: [u8; 0],
9681    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9682}
9683
9684impl ::std::fmt::Debug for GtkTreeViewColumn {
9685    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9686        f.debug_struct(&format!("GtkTreeViewColumn @ {self:p}"))
9687            .finish()
9688    }
9689}
9690
9691#[repr(C)]
9692#[allow(dead_code)]
9693pub struct GtkTryExpression {
9694    _data: [u8; 0],
9695    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9696}
9697
9698impl ::std::fmt::Debug for GtkTryExpression {
9699    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9700        f.debug_struct(&format!("GtkTryExpression @ {self:p}"))
9701            .finish()
9702    }
9703}
9704
9705#[repr(C)]
9706#[allow(dead_code)]
9707pub struct GtkUriLauncher {
9708    _data: [u8; 0],
9709    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9710}
9711
9712impl ::std::fmt::Debug for GtkUriLauncher {
9713    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9714        f.debug_struct(&format!("GtkUriLauncher @ {self:p}"))
9715            .finish()
9716    }
9717}
9718
9719#[repr(C)]
9720#[allow(dead_code)]
9721pub struct GtkVideo {
9722    _data: [u8; 0],
9723    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9724}
9725
9726impl ::std::fmt::Debug for GtkVideo {
9727    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9728        f.debug_struct(&format!("GtkVideo @ {self:p}")).finish()
9729    }
9730}
9731
9732#[repr(C)]
9733#[allow(dead_code)]
9734pub struct GtkViewport {
9735    _data: [u8; 0],
9736    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9737}
9738
9739impl ::std::fmt::Debug for GtkViewport {
9740    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9741        f.debug_struct(&format!("GtkViewport @ {self:p}")).finish()
9742    }
9743}
9744
9745#[derive(Copy, Clone)]
9746#[repr(C)]
9747pub struct GtkVolumeButton {
9748    pub parent: GtkScaleButton,
9749}
9750
9751impl ::std::fmt::Debug for GtkVolumeButton {
9752    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9753        f.debug_struct(&format!("GtkVolumeButton @ {self:p}"))
9754            .field("parent", &self.parent)
9755            .finish()
9756    }
9757}
9758
9759#[derive(Copy, Clone)]
9760#[repr(C)]
9761pub struct GtkWidget {
9762    pub parent_instance: gobject::GInitiallyUnowned,
9763    pub priv_: *mut GtkWidgetPrivate,
9764}
9765
9766impl ::std::fmt::Debug for GtkWidget {
9767    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9768        f.debug_struct(&format!("GtkWidget @ {self:p}"))
9769            .field("parent_instance", &self.parent_instance)
9770            .finish()
9771    }
9772}
9773
9774#[repr(C)]
9775#[allow(dead_code)]
9776pub struct GtkWidgetPaintable {
9777    _data: [u8; 0],
9778    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9779}
9780
9781impl ::std::fmt::Debug for GtkWidgetPaintable {
9782    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9783        f.debug_struct(&format!("GtkWidgetPaintable @ {self:p}"))
9784            .finish()
9785    }
9786}
9787
9788#[derive(Copy, Clone)]
9789#[repr(C)]
9790pub struct GtkWindow {
9791    pub parent_instance: GtkWidget,
9792}
9793
9794impl ::std::fmt::Debug for GtkWindow {
9795    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9796        f.debug_struct(&format!("GtkWindow @ {self:p}"))
9797            .field("parent_instance", &self.parent_instance)
9798            .finish()
9799    }
9800}
9801
9802#[repr(C)]
9803#[allow(dead_code)]
9804pub struct GtkWindowControls {
9805    _data: [u8; 0],
9806    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9807}
9808
9809impl ::std::fmt::Debug for GtkWindowControls {
9810    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9811        f.debug_struct(&format!("GtkWindowControls @ {self:p}"))
9812            .finish()
9813    }
9814}
9815
9816#[derive(Copy, Clone)]
9817#[repr(C)]
9818pub struct GtkWindowGroup {
9819    pub parent_instance: gobject::GObject,
9820    pub priv_: *mut GtkWindowGroupPrivate,
9821}
9822
9823impl ::std::fmt::Debug for GtkWindowGroup {
9824    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9825        f.debug_struct(&format!("GtkWindowGroup @ {self:p}"))
9826            .field("parent_instance", &self.parent_instance)
9827            .field("priv_", &self.priv_)
9828            .finish()
9829    }
9830}
9831
9832#[repr(C)]
9833#[allow(dead_code)]
9834pub struct GtkWindowHandle {
9835    _data: [u8; 0],
9836    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9837}
9838
9839impl ::std::fmt::Debug for GtkWindowHandle {
9840    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9841        f.debug_struct(&format!("GtkWindowHandle @ {self:p}"))
9842            .finish()
9843    }
9844}
9845
9846// Interfaces
9847#[repr(C)]
9848#[allow(dead_code)]
9849pub struct GtkAccessible {
9850    _data: [u8; 0],
9851    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9852}
9853
9854impl ::std::fmt::Debug for GtkAccessible {
9855    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9856        write!(f, "GtkAccessible @ {self:p}")
9857    }
9858}
9859
9860#[repr(C)]
9861#[allow(dead_code)]
9862pub struct GtkAccessibleHypertext {
9863    _data: [u8; 0],
9864    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9865}
9866
9867impl ::std::fmt::Debug for GtkAccessibleHypertext {
9868    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9869        write!(f, "GtkAccessibleHypertext @ {self:p}")
9870    }
9871}
9872
9873#[repr(C)]
9874#[allow(dead_code)]
9875pub struct GtkAccessibleRange {
9876    _data: [u8; 0],
9877    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9878}
9879
9880impl ::std::fmt::Debug for GtkAccessibleRange {
9881    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9882        write!(f, "GtkAccessibleRange @ {self:p}")
9883    }
9884}
9885
9886#[repr(C)]
9887#[allow(dead_code)]
9888pub struct GtkAccessibleText {
9889    _data: [u8; 0],
9890    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9891}
9892
9893impl ::std::fmt::Debug for GtkAccessibleText {
9894    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9895        write!(f, "GtkAccessibleText @ {self:p}")
9896    }
9897}
9898
9899#[repr(C)]
9900#[allow(dead_code)]
9901pub struct GtkActionable {
9902    _data: [u8; 0],
9903    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9904}
9905
9906impl ::std::fmt::Debug for GtkActionable {
9907    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9908        write!(f, "GtkActionable @ {self:p}")
9909    }
9910}
9911
9912#[repr(C)]
9913#[allow(dead_code)]
9914pub struct GtkAppChooser {
9915    _data: [u8; 0],
9916    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9917}
9918
9919impl ::std::fmt::Debug for GtkAppChooser {
9920    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9921        write!(f, "GtkAppChooser @ {self:p}")
9922    }
9923}
9924
9925#[repr(C)]
9926#[allow(dead_code)]
9927pub struct GtkBuildable {
9928    _data: [u8; 0],
9929    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9930}
9931
9932impl ::std::fmt::Debug for GtkBuildable {
9933    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9934        write!(f, "GtkBuildable @ {self:p}")
9935    }
9936}
9937
9938#[repr(C)]
9939#[allow(dead_code)]
9940pub struct GtkBuilderScope {
9941    _data: [u8; 0],
9942    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9943}
9944
9945impl ::std::fmt::Debug for GtkBuilderScope {
9946    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9947        write!(f, "GtkBuilderScope @ {self:p}")
9948    }
9949}
9950
9951#[repr(C)]
9952#[allow(dead_code)]
9953pub struct GtkCellEditable {
9954    _data: [u8; 0],
9955    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9956}
9957
9958impl ::std::fmt::Debug for GtkCellEditable {
9959    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9960        write!(f, "GtkCellEditable @ {self:p}")
9961    }
9962}
9963
9964#[repr(C)]
9965#[allow(dead_code)]
9966pub struct GtkCellLayout {
9967    _data: [u8; 0],
9968    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9969}
9970
9971impl ::std::fmt::Debug for GtkCellLayout {
9972    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9973        write!(f, "GtkCellLayout @ {self:p}")
9974    }
9975}
9976
9977#[repr(C)]
9978#[allow(dead_code)]
9979pub struct GtkColorChooser {
9980    _data: [u8; 0],
9981    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9982}
9983
9984impl ::std::fmt::Debug for GtkColorChooser {
9985    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9986        write!(f, "GtkColorChooser @ {self:p}")
9987    }
9988}
9989
9990#[repr(C)]
9991#[allow(dead_code)]
9992pub struct GtkConstraintTarget {
9993    _data: [u8; 0],
9994    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
9995}
9996
9997impl ::std::fmt::Debug for GtkConstraintTarget {
9998    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9999        write!(f, "GtkConstraintTarget @ {self:p}")
10000    }
10001}
10002
10003#[repr(C)]
10004#[allow(dead_code)]
10005pub struct GtkEditable {
10006    _data: [u8; 0],
10007    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10008}
10009
10010impl ::std::fmt::Debug for GtkEditable {
10011    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10012        write!(f, "GtkEditable @ {self:p}")
10013    }
10014}
10015
10016#[repr(C)]
10017#[allow(dead_code)]
10018pub struct GtkFileChooser {
10019    _data: [u8; 0],
10020    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10021}
10022
10023impl ::std::fmt::Debug for GtkFileChooser {
10024    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10025        write!(f, "GtkFileChooser @ {self:p}")
10026    }
10027}
10028
10029#[repr(C)]
10030#[allow(dead_code)]
10031pub struct GtkFontChooser {
10032    _data: [u8; 0],
10033    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10034}
10035
10036impl ::std::fmt::Debug for GtkFontChooser {
10037    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10038        write!(f, "GtkFontChooser @ {self:p}")
10039    }
10040}
10041
10042#[repr(C)]
10043#[allow(dead_code)]
10044pub struct GtkNative {
10045    _data: [u8; 0],
10046    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10047}
10048
10049impl ::std::fmt::Debug for GtkNative {
10050    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10051        write!(f, "GtkNative @ {self:p}")
10052    }
10053}
10054
10055#[repr(C)]
10056#[allow(dead_code)]
10057pub struct GtkOrientable {
10058    _data: [u8; 0],
10059    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10060}
10061
10062impl ::std::fmt::Debug for GtkOrientable {
10063    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10064        write!(f, "GtkOrientable @ {self:p}")
10065    }
10066}
10067
10068#[repr(C)]
10069#[allow(dead_code)]
10070pub struct GtkPrintOperationPreview {
10071    _data: [u8; 0],
10072    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10073}
10074
10075impl ::std::fmt::Debug for GtkPrintOperationPreview {
10076    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10077        write!(f, "GtkPrintOperationPreview @ {self:p}")
10078    }
10079}
10080
10081#[repr(C)]
10082#[allow(dead_code)]
10083pub struct GtkRoot {
10084    _data: [u8; 0],
10085    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10086}
10087
10088impl ::std::fmt::Debug for GtkRoot {
10089    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10090        write!(f, "GtkRoot @ {self:p}")
10091    }
10092}
10093
10094#[repr(C)]
10095#[allow(dead_code)]
10096pub struct GtkScrollable {
10097    _data: [u8; 0],
10098    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10099}
10100
10101impl ::std::fmt::Debug for GtkScrollable {
10102    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10103        write!(f, "GtkScrollable @ {self:p}")
10104    }
10105}
10106
10107#[repr(C)]
10108#[allow(dead_code)]
10109pub struct GtkSectionModel {
10110    _data: [u8; 0],
10111    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10112}
10113
10114impl ::std::fmt::Debug for GtkSectionModel {
10115    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10116        write!(f, "GtkSectionModel @ {self:p}")
10117    }
10118}
10119
10120#[repr(C)]
10121#[allow(dead_code)]
10122pub struct GtkSelectionModel {
10123    _data: [u8; 0],
10124    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10125}
10126
10127impl ::std::fmt::Debug for GtkSelectionModel {
10128    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10129        write!(f, "GtkSelectionModel @ {self:p}")
10130    }
10131}
10132
10133#[repr(C)]
10134#[allow(dead_code)]
10135pub struct GtkShortcutManager {
10136    _data: [u8; 0],
10137    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10138}
10139
10140impl ::std::fmt::Debug for GtkShortcutManager {
10141    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10142        write!(f, "GtkShortcutManager @ {self:p}")
10143    }
10144}
10145
10146#[repr(C)]
10147#[allow(dead_code)]
10148pub struct GtkStyleProvider {
10149    _data: [u8; 0],
10150    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10151}
10152
10153impl ::std::fmt::Debug for GtkStyleProvider {
10154    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10155        write!(f, "GtkStyleProvider @ {self:p}")
10156    }
10157}
10158
10159#[repr(C)]
10160#[allow(dead_code)]
10161pub struct GtkSymbolicPaintable {
10162    _data: [u8; 0],
10163    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10164}
10165
10166impl ::std::fmt::Debug for GtkSymbolicPaintable {
10167    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10168        write!(f, "GtkSymbolicPaintable @ {self:p}")
10169    }
10170}
10171
10172#[repr(C)]
10173#[allow(dead_code)]
10174pub struct GtkTreeDragDest {
10175    _data: [u8; 0],
10176    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10177}
10178
10179impl ::std::fmt::Debug for GtkTreeDragDest {
10180    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10181        write!(f, "GtkTreeDragDest @ {self:p}")
10182    }
10183}
10184
10185#[repr(C)]
10186#[allow(dead_code)]
10187pub struct GtkTreeDragSource {
10188    _data: [u8; 0],
10189    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10190}
10191
10192impl ::std::fmt::Debug for GtkTreeDragSource {
10193    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10194        write!(f, "GtkTreeDragSource @ {self:p}")
10195    }
10196}
10197
10198#[repr(C)]
10199#[allow(dead_code)]
10200pub struct GtkTreeModel {
10201    _data: [u8; 0],
10202    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10203}
10204
10205impl ::std::fmt::Debug for GtkTreeModel {
10206    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10207        write!(f, "GtkTreeModel @ {self:p}")
10208    }
10209}
10210
10211#[repr(C)]
10212#[allow(dead_code)]
10213pub struct GtkTreeSortable {
10214    _data: [u8; 0],
10215    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
10216}
10217
10218impl ::std::fmt::Debug for GtkTreeSortable {
10219    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10220        write!(f, "GtkTreeSortable @ {self:p}")
10221    }
10222}
10223
10224unsafe extern "C" {
10225
10226    //=========================================================================
10227    // GtkAccessibleAnnouncementPriority
10228    //=========================================================================
10229    #[cfg(feature = "v4_14")]
10230    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10231    pub fn gtk_accessible_announcement_priority_get_type() -> GType;
10232
10233    //=========================================================================
10234    // GtkAccessibleAutocomplete
10235    //=========================================================================
10236    pub fn gtk_accessible_autocomplete_get_type() -> GType;
10237
10238    //=========================================================================
10239    // GtkAccessibleInvalidState
10240    //=========================================================================
10241    pub fn gtk_accessible_invalid_state_get_type() -> GType;
10242
10243    //=========================================================================
10244    // GtkAccessiblePlatformState
10245    //=========================================================================
10246    #[cfg(feature = "v4_10")]
10247    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10248    pub fn gtk_accessible_platform_state_get_type() -> GType;
10249
10250    //=========================================================================
10251    // GtkAccessibleProperty
10252    //=========================================================================
10253    pub fn gtk_accessible_property_get_type() -> GType;
10254    pub fn gtk_accessible_property_init_value(
10255        property: GtkAccessibleProperty,
10256        value: *mut gobject::GValue,
10257    );
10258
10259    //=========================================================================
10260    // GtkAccessibleRelation
10261    //=========================================================================
10262    pub fn gtk_accessible_relation_get_type() -> GType;
10263    pub fn gtk_accessible_relation_init_value(
10264        relation: GtkAccessibleRelation,
10265        value: *mut gobject::GValue,
10266    );
10267
10268    //=========================================================================
10269    // GtkAccessibleRole
10270    //=========================================================================
10271    pub fn gtk_accessible_role_get_type() -> GType;
10272
10273    //=========================================================================
10274    // GtkAccessibleSort
10275    //=========================================================================
10276    pub fn gtk_accessible_sort_get_type() -> GType;
10277
10278    //=========================================================================
10279    // GtkAccessibleState
10280    //=========================================================================
10281    pub fn gtk_accessible_state_get_type() -> GType;
10282    pub fn gtk_accessible_state_init_value(state: GtkAccessibleState, value: *mut gobject::GValue);
10283
10284    //=========================================================================
10285    // GtkAccessibleTextContentChange
10286    //=========================================================================
10287    #[cfg(feature = "v4_14")]
10288    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10289    pub fn gtk_accessible_text_content_change_get_type() -> GType;
10290
10291    //=========================================================================
10292    // GtkAccessibleTextGranularity
10293    //=========================================================================
10294    #[cfg(feature = "v4_14")]
10295    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10296    pub fn gtk_accessible_text_granularity_get_type() -> GType;
10297
10298    //=========================================================================
10299    // GtkAccessibleTristate
10300    //=========================================================================
10301    pub fn gtk_accessible_tristate_get_type() -> GType;
10302
10303    //=========================================================================
10304    // GtkAlign
10305    //=========================================================================
10306    pub fn gtk_align_get_type() -> GType;
10307
10308    //=========================================================================
10309    // GtkArrowType
10310    //=========================================================================
10311    pub fn gtk_arrow_type_get_type() -> GType;
10312
10313    //=========================================================================
10314    // GtkAssistantPageType
10315    //=========================================================================
10316    pub fn gtk_assistant_page_type_get_type() -> GType;
10317
10318    //=========================================================================
10319    // GtkBaselinePosition
10320    //=========================================================================
10321    pub fn gtk_baseline_position_get_type() -> GType;
10322
10323    //=========================================================================
10324    // GtkBorderStyle
10325    //=========================================================================
10326    pub fn gtk_border_style_get_type() -> GType;
10327
10328    //=========================================================================
10329    // GtkBuilderError
10330    //=========================================================================
10331    pub fn gtk_builder_error_get_type() -> GType;
10332    pub fn gtk_builder_error_quark() -> glib::GQuark;
10333
10334    //=========================================================================
10335    // GtkButtonsType
10336    //=========================================================================
10337    pub fn gtk_buttons_type_get_type() -> GType;
10338
10339    //=========================================================================
10340    // GtkCellRendererAccelMode
10341    //=========================================================================
10342    pub fn gtk_cell_renderer_accel_mode_get_type() -> GType;
10343
10344    //=========================================================================
10345    // GtkCellRendererMode
10346    //=========================================================================
10347    pub fn gtk_cell_renderer_mode_get_type() -> GType;
10348
10349    //=========================================================================
10350    // GtkCollation
10351    //=========================================================================
10352    #[cfg(feature = "v4_10")]
10353    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10354    pub fn gtk_collation_get_type() -> GType;
10355
10356    //=========================================================================
10357    // GtkConstraintAttribute
10358    //=========================================================================
10359    pub fn gtk_constraint_attribute_get_type() -> GType;
10360
10361    //=========================================================================
10362    // GtkConstraintRelation
10363    //=========================================================================
10364    pub fn gtk_constraint_relation_get_type() -> GType;
10365
10366    //=========================================================================
10367    // GtkConstraintStrength
10368    //=========================================================================
10369    pub fn gtk_constraint_strength_get_type() -> GType;
10370
10371    //=========================================================================
10372    // GtkConstraintVflParserError
10373    //=========================================================================
10374    pub fn gtk_constraint_vfl_parser_error_get_type() -> GType;
10375    pub fn gtk_constraint_vfl_parser_error_quark() -> glib::GQuark;
10376
10377    //=========================================================================
10378    // GtkContentFit
10379    //=========================================================================
10380    #[cfg(feature = "v4_8")]
10381    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
10382    pub fn gtk_content_fit_get_type() -> GType;
10383
10384    //=========================================================================
10385    // GtkCornerType
10386    //=========================================================================
10387    pub fn gtk_corner_type_get_type() -> GType;
10388
10389    //=========================================================================
10390    // GtkDeleteType
10391    //=========================================================================
10392    pub fn gtk_delete_type_get_type() -> GType;
10393
10394    //=========================================================================
10395    // GtkDialogError
10396    //=========================================================================
10397    #[cfg(feature = "v4_10")]
10398    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10399    pub fn gtk_dialog_error_get_type() -> GType;
10400    #[cfg(feature = "v4_10")]
10401    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10402    pub fn gtk_dialog_error_quark() -> glib::GQuark;
10403
10404    //=========================================================================
10405    // GtkDirectionType
10406    //=========================================================================
10407    pub fn gtk_direction_type_get_type() -> GType;
10408
10409    //=========================================================================
10410    // GtkEditableProperties
10411    //=========================================================================
10412    pub fn gtk_editable_properties_get_type() -> GType;
10413
10414    //=========================================================================
10415    // GtkEntryIconPosition
10416    //=========================================================================
10417    pub fn gtk_entry_icon_position_get_type() -> GType;
10418
10419    //=========================================================================
10420    // GtkEventSequenceState
10421    //=========================================================================
10422    pub fn gtk_event_sequence_state_get_type() -> GType;
10423
10424    //=========================================================================
10425    // GtkFileChooserAction
10426    //=========================================================================
10427    pub fn gtk_file_chooser_action_get_type() -> GType;
10428
10429    //=========================================================================
10430    // GtkFileChooserError
10431    //=========================================================================
10432    pub fn gtk_file_chooser_error_get_type() -> GType;
10433    pub fn gtk_file_chooser_error_quark() -> glib::GQuark;
10434
10435    //=========================================================================
10436    // GtkFilterChange
10437    //=========================================================================
10438    pub fn gtk_filter_change_get_type() -> GType;
10439
10440    //=========================================================================
10441    // GtkFilterMatch
10442    //=========================================================================
10443    pub fn gtk_filter_match_get_type() -> GType;
10444
10445    //=========================================================================
10446    // GtkFontLevel
10447    //=========================================================================
10448    #[cfg(feature = "v4_10")]
10449    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
10450    pub fn gtk_font_level_get_type() -> GType;
10451
10452    //=========================================================================
10453    // GtkFontRendering
10454    //=========================================================================
10455    #[cfg(feature = "v4_16")]
10456    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10457    pub fn gtk_font_rendering_get_type() -> GType;
10458
10459    //=========================================================================
10460    // GtkGraphicsOffloadEnabled
10461    //=========================================================================
10462    #[cfg(feature = "v4_14")]
10463    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10464    pub fn gtk_graphics_offload_enabled_get_type() -> GType;
10465
10466    //=========================================================================
10467    // GtkIconSize
10468    //=========================================================================
10469    pub fn gtk_icon_size_get_type() -> GType;
10470
10471    //=========================================================================
10472    // GtkIconThemeError
10473    //=========================================================================
10474    pub fn gtk_icon_theme_error_get_type() -> GType;
10475    pub fn gtk_icon_theme_error_quark() -> glib::GQuark;
10476
10477    //=========================================================================
10478    // GtkIconViewDropPosition
10479    //=========================================================================
10480    pub fn gtk_icon_view_drop_position_get_type() -> GType;
10481
10482    //=========================================================================
10483    // GtkImageType
10484    //=========================================================================
10485    pub fn gtk_image_type_get_type() -> GType;
10486
10487    //=========================================================================
10488    // GtkInputPurpose
10489    //=========================================================================
10490    pub fn gtk_input_purpose_get_type() -> GType;
10491
10492    //=========================================================================
10493    // GtkInscriptionOverflow
10494    //=========================================================================
10495    #[cfg(feature = "v4_8")]
10496    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
10497    pub fn gtk_inscription_overflow_get_type() -> GType;
10498
10499    //=========================================================================
10500    // GtkInterfaceColorScheme
10501    //=========================================================================
10502    #[cfg(feature = "v4_20")]
10503    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10504    pub fn gtk_interface_color_scheme_get_type() -> GType;
10505
10506    //=========================================================================
10507    // GtkInterfaceContrast
10508    //=========================================================================
10509    #[cfg(feature = "v4_20")]
10510    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10511    pub fn gtk_interface_contrast_get_type() -> GType;
10512
10513    //=========================================================================
10514    // GtkJustification
10515    //=========================================================================
10516    pub fn gtk_justification_get_type() -> GType;
10517
10518    //=========================================================================
10519    // GtkLevelBarMode
10520    //=========================================================================
10521    pub fn gtk_level_bar_mode_get_type() -> GType;
10522
10523    //=========================================================================
10524    // GtkLicense
10525    //=========================================================================
10526    pub fn gtk_license_get_type() -> GType;
10527
10528    //=========================================================================
10529    // GtkListTabBehavior
10530    //=========================================================================
10531    #[cfg(feature = "v4_12")]
10532    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10533    pub fn gtk_list_tab_behavior_get_type() -> GType;
10534
10535    //=========================================================================
10536    // GtkMessageType
10537    //=========================================================================
10538    pub fn gtk_message_type_get_type() -> GType;
10539
10540    //=========================================================================
10541    // GtkMovementStep
10542    //=========================================================================
10543    pub fn gtk_movement_step_get_type() -> GType;
10544
10545    //=========================================================================
10546    // GtkNaturalWrapMode
10547    //=========================================================================
10548    #[cfg(feature = "v4_6")]
10549    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
10550    pub fn gtk_natural_wrap_mode_get_type() -> GType;
10551
10552    //=========================================================================
10553    // GtkNotebookTab
10554    //=========================================================================
10555    pub fn gtk_notebook_tab_get_type() -> GType;
10556
10557    //=========================================================================
10558    // GtkNumberUpLayout
10559    //=========================================================================
10560    pub fn gtk_number_up_layout_get_type() -> GType;
10561
10562    //=========================================================================
10563    // GtkOrdering
10564    //=========================================================================
10565    pub fn gtk_ordering_get_type() -> GType;
10566    pub fn gtk_ordering_from_cmpfunc(cmpfunc_result: c_int) -> GtkOrdering;
10567
10568    //=========================================================================
10569    // GtkOrientation
10570    //=========================================================================
10571    pub fn gtk_orientation_get_type() -> GType;
10572
10573    //=========================================================================
10574    // GtkOverflow
10575    //=========================================================================
10576    pub fn gtk_overflow_get_type() -> GType;
10577
10578    //=========================================================================
10579    // GtkPackType
10580    //=========================================================================
10581    pub fn gtk_pack_type_get_type() -> GType;
10582
10583    //=========================================================================
10584    // GtkPadActionType
10585    //=========================================================================
10586    pub fn gtk_pad_action_type_get_type() -> GType;
10587
10588    //=========================================================================
10589    // GtkPageOrientation
10590    //=========================================================================
10591    pub fn gtk_page_orientation_get_type() -> GType;
10592
10593    //=========================================================================
10594    // GtkPageSet
10595    //=========================================================================
10596    pub fn gtk_page_set_get_type() -> GType;
10597
10598    //=========================================================================
10599    // GtkPanDirection
10600    //=========================================================================
10601    pub fn gtk_pan_direction_get_type() -> GType;
10602
10603    //=========================================================================
10604    // GtkPolicyType
10605    //=========================================================================
10606    pub fn gtk_policy_type_get_type() -> GType;
10607
10608    //=========================================================================
10609    // GtkPositionType
10610    //=========================================================================
10611    pub fn gtk_position_type_get_type() -> GType;
10612
10613    //=========================================================================
10614    // GtkPrintDuplex
10615    //=========================================================================
10616    pub fn gtk_print_duplex_get_type() -> GType;
10617
10618    //=========================================================================
10619    // GtkPrintError
10620    //=========================================================================
10621    pub fn gtk_print_error_get_type() -> GType;
10622    pub fn gtk_print_error_quark() -> glib::GQuark;
10623
10624    //=========================================================================
10625    // GtkPrintOperationAction
10626    //=========================================================================
10627    pub fn gtk_print_operation_action_get_type() -> GType;
10628
10629    //=========================================================================
10630    // GtkPrintOperationResult
10631    //=========================================================================
10632    pub fn gtk_print_operation_result_get_type() -> GType;
10633
10634    //=========================================================================
10635    // GtkPrintPages
10636    //=========================================================================
10637    pub fn gtk_print_pages_get_type() -> GType;
10638
10639    //=========================================================================
10640    // GtkPrintQuality
10641    //=========================================================================
10642    pub fn gtk_print_quality_get_type() -> GType;
10643
10644    //=========================================================================
10645    // GtkPrintStatus
10646    //=========================================================================
10647    pub fn gtk_print_status_get_type() -> GType;
10648
10649    //=========================================================================
10650    // GtkPropagationLimit
10651    //=========================================================================
10652    pub fn gtk_propagation_limit_get_type() -> GType;
10653
10654    //=========================================================================
10655    // GtkPropagationPhase
10656    //=========================================================================
10657    pub fn gtk_propagation_phase_get_type() -> GType;
10658
10659    //=========================================================================
10660    // GtkRecentManagerError
10661    //=========================================================================
10662    pub fn gtk_recent_manager_error_get_type() -> GType;
10663    pub fn gtk_recent_manager_error_quark() -> glib::GQuark;
10664
10665    //=========================================================================
10666    // GtkReducedMotion
10667    //=========================================================================
10668    #[cfg(feature = "v4_22")]
10669    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10670    pub fn gtk_reduced_motion_get_type() -> GType;
10671
10672    //=========================================================================
10673    // GtkResponseType
10674    //=========================================================================
10675    pub fn gtk_response_type_get_type() -> GType;
10676
10677    //=========================================================================
10678    // GtkRevealerTransitionType
10679    //=========================================================================
10680    pub fn gtk_revealer_transition_type_get_type() -> GType;
10681
10682    //=========================================================================
10683    // GtkScrollStep
10684    //=========================================================================
10685    pub fn gtk_scroll_step_get_type() -> GType;
10686
10687    //=========================================================================
10688    // GtkScrollType
10689    //=========================================================================
10690    pub fn gtk_scroll_type_get_type() -> GType;
10691
10692    //=========================================================================
10693    // GtkScrollablePolicy
10694    //=========================================================================
10695    pub fn gtk_scrollable_policy_get_type() -> GType;
10696
10697    //=========================================================================
10698    // GtkSelectionMode
10699    //=========================================================================
10700    pub fn gtk_selection_mode_get_type() -> GType;
10701
10702    //=========================================================================
10703    // GtkSensitivityType
10704    //=========================================================================
10705    pub fn gtk_sensitivity_type_get_type() -> GType;
10706
10707    //=========================================================================
10708    // GtkShortcutScope
10709    //=========================================================================
10710    pub fn gtk_shortcut_scope_get_type() -> GType;
10711
10712    //=========================================================================
10713    // GtkShortcutType
10714    //=========================================================================
10715    pub fn gtk_shortcut_type_get_type() -> GType;
10716
10717    //=========================================================================
10718    // GtkSizeGroupMode
10719    //=========================================================================
10720    pub fn gtk_size_group_mode_get_type() -> GType;
10721
10722    //=========================================================================
10723    // GtkSizeRequestMode
10724    //=========================================================================
10725    pub fn gtk_size_request_mode_get_type() -> GType;
10726
10727    //=========================================================================
10728    // GtkSortType
10729    //=========================================================================
10730    pub fn gtk_sort_type_get_type() -> GType;
10731
10732    //=========================================================================
10733    // GtkSorterChange
10734    //=========================================================================
10735    pub fn gtk_sorter_change_get_type() -> GType;
10736
10737    //=========================================================================
10738    // GtkSorterOrder
10739    //=========================================================================
10740    pub fn gtk_sorter_order_get_type() -> GType;
10741
10742    //=========================================================================
10743    // GtkSpinButtonUpdatePolicy
10744    //=========================================================================
10745    pub fn gtk_spin_button_update_policy_get_type() -> GType;
10746
10747    //=========================================================================
10748    // GtkSpinType
10749    //=========================================================================
10750    pub fn gtk_spin_type_get_type() -> GType;
10751
10752    //=========================================================================
10753    // GtkStackTransitionType
10754    //=========================================================================
10755    pub fn gtk_stack_transition_type_get_type() -> GType;
10756
10757    //=========================================================================
10758    // GtkStringFilterMatchMode
10759    //=========================================================================
10760    pub fn gtk_string_filter_match_mode_get_type() -> GType;
10761
10762    //=========================================================================
10763    // GtkSvgError
10764    //=========================================================================
10765    #[cfg(feature = "v4_22")]
10766    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10767    pub fn gtk_svg_error_get_type() -> GType;
10768    #[cfg(feature = "v4_22")]
10769    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10770    pub fn gtk_svg_error_get_attribute(error: *const glib::GError) -> *const c_char;
10771    #[cfg(feature = "v4_22")]
10772    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10773    pub fn gtk_svg_error_get_element(error: *const glib::GError) -> *const c_char;
10774    #[cfg(feature = "v4_22")]
10775    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10776    pub fn gtk_svg_error_get_end(error: *const glib::GError) -> *const GtkSvgLocation;
10777    #[cfg(feature = "v4_24")]
10778    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
10779    pub fn gtk_svg_error_get_input(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_start(error: *const glib::GError) -> *const GtkSvgLocation;
10783    #[cfg(feature = "v4_22")]
10784    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10785    pub fn gtk_svg_error_quark() -> glib::GQuark;
10786
10787    //=========================================================================
10788    // GtkSymbolicColor
10789    //=========================================================================
10790    #[cfg(feature = "v4_6")]
10791    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
10792    pub fn gtk_symbolic_color_get_type() -> GType;
10793
10794    //=========================================================================
10795    // GtkSystemSetting
10796    //=========================================================================
10797    pub fn gtk_system_setting_get_type() -> GType;
10798
10799    //=========================================================================
10800    // GtkTextDirection
10801    //=========================================================================
10802    pub fn gtk_text_direction_get_type() -> GType;
10803
10804    //=========================================================================
10805    // GtkTextExtendSelection
10806    //=========================================================================
10807    pub fn gtk_text_extend_selection_get_type() -> GType;
10808
10809    //=========================================================================
10810    // GtkTextViewLayer
10811    //=========================================================================
10812    pub fn gtk_text_view_layer_get_type() -> GType;
10813
10814    //=========================================================================
10815    // GtkTextWindowType
10816    //=========================================================================
10817    pub fn gtk_text_window_type_get_type() -> GType;
10818
10819    //=========================================================================
10820    // GtkTreeViewColumnSizing
10821    //=========================================================================
10822    pub fn gtk_tree_view_column_sizing_get_type() -> GType;
10823
10824    //=========================================================================
10825    // GtkTreeViewDropPosition
10826    //=========================================================================
10827    pub fn gtk_tree_view_drop_position_get_type() -> GType;
10828
10829    //=========================================================================
10830    // GtkTreeViewGridLines
10831    //=========================================================================
10832    pub fn gtk_tree_view_grid_lines_get_type() -> GType;
10833
10834    //=========================================================================
10835    // GtkUnit
10836    //=========================================================================
10837    pub fn gtk_unit_get_type() -> GType;
10838
10839    //=========================================================================
10840    // GtkWindowGravity
10841    //=========================================================================
10842    #[cfg(feature = "v4_20")]
10843    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
10844    pub fn gtk_window_gravity_get_type() -> GType;
10845
10846    //=========================================================================
10847    // GtkWrapMode
10848    //=========================================================================
10849    pub fn gtk_wrap_mode_get_type() -> GType;
10850
10851    //=========================================================================
10852    // GtkApplicationInhibitFlags
10853    //=========================================================================
10854    pub fn gtk_application_inhibit_flags_get_type() -> GType;
10855
10856    //=========================================================================
10857    // GtkBuilderClosureFlags
10858    //=========================================================================
10859    pub fn gtk_builder_closure_flags_get_type() -> GType;
10860
10861    //=========================================================================
10862    // GtkCellRendererState
10863    //=========================================================================
10864    pub fn gtk_cell_renderer_state_get_type() -> GType;
10865
10866    //=========================================================================
10867    // GtkDebugFlags
10868    //=========================================================================
10869    pub fn gtk_debug_flags_get_type() -> GType;
10870
10871    //=========================================================================
10872    // GtkDialogFlags
10873    //=========================================================================
10874    pub fn gtk_dialog_flags_get_type() -> GType;
10875
10876    //=========================================================================
10877    // GtkEventControllerScrollFlags
10878    //=========================================================================
10879    pub fn gtk_event_controller_scroll_flags_get_type() -> GType;
10880
10881    //=========================================================================
10882    // GtkFontChooserLevel
10883    //=========================================================================
10884    pub fn gtk_font_chooser_level_get_type() -> GType;
10885
10886    //=========================================================================
10887    // GtkIconLookupFlags
10888    //=========================================================================
10889    pub fn gtk_icon_lookup_flags_get_type() -> GType;
10890
10891    //=========================================================================
10892    // GtkInputHints
10893    //=========================================================================
10894    pub fn gtk_input_hints_get_type() -> GType;
10895
10896    //=========================================================================
10897    // GtkListScrollFlags
10898    //=========================================================================
10899    #[cfg(feature = "v4_12")]
10900    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
10901    pub fn gtk_list_scroll_flags_get_type() -> GType;
10902
10903    //=========================================================================
10904    // GtkPickFlags
10905    //=========================================================================
10906    pub fn gtk_pick_flags_get_type() -> GType;
10907
10908    //=========================================================================
10909    // GtkPopoverMenuFlags
10910    //=========================================================================
10911    pub fn gtk_popover_menu_flags_get_type() -> GType;
10912
10913    //=========================================================================
10914    // GtkPrintCapabilities
10915    //=========================================================================
10916    pub fn gtk_print_capabilities_get_type() -> GType;
10917
10918    //=========================================================================
10919    // GtkShortcutActionFlags
10920    //=========================================================================
10921    pub fn gtk_shortcut_action_flags_get_type() -> GType;
10922
10923    //=========================================================================
10924    // GtkStateFlags
10925    //=========================================================================
10926    pub fn gtk_state_flags_get_type() -> GType;
10927
10928    //=========================================================================
10929    // GtkStyleContextPrintFlags
10930    //=========================================================================
10931    pub fn gtk_style_context_print_flags_get_type() -> GType;
10932
10933    //=========================================================================
10934    // GtkSvgFeatures
10935    //=========================================================================
10936    #[cfg(feature = "v4_22")]
10937    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
10938    pub fn gtk_svg_features_get_type() -> GType;
10939
10940    //=========================================================================
10941    // GtkTextBufferNotifyFlags
10942    //=========================================================================
10943    #[cfg(feature = "v4_16")]
10944    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
10945    pub fn gtk_text_buffer_notify_flags_get_type() -> GType;
10946
10947    //=========================================================================
10948    // GtkTextSearchFlags
10949    //=========================================================================
10950    pub fn gtk_text_search_flags_get_type() -> GType;
10951
10952    //=========================================================================
10953    // GtkTreeModelFlags
10954    //=========================================================================
10955    pub fn gtk_tree_model_flags_get_type() -> GType;
10956
10957    //=========================================================================
10958    // GtkAccessibleList
10959    //=========================================================================
10960    #[cfg(feature = "v4_14")]
10961    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10962    pub fn gtk_accessible_list_get_type() -> GType;
10963    #[cfg(feature = "v4_14")]
10964    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10965    pub fn gtk_accessible_list_new_from_array(
10966        accessibles: *mut *mut GtkAccessible,
10967        n_accessibles: size_t,
10968    ) -> *mut GtkAccessibleList;
10969    #[cfg(feature = "v4_14")]
10970    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10971    pub fn gtk_accessible_list_new_from_list(list: *mut glib::GList) -> *mut GtkAccessibleList;
10972    #[cfg(feature = "v4_14")]
10973    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
10974    pub fn gtk_accessible_list_get_objects(
10975        accessible_list: *mut GtkAccessibleList,
10976    ) -> *mut glib::GList;
10977
10978    //=========================================================================
10979    // GtkBitset
10980    //=========================================================================
10981    pub fn gtk_bitset_get_type() -> GType;
10982    pub fn gtk_bitset_new_empty() -> *mut GtkBitset;
10983    pub fn gtk_bitset_new_range(start: c_uint, n_items: c_uint) -> *mut GtkBitset;
10984    pub fn gtk_bitset_add(self_: *mut GtkBitset, value: c_uint) -> gboolean;
10985    pub fn gtk_bitset_add_range(self_: *mut GtkBitset, start: c_uint, n_items: c_uint);
10986    pub fn gtk_bitset_add_range_closed(self_: *mut GtkBitset, first: c_uint, last: c_uint);
10987    pub fn gtk_bitset_add_rectangle(
10988        self_: *mut GtkBitset,
10989        start: c_uint,
10990        width: c_uint,
10991        height: c_uint,
10992        stride: c_uint,
10993    );
10994    pub fn gtk_bitset_contains(self_: *const GtkBitset, value: c_uint) -> gboolean;
10995    pub fn gtk_bitset_copy(self_: *const GtkBitset) -> *mut GtkBitset;
10996    pub fn gtk_bitset_difference(self_: *mut GtkBitset, other: *const GtkBitset);
10997    pub fn gtk_bitset_equals(self_: *const GtkBitset, other: *const GtkBitset) -> gboolean;
10998    pub fn gtk_bitset_get_maximum(self_: *const GtkBitset) -> c_uint;
10999    pub fn gtk_bitset_get_minimum(self_: *const GtkBitset) -> c_uint;
11000    pub fn gtk_bitset_get_nth(self_: *const GtkBitset, nth: c_uint) -> c_uint;
11001    pub fn gtk_bitset_get_size(self_: *const GtkBitset) -> u64;
11002    pub fn gtk_bitset_get_size_in_range(
11003        self_: *const GtkBitset,
11004        first: c_uint,
11005        last: c_uint,
11006    ) -> u64;
11007    pub fn gtk_bitset_intersect(self_: *mut GtkBitset, other: *const GtkBitset);
11008    pub fn gtk_bitset_is_empty(self_: *const GtkBitset) -> gboolean;
11009    pub fn gtk_bitset_ref(self_: *mut GtkBitset) -> *mut GtkBitset;
11010    pub fn gtk_bitset_remove(self_: *mut GtkBitset, value: c_uint) -> gboolean;
11011    pub fn gtk_bitset_remove_all(self_: *mut GtkBitset);
11012    pub fn gtk_bitset_remove_range(self_: *mut GtkBitset, start: c_uint, n_items: c_uint);
11013    pub fn gtk_bitset_remove_range_closed(self_: *mut GtkBitset, first: c_uint, last: c_uint);
11014    pub fn gtk_bitset_remove_rectangle(
11015        self_: *mut GtkBitset,
11016        start: c_uint,
11017        width: c_uint,
11018        height: c_uint,
11019        stride: c_uint,
11020    );
11021    pub fn gtk_bitset_shift_left(self_: *mut GtkBitset, amount: c_uint);
11022    pub fn gtk_bitset_shift_right(self_: *mut GtkBitset, amount: c_uint);
11023    pub fn gtk_bitset_splice(
11024        self_: *mut GtkBitset,
11025        position: c_uint,
11026        removed: c_uint,
11027        added: c_uint,
11028    );
11029    pub fn gtk_bitset_subtract(self_: *mut GtkBitset, other: *const GtkBitset);
11030    pub fn gtk_bitset_union(self_: *mut GtkBitset, other: *const GtkBitset);
11031    pub fn gtk_bitset_unref(self_: *mut GtkBitset);
11032
11033    //=========================================================================
11034    // GtkBitsetIter
11035    //=========================================================================
11036    pub fn gtk_bitset_iter_get_type() -> GType;
11037    pub fn gtk_bitset_iter_get_value(iter: *const GtkBitsetIter) -> c_uint;
11038    pub fn gtk_bitset_iter_is_valid(iter: *const GtkBitsetIter) -> gboolean;
11039    pub fn gtk_bitset_iter_next(iter: *mut GtkBitsetIter, value: *mut c_uint) -> gboolean;
11040    pub fn gtk_bitset_iter_previous(iter: *mut GtkBitsetIter, value: *mut c_uint) -> gboolean;
11041    pub fn gtk_bitset_iter_init_at(
11042        iter: *mut GtkBitsetIter,
11043        set: *const GtkBitset,
11044        target: c_uint,
11045        value: *mut c_uint,
11046    ) -> gboolean;
11047    pub fn gtk_bitset_iter_init_first(
11048        iter: *mut GtkBitsetIter,
11049        set: *const GtkBitset,
11050        value: *mut c_uint,
11051    ) -> gboolean;
11052    pub fn gtk_bitset_iter_init_last(
11053        iter: *mut GtkBitsetIter,
11054        set: *const GtkBitset,
11055        value: *mut c_uint,
11056    ) -> gboolean;
11057
11058    //=========================================================================
11059    // GtkBorder
11060    //=========================================================================
11061    pub fn gtk_border_get_type() -> GType;
11062    pub fn gtk_border_new() -> *mut GtkBorder;
11063    pub fn gtk_border_copy(border_: *const GtkBorder) -> *mut GtkBorder;
11064    pub fn gtk_border_free(border_: *mut GtkBorder);
11065
11066    //=========================================================================
11067    // GtkBuildableParseContext
11068    //=========================================================================
11069    pub fn gtk_buildable_parse_context_get_element(
11070        context: *mut GtkBuildableParseContext,
11071    ) -> *const c_char;
11072    pub fn gtk_buildable_parse_context_get_element_stack(
11073        context: *mut GtkBuildableParseContext,
11074    ) -> *mut glib::GPtrArray;
11075    pub fn gtk_buildable_parse_context_get_position(
11076        context: *mut GtkBuildableParseContext,
11077        line_number: *mut c_int,
11078        char_number: *mut c_int,
11079    );
11080    pub fn gtk_buildable_parse_context_pop(context: *mut GtkBuildableParseContext) -> gpointer;
11081    pub fn gtk_buildable_parse_context_push(
11082        context: *mut GtkBuildableParseContext,
11083        parser: *const GtkBuildableParser,
11084        user_data: gpointer,
11085    );
11086
11087    //=========================================================================
11088    // GtkCellAreaClass
11089    //=========================================================================
11090    pub fn gtk_cell_area_class_find_cell_property(
11091        aclass: *mut GtkCellAreaClass,
11092        property_name: *const c_char,
11093    ) -> *mut gobject::GParamSpec;
11094    pub fn gtk_cell_area_class_install_cell_property(
11095        aclass: *mut GtkCellAreaClass,
11096        property_id: c_uint,
11097        pspec: *mut gobject::GParamSpec,
11098    );
11099    pub fn gtk_cell_area_class_list_cell_properties(
11100        aclass: *mut GtkCellAreaClass,
11101        n_properties: *mut c_uint,
11102    ) -> *mut *mut gobject::GParamSpec;
11103
11104    //=========================================================================
11105    // GtkCssSection
11106    //=========================================================================
11107    pub fn gtk_css_section_get_type() -> GType;
11108    pub fn gtk_css_section_new(
11109        file: *mut gio::GFile,
11110        start: *const GtkCssLocation,
11111        end: *const GtkCssLocation,
11112    ) -> *mut GtkCssSection;
11113    #[cfg(feature = "v4_16")]
11114    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
11115    pub fn gtk_css_section_new_with_bytes(
11116        file: *mut gio::GFile,
11117        bytes: *mut glib::GBytes,
11118        start: *const GtkCssLocation,
11119        end: *const GtkCssLocation,
11120    ) -> *mut GtkCssSection;
11121    #[cfg(feature = "v4_16")]
11122    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
11123    pub fn gtk_css_section_get_bytes(section: *const GtkCssSection) -> *mut glib::GBytes;
11124    pub fn gtk_css_section_get_end_location(section: *const GtkCssSection)
11125    -> *const GtkCssLocation;
11126    pub fn gtk_css_section_get_file(section: *const GtkCssSection) -> *mut gio::GFile;
11127    pub fn gtk_css_section_get_parent(section: *const GtkCssSection) -> *mut GtkCssSection;
11128    pub fn gtk_css_section_get_start_location(
11129        section: *const GtkCssSection,
11130    ) -> *const GtkCssLocation;
11131    pub fn gtk_css_section_print(section: *const GtkCssSection, string: *mut glib::GString);
11132    pub fn gtk_css_section_ref(section: *mut GtkCssSection) -> *mut GtkCssSection;
11133    pub fn gtk_css_section_to_string(section: *const GtkCssSection) -> *mut c_char;
11134    pub fn gtk_css_section_unref(section: *mut GtkCssSection);
11135
11136    //=========================================================================
11137    // GtkExpressionWatch
11138    //=========================================================================
11139    #[cfg(feature = "v4_2")]
11140    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
11141    pub fn gtk_expression_watch_get_type() -> GType;
11142    pub fn gtk_expression_watch_evaluate(
11143        watch: *mut GtkExpressionWatch,
11144        value: *mut gobject::GValue,
11145    ) -> gboolean;
11146    pub fn gtk_expression_watch_ref(watch: *mut GtkExpressionWatch) -> *mut GtkExpressionWatch;
11147    pub fn gtk_expression_watch_unref(watch: *mut GtkExpressionWatch);
11148    pub fn gtk_expression_watch_unwatch(watch: *mut GtkExpressionWatch);
11149
11150    //=========================================================================
11151    // GtkPaperSize
11152    //=========================================================================
11153    pub fn gtk_paper_size_get_type() -> GType;
11154    pub fn gtk_paper_size_new(name: *const c_char) -> *mut GtkPaperSize;
11155    pub fn gtk_paper_size_new_custom(
11156        name: *const c_char,
11157        display_name: *const c_char,
11158        width: c_double,
11159        height: c_double,
11160        unit: GtkUnit,
11161    ) -> *mut GtkPaperSize;
11162    pub fn gtk_paper_size_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPaperSize;
11163    pub fn gtk_paper_size_new_from_ipp(
11164        ipp_name: *const c_char,
11165        width: c_double,
11166        height: c_double,
11167    ) -> *mut GtkPaperSize;
11168    pub fn gtk_paper_size_new_from_key_file(
11169        key_file: *mut glib::GKeyFile,
11170        group_name: *const c_char,
11171        error: *mut *mut glib::GError,
11172    ) -> *mut GtkPaperSize;
11173    pub fn gtk_paper_size_new_from_ppd(
11174        ppd_name: *const c_char,
11175        ppd_display_name: *const c_char,
11176        width: c_double,
11177        height: c_double,
11178    ) -> *mut GtkPaperSize;
11179    pub fn gtk_paper_size_copy(other: *mut GtkPaperSize) -> *mut GtkPaperSize;
11180    pub fn gtk_paper_size_free(size: *mut GtkPaperSize);
11181    pub fn gtk_paper_size_get_default_bottom_margin(
11182        size: *mut GtkPaperSize,
11183        unit: GtkUnit,
11184    ) -> c_double;
11185    pub fn gtk_paper_size_get_default_left_margin(
11186        size: *mut GtkPaperSize,
11187        unit: GtkUnit,
11188    ) -> c_double;
11189    pub fn gtk_paper_size_get_default_right_margin(
11190        size: *mut GtkPaperSize,
11191        unit: GtkUnit,
11192    ) -> c_double;
11193    pub fn gtk_paper_size_get_default_top_margin(
11194        size: *mut GtkPaperSize,
11195        unit: GtkUnit,
11196    ) -> c_double;
11197    pub fn gtk_paper_size_get_display_name(size: *mut GtkPaperSize) -> *const c_char;
11198    pub fn gtk_paper_size_get_height(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
11199    pub fn gtk_paper_size_get_name(size: *mut GtkPaperSize) -> *const c_char;
11200    pub fn gtk_paper_size_get_ppd_name(size: *mut GtkPaperSize) -> *const c_char;
11201    pub fn gtk_paper_size_get_width(size: *mut GtkPaperSize, unit: GtkUnit) -> c_double;
11202    pub fn gtk_paper_size_is_custom(size: *mut GtkPaperSize) -> gboolean;
11203    pub fn gtk_paper_size_is_equal(size1: *mut GtkPaperSize, size2: *mut GtkPaperSize) -> gboolean;
11204    pub fn gtk_paper_size_is_ipp(size: *mut GtkPaperSize) -> gboolean;
11205    pub fn gtk_paper_size_set_size(
11206        size: *mut GtkPaperSize,
11207        width: c_double,
11208        height: c_double,
11209        unit: GtkUnit,
11210    );
11211    pub fn gtk_paper_size_to_gvariant(paper_size: *mut GtkPaperSize) -> *mut glib::GVariant;
11212    pub fn gtk_paper_size_to_key_file(
11213        size: *mut GtkPaperSize,
11214        key_file: *mut glib::GKeyFile,
11215        group_name: *const c_char,
11216    );
11217    pub fn gtk_paper_size_get_default() -> *const c_char;
11218    pub fn gtk_paper_size_get_paper_sizes(include_custom: gboolean) -> *mut glib::GList;
11219
11220    //=========================================================================
11221    // GtkPrintSetup
11222    //=========================================================================
11223    #[cfg(feature = "v4_14")]
11224    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11225    pub fn gtk_print_setup_get_type() -> GType;
11226    #[cfg(feature = "v4_14")]
11227    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11228    pub fn gtk_print_setup_get_page_setup(setup: *mut GtkPrintSetup) -> *mut GtkPageSetup;
11229    #[cfg(feature = "v4_14")]
11230    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11231    pub fn gtk_print_setup_get_print_settings(setup: *mut GtkPrintSetup) -> *mut GtkPrintSettings;
11232    #[cfg(feature = "v4_14")]
11233    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11234    pub fn gtk_print_setup_ref(setup: *mut GtkPrintSetup) -> *mut GtkPrintSetup;
11235    #[cfg(feature = "v4_14")]
11236    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
11237    pub fn gtk_print_setup_unref(setup: *mut GtkPrintSetup);
11238
11239    //=========================================================================
11240    // GtkRecentInfo
11241    //=========================================================================
11242    pub fn gtk_recent_info_get_type() -> GType;
11243    pub fn gtk_recent_info_create_app_info(
11244        info: *mut GtkRecentInfo,
11245        app_name: *const c_char,
11246        error: *mut *mut glib::GError,
11247    ) -> *mut gio::GAppInfo;
11248    pub fn gtk_recent_info_exists(info: *mut GtkRecentInfo) -> gboolean;
11249    pub fn gtk_recent_info_get_added(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11250    pub fn gtk_recent_info_get_age(info: *mut GtkRecentInfo) -> c_int;
11251    pub fn gtk_recent_info_get_application_info(
11252        info: *mut GtkRecentInfo,
11253        app_name: *const c_char,
11254        app_exec: *mut *const c_char,
11255        count: *mut c_uint,
11256        stamp: *mut *mut glib::GDateTime,
11257    ) -> gboolean;
11258    pub fn gtk_recent_info_get_applications(
11259        info: *mut GtkRecentInfo,
11260        length: *mut size_t,
11261    ) -> *mut *mut c_char;
11262    pub fn gtk_recent_info_get_description(info: *mut GtkRecentInfo) -> *const c_char;
11263    pub fn gtk_recent_info_get_display_name(info: *mut GtkRecentInfo) -> *const c_char;
11264    pub fn gtk_recent_info_get_gicon(info: *mut GtkRecentInfo) -> *mut gio::GIcon;
11265    pub fn gtk_recent_info_get_groups(
11266        info: *mut GtkRecentInfo,
11267        length: *mut size_t,
11268    ) -> *mut *mut c_char;
11269    pub fn gtk_recent_info_get_mime_type(info: *mut GtkRecentInfo) -> *const c_char;
11270    pub fn gtk_recent_info_get_modified(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11271    pub fn gtk_recent_info_get_private_hint(info: *mut GtkRecentInfo) -> gboolean;
11272    pub fn gtk_recent_info_get_short_name(info: *mut GtkRecentInfo) -> *mut c_char;
11273    pub fn gtk_recent_info_get_uri(info: *mut GtkRecentInfo) -> *const c_char;
11274    pub fn gtk_recent_info_get_uri_display(info: *mut GtkRecentInfo) -> *mut c_char;
11275    pub fn gtk_recent_info_get_visited(info: *mut GtkRecentInfo) -> *mut glib::GDateTime;
11276    pub fn gtk_recent_info_has_application(
11277        info: *mut GtkRecentInfo,
11278        app_name: *const c_char,
11279    ) -> gboolean;
11280    pub fn gtk_recent_info_has_group(
11281        info: *mut GtkRecentInfo,
11282        group_name: *const c_char,
11283    ) -> gboolean;
11284    pub fn gtk_recent_info_is_local(info: *mut GtkRecentInfo) -> gboolean;
11285    pub fn gtk_recent_info_last_application(info: *mut GtkRecentInfo) -> *mut c_char;
11286    pub fn gtk_recent_info_match(
11287        info_a: *mut GtkRecentInfo,
11288        info_b: *mut GtkRecentInfo,
11289    ) -> gboolean;
11290    pub fn gtk_recent_info_ref(info: *mut GtkRecentInfo) -> *mut GtkRecentInfo;
11291    pub fn gtk_recent_info_unref(info: *mut GtkRecentInfo);
11292
11293    //=========================================================================
11294    // GtkRequisition
11295    //=========================================================================
11296    pub fn gtk_requisition_get_type() -> GType;
11297    pub fn gtk_requisition_new() -> *mut GtkRequisition;
11298    pub fn gtk_requisition_copy(requisition: *const GtkRequisition) -> *mut GtkRequisition;
11299    pub fn gtk_requisition_free(requisition: *mut GtkRequisition);
11300
11301    //=========================================================================
11302    // GtkScrollInfo
11303    //=========================================================================
11304    #[cfg(feature = "v4_12")]
11305    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11306    pub fn gtk_scroll_info_get_type() -> GType;
11307    #[cfg(feature = "v4_12")]
11308    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11309    pub fn gtk_scroll_info_new() -> *mut GtkScrollInfo;
11310    #[cfg(feature = "v4_12")]
11311    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11312    pub fn gtk_scroll_info_get_enable_horizontal(self_: *mut GtkScrollInfo) -> gboolean;
11313    #[cfg(feature = "v4_12")]
11314    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11315    pub fn gtk_scroll_info_get_enable_vertical(self_: *mut GtkScrollInfo) -> gboolean;
11316    #[cfg(feature = "v4_12")]
11317    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11318    pub fn gtk_scroll_info_ref(self_: *mut GtkScrollInfo) -> *mut GtkScrollInfo;
11319    #[cfg(feature = "v4_12")]
11320    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11321    pub fn gtk_scroll_info_set_enable_horizontal(self_: *mut GtkScrollInfo, horizontal: gboolean);
11322    #[cfg(feature = "v4_12")]
11323    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11324    pub fn gtk_scroll_info_set_enable_vertical(self_: *mut GtkScrollInfo, vertical: gboolean);
11325    #[cfg(feature = "v4_12")]
11326    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
11327    pub fn gtk_scroll_info_unref(self_: *mut GtkScrollInfo);
11328
11329    //=========================================================================
11330    // GtkTextIter
11331    //=========================================================================
11332    pub fn gtk_text_iter_get_type() -> GType;
11333    pub fn gtk_text_iter_assign(iter: *mut GtkTextIter, other: *const GtkTextIter);
11334    pub fn gtk_text_iter_backward_char(iter: *mut GtkTextIter) -> gboolean;
11335    pub fn gtk_text_iter_backward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11336    pub fn gtk_text_iter_backward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11337    pub fn gtk_text_iter_backward_cursor_positions(
11338        iter: *mut GtkTextIter,
11339        count: c_int,
11340    ) -> gboolean;
11341    pub fn gtk_text_iter_backward_find_char(
11342        iter: *mut GtkTextIter,
11343        pred: GtkTextCharPredicate,
11344        user_data: gpointer,
11345        limit: *const GtkTextIter,
11346    ) -> gboolean;
11347    pub fn gtk_text_iter_backward_line(iter: *mut GtkTextIter) -> gboolean;
11348    pub fn gtk_text_iter_backward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11349    pub fn gtk_text_iter_backward_search(
11350        iter: *const GtkTextIter,
11351        str: *const c_char,
11352        flags: GtkTextSearchFlags,
11353        match_start: *mut GtkTextIter,
11354        match_end: *mut GtkTextIter,
11355        limit: *const GtkTextIter,
11356    ) -> gboolean;
11357    pub fn gtk_text_iter_backward_sentence_start(iter: *mut GtkTextIter) -> gboolean;
11358    pub fn gtk_text_iter_backward_sentence_starts(iter: *mut GtkTextIter, count: c_int)
11359    -> gboolean;
11360    pub fn gtk_text_iter_backward_to_tag_toggle(
11361        iter: *mut GtkTextIter,
11362        tag: *mut GtkTextTag,
11363    ) -> gboolean;
11364    pub fn gtk_text_iter_backward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11365    pub fn gtk_text_iter_backward_visible_cursor_positions(
11366        iter: *mut GtkTextIter,
11367        count: c_int,
11368    ) -> gboolean;
11369    pub fn gtk_text_iter_backward_visible_line(iter: *mut GtkTextIter) -> gboolean;
11370    pub fn gtk_text_iter_backward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11371    pub fn gtk_text_iter_backward_visible_word_start(iter: *mut GtkTextIter) -> gboolean;
11372    pub fn gtk_text_iter_backward_visible_word_starts(
11373        iter: *mut GtkTextIter,
11374        count: c_int,
11375    ) -> gboolean;
11376    pub fn gtk_text_iter_backward_word_start(iter: *mut GtkTextIter) -> gboolean;
11377    pub fn gtk_text_iter_backward_word_starts(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11378    pub fn gtk_text_iter_can_insert(
11379        iter: *const GtkTextIter,
11380        default_editability: gboolean,
11381    ) -> gboolean;
11382    pub fn gtk_text_iter_compare(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> c_int;
11383    pub fn gtk_text_iter_copy(iter: *const GtkTextIter) -> *mut GtkTextIter;
11384    pub fn gtk_text_iter_editable(iter: *const GtkTextIter, default_setting: gboolean) -> gboolean;
11385    pub fn gtk_text_iter_ends_line(iter: *const GtkTextIter) -> gboolean;
11386    pub fn gtk_text_iter_ends_sentence(iter: *const GtkTextIter) -> gboolean;
11387    pub fn gtk_text_iter_ends_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11388    pub fn gtk_text_iter_ends_word(iter: *const GtkTextIter) -> gboolean;
11389    pub fn gtk_text_iter_equal(lhs: *const GtkTextIter, rhs: *const GtkTextIter) -> gboolean;
11390    pub fn gtk_text_iter_forward_char(iter: *mut GtkTextIter) -> gboolean;
11391    pub fn gtk_text_iter_forward_chars(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11392    pub fn gtk_text_iter_forward_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11393    pub fn gtk_text_iter_forward_cursor_positions(iter: *mut GtkTextIter, count: c_int)
11394    -> gboolean;
11395    pub fn gtk_text_iter_forward_find_char(
11396        iter: *mut GtkTextIter,
11397        pred: GtkTextCharPredicate,
11398        user_data: gpointer,
11399        limit: *const GtkTextIter,
11400    ) -> gboolean;
11401    pub fn gtk_text_iter_forward_line(iter: *mut GtkTextIter) -> gboolean;
11402    pub fn gtk_text_iter_forward_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11403    pub fn gtk_text_iter_forward_search(
11404        iter: *const GtkTextIter,
11405        str: *const c_char,
11406        flags: GtkTextSearchFlags,
11407        match_start: *mut GtkTextIter,
11408        match_end: *mut GtkTextIter,
11409        limit: *const GtkTextIter,
11410    ) -> gboolean;
11411    pub fn gtk_text_iter_forward_sentence_end(iter: *mut GtkTextIter) -> gboolean;
11412    pub fn gtk_text_iter_forward_sentence_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11413    pub fn gtk_text_iter_forward_to_end(iter: *mut GtkTextIter);
11414    pub fn gtk_text_iter_forward_to_line_end(iter: *mut GtkTextIter) -> gboolean;
11415    pub fn gtk_text_iter_forward_to_tag_toggle(
11416        iter: *mut GtkTextIter,
11417        tag: *mut GtkTextTag,
11418    ) -> gboolean;
11419    pub fn gtk_text_iter_forward_visible_cursor_position(iter: *mut GtkTextIter) -> gboolean;
11420    pub fn gtk_text_iter_forward_visible_cursor_positions(
11421        iter: *mut GtkTextIter,
11422        count: c_int,
11423    ) -> gboolean;
11424    pub fn gtk_text_iter_forward_visible_line(iter: *mut GtkTextIter) -> gboolean;
11425    pub fn gtk_text_iter_forward_visible_lines(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11426    pub fn gtk_text_iter_forward_visible_word_end(iter: *mut GtkTextIter) -> gboolean;
11427    pub fn gtk_text_iter_forward_visible_word_ends(
11428        iter: *mut GtkTextIter,
11429        count: c_int,
11430    ) -> gboolean;
11431    pub fn gtk_text_iter_forward_word_end(iter: *mut GtkTextIter) -> gboolean;
11432    pub fn gtk_text_iter_forward_word_ends(iter: *mut GtkTextIter, count: c_int) -> gboolean;
11433    pub fn gtk_text_iter_free(iter: *mut GtkTextIter);
11434    pub fn gtk_text_iter_get_buffer(iter: *const GtkTextIter) -> *mut GtkTextBuffer;
11435    pub fn gtk_text_iter_get_bytes_in_line(iter: *const GtkTextIter) -> c_int;
11436    pub fn gtk_text_iter_get_char(iter: *const GtkTextIter) -> u32;
11437    pub fn gtk_text_iter_get_chars_in_line(iter: *const GtkTextIter) -> c_int;
11438    pub fn gtk_text_iter_get_child_anchor(iter: *const GtkTextIter) -> *mut GtkTextChildAnchor;
11439    pub fn gtk_text_iter_get_language(iter: *const GtkTextIter) -> *mut pango::PangoLanguage;
11440    pub fn gtk_text_iter_get_line(iter: *const GtkTextIter) -> c_int;
11441    pub fn gtk_text_iter_get_line_index(iter: *const GtkTextIter) -> c_int;
11442    pub fn gtk_text_iter_get_line_offset(iter: *const GtkTextIter) -> c_int;
11443    pub fn gtk_text_iter_get_marks(iter: *const GtkTextIter) -> *mut glib::GSList;
11444    pub fn gtk_text_iter_get_offset(iter: *const GtkTextIter) -> c_int;
11445    pub fn gtk_text_iter_get_paintable(iter: *const GtkTextIter) -> *mut gdk::GdkPaintable;
11446    pub fn gtk_text_iter_get_slice(
11447        start: *const GtkTextIter,
11448        end: *const GtkTextIter,
11449    ) -> *mut c_char;
11450    pub fn gtk_text_iter_get_tags(iter: *const GtkTextIter) -> *mut glib::GSList;
11451    pub fn gtk_text_iter_get_text(
11452        start: *const GtkTextIter,
11453        end: *const GtkTextIter,
11454    ) -> *mut c_char;
11455    pub fn gtk_text_iter_get_toggled_tags(
11456        iter: *const GtkTextIter,
11457        toggled_on: gboolean,
11458    ) -> *mut glib::GSList;
11459    pub fn gtk_text_iter_get_visible_line_index(iter: *const GtkTextIter) -> c_int;
11460    pub fn gtk_text_iter_get_visible_line_offset(iter: *const GtkTextIter) -> c_int;
11461    pub fn gtk_text_iter_get_visible_slice(
11462        start: *const GtkTextIter,
11463        end: *const GtkTextIter,
11464    ) -> *mut c_char;
11465    pub fn gtk_text_iter_get_visible_text(
11466        start: *const GtkTextIter,
11467        end: *const GtkTextIter,
11468    ) -> *mut c_char;
11469    pub fn gtk_text_iter_has_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11470    pub fn gtk_text_iter_in_range(
11471        iter: *const GtkTextIter,
11472        start: *const GtkTextIter,
11473        end: *const GtkTextIter,
11474    ) -> gboolean;
11475    pub fn gtk_text_iter_inside_sentence(iter: *const GtkTextIter) -> gboolean;
11476    pub fn gtk_text_iter_inside_word(iter: *const GtkTextIter) -> gboolean;
11477    pub fn gtk_text_iter_is_cursor_position(iter: *const GtkTextIter) -> gboolean;
11478    pub fn gtk_text_iter_is_end(iter: *const GtkTextIter) -> gboolean;
11479    pub fn gtk_text_iter_is_start(iter: *const GtkTextIter) -> gboolean;
11480    pub fn gtk_text_iter_order(first: *mut GtkTextIter, second: *mut GtkTextIter);
11481    pub fn gtk_text_iter_set_line(iter: *mut GtkTextIter, line_number: c_int);
11482    pub fn gtk_text_iter_set_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
11483    pub fn gtk_text_iter_set_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
11484    pub fn gtk_text_iter_set_offset(iter: *mut GtkTextIter, char_offset: c_int);
11485    pub fn gtk_text_iter_set_visible_line_index(iter: *mut GtkTextIter, byte_on_line: c_int);
11486    pub fn gtk_text_iter_set_visible_line_offset(iter: *mut GtkTextIter, char_on_line: c_int);
11487    pub fn gtk_text_iter_starts_line(iter: *const GtkTextIter) -> gboolean;
11488    pub fn gtk_text_iter_starts_sentence(iter: *const GtkTextIter) -> gboolean;
11489    pub fn gtk_text_iter_starts_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11490    pub fn gtk_text_iter_starts_word(iter: *const GtkTextIter) -> gboolean;
11491    pub fn gtk_text_iter_toggles_tag(iter: *const GtkTextIter, tag: *mut GtkTextTag) -> gboolean;
11492
11493    //=========================================================================
11494    // GtkTreeIter
11495    //=========================================================================
11496    pub fn gtk_tree_iter_get_type() -> GType;
11497    pub fn gtk_tree_iter_copy(iter: *mut GtkTreeIter) -> *mut GtkTreeIter;
11498    pub fn gtk_tree_iter_free(iter: *mut GtkTreeIter);
11499
11500    //=========================================================================
11501    // GtkTreePath
11502    //=========================================================================
11503    pub fn gtk_tree_path_get_type() -> GType;
11504    pub fn gtk_tree_path_new() -> *mut GtkTreePath;
11505    pub fn gtk_tree_path_new_first() -> *mut GtkTreePath;
11506    pub fn gtk_tree_path_new_from_indices(first_index: c_int, ...) -> *mut GtkTreePath;
11507    pub fn gtk_tree_path_new_from_indicesv(indices: *mut c_int, length: size_t)
11508    -> *mut GtkTreePath;
11509    pub fn gtk_tree_path_new_from_string(path: *const c_char) -> *mut GtkTreePath;
11510    pub fn gtk_tree_path_append_index(path: *mut GtkTreePath, index_: c_int);
11511    pub fn gtk_tree_path_compare(a: *const GtkTreePath, b: *const GtkTreePath) -> c_int;
11512    pub fn gtk_tree_path_copy(path: *const GtkTreePath) -> *mut GtkTreePath;
11513    pub fn gtk_tree_path_down(path: *mut GtkTreePath);
11514    pub fn gtk_tree_path_free(path: *mut GtkTreePath);
11515    pub fn gtk_tree_path_get_depth(path: *mut GtkTreePath) -> c_int;
11516    pub fn gtk_tree_path_get_indices(path: *mut GtkTreePath) -> *mut c_int;
11517    pub fn gtk_tree_path_get_indices_with_depth(
11518        path: *mut GtkTreePath,
11519        depth: *mut c_int,
11520    ) -> *mut c_int;
11521    pub fn gtk_tree_path_is_ancestor(
11522        path: *mut GtkTreePath,
11523        descendant: *mut GtkTreePath,
11524    ) -> gboolean;
11525    pub fn gtk_tree_path_is_descendant(
11526        path: *mut GtkTreePath,
11527        ancestor: *mut GtkTreePath,
11528    ) -> gboolean;
11529    pub fn gtk_tree_path_next(path: *mut GtkTreePath);
11530    pub fn gtk_tree_path_prepend_index(path: *mut GtkTreePath, index_: c_int);
11531    pub fn gtk_tree_path_prev(path: *mut GtkTreePath) -> gboolean;
11532    pub fn gtk_tree_path_to_string(path: *mut GtkTreePath) -> *mut c_char;
11533    pub fn gtk_tree_path_up(path: *mut GtkTreePath) -> gboolean;
11534
11535    //=========================================================================
11536    // GtkTreeRowReference
11537    //=========================================================================
11538    pub fn gtk_tree_row_reference_get_type() -> GType;
11539    pub fn gtk_tree_row_reference_new(
11540        model: *mut GtkTreeModel,
11541        path: *mut GtkTreePath,
11542    ) -> *mut GtkTreeRowReference;
11543    pub fn gtk_tree_row_reference_new_proxy(
11544        proxy: *mut gobject::GObject,
11545        model: *mut GtkTreeModel,
11546        path: *mut GtkTreePath,
11547    ) -> *mut GtkTreeRowReference;
11548    pub fn gtk_tree_row_reference_copy(
11549        reference: *mut GtkTreeRowReference,
11550    ) -> *mut GtkTreeRowReference;
11551    pub fn gtk_tree_row_reference_free(reference: *mut GtkTreeRowReference);
11552    pub fn gtk_tree_row_reference_get_model(
11553        reference: *mut GtkTreeRowReference,
11554    ) -> *mut GtkTreeModel;
11555    pub fn gtk_tree_row_reference_get_path(reference: *mut GtkTreeRowReference)
11556    -> *mut GtkTreePath;
11557    pub fn gtk_tree_row_reference_valid(reference: *mut GtkTreeRowReference) -> gboolean;
11558    pub fn gtk_tree_row_reference_deleted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
11559    pub fn gtk_tree_row_reference_inserted(proxy: *mut gobject::GObject, path: *mut GtkTreePath);
11560    pub fn gtk_tree_row_reference_reordered(
11561        proxy: *mut gobject::GObject,
11562        path: *mut GtkTreePath,
11563        iter: *mut GtkTreeIter,
11564        new_order: *mut c_int,
11565    );
11566
11567    //=========================================================================
11568    // GtkWidgetClass
11569    //=========================================================================
11570    pub fn gtk_widget_class_add_binding(
11571        widget_class: *mut GtkWidgetClass,
11572        keyval: c_uint,
11573        mods: gdk::GdkModifierType,
11574        callback: GtkShortcutFunc,
11575        format_string: *const c_char,
11576        ...
11577    );
11578    pub fn gtk_widget_class_add_binding_action(
11579        widget_class: *mut GtkWidgetClass,
11580        keyval: c_uint,
11581        mods: gdk::GdkModifierType,
11582        action_name: *const c_char,
11583        format_string: *const c_char,
11584        ...
11585    );
11586    pub fn gtk_widget_class_add_binding_signal(
11587        widget_class: *mut GtkWidgetClass,
11588        keyval: c_uint,
11589        mods: gdk::GdkModifierType,
11590        signal: *const c_char,
11591        format_string: *const c_char,
11592        ...
11593    );
11594    pub fn gtk_widget_class_add_shortcut(
11595        widget_class: *mut GtkWidgetClass,
11596        shortcut: *mut GtkShortcut,
11597    );
11598    pub fn gtk_widget_class_bind_template_callback_full(
11599        widget_class: *mut GtkWidgetClass,
11600        callback_name: *const c_char,
11601        callback_symbol: gobject::GCallback,
11602    );
11603    pub fn gtk_widget_class_bind_template_child_full(
11604        widget_class: *mut GtkWidgetClass,
11605        name: *const c_char,
11606        internal_child: gboolean,
11607        struct_offset: ssize_t,
11608    );
11609    pub fn gtk_widget_class_get_accessible_role(
11610        widget_class: *mut GtkWidgetClass,
11611    ) -> GtkAccessibleRole;
11612    pub fn gtk_widget_class_get_activate_signal(widget_class: *mut GtkWidgetClass) -> c_uint;
11613    pub fn gtk_widget_class_get_css_name(widget_class: *mut GtkWidgetClass) -> *const c_char;
11614    pub fn gtk_widget_class_get_layout_manager_type(widget_class: *mut GtkWidgetClass) -> GType;
11615    pub fn gtk_widget_class_install_action(
11616        widget_class: *mut GtkWidgetClass,
11617        action_name: *const c_char,
11618        parameter_type: *const c_char,
11619        activate: GtkWidgetActionActivateFunc,
11620    );
11621    pub fn gtk_widget_class_install_property_action(
11622        widget_class: *mut GtkWidgetClass,
11623        action_name: *const c_char,
11624        property_name: *const c_char,
11625    );
11626    pub fn gtk_widget_class_query_action(
11627        widget_class: *mut GtkWidgetClass,
11628        index_: c_uint,
11629        owner: *mut GType,
11630        action_name: *mut *const c_char,
11631        parameter_type: *mut *const glib::GVariantType,
11632        property_name: *mut *const c_char,
11633    ) -> gboolean;
11634    pub fn gtk_widget_class_set_accessible_role(
11635        widget_class: *mut GtkWidgetClass,
11636        accessible_role: GtkAccessibleRole,
11637    );
11638    pub fn gtk_widget_class_set_activate_signal(
11639        widget_class: *mut GtkWidgetClass,
11640        signal_id: c_uint,
11641    );
11642    pub fn gtk_widget_class_set_activate_signal_from_name(
11643        widget_class: *mut GtkWidgetClass,
11644        signal_name: *const c_char,
11645    );
11646    pub fn gtk_widget_class_set_css_name(widget_class: *mut GtkWidgetClass, name: *const c_char);
11647    pub fn gtk_widget_class_set_layout_manager_type(
11648        widget_class: *mut GtkWidgetClass,
11649        type_: GType,
11650    );
11651    pub fn gtk_widget_class_set_template(
11652        widget_class: *mut GtkWidgetClass,
11653        template_bytes: *mut glib::GBytes,
11654    );
11655    pub fn gtk_widget_class_set_template_from_resource(
11656        widget_class: *mut GtkWidgetClass,
11657        resource_name: *const c_char,
11658    );
11659    pub fn gtk_widget_class_set_template_scope(
11660        widget_class: *mut GtkWidgetClass,
11661        scope: *mut GtkBuilderScope,
11662    );
11663
11664    //=========================================================================
11665    // GtkATContext
11666    //=========================================================================
11667    pub fn gtk_at_context_get_type() -> GType;
11668    #[cfg(feature = "v4_10")]
11669    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11670    pub fn gtk_at_context_create(
11671        accessible_role: GtkAccessibleRole,
11672        accessible: *mut GtkAccessible,
11673        display: *mut gdk::GdkDisplay,
11674    ) -> *mut GtkATContext;
11675    #[cfg(feature = "v4_10")]
11676    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11677    pub fn gtk_at_context_get_accessible(self_: *mut GtkATContext) -> *mut GtkAccessible;
11678    pub fn gtk_at_context_get_accessible_role(self_: *mut GtkATContext) -> GtkAccessibleRole;
11679
11680    //=========================================================================
11681    // GtkAboutDialog
11682    //=========================================================================
11683    pub fn gtk_about_dialog_get_type() -> GType;
11684    pub fn gtk_about_dialog_new() -> *mut GtkWidget;
11685    pub fn gtk_about_dialog_add_credit_section(
11686        about: *mut GtkAboutDialog,
11687        section_name: *const c_char,
11688        people: *mut *const c_char,
11689    );
11690    pub fn gtk_about_dialog_get_artists(about: *mut GtkAboutDialog) -> *const *const c_char;
11691    pub fn gtk_about_dialog_get_authors(about: *mut GtkAboutDialog) -> *const *const c_char;
11692    pub fn gtk_about_dialog_get_comments(about: *mut GtkAboutDialog) -> *const c_char;
11693    pub fn gtk_about_dialog_get_copyright(about: *mut GtkAboutDialog) -> *const c_char;
11694    pub fn gtk_about_dialog_get_documenters(about: *mut GtkAboutDialog) -> *const *const c_char;
11695    pub fn gtk_about_dialog_get_license(about: *mut GtkAboutDialog) -> *const c_char;
11696    pub fn gtk_about_dialog_get_license_type(about: *mut GtkAboutDialog) -> GtkLicense;
11697    pub fn gtk_about_dialog_get_logo(about: *mut GtkAboutDialog) -> *mut gdk::GdkPaintable;
11698    pub fn gtk_about_dialog_get_logo_icon_name(about: *mut GtkAboutDialog) -> *const c_char;
11699    pub fn gtk_about_dialog_get_program_name(about: *mut GtkAboutDialog) -> *const c_char;
11700    pub fn gtk_about_dialog_get_system_information(about: *mut GtkAboutDialog) -> *const c_char;
11701    pub fn gtk_about_dialog_get_translator_credits(about: *mut GtkAboutDialog) -> *const c_char;
11702    pub fn gtk_about_dialog_get_version(about: *mut GtkAboutDialog) -> *const c_char;
11703    pub fn gtk_about_dialog_get_website(about: *mut GtkAboutDialog) -> *const c_char;
11704    pub fn gtk_about_dialog_get_website_label(about: *mut GtkAboutDialog) -> *const c_char;
11705    pub fn gtk_about_dialog_get_wrap_license(about: *mut GtkAboutDialog) -> gboolean;
11706    pub fn gtk_about_dialog_set_artists(about: *mut GtkAboutDialog, artists: *mut *const c_char);
11707    pub fn gtk_about_dialog_set_authors(about: *mut GtkAboutDialog, authors: *mut *const c_char);
11708    pub fn gtk_about_dialog_set_comments(about: *mut GtkAboutDialog, comments: *const c_char);
11709    pub fn gtk_about_dialog_set_copyright(about: *mut GtkAboutDialog, copyright: *const c_char);
11710    pub fn gtk_about_dialog_set_documenters(
11711        about: *mut GtkAboutDialog,
11712        documenters: *mut *const c_char,
11713    );
11714    pub fn gtk_about_dialog_set_license(about: *mut GtkAboutDialog, license: *const c_char);
11715    pub fn gtk_about_dialog_set_license_type(about: *mut GtkAboutDialog, license_type: GtkLicense);
11716    pub fn gtk_about_dialog_set_logo(about: *mut GtkAboutDialog, logo: *mut gdk::GdkPaintable);
11717    pub fn gtk_about_dialog_set_logo_icon_name(
11718        about: *mut GtkAboutDialog,
11719        icon_name: *const c_char,
11720    );
11721    pub fn gtk_about_dialog_set_program_name(about: *mut GtkAboutDialog, name: *const c_char);
11722    pub fn gtk_about_dialog_set_system_information(
11723        about: *mut GtkAboutDialog,
11724        system_information: *const c_char,
11725    );
11726    pub fn gtk_about_dialog_set_translator_credits(
11727        about: *mut GtkAboutDialog,
11728        translator_credits: *const c_char,
11729    );
11730    pub fn gtk_about_dialog_set_version(about: *mut GtkAboutDialog, version: *const c_char);
11731    pub fn gtk_about_dialog_set_website(about: *mut GtkAboutDialog, website: *const c_char);
11732    pub fn gtk_about_dialog_set_website_label(
11733        about: *mut GtkAboutDialog,
11734        website_label: *const c_char,
11735    );
11736    pub fn gtk_about_dialog_set_wrap_license(about: *mut GtkAboutDialog, wrap_license: gboolean);
11737
11738    //=========================================================================
11739    // GtkAccessibleHyperlink
11740    //=========================================================================
11741    #[cfg(feature = "v4_22")]
11742    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11743    pub fn gtk_accessible_hyperlink_get_type() -> GType;
11744    #[cfg(feature = "v4_22")]
11745    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11746    pub fn gtk_accessible_hyperlink_new(
11747        parent: *mut GtkAccessibleHypertext,
11748        index: c_uint,
11749        uri: *const c_char,
11750        bounds: *mut GtkAccessibleTextRange,
11751    ) -> *mut GtkAccessibleHyperlink;
11752    #[cfg(feature = "v4_22")]
11753    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
11754    pub fn gtk_accessible_hyperlink_set_platform_state(
11755        self_: *mut GtkAccessibleHyperlink,
11756        state: GtkAccessiblePlatformState,
11757        enabled: gboolean,
11758    );
11759
11760    //=========================================================================
11761    // GtkActionBar
11762    //=========================================================================
11763    pub fn gtk_action_bar_get_type() -> GType;
11764    pub fn gtk_action_bar_new() -> *mut GtkWidget;
11765    pub fn gtk_action_bar_get_center_widget(action_bar: *mut GtkActionBar) -> *mut GtkWidget;
11766    pub fn gtk_action_bar_get_revealed(action_bar: *mut GtkActionBar) -> gboolean;
11767    pub fn gtk_action_bar_pack_end(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11768    pub fn gtk_action_bar_pack_start(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11769    pub fn gtk_action_bar_remove(action_bar: *mut GtkActionBar, child: *mut GtkWidget);
11770    pub fn gtk_action_bar_set_center_widget(
11771        action_bar: *mut GtkActionBar,
11772        center_widget: *mut GtkWidget,
11773    );
11774    pub fn gtk_action_bar_set_revealed(action_bar: *mut GtkActionBar, revealed: gboolean);
11775
11776    //=========================================================================
11777    // GtkActivateAction
11778    //=========================================================================
11779    pub fn gtk_activate_action_get_type() -> GType;
11780    pub fn gtk_activate_action_get() -> *mut GtkActivateAction;
11781
11782    //=========================================================================
11783    // GtkAdjustment
11784    //=========================================================================
11785    pub fn gtk_adjustment_get_type() -> GType;
11786    pub fn gtk_adjustment_new(
11787        value: c_double,
11788        lower: c_double,
11789        upper: c_double,
11790        step_increment: c_double,
11791        page_increment: c_double,
11792        page_size: c_double,
11793    ) -> *mut GtkAdjustment;
11794    pub fn gtk_adjustment_clamp_page(
11795        adjustment: *mut GtkAdjustment,
11796        lower: c_double,
11797        upper: c_double,
11798    );
11799    pub fn gtk_adjustment_configure(
11800        adjustment: *mut GtkAdjustment,
11801        value: c_double,
11802        lower: c_double,
11803        upper: c_double,
11804        step_increment: c_double,
11805        page_increment: c_double,
11806        page_size: c_double,
11807    );
11808    pub fn gtk_adjustment_get_lower(adjustment: *mut GtkAdjustment) -> c_double;
11809    pub fn gtk_adjustment_get_minimum_increment(adjustment: *mut GtkAdjustment) -> c_double;
11810    pub fn gtk_adjustment_get_page_increment(adjustment: *mut GtkAdjustment) -> c_double;
11811    pub fn gtk_adjustment_get_page_size(adjustment: *mut GtkAdjustment) -> c_double;
11812    pub fn gtk_adjustment_get_step_increment(adjustment: *mut GtkAdjustment) -> c_double;
11813    pub fn gtk_adjustment_get_upper(adjustment: *mut GtkAdjustment) -> c_double;
11814    pub fn gtk_adjustment_get_value(adjustment: *mut GtkAdjustment) -> c_double;
11815    pub fn gtk_adjustment_set_lower(adjustment: *mut GtkAdjustment, lower: c_double);
11816    pub fn gtk_adjustment_set_page_increment(
11817        adjustment: *mut GtkAdjustment,
11818        page_increment: c_double,
11819    );
11820    pub fn gtk_adjustment_set_page_size(adjustment: *mut GtkAdjustment, page_size: c_double);
11821    pub fn gtk_adjustment_set_step_increment(
11822        adjustment: *mut GtkAdjustment,
11823        step_increment: c_double,
11824    );
11825    pub fn gtk_adjustment_set_upper(adjustment: *mut GtkAdjustment, upper: c_double);
11826    pub fn gtk_adjustment_set_value(adjustment: *mut GtkAdjustment, value: c_double);
11827
11828    //=========================================================================
11829    // GtkAlertDialog
11830    //=========================================================================
11831    #[cfg(feature = "v4_10")]
11832    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11833    pub fn gtk_alert_dialog_get_type() -> GType;
11834    #[cfg(feature = "v4_10")]
11835    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11836    pub fn gtk_alert_dialog_new(format: *const c_char, ...) -> *mut GtkAlertDialog;
11837    #[cfg(feature = "v4_10")]
11838    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11839    pub fn gtk_alert_dialog_choose(
11840        self_: *mut GtkAlertDialog,
11841        parent: *mut GtkWindow,
11842        cancellable: *mut gio::GCancellable,
11843        callback: gio::GAsyncReadyCallback,
11844        user_data: gpointer,
11845    );
11846    #[cfg(feature = "v4_10")]
11847    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11848    pub fn gtk_alert_dialog_choose_finish(
11849        self_: *mut GtkAlertDialog,
11850        result: *mut gio::GAsyncResult,
11851        error: *mut *mut glib::GError,
11852    ) -> c_int;
11853    #[cfg(feature = "v4_10")]
11854    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11855    pub fn gtk_alert_dialog_get_buttons(self_: *mut GtkAlertDialog) -> *const *const c_char;
11856    #[cfg(feature = "v4_10")]
11857    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11858    pub fn gtk_alert_dialog_get_cancel_button(self_: *mut GtkAlertDialog) -> c_int;
11859    #[cfg(feature = "v4_10")]
11860    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11861    pub fn gtk_alert_dialog_get_default_button(self_: *mut GtkAlertDialog) -> c_int;
11862    #[cfg(feature = "v4_10")]
11863    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11864    pub fn gtk_alert_dialog_get_detail(self_: *mut GtkAlertDialog) -> *const c_char;
11865    #[cfg(feature = "v4_10")]
11866    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11867    pub fn gtk_alert_dialog_get_message(self_: *mut GtkAlertDialog) -> *const c_char;
11868    #[cfg(feature = "v4_10")]
11869    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11870    pub fn gtk_alert_dialog_get_modal(self_: *mut GtkAlertDialog) -> gboolean;
11871    #[cfg(feature = "v4_10")]
11872    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11873    pub fn gtk_alert_dialog_set_buttons(self_: *mut GtkAlertDialog, labels: *const *const c_char);
11874    #[cfg(feature = "v4_10")]
11875    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11876    pub fn gtk_alert_dialog_set_cancel_button(self_: *mut GtkAlertDialog, button: c_int);
11877    #[cfg(feature = "v4_10")]
11878    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11879    pub fn gtk_alert_dialog_set_default_button(self_: *mut GtkAlertDialog, button: c_int);
11880    #[cfg(feature = "v4_10")]
11881    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11882    pub fn gtk_alert_dialog_set_detail(self_: *mut GtkAlertDialog, detail: *const c_char);
11883    #[cfg(feature = "v4_10")]
11884    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11885    pub fn gtk_alert_dialog_set_message(self_: *mut GtkAlertDialog, message: *const c_char);
11886    #[cfg(feature = "v4_10")]
11887    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11888    pub fn gtk_alert_dialog_set_modal(self_: *mut GtkAlertDialog, modal: gboolean);
11889    #[cfg(feature = "v4_10")]
11890    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
11891    pub fn gtk_alert_dialog_show(self_: *mut GtkAlertDialog, parent: *mut GtkWindow);
11892
11893    //=========================================================================
11894    // GtkAlternativeTrigger
11895    //=========================================================================
11896    pub fn gtk_alternative_trigger_get_type() -> GType;
11897    pub fn gtk_alternative_trigger_new(
11898        first: *mut GtkShortcutTrigger,
11899        second: *mut GtkShortcutTrigger,
11900    ) -> *mut GtkShortcutTrigger;
11901    #[cfg(feature = "v4_24")]
11902    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
11903    pub fn gtk_alternative_trigger_newv(
11904        triggers: *mut *mut GtkShortcutTrigger,
11905        n_triggers: size_t,
11906    ) -> *mut GtkShortcutTrigger;
11907    pub fn gtk_alternative_trigger_get_first(
11908        self_: *mut GtkAlternativeTrigger,
11909    ) -> *mut GtkShortcutTrigger;
11910    pub fn gtk_alternative_trigger_get_second(
11911        self_: *mut GtkAlternativeTrigger,
11912    ) -> *mut GtkShortcutTrigger;
11913
11914    //=========================================================================
11915    // GtkAnyFilter
11916    //=========================================================================
11917    pub fn gtk_any_filter_get_type() -> GType;
11918    pub fn gtk_any_filter_new() -> *mut GtkAnyFilter;
11919
11920    //=========================================================================
11921    // GtkAppChooserButton
11922    //=========================================================================
11923    pub fn gtk_app_chooser_button_get_type() -> GType;
11924    pub fn gtk_app_chooser_button_new(content_type: *const c_char) -> *mut GtkWidget;
11925    pub fn gtk_app_chooser_button_append_custom_item(
11926        self_: *mut GtkAppChooserButton,
11927        name: *const c_char,
11928        label: *const c_char,
11929        icon: *mut gio::GIcon,
11930    );
11931    pub fn gtk_app_chooser_button_append_separator(self_: *mut GtkAppChooserButton);
11932    pub fn gtk_app_chooser_button_get_heading(self_: *mut GtkAppChooserButton) -> *const c_char;
11933    pub fn gtk_app_chooser_button_get_modal(self_: *mut GtkAppChooserButton) -> gboolean;
11934    pub fn gtk_app_chooser_button_get_show_default_item(
11935        self_: *mut GtkAppChooserButton,
11936    ) -> gboolean;
11937    pub fn gtk_app_chooser_button_get_show_dialog_item(self_: *mut GtkAppChooserButton)
11938    -> gboolean;
11939    pub fn gtk_app_chooser_button_set_active_custom_item(
11940        self_: *mut GtkAppChooserButton,
11941        name: *const c_char,
11942    );
11943    pub fn gtk_app_chooser_button_set_heading(
11944        self_: *mut GtkAppChooserButton,
11945        heading: *const c_char,
11946    );
11947    pub fn gtk_app_chooser_button_set_modal(self_: *mut GtkAppChooserButton, modal: gboolean);
11948    pub fn gtk_app_chooser_button_set_show_default_item(
11949        self_: *mut GtkAppChooserButton,
11950        setting: gboolean,
11951    );
11952    pub fn gtk_app_chooser_button_set_show_dialog_item(
11953        self_: *mut GtkAppChooserButton,
11954        setting: gboolean,
11955    );
11956
11957    //=========================================================================
11958    // GtkAppChooserDialog
11959    //=========================================================================
11960    pub fn gtk_app_chooser_dialog_get_type() -> GType;
11961    pub fn gtk_app_chooser_dialog_new(
11962        parent: *mut GtkWindow,
11963        flags: GtkDialogFlags,
11964        file: *mut gio::GFile,
11965    ) -> *mut GtkWidget;
11966    pub fn gtk_app_chooser_dialog_new_for_content_type(
11967        parent: *mut GtkWindow,
11968        flags: GtkDialogFlags,
11969        content_type: *const c_char,
11970    ) -> *mut GtkWidget;
11971    pub fn gtk_app_chooser_dialog_get_heading(self_: *mut GtkAppChooserDialog) -> *const c_char;
11972    pub fn gtk_app_chooser_dialog_get_widget(self_: *mut GtkAppChooserDialog) -> *mut GtkWidget;
11973    pub fn gtk_app_chooser_dialog_set_heading(
11974        self_: *mut GtkAppChooserDialog,
11975        heading: *const c_char,
11976    );
11977
11978    //=========================================================================
11979    // GtkAppChooserWidget
11980    //=========================================================================
11981    pub fn gtk_app_chooser_widget_get_type() -> GType;
11982    pub fn gtk_app_chooser_widget_new(content_type: *const c_char) -> *mut GtkWidget;
11983    pub fn gtk_app_chooser_widget_get_default_text(
11984        self_: *mut GtkAppChooserWidget,
11985    ) -> *const c_char;
11986    pub fn gtk_app_chooser_widget_get_show_all(self_: *mut GtkAppChooserWidget) -> gboolean;
11987    pub fn gtk_app_chooser_widget_get_show_default(self_: *mut GtkAppChooserWidget) -> gboolean;
11988    pub fn gtk_app_chooser_widget_get_show_fallback(self_: *mut GtkAppChooserWidget) -> gboolean;
11989    pub fn gtk_app_chooser_widget_get_show_other(self_: *mut GtkAppChooserWidget) -> gboolean;
11990    pub fn gtk_app_chooser_widget_get_show_recommended(self_: *mut GtkAppChooserWidget)
11991    -> gboolean;
11992    pub fn gtk_app_chooser_widget_set_default_text(
11993        self_: *mut GtkAppChooserWidget,
11994        text: *const c_char,
11995    );
11996    pub fn gtk_app_chooser_widget_set_show_all(self_: *mut GtkAppChooserWidget, setting: gboolean);
11997    pub fn gtk_app_chooser_widget_set_show_default(
11998        self_: *mut GtkAppChooserWidget,
11999        setting: gboolean,
12000    );
12001    pub fn gtk_app_chooser_widget_set_show_fallback(
12002        self_: *mut GtkAppChooserWidget,
12003        setting: gboolean,
12004    );
12005    pub fn gtk_app_chooser_widget_set_show_other(
12006        self_: *mut GtkAppChooserWidget,
12007        setting: gboolean,
12008    );
12009    pub fn gtk_app_chooser_widget_set_show_recommended(
12010        self_: *mut GtkAppChooserWidget,
12011        setting: gboolean,
12012    );
12013
12014    //=========================================================================
12015    // GtkApplication
12016    //=========================================================================
12017    pub fn gtk_application_get_type() -> GType;
12018    pub fn gtk_application_new(
12019        application_id: *const c_char,
12020        flags: gio::GApplicationFlags,
12021    ) -> *mut GtkApplication;
12022    pub fn gtk_application_add_window(application: *mut GtkApplication, window: *mut GtkWindow);
12023    pub fn gtk_application_get_accels_for_action(
12024        application: *mut GtkApplication,
12025        detailed_action_name: *const c_char,
12026    ) -> *mut *mut c_char;
12027    pub fn gtk_application_get_actions_for_accel(
12028        application: *mut GtkApplication,
12029        accel: *const c_char,
12030    ) -> *mut *mut c_char;
12031    pub fn gtk_application_get_active_window(application: *mut GtkApplication) -> *mut GtkWindow;
12032    pub fn gtk_application_get_menu_by_id(
12033        application: *mut GtkApplication,
12034        id: *const c_char,
12035    ) -> *mut gio::GMenu;
12036    pub fn gtk_application_get_menubar(application: *mut GtkApplication) -> *mut gio::GMenuModel;
12037    pub fn gtk_application_get_window_by_id(
12038        application: *mut GtkApplication,
12039        id: c_uint,
12040    ) -> *mut GtkWindow;
12041    pub fn gtk_application_get_windows(application: *mut GtkApplication) -> *mut glib::GList;
12042    pub fn gtk_application_inhibit(
12043        application: *mut GtkApplication,
12044        window: *mut GtkWindow,
12045        flags: GtkApplicationInhibitFlags,
12046        reason: *const c_char,
12047    ) -> c_uint;
12048    pub fn gtk_application_list_action_descriptions(
12049        application: *mut GtkApplication,
12050    ) -> *mut *mut c_char;
12051    pub fn gtk_application_remove_window(application: *mut GtkApplication, window: *mut GtkWindow);
12052    pub fn gtk_application_set_accels_for_action(
12053        application: *mut GtkApplication,
12054        detailed_action_name: *const c_char,
12055        accels: *const *const c_char,
12056    );
12057    pub fn gtk_application_set_menubar(
12058        application: *mut GtkApplication,
12059        menubar: *mut gio::GMenuModel,
12060    );
12061    pub fn gtk_application_uninhibit(application: *mut GtkApplication, cookie: c_uint);
12062
12063    //=========================================================================
12064    // GtkApplicationWindow
12065    //=========================================================================
12066    pub fn gtk_application_window_get_type() -> GType;
12067    pub fn gtk_application_window_new(application: *mut GtkApplication) -> *mut GtkWidget;
12068    pub fn gtk_application_window_get_help_overlay(
12069        window: *mut GtkApplicationWindow,
12070    ) -> *mut GtkShortcutsWindow;
12071    pub fn gtk_application_window_get_id(window: *mut GtkApplicationWindow) -> c_uint;
12072    pub fn gtk_application_window_get_show_menubar(window: *mut GtkApplicationWindow) -> gboolean;
12073    pub fn gtk_application_window_set_help_overlay(
12074        window: *mut GtkApplicationWindow,
12075        help_overlay: *mut GtkShortcutsWindow,
12076    );
12077    pub fn gtk_application_window_set_show_menubar(
12078        window: *mut GtkApplicationWindow,
12079        show_menubar: gboolean,
12080    );
12081
12082    //=========================================================================
12083    // GtkAspectFrame
12084    //=========================================================================
12085    pub fn gtk_aspect_frame_get_type() -> GType;
12086    pub fn gtk_aspect_frame_new(
12087        xalign: c_float,
12088        yalign: c_float,
12089        ratio: c_float,
12090        obey_child: gboolean,
12091    ) -> *mut GtkWidget;
12092    pub fn gtk_aspect_frame_get_child(self_: *mut GtkAspectFrame) -> *mut GtkWidget;
12093    pub fn gtk_aspect_frame_get_obey_child(self_: *mut GtkAspectFrame) -> gboolean;
12094    pub fn gtk_aspect_frame_get_ratio(self_: *mut GtkAspectFrame) -> c_float;
12095    pub fn gtk_aspect_frame_get_xalign(self_: *mut GtkAspectFrame) -> c_float;
12096    pub fn gtk_aspect_frame_get_yalign(self_: *mut GtkAspectFrame) -> c_float;
12097    pub fn gtk_aspect_frame_set_child(self_: *mut GtkAspectFrame, child: *mut GtkWidget);
12098    pub fn gtk_aspect_frame_set_obey_child(self_: *mut GtkAspectFrame, obey_child: gboolean);
12099    pub fn gtk_aspect_frame_set_ratio(self_: *mut GtkAspectFrame, ratio: c_float);
12100    pub fn gtk_aspect_frame_set_xalign(self_: *mut GtkAspectFrame, xalign: c_float);
12101    pub fn gtk_aspect_frame_set_yalign(self_: *mut GtkAspectFrame, yalign: c_float);
12102
12103    //=========================================================================
12104    // GtkAssistant
12105    //=========================================================================
12106    pub fn gtk_assistant_get_type() -> GType;
12107    pub fn gtk_assistant_new() -> *mut GtkWidget;
12108    pub fn gtk_assistant_add_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
12109    pub fn gtk_assistant_append_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
12110    pub fn gtk_assistant_commit(assistant: *mut GtkAssistant);
12111    pub fn gtk_assistant_get_current_page(assistant: *mut GtkAssistant) -> c_int;
12112    pub fn gtk_assistant_get_n_pages(assistant: *mut GtkAssistant) -> c_int;
12113    pub fn gtk_assistant_get_nth_page(
12114        assistant: *mut GtkAssistant,
12115        page_num: c_int,
12116    ) -> *mut GtkWidget;
12117    pub fn gtk_assistant_get_page(
12118        assistant: *mut GtkAssistant,
12119        child: *mut GtkWidget,
12120    ) -> *mut GtkAssistantPage;
12121    pub fn gtk_assistant_get_page_complete(
12122        assistant: *mut GtkAssistant,
12123        page: *mut GtkWidget,
12124    ) -> gboolean;
12125    pub fn gtk_assistant_get_page_title(
12126        assistant: *mut GtkAssistant,
12127        page: *mut GtkWidget,
12128    ) -> *const c_char;
12129    pub fn gtk_assistant_get_page_type(
12130        assistant: *mut GtkAssistant,
12131        page: *mut GtkWidget,
12132    ) -> GtkAssistantPageType;
12133    pub fn gtk_assistant_get_pages(assistant: *mut GtkAssistant) -> *mut gio::GListModel;
12134    pub fn gtk_assistant_insert_page(
12135        assistant: *mut GtkAssistant,
12136        page: *mut GtkWidget,
12137        position: c_int,
12138    ) -> c_int;
12139    pub fn gtk_assistant_next_page(assistant: *mut GtkAssistant);
12140    pub fn gtk_assistant_prepend_page(assistant: *mut GtkAssistant, page: *mut GtkWidget) -> c_int;
12141    pub fn gtk_assistant_previous_page(assistant: *mut GtkAssistant);
12142    pub fn gtk_assistant_remove_action_widget(assistant: *mut GtkAssistant, child: *mut GtkWidget);
12143    pub fn gtk_assistant_remove_page(assistant: *mut GtkAssistant, page_num: c_int);
12144    pub fn gtk_assistant_set_current_page(assistant: *mut GtkAssistant, page_num: c_int);
12145    pub fn gtk_assistant_set_forward_page_func(
12146        assistant: *mut GtkAssistant,
12147        page_func: GtkAssistantPageFunc,
12148        data: gpointer,
12149        destroy: glib::GDestroyNotify,
12150    );
12151    pub fn gtk_assistant_set_page_complete(
12152        assistant: *mut GtkAssistant,
12153        page: *mut GtkWidget,
12154        complete: gboolean,
12155    );
12156    pub fn gtk_assistant_set_page_title(
12157        assistant: *mut GtkAssistant,
12158        page: *mut GtkWidget,
12159        title: *const c_char,
12160    );
12161    pub fn gtk_assistant_set_page_type(
12162        assistant: *mut GtkAssistant,
12163        page: *mut GtkWidget,
12164        type_: GtkAssistantPageType,
12165    );
12166    pub fn gtk_assistant_update_buttons_state(assistant: *mut GtkAssistant);
12167
12168    //=========================================================================
12169    // GtkAssistantPage
12170    //=========================================================================
12171    pub fn gtk_assistant_page_get_type() -> GType;
12172    pub fn gtk_assistant_page_get_child(page: *mut GtkAssistantPage) -> *mut GtkWidget;
12173
12174    //=========================================================================
12175    // GtkBinLayout
12176    //=========================================================================
12177    pub fn gtk_bin_layout_get_type() -> GType;
12178    pub fn gtk_bin_layout_new() -> *mut GtkLayoutManager;
12179
12180    //=========================================================================
12181    // GtkBookmarkList
12182    //=========================================================================
12183    pub fn gtk_bookmark_list_get_type() -> GType;
12184    pub fn gtk_bookmark_list_new(
12185        filename: *const c_char,
12186        attributes: *const c_char,
12187    ) -> *mut GtkBookmarkList;
12188    pub fn gtk_bookmark_list_get_attributes(self_: *mut GtkBookmarkList) -> *const c_char;
12189    pub fn gtk_bookmark_list_get_filename(self_: *mut GtkBookmarkList) -> *const c_char;
12190    pub fn gtk_bookmark_list_get_io_priority(self_: *mut GtkBookmarkList) -> c_int;
12191    pub fn gtk_bookmark_list_is_loading(self_: *mut GtkBookmarkList) -> gboolean;
12192    pub fn gtk_bookmark_list_set_attributes(self_: *mut GtkBookmarkList, attributes: *const c_char);
12193    pub fn gtk_bookmark_list_set_io_priority(self_: *mut GtkBookmarkList, io_priority: c_int);
12194
12195    //=========================================================================
12196    // GtkBoolFilter
12197    //=========================================================================
12198    pub fn gtk_bool_filter_get_type() -> GType;
12199    pub fn gtk_bool_filter_new(expression: *mut GtkExpression) -> *mut GtkBoolFilter;
12200    pub fn gtk_bool_filter_get_expression(self_: *mut GtkBoolFilter) -> *mut GtkExpression;
12201    pub fn gtk_bool_filter_get_invert(self_: *mut GtkBoolFilter) -> gboolean;
12202    pub fn gtk_bool_filter_set_expression(
12203        self_: *mut GtkBoolFilter,
12204        expression: *mut GtkExpression,
12205    );
12206    pub fn gtk_bool_filter_set_invert(self_: *mut GtkBoolFilter, invert: gboolean);
12207
12208    //=========================================================================
12209    // GtkBox
12210    //=========================================================================
12211    pub fn gtk_box_get_type() -> GType;
12212    pub fn gtk_box_new(orientation: GtkOrientation, spacing: c_int) -> *mut GtkWidget;
12213    pub fn gtk_box_append(box_: *mut GtkBox, child: *mut GtkWidget);
12214    #[cfg(feature = "v4_12")]
12215    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12216    pub fn gtk_box_get_baseline_child(box_: *mut GtkBox) -> c_int;
12217    pub fn gtk_box_get_baseline_position(box_: *mut GtkBox) -> GtkBaselinePosition;
12218    pub fn gtk_box_get_homogeneous(box_: *mut GtkBox) -> gboolean;
12219    pub fn gtk_box_get_spacing(box_: *mut GtkBox) -> c_int;
12220    pub fn gtk_box_insert_child_after(
12221        box_: *mut GtkBox,
12222        child: *mut GtkWidget,
12223        sibling: *mut GtkWidget,
12224    );
12225    pub fn gtk_box_prepend(box_: *mut GtkBox, child: *mut GtkWidget);
12226    pub fn gtk_box_remove(box_: *mut GtkBox, child: *mut GtkWidget);
12227    pub fn gtk_box_reorder_child_after(
12228        box_: *mut GtkBox,
12229        child: *mut GtkWidget,
12230        sibling: *mut GtkWidget,
12231    );
12232    #[cfg(feature = "v4_12")]
12233    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12234    pub fn gtk_box_set_baseline_child(box_: *mut GtkBox, child: c_int);
12235    pub fn gtk_box_set_baseline_position(box_: *mut GtkBox, position: GtkBaselinePosition);
12236    pub fn gtk_box_set_homogeneous(box_: *mut GtkBox, homogeneous: gboolean);
12237    pub fn gtk_box_set_spacing(box_: *mut GtkBox, spacing: c_int);
12238
12239    //=========================================================================
12240    // GtkBoxLayout
12241    //=========================================================================
12242    pub fn gtk_box_layout_get_type() -> GType;
12243    pub fn gtk_box_layout_new(orientation: GtkOrientation) -> *mut GtkLayoutManager;
12244    #[cfg(feature = "v4_12")]
12245    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12246    pub fn gtk_box_layout_get_baseline_child(box_layout: *mut GtkBoxLayout) -> c_int;
12247    pub fn gtk_box_layout_get_baseline_position(
12248        box_layout: *mut GtkBoxLayout,
12249    ) -> GtkBaselinePosition;
12250    pub fn gtk_box_layout_get_homogeneous(box_layout: *mut GtkBoxLayout) -> gboolean;
12251    pub fn gtk_box_layout_get_spacing(box_layout: *mut GtkBoxLayout) -> c_uint;
12252    #[cfg(feature = "v4_12")]
12253    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12254    pub fn gtk_box_layout_set_baseline_child(box_layout: *mut GtkBoxLayout, child: c_int);
12255    pub fn gtk_box_layout_set_baseline_position(
12256        box_layout: *mut GtkBoxLayout,
12257        position: GtkBaselinePosition,
12258    );
12259    pub fn gtk_box_layout_set_homogeneous(box_layout: *mut GtkBoxLayout, homogeneous: gboolean);
12260    pub fn gtk_box_layout_set_spacing(box_layout: *mut GtkBoxLayout, spacing: c_uint);
12261
12262    //=========================================================================
12263    // GtkBuilder
12264    //=========================================================================
12265    pub fn gtk_builder_get_type() -> GType;
12266    pub fn gtk_builder_new() -> *mut GtkBuilder;
12267    pub fn gtk_builder_new_from_file(filename: *const c_char) -> *mut GtkBuilder;
12268    pub fn gtk_builder_new_from_resource(resource_path: *const c_char) -> *mut GtkBuilder;
12269    pub fn gtk_builder_new_from_string(string: *const c_char, length: ssize_t) -> *mut GtkBuilder;
12270    pub fn gtk_builder_add_from_file(
12271        builder: *mut GtkBuilder,
12272        filename: *const c_char,
12273        error: *mut *mut glib::GError,
12274    ) -> gboolean;
12275    pub fn gtk_builder_add_from_resource(
12276        builder: *mut GtkBuilder,
12277        resource_path: *const c_char,
12278        error: *mut *mut glib::GError,
12279    ) -> gboolean;
12280    pub fn gtk_builder_add_from_string(
12281        builder: *mut GtkBuilder,
12282        buffer: *const c_char,
12283        length: ssize_t,
12284        error: *mut *mut glib::GError,
12285    ) -> gboolean;
12286    pub fn gtk_builder_add_objects_from_file(
12287        builder: *mut GtkBuilder,
12288        filename: *const c_char,
12289        object_ids: *mut *const c_char,
12290        error: *mut *mut glib::GError,
12291    ) -> gboolean;
12292    pub fn gtk_builder_add_objects_from_resource(
12293        builder: *mut GtkBuilder,
12294        resource_path: *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_string(
12299        builder: *mut GtkBuilder,
12300        buffer: *const c_char,
12301        length: ssize_t,
12302        object_ids: *mut *const c_char,
12303        error: *mut *mut glib::GError,
12304    ) -> gboolean;
12305    pub fn gtk_builder_create_closure(
12306        builder: *mut GtkBuilder,
12307        function_name: *const c_char,
12308        flags: GtkBuilderClosureFlags,
12309        object: *mut gobject::GObject,
12310        error: *mut *mut glib::GError,
12311    ) -> *mut gobject::GClosure;
12312    pub fn gtk_builder_expose_object(
12313        builder: *mut GtkBuilder,
12314        name: *const c_char,
12315        object: *mut gobject::GObject,
12316    );
12317    pub fn gtk_builder_extend_with_template(
12318        builder: *mut GtkBuilder,
12319        object: *mut gobject::GObject,
12320        template_type: GType,
12321        buffer: *const c_char,
12322        length: ssize_t,
12323        error: *mut *mut glib::GError,
12324    ) -> gboolean;
12325    pub fn gtk_builder_get_current_object(builder: *mut GtkBuilder) -> *mut gobject::GObject;
12326    pub fn gtk_builder_get_object(
12327        builder: *mut GtkBuilder,
12328        name: *const c_char,
12329    ) -> *mut gobject::GObject;
12330    pub fn gtk_builder_get_objects(builder: *mut GtkBuilder) -> *mut glib::GSList;
12331    pub fn gtk_builder_get_scope(builder: *mut GtkBuilder) -> *mut GtkBuilderScope;
12332    pub fn gtk_builder_get_translation_domain(builder: *mut GtkBuilder) -> *const c_char;
12333    pub fn gtk_builder_get_type_from_name(
12334        builder: *mut GtkBuilder,
12335        type_name: *const c_char,
12336    ) -> GType;
12337    pub fn gtk_builder_set_current_object(
12338        builder: *mut GtkBuilder,
12339        current_object: *mut gobject::GObject,
12340    );
12341    pub fn gtk_builder_set_scope(builder: *mut GtkBuilder, scope: *mut GtkBuilderScope);
12342    pub fn gtk_builder_set_translation_domain(builder: *mut GtkBuilder, domain: *const c_char);
12343    pub fn gtk_builder_value_from_string(
12344        builder: *mut GtkBuilder,
12345        pspec: *mut gobject::GParamSpec,
12346        string: *const c_char,
12347        value: *mut gobject::GValue,
12348        error: *mut *mut glib::GError,
12349    ) -> gboolean;
12350    pub fn gtk_builder_value_from_string_type(
12351        builder: *mut GtkBuilder,
12352        type_: GType,
12353        string: *const c_char,
12354        value: *mut gobject::GValue,
12355        error: *mut *mut glib::GError,
12356    ) -> gboolean;
12357
12358    //=========================================================================
12359    // GtkBuilderCScope
12360    //=========================================================================
12361    pub fn gtk_builder_cscope_get_type() -> GType;
12362    pub fn gtk_builder_cscope_new() -> *mut GtkBuilderCScope;
12363    pub fn gtk_builder_cscope_add_callback_symbol(
12364        self_: *mut GtkBuilderCScope,
12365        callback_name: *const c_char,
12366        callback_symbol: gobject::GCallback,
12367    );
12368    pub fn gtk_builder_cscope_add_callback_symbols(
12369        self_: *mut GtkBuilderCScope,
12370        first_callback_name: *const c_char,
12371        first_callback_symbol: gobject::GCallback,
12372        ...
12373    );
12374    pub fn gtk_builder_cscope_lookup_callback_symbol(
12375        self_: *mut GtkBuilderCScope,
12376        callback_name: *const c_char,
12377    ) -> gobject::GCallback;
12378
12379    //=========================================================================
12380    // GtkBuilderListItemFactory
12381    //=========================================================================
12382    pub fn gtk_builder_list_item_factory_get_type() -> GType;
12383    pub fn gtk_builder_list_item_factory_new_from_bytes(
12384        scope: *mut GtkBuilderScope,
12385        bytes: *mut glib::GBytes,
12386    ) -> *mut GtkListItemFactory;
12387    pub fn gtk_builder_list_item_factory_new_from_resource(
12388        scope: *mut GtkBuilderScope,
12389        resource_path: *const c_char,
12390    ) -> *mut GtkListItemFactory;
12391    pub fn gtk_builder_list_item_factory_get_bytes(
12392        self_: *mut GtkBuilderListItemFactory,
12393    ) -> *mut glib::GBytes;
12394    pub fn gtk_builder_list_item_factory_get_resource(
12395        self_: *mut GtkBuilderListItemFactory,
12396    ) -> *const c_char;
12397    pub fn gtk_builder_list_item_factory_get_scope(
12398        self_: *mut GtkBuilderListItemFactory,
12399    ) -> *mut GtkBuilderScope;
12400
12401    //=========================================================================
12402    // GtkButton
12403    //=========================================================================
12404    pub fn gtk_button_get_type() -> GType;
12405    pub fn gtk_button_new() -> *mut GtkWidget;
12406    pub fn gtk_button_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
12407    pub fn gtk_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
12408    pub fn gtk_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
12409    #[cfg(feature = "v4_12")]
12410    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12411    pub fn gtk_button_get_can_shrink(button: *mut GtkButton) -> gboolean;
12412    pub fn gtk_button_get_child(button: *mut GtkButton) -> *mut GtkWidget;
12413    pub fn gtk_button_get_has_frame(button: *mut GtkButton) -> gboolean;
12414    pub fn gtk_button_get_icon_name(button: *mut GtkButton) -> *const c_char;
12415    pub fn gtk_button_get_label(button: *mut GtkButton) -> *const c_char;
12416    pub fn gtk_button_get_use_underline(button: *mut GtkButton) -> gboolean;
12417    #[cfg(feature = "v4_12")]
12418    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12419    pub fn gtk_button_set_can_shrink(button: *mut GtkButton, can_shrink: gboolean);
12420    pub fn gtk_button_set_child(button: *mut GtkButton, child: *mut GtkWidget);
12421    pub fn gtk_button_set_has_frame(button: *mut GtkButton, has_frame: gboolean);
12422    pub fn gtk_button_set_icon_name(button: *mut GtkButton, icon_name: *const c_char);
12423    pub fn gtk_button_set_label(button: *mut GtkButton, label: *const c_char);
12424    pub fn gtk_button_set_use_underline(button: *mut GtkButton, use_underline: gboolean);
12425
12426    //=========================================================================
12427    // GtkCClosureExpression
12428    //=========================================================================
12429    pub fn gtk_cclosure_expression_get_type() -> GType;
12430    pub fn gtk_cclosure_expression_new(
12431        value_type: GType,
12432        marshal: gobject::GClosureMarshal,
12433        n_params: c_uint,
12434        params: *mut *mut GtkExpression,
12435        callback_func: gobject::GCallback,
12436        user_data: gpointer,
12437        user_destroy: gobject::GClosureNotify,
12438    ) -> *mut GtkCClosureExpression;
12439
12440    //=========================================================================
12441    // GtkCalendar
12442    //=========================================================================
12443    pub fn gtk_calendar_get_type() -> GType;
12444    pub fn gtk_calendar_new() -> *mut GtkWidget;
12445    pub fn gtk_calendar_clear_marks(calendar: *mut GtkCalendar);
12446    pub fn gtk_calendar_get_date(self_: *mut GtkCalendar) -> *mut glib::GDateTime;
12447    #[cfg(feature = "v4_14")]
12448    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12449    pub fn gtk_calendar_get_day(self_: *mut GtkCalendar) -> c_int;
12450    pub fn gtk_calendar_get_day_is_marked(calendar: *mut GtkCalendar, day: c_uint) -> gboolean;
12451    #[cfg(feature = "v4_14")]
12452    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12453    pub fn gtk_calendar_get_month(self_: *mut GtkCalendar) -> c_int;
12454    pub fn gtk_calendar_get_show_day_names(self_: *mut GtkCalendar) -> gboolean;
12455    pub fn gtk_calendar_get_show_heading(self_: *mut GtkCalendar) -> gboolean;
12456    pub fn gtk_calendar_get_show_week_numbers(self_: *mut GtkCalendar) -> gboolean;
12457    #[cfg(feature = "v4_14")]
12458    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12459    pub fn gtk_calendar_get_year(self_: *mut GtkCalendar) -> c_int;
12460    pub fn gtk_calendar_mark_day(calendar: *mut GtkCalendar, day: c_uint);
12461    pub fn gtk_calendar_select_day(self_: *mut GtkCalendar, date: *mut glib::GDateTime);
12462    #[cfg(feature = "v4_20")]
12463    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
12464    pub fn gtk_calendar_set_date(self_: *mut GtkCalendar, date: *mut glib::GDateTime);
12465    #[cfg(feature = "v4_14")]
12466    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12467    pub fn gtk_calendar_set_day(self_: *mut GtkCalendar, day: c_int);
12468    #[cfg(feature = "v4_14")]
12469    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12470    pub fn gtk_calendar_set_month(self_: *mut GtkCalendar, month: c_int);
12471    pub fn gtk_calendar_set_show_day_names(self_: *mut GtkCalendar, value: gboolean);
12472    pub fn gtk_calendar_set_show_heading(self_: *mut GtkCalendar, value: gboolean);
12473    pub fn gtk_calendar_set_show_week_numbers(self_: *mut GtkCalendar, value: gboolean);
12474    #[cfg(feature = "v4_14")]
12475    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
12476    pub fn gtk_calendar_set_year(self_: *mut GtkCalendar, year: c_int);
12477    pub fn gtk_calendar_unmark_day(calendar: *mut GtkCalendar, day: c_uint);
12478
12479    //=========================================================================
12480    // GtkCallbackAction
12481    //=========================================================================
12482    pub fn gtk_callback_action_get_type() -> GType;
12483    pub fn gtk_callback_action_new(
12484        callback: GtkShortcutFunc,
12485        data: gpointer,
12486        destroy: glib::GDestroyNotify,
12487    ) -> *mut GtkCallbackAction;
12488
12489    //=========================================================================
12490    // GtkCellArea
12491    //=========================================================================
12492    pub fn gtk_cell_area_get_type() -> GType;
12493    pub fn gtk_cell_area_activate(
12494        area: *mut GtkCellArea,
12495        context: *mut GtkCellAreaContext,
12496        widget: *mut GtkWidget,
12497        cell_area: *const gdk::GdkRectangle,
12498        flags: GtkCellRendererState,
12499        edit_only: gboolean,
12500    ) -> gboolean;
12501    pub fn gtk_cell_area_activate_cell(
12502        area: *mut GtkCellArea,
12503        widget: *mut GtkWidget,
12504        renderer: *mut GtkCellRenderer,
12505        event: *mut gdk::GdkEvent,
12506        cell_area: *const gdk::GdkRectangle,
12507        flags: GtkCellRendererState,
12508    ) -> gboolean;
12509    pub fn gtk_cell_area_add(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12510    pub fn gtk_cell_area_add_focus_sibling(
12511        area: *mut GtkCellArea,
12512        renderer: *mut GtkCellRenderer,
12513        sibling: *mut GtkCellRenderer,
12514    );
12515    pub fn gtk_cell_area_add_with_properties(
12516        area: *mut GtkCellArea,
12517        renderer: *mut GtkCellRenderer,
12518        first_prop_name: *const c_char,
12519        ...
12520    );
12521    pub fn gtk_cell_area_apply_attributes(
12522        area: *mut GtkCellArea,
12523        tree_model: *mut GtkTreeModel,
12524        iter: *mut GtkTreeIter,
12525        is_expander: gboolean,
12526        is_expanded: gboolean,
12527    );
12528    pub fn gtk_cell_area_attribute_connect(
12529        area: *mut GtkCellArea,
12530        renderer: *mut GtkCellRenderer,
12531        attribute: *const c_char,
12532        column: c_int,
12533    );
12534    pub fn gtk_cell_area_attribute_disconnect(
12535        area: *mut GtkCellArea,
12536        renderer: *mut GtkCellRenderer,
12537        attribute: *const c_char,
12538    );
12539    pub fn gtk_cell_area_attribute_get_column(
12540        area: *mut GtkCellArea,
12541        renderer: *mut GtkCellRenderer,
12542        attribute: *const c_char,
12543    ) -> c_int;
12544    pub fn gtk_cell_area_cell_get(
12545        area: *mut GtkCellArea,
12546        renderer: *mut GtkCellRenderer,
12547        first_prop_name: *const c_char,
12548        ...
12549    );
12550    pub fn gtk_cell_area_cell_get_property(
12551        area: *mut GtkCellArea,
12552        renderer: *mut GtkCellRenderer,
12553        property_name: *const c_char,
12554        value: *mut gobject::GValue,
12555    );
12556    //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);
12557    pub fn gtk_cell_area_cell_set(
12558        area: *mut GtkCellArea,
12559        renderer: *mut GtkCellRenderer,
12560        first_prop_name: *const c_char,
12561        ...
12562    );
12563    pub fn gtk_cell_area_cell_set_property(
12564        area: *mut GtkCellArea,
12565        renderer: *mut GtkCellRenderer,
12566        property_name: *const c_char,
12567        value: *const gobject::GValue,
12568    );
12569    //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);
12570    pub fn gtk_cell_area_copy_context(
12571        area: *mut GtkCellArea,
12572        context: *mut GtkCellAreaContext,
12573    ) -> *mut GtkCellAreaContext;
12574    pub fn gtk_cell_area_create_context(area: *mut GtkCellArea) -> *mut GtkCellAreaContext;
12575    pub fn gtk_cell_area_event(
12576        area: *mut GtkCellArea,
12577        context: *mut GtkCellAreaContext,
12578        widget: *mut GtkWidget,
12579        event: *mut gdk::GdkEvent,
12580        cell_area: *const gdk::GdkRectangle,
12581        flags: GtkCellRendererState,
12582    ) -> c_int;
12583    pub fn gtk_cell_area_focus(area: *mut GtkCellArea, direction: GtkDirectionType) -> gboolean;
12584    pub fn gtk_cell_area_foreach(
12585        area: *mut GtkCellArea,
12586        callback: GtkCellCallback,
12587        callback_data: gpointer,
12588    );
12589    pub fn gtk_cell_area_foreach_alloc(
12590        area: *mut GtkCellArea,
12591        context: *mut GtkCellAreaContext,
12592        widget: *mut GtkWidget,
12593        cell_area: *const gdk::GdkRectangle,
12594        background_area: *const gdk::GdkRectangle,
12595        callback: GtkCellAllocCallback,
12596        callback_data: gpointer,
12597    );
12598    pub fn gtk_cell_area_get_cell_allocation(
12599        area: *mut GtkCellArea,
12600        context: *mut GtkCellAreaContext,
12601        widget: *mut GtkWidget,
12602        renderer: *mut GtkCellRenderer,
12603        cell_area: *const gdk::GdkRectangle,
12604        allocation: *mut gdk::GdkRectangle,
12605    );
12606    pub fn gtk_cell_area_get_cell_at_position(
12607        area: *mut GtkCellArea,
12608        context: *mut GtkCellAreaContext,
12609        widget: *mut GtkWidget,
12610        cell_area: *const gdk::GdkRectangle,
12611        x: c_int,
12612        y: c_int,
12613        alloc_area: *mut gdk::GdkRectangle,
12614    ) -> *mut GtkCellRenderer;
12615    pub fn gtk_cell_area_get_current_path_string(area: *mut GtkCellArea) -> *const c_char;
12616    pub fn gtk_cell_area_get_edit_widget(area: *mut GtkCellArea) -> *mut GtkCellEditable;
12617    pub fn gtk_cell_area_get_edited_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12618    pub fn gtk_cell_area_get_focus_cell(area: *mut GtkCellArea) -> *mut GtkCellRenderer;
12619    pub fn gtk_cell_area_get_focus_from_sibling(
12620        area: *mut GtkCellArea,
12621        renderer: *mut GtkCellRenderer,
12622    ) -> *mut GtkCellRenderer;
12623    pub fn gtk_cell_area_get_focus_siblings(
12624        area: *mut GtkCellArea,
12625        renderer: *mut GtkCellRenderer,
12626    ) -> *const glib::GList;
12627    pub fn gtk_cell_area_get_preferred_height(
12628        area: *mut GtkCellArea,
12629        context: *mut GtkCellAreaContext,
12630        widget: *mut GtkWidget,
12631        minimum_height: *mut c_int,
12632        natural_height: *mut c_int,
12633    );
12634    pub fn gtk_cell_area_get_preferred_height_for_width(
12635        area: *mut GtkCellArea,
12636        context: *mut GtkCellAreaContext,
12637        widget: *mut GtkWidget,
12638        width: c_int,
12639        minimum_height: *mut c_int,
12640        natural_height: *mut c_int,
12641    );
12642    pub fn gtk_cell_area_get_preferred_width(
12643        area: *mut GtkCellArea,
12644        context: *mut GtkCellAreaContext,
12645        widget: *mut GtkWidget,
12646        minimum_width: *mut c_int,
12647        natural_width: *mut c_int,
12648    );
12649    pub fn gtk_cell_area_get_preferred_width_for_height(
12650        area: *mut GtkCellArea,
12651        context: *mut GtkCellAreaContext,
12652        widget: *mut GtkWidget,
12653        height: c_int,
12654        minimum_width: *mut c_int,
12655        natural_width: *mut c_int,
12656    );
12657    pub fn gtk_cell_area_get_request_mode(area: *mut GtkCellArea) -> GtkSizeRequestMode;
12658    pub fn gtk_cell_area_has_renderer(
12659        area: *mut GtkCellArea,
12660        renderer: *mut GtkCellRenderer,
12661    ) -> gboolean;
12662    pub fn gtk_cell_area_inner_cell_area(
12663        area: *mut GtkCellArea,
12664        widget: *mut GtkWidget,
12665        cell_area: *const gdk::GdkRectangle,
12666        inner_area: *mut gdk::GdkRectangle,
12667    );
12668    pub fn gtk_cell_area_is_activatable(area: *mut GtkCellArea) -> gboolean;
12669    pub fn gtk_cell_area_is_focus_sibling(
12670        area: *mut GtkCellArea,
12671        renderer: *mut GtkCellRenderer,
12672        sibling: *mut GtkCellRenderer,
12673    ) -> gboolean;
12674    pub fn gtk_cell_area_remove(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12675    pub fn gtk_cell_area_remove_focus_sibling(
12676        area: *mut GtkCellArea,
12677        renderer: *mut GtkCellRenderer,
12678        sibling: *mut GtkCellRenderer,
12679    );
12680    pub fn gtk_cell_area_request_renderer(
12681        area: *mut GtkCellArea,
12682        renderer: *mut GtkCellRenderer,
12683        orientation: GtkOrientation,
12684        widget: *mut GtkWidget,
12685        for_size: c_int,
12686        minimum_size: *mut c_int,
12687        natural_size: *mut c_int,
12688    );
12689    pub fn gtk_cell_area_set_focus_cell(area: *mut GtkCellArea, renderer: *mut GtkCellRenderer);
12690    pub fn gtk_cell_area_snapshot(
12691        area: *mut GtkCellArea,
12692        context: *mut GtkCellAreaContext,
12693        widget: *mut GtkWidget,
12694        snapshot: *mut GtkSnapshot,
12695        background_area: *const gdk::GdkRectangle,
12696        cell_area: *const gdk::GdkRectangle,
12697        flags: GtkCellRendererState,
12698        paint_focus: gboolean,
12699    );
12700    pub fn gtk_cell_area_stop_editing(area: *mut GtkCellArea, canceled: gboolean);
12701
12702    //=========================================================================
12703    // GtkCellAreaBox
12704    //=========================================================================
12705    pub fn gtk_cell_area_box_get_type() -> GType;
12706    pub fn gtk_cell_area_box_new() -> *mut GtkCellArea;
12707    pub fn gtk_cell_area_box_get_spacing(box_: *mut GtkCellAreaBox) -> c_int;
12708    pub fn gtk_cell_area_box_pack_end(
12709        box_: *mut GtkCellAreaBox,
12710        renderer: *mut GtkCellRenderer,
12711        expand: gboolean,
12712        align: gboolean,
12713        fixed: gboolean,
12714    );
12715    pub fn gtk_cell_area_box_pack_start(
12716        box_: *mut GtkCellAreaBox,
12717        renderer: *mut GtkCellRenderer,
12718        expand: gboolean,
12719        align: gboolean,
12720        fixed: gboolean,
12721    );
12722    pub fn gtk_cell_area_box_set_spacing(box_: *mut GtkCellAreaBox, spacing: c_int);
12723
12724    //=========================================================================
12725    // GtkCellAreaContext
12726    //=========================================================================
12727    pub fn gtk_cell_area_context_get_type() -> GType;
12728    pub fn gtk_cell_area_context_allocate(
12729        context: *mut GtkCellAreaContext,
12730        width: c_int,
12731        height: c_int,
12732    );
12733    pub fn gtk_cell_area_context_get_allocation(
12734        context: *mut GtkCellAreaContext,
12735        width: *mut c_int,
12736        height: *mut c_int,
12737    );
12738    pub fn gtk_cell_area_context_get_area(context: *mut GtkCellAreaContext) -> *mut GtkCellArea;
12739    pub fn gtk_cell_area_context_get_preferred_height(
12740        context: *mut GtkCellAreaContext,
12741        minimum_height: *mut c_int,
12742        natural_height: *mut c_int,
12743    );
12744    pub fn gtk_cell_area_context_get_preferred_height_for_width(
12745        context: *mut GtkCellAreaContext,
12746        width: c_int,
12747        minimum_height: *mut c_int,
12748        natural_height: *mut c_int,
12749    );
12750    pub fn gtk_cell_area_context_get_preferred_width(
12751        context: *mut GtkCellAreaContext,
12752        minimum_width: *mut c_int,
12753        natural_width: *mut c_int,
12754    );
12755    pub fn gtk_cell_area_context_get_preferred_width_for_height(
12756        context: *mut GtkCellAreaContext,
12757        height: c_int,
12758        minimum_width: *mut c_int,
12759        natural_width: *mut c_int,
12760    );
12761    pub fn gtk_cell_area_context_push_preferred_height(
12762        context: *mut GtkCellAreaContext,
12763        minimum_height: c_int,
12764        natural_height: c_int,
12765    );
12766    pub fn gtk_cell_area_context_push_preferred_width(
12767        context: *mut GtkCellAreaContext,
12768        minimum_width: c_int,
12769        natural_width: c_int,
12770    );
12771    pub fn gtk_cell_area_context_reset(context: *mut GtkCellAreaContext);
12772
12773    //=========================================================================
12774    // GtkCellRenderer
12775    //=========================================================================
12776    pub fn gtk_cell_renderer_get_type() -> GType;
12777    pub fn gtk_cell_renderer_activate(
12778        cell: *mut GtkCellRenderer,
12779        event: *mut gdk::GdkEvent,
12780        widget: *mut GtkWidget,
12781        path: *const c_char,
12782        background_area: *const gdk::GdkRectangle,
12783        cell_area: *const gdk::GdkRectangle,
12784        flags: GtkCellRendererState,
12785    ) -> gboolean;
12786    pub fn gtk_cell_renderer_get_aligned_area(
12787        cell: *mut GtkCellRenderer,
12788        widget: *mut GtkWidget,
12789        flags: GtkCellRendererState,
12790        cell_area: *const gdk::GdkRectangle,
12791        aligned_area: *mut gdk::GdkRectangle,
12792    );
12793    pub fn gtk_cell_renderer_get_alignment(
12794        cell: *mut GtkCellRenderer,
12795        xalign: *mut c_float,
12796        yalign: *mut c_float,
12797    );
12798    pub fn gtk_cell_renderer_get_fixed_size(
12799        cell: *mut GtkCellRenderer,
12800        width: *mut c_int,
12801        height: *mut c_int,
12802    );
12803    pub fn gtk_cell_renderer_get_is_expanded(cell: *mut GtkCellRenderer) -> gboolean;
12804    pub fn gtk_cell_renderer_get_is_expander(cell: *mut GtkCellRenderer) -> gboolean;
12805    pub fn gtk_cell_renderer_get_padding(
12806        cell: *mut GtkCellRenderer,
12807        xpad: *mut c_int,
12808        ypad: *mut c_int,
12809    );
12810    pub fn gtk_cell_renderer_get_preferred_height(
12811        cell: *mut GtkCellRenderer,
12812        widget: *mut GtkWidget,
12813        minimum_size: *mut c_int,
12814        natural_size: *mut c_int,
12815    );
12816    pub fn gtk_cell_renderer_get_preferred_height_for_width(
12817        cell: *mut GtkCellRenderer,
12818        widget: *mut GtkWidget,
12819        width: c_int,
12820        minimum_height: *mut c_int,
12821        natural_height: *mut c_int,
12822    );
12823    pub fn gtk_cell_renderer_get_preferred_size(
12824        cell: *mut GtkCellRenderer,
12825        widget: *mut GtkWidget,
12826        minimum_size: *mut GtkRequisition,
12827        natural_size: *mut GtkRequisition,
12828    );
12829    pub fn gtk_cell_renderer_get_preferred_width(
12830        cell: *mut GtkCellRenderer,
12831        widget: *mut GtkWidget,
12832        minimum_size: *mut c_int,
12833        natural_size: *mut c_int,
12834    );
12835    pub fn gtk_cell_renderer_get_preferred_width_for_height(
12836        cell: *mut GtkCellRenderer,
12837        widget: *mut GtkWidget,
12838        height: c_int,
12839        minimum_width: *mut c_int,
12840        natural_width: *mut c_int,
12841    );
12842    pub fn gtk_cell_renderer_get_request_mode(cell: *mut GtkCellRenderer) -> GtkSizeRequestMode;
12843    pub fn gtk_cell_renderer_get_sensitive(cell: *mut GtkCellRenderer) -> gboolean;
12844    pub fn gtk_cell_renderer_get_state(
12845        cell: *mut GtkCellRenderer,
12846        widget: *mut GtkWidget,
12847        cell_state: GtkCellRendererState,
12848    ) -> GtkStateFlags;
12849    pub fn gtk_cell_renderer_get_visible(cell: *mut GtkCellRenderer) -> gboolean;
12850    pub fn gtk_cell_renderer_is_activatable(cell: *mut GtkCellRenderer) -> gboolean;
12851    pub fn gtk_cell_renderer_set_alignment(
12852        cell: *mut GtkCellRenderer,
12853        xalign: c_float,
12854        yalign: c_float,
12855    );
12856    pub fn gtk_cell_renderer_set_fixed_size(
12857        cell: *mut GtkCellRenderer,
12858        width: c_int,
12859        height: c_int,
12860    );
12861    pub fn gtk_cell_renderer_set_is_expanded(cell: *mut GtkCellRenderer, is_expanded: gboolean);
12862    pub fn gtk_cell_renderer_set_is_expander(cell: *mut GtkCellRenderer, is_expander: gboolean);
12863    pub fn gtk_cell_renderer_set_padding(cell: *mut GtkCellRenderer, xpad: c_int, ypad: c_int);
12864    pub fn gtk_cell_renderer_set_sensitive(cell: *mut GtkCellRenderer, sensitive: gboolean);
12865    pub fn gtk_cell_renderer_set_visible(cell: *mut GtkCellRenderer, visible: gboolean);
12866    pub fn gtk_cell_renderer_snapshot(
12867        cell: *mut GtkCellRenderer,
12868        snapshot: *mut GtkSnapshot,
12869        widget: *mut GtkWidget,
12870        background_area: *const gdk::GdkRectangle,
12871        cell_area: *const gdk::GdkRectangle,
12872        flags: GtkCellRendererState,
12873    );
12874    pub fn gtk_cell_renderer_start_editing(
12875        cell: *mut GtkCellRenderer,
12876        event: *mut gdk::GdkEvent,
12877        widget: *mut GtkWidget,
12878        path: *const c_char,
12879        background_area: *const gdk::GdkRectangle,
12880        cell_area: *const gdk::GdkRectangle,
12881        flags: GtkCellRendererState,
12882    ) -> *mut GtkCellEditable;
12883    pub fn gtk_cell_renderer_stop_editing(cell: *mut GtkCellRenderer, canceled: gboolean);
12884
12885    //=========================================================================
12886    // GtkCellRendererAccel
12887    //=========================================================================
12888    pub fn gtk_cell_renderer_accel_get_type() -> GType;
12889    pub fn gtk_cell_renderer_accel_new() -> *mut GtkCellRenderer;
12890
12891    //=========================================================================
12892    // GtkCellRendererCombo
12893    //=========================================================================
12894    pub fn gtk_cell_renderer_combo_get_type() -> GType;
12895    pub fn gtk_cell_renderer_combo_new() -> *mut GtkCellRenderer;
12896
12897    //=========================================================================
12898    // GtkCellRendererPixbuf
12899    //=========================================================================
12900    pub fn gtk_cell_renderer_pixbuf_get_type() -> GType;
12901    pub fn gtk_cell_renderer_pixbuf_new() -> *mut GtkCellRenderer;
12902
12903    //=========================================================================
12904    // GtkCellRendererProgress
12905    //=========================================================================
12906    pub fn gtk_cell_renderer_progress_get_type() -> GType;
12907    pub fn gtk_cell_renderer_progress_new() -> *mut GtkCellRenderer;
12908
12909    //=========================================================================
12910    // GtkCellRendererSpin
12911    //=========================================================================
12912    pub fn gtk_cell_renderer_spin_get_type() -> GType;
12913    pub fn gtk_cell_renderer_spin_new() -> *mut GtkCellRenderer;
12914
12915    //=========================================================================
12916    // GtkCellRendererSpinner
12917    //=========================================================================
12918    pub fn gtk_cell_renderer_spinner_get_type() -> GType;
12919    pub fn gtk_cell_renderer_spinner_new() -> *mut GtkCellRenderer;
12920
12921    //=========================================================================
12922    // GtkCellRendererText
12923    //=========================================================================
12924    pub fn gtk_cell_renderer_text_get_type() -> GType;
12925    pub fn gtk_cell_renderer_text_new() -> *mut GtkCellRenderer;
12926    pub fn gtk_cell_renderer_text_set_fixed_height_from_font(
12927        renderer: *mut GtkCellRendererText,
12928        number_of_rows: c_int,
12929    );
12930
12931    //=========================================================================
12932    // GtkCellRendererToggle
12933    //=========================================================================
12934    pub fn gtk_cell_renderer_toggle_get_type() -> GType;
12935    pub fn gtk_cell_renderer_toggle_new() -> *mut GtkCellRenderer;
12936    pub fn gtk_cell_renderer_toggle_get_activatable(toggle: *mut GtkCellRendererToggle)
12937    -> gboolean;
12938    pub fn gtk_cell_renderer_toggle_get_active(toggle: *mut GtkCellRendererToggle) -> gboolean;
12939    pub fn gtk_cell_renderer_toggle_get_radio(toggle: *mut GtkCellRendererToggle) -> gboolean;
12940    pub fn gtk_cell_renderer_toggle_set_activatable(
12941        toggle: *mut GtkCellRendererToggle,
12942        setting: gboolean,
12943    );
12944    pub fn gtk_cell_renderer_toggle_set_active(
12945        toggle: *mut GtkCellRendererToggle,
12946        setting: gboolean,
12947    );
12948    pub fn gtk_cell_renderer_toggle_set_radio(toggle: *mut GtkCellRendererToggle, radio: gboolean);
12949
12950    //=========================================================================
12951    // GtkCellView
12952    //=========================================================================
12953    pub fn gtk_cell_view_get_type() -> GType;
12954    pub fn gtk_cell_view_new() -> *mut GtkWidget;
12955    pub fn gtk_cell_view_new_with_context(
12956        area: *mut GtkCellArea,
12957        context: *mut GtkCellAreaContext,
12958    ) -> *mut GtkWidget;
12959    pub fn gtk_cell_view_new_with_markup(markup: *const c_char) -> *mut GtkWidget;
12960    pub fn gtk_cell_view_new_with_text(text: *const c_char) -> *mut GtkWidget;
12961    pub fn gtk_cell_view_new_with_texture(texture: *mut gdk::GdkTexture) -> *mut GtkWidget;
12962    pub fn gtk_cell_view_get_displayed_row(cell_view: *mut GtkCellView) -> *mut GtkTreePath;
12963    pub fn gtk_cell_view_get_draw_sensitive(cell_view: *mut GtkCellView) -> gboolean;
12964    pub fn gtk_cell_view_get_fit_model(cell_view: *mut GtkCellView) -> gboolean;
12965    pub fn gtk_cell_view_get_model(cell_view: *mut GtkCellView) -> *mut GtkTreeModel;
12966    pub fn gtk_cell_view_set_displayed_row(cell_view: *mut GtkCellView, path: *mut GtkTreePath);
12967    pub fn gtk_cell_view_set_draw_sensitive(cell_view: *mut GtkCellView, draw_sensitive: gboolean);
12968    pub fn gtk_cell_view_set_fit_model(cell_view: *mut GtkCellView, fit_model: gboolean);
12969    pub fn gtk_cell_view_set_model(cell_view: *mut GtkCellView, model: *mut GtkTreeModel);
12970
12971    //=========================================================================
12972    // GtkCenterBox
12973    //=========================================================================
12974    pub fn gtk_center_box_get_type() -> GType;
12975    pub fn gtk_center_box_new() -> *mut GtkWidget;
12976    pub fn gtk_center_box_get_baseline_position(self_: *mut GtkCenterBox) -> GtkBaselinePosition;
12977    pub fn gtk_center_box_get_center_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
12978    pub fn gtk_center_box_get_end_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
12979    #[cfg(feature = "v4_12")]
12980    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12981    pub fn gtk_center_box_get_shrink_center_last(self_: *mut GtkCenterBox) -> gboolean;
12982    pub fn gtk_center_box_get_start_widget(self_: *mut GtkCenterBox) -> *mut GtkWidget;
12983    pub fn gtk_center_box_set_baseline_position(
12984        self_: *mut GtkCenterBox,
12985        position: GtkBaselinePosition,
12986    );
12987    pub fn gtk_center_box_set_center_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
12988    pub fn gtk_center_box_set_end_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
12989    #[cfg(feature = "v4_12")]
12990    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
12991    pub fn gtk_center_box_set_shrink_center_last(
12992        self_: *mut GtkCenterBox,
12993        shrink_center_last: gboolean,
12994    );
12995    pub fn gtk_center_box_set_start_widget(self_: *mut GtkCenterBox, child: *mut GtkWidget);
12996
12997    //=========================================================================
12998    // GtkCenterLayout
12999    //=========================================================================
13000    pub fn gtk_center_layout_get_type() -> GType;
13001    pub fn gtk_center_layout_new() -> *mut GtkLayoutManager;
13002    pub fn gtk_center_layout_get_baseline_position(
13003        self_: *mut GtkCenterLayout,
13004    ) -> GtkBaselinePosition;
13005    pub fn gtk_center_layout_get_center_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13006    pub fn gtk_center_layout_get_end_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13007    pub fn gtk_center_layout_get_orientation(self_: *mut GtkCenterLayout) -> GtkOrientation;
13008    #[cfg(feature = "v4_12")]
13009    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13010    pub fn gtk_center_layout_get_shrink_center_last(self_: *mut GtkCenterLayout) -> gboolean;
13011    pub fn gtk_center_layout_get_start_widget(self_: *mut GtkCenterLayout) -> *mut GtkWidget;
13012    pub fn gtk_center_layout_set_baseline_position(
13013        self_: *mut GtkCenterLayout,
13014        baseline_position: GtkBaselinePosition,
13015    );
13016    pub fn gtk_center_layout_set_center_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13017    pub fn gtk_center_layout_set_end_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13018    pub fn gtk_center_layout_set_orientation(
13019        self_: *mut GtkCenterLayout,
13020        orientation: GtkOrientation,
13021    );
13022    #[cfg(feature = "v4_12")]
13023    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13024    pub fn gtk_center_layout_set_shrink_center_last(
13025        self_: *mut GtkCenterLayout,
13026        shrink_center_last: gboolean,
13027    );
13028    pub fn gtk_center_layout_set_start_widget(self_: *mut GtkCenterLayout, widget: *mut GtkWidget);
13029
13030    //=========================================================================
13031    // GtkCheckButton
13032    //=========================================================================
13033    pub fn gtk_check_button_get_type() -> GType;
13034    pub fn gtk_check_button_new() -> *mut GtkWidget;
13035    pub fn gtk_check_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
13036    pub fn gtk_check_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
13037    pub fn gtk_check_button_get_active(self_: *mut GtkCheckButton) -> gboolean;
13038    #[cfg(feature = "v4_8")]
13039    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
13040    pub fn gtk_check_button_get_child(button: *mut GtkCheckButton) -> *mut GtkWidget;
13041    pub fn gtk_check_button_get_inconsistent(check_button: *mut GtkCheckButton) -> gboolean;
13042    pub fn gtk_check_button_get_label(self_: *mut GtkCheckButton) -> *const c_char;
13043    pub fn gtk_check_button_get_use_underline(self_: *mut GtkCheckButton) -> gboolean;
13044    pub fn gtk_check_button_set_active(self_: *mut GtkCheckButton, setting: gboolean);
13045    #[cfg(feature = "v4_8")]
13046    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
13047    pub fn gtk_check_button_set_child(button: *mut GtkCheckButton, child: *mut GtkWidget);
13048    pub fn gtk_check_button_set_group(self_: *mut GtkCheckButton, group: *mut GtkCheckButton);
13049    pub fn gtk_check_button_set_inconsistent(
13050        check_button: *mut GtkCheckButton,
13051        inconsistent: gboolean,
13052    );
13053    pub fn gtk_check_button_set_label(self_: *mut GtkCheckButton, label: *const c_char);
13054    pub fn gtk_check_button_set_use_underline(self_: *mut GtkCheckButton, setting: gboolean);
13055
13056    //=========================================================================
13057    // GtkClosureExpression
13058    //=========================================================================
13059    pub fn gtk_closure_expression_get_type() -> GType;
13060    pub fn gtk_closure_expression_new(
13061        value_type: GType,
13062        closure: *mut gobject::GClosure,
13063        n_params: c_uint,
13064        params: *mut *mut GtkExpression,
13065    ) -> *mut GtkClosureExpression;
13066
13067    //=========================================================================
13068    // GtkColorButton
13069    //=========================================================================
13070    pub fn gtk_color_button_get_type() -> GType;
13071    pub fn gtk_color_button_new() -> *mut GtkWidget;
13072    pub fn gtk_color_button_new_with_rgba(rgba: *const gdk::GdkRGBA) -> *mut GtkWidget;
13073    pub fn gtk_color_button_get_modal(button: *mut GtkColorButton) -> gboolean;
13074    pub fn gtk_color_button_get_title(button: *mut GtkColorButton) -> *const c_char;
13075    pub fn gtk_color_button_set_modal(button: *mut GtkColorButton, modal: gboolean);
13076    pub fn gtk_color_button_set_title(button: *mut GtkColorButton, title: *const c_char);
13077
13078    //=========================================================================
13079    // GtkColorChooserDialog
13080    //=========================================================================
13081    pub fn gtk_color_chooser_dialog_get_type() -> GType;
13082    pub fn gtk_color_chooser_dialog_new(
13083        title: *const c_char,
13084        parent: *mut GtkWindow,
13085    ) -> *mut GtkWidget;
13086
13087    //=========================================================================
13088    // GtkColorChooserWidget
13089    //=========================================================================
13090    pub fn gtk_color_chooser_widget_get_type() -> GType;
13091    pub fn gtk_color_chooser_widget_new() -> *mut GtkWidget;
13092
13093    //=========================================================================
13094    // GtkColorDialog
13095    //=========================================================================
13096    #[cfg(feature = "v4_10")]
13097    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13098    pub fn gtk_color_dialog_get_type() -> GType;
13099    #[cfg(feature = "v4_10")]
13100    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13101    pub fn gtk_color_dialog_new() -> *mut GtkColorDialog;
13102    #[cfg(feature = "v4_10")]
13103    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13104    pub fn gtk_color_dialog_choose_rgba(
13105        self_: *mut GtkColorDialog,
13106        parent: *mut GtkWindow,
13107        initial_color: *const gdk::GdkRGBA,
13108        cancellable: *mut gio::GCancellable,
13109        callback: gio::GAsyncReadyCallback,
13110        user_data: gpointer,
13111    );
13112    #[cfg(feature = "v4_10")]
13113    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13114    pub fn gtk_color_dialog_choose_rgba_finish(
13115        self_: *mut GtkColorDialog,
13116        result: *mut gio::GAsyncResult,
13117        error: *mut *mut glib::GError,
13118    ) -> *mut gdk::GdkRGBA;
13119    #[cfg(feature = "v4_10")]
13120    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13121    pub fn gtk_color_dialog_get_modal(self_: *mut GtkColorDialog) -> gboolean;
13122    #[cfg(feature = "v4_10")]
13123    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13124    pub fn gtk_color_dialog_get_title(self_: *mut GtkColorDialog) -> *const c_char;
13125    #[cfg(feature = "v4_10")]
13126    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13127    pub fn gtk_color_dialog_get_with_alpha(self_: *mut GtkColorDialog) -> gboolean;
13128    #[cfg(feature = "v4_10")]
13129    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13130    pub fn gtk_color_dialog_set_modal(self_: *mut GtkColorDialog, modal: gboolean);
13131    #[cfg(feature = "v4_10")]
13132    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13133    pub fn gtk_color_dialog_set_title(self_: *mut GtkColorDialog, title: *const c_char);
13134    #[cfg(feature = "v4_10")]
13135    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13136    pub fn gtk_color_dialog_set_with_alpha(self_: *mut GtkColorDialog, with_alpha: gboolean);
13137
13138    //=========================================================================
13139    // GtkColorDialogButton
13140    //=========================================================================
13141    #[cfg(feature = "v4_10")]
13142    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13143    pub fn gtk_color_dialog_button_get_type() -> GType;
13144    #[cfg(feature = "v4_10")]
13145    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13146    pub fn gtk_color_dialog_button_new(dialog: *mut GtkColorDialog) -> *mut GtkWidget;
13147    #[cfg(feature = "v4_10")]
13148    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13149    pub fn gtk_color_dialog_button_get_dialog(
13150        self_: *mut GtkColorDialogButton,
13151    ) -> *mut GtkColorDialog;
13152    #[cfg(feature = "v4_10")]
13153    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13154    pub fn gtk_color_dialog_button_get_rgba(
13155        self_: *mut GtkColorDialogButton,
13156    ) -> *const gdk::GdkRGBA;
13157    #[cfg(feature = "v4_10")]
13158    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13159    pub fn gtk_color_dialog_button_set_dialog(
13160        self_: *mut GtkColorDialogButton,
13161        dialog: *mut GtkColorDialog,
13162    );
13163    #[cfg(feature = "v4_10")]
13164    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13165    pub fn gtk_color_dialog_button_set_rgba(
13166        self_: *mut GtkColorDialogButton,
13167        color: *const gdk::GdkRGBA,
13168    );
13169
13170    //=========================================================================
13171    // GtkColumnView
13172    //=========================================================================
13173    pub fn gtk_column_view_get_type() -> GType;
13174    pub fn gtk_column_view_new(model: *mut GtkSelectionModel) -> *mut GtkWidget;
13175    pub fn gtk_column_view_append_column(
13176        self_: *mut GtkColumnView,
13177        column: *mut GtkColumnViewColumn,
13178    );
13179    pub fn gtk_column_view_get_columns(self_: *mut GtkColumnView) -> *mut gio::GListModel;
13180    pub fn gtk_column_view_get_enable_rubberband(self_: *mut GtkColumnView) -> gboolean;
13181    #[cfg(feature = "v4_12")]
13182    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13183    pub fn gtk_column_view_get_header_factory(self_: *mut GtkColumnView)
13184    -> *mut GtkListItemFactory;
13185    pub fn gtk_column_view_get_model(self_: *mut GtkColumnView) -> *mut GtkSelectionModel;
13186    pub fn gtk_column_view_get_reorderable(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_row_factory(self_: *mut GtkColumnView) -> *mut GtkListItemFactory;
13190    pub fn gtk_column_view_get_show_column_separators(self_: *mut GtkColumnView) -> gboolean;
13191    pub fn gtk_column_view_get_show_row_separators(self_: *mut GtkColumnView) -> gboolean;
13192    pub fn gtk_column_view_get_single_click_activate(self_: *mut GtkColumnView) -> gboolean;
13193    pub fn gtk_column_view_get_sorter(self_: *mut GtkColumnView) -> *mut GtkSorter;
13194    #[cfg(feature = "v4_12")]
13195    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13196    pub fn gtk_column_view_get_tab_behavior(self_: *mut GtkColumnView) -> GtkListTabBehavior;
13197    pub fn gtk_column_view_insert_column(
13198        self_: *mut GtkColumnView,
13199        position: c_uint,
13200        column: *mut GtkColumnViewColumn,
13201    );
13202    pub fn gtk_column_view_remove_column(
13203        self_: *mut GtkColumnView,
13204        column: *mut GtkColumnViewColumn,
13205    );
13206    #[cfg(feature = "v4_12")]
13207    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13208    pub fn gtk_column_view_scroll_to(
13209        self_: *mut GtkColumnView,
13210        pos: c_uint,
13211        column: *mut GtkColumnViewColumn,
13212        flags: GtkListScrollFlags,
13213        scroll: *mut GtkScrollInfo,
13214    );
13215    pub fn gtk_column_view_set_enable_rubberband(
13216        self_: *mut GtkColumnView,
13217        enable_rubberband: gboolean,
13218    );
13219    #[cfg(feature = "v4_12")]
13220    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13221    pub fn gtk_column_view_set_header_factory(
13222        self_: *mut GtkColumnView,
13223        factory: *mut GtkListItemFactory,
13224    );
13225    pub fn gtk_column_view_set_model(self_: *mut GtkColumnView, model: *mut GtkSelectionModel);
13226    pub fn gtk_column_view_set_reorderable(self_: *mut GtkColumnView, reorderable: gboolean);
13227    #[cfg(feature = "v4_12")]
13228    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13229    pub fn gtk_column_view_set_row_factory(
13230        self_: *mut GtkColumnView,
13231        factory: *mut GtkListItemFactory,
13232    );
13233    pub fn gtk_column_view_set_show_column_separators(
13234        self_: *mut GtkColumnView,
13235        show_column_separators: gboolean,
13236    );
13237    pub fn gtk_column_view_set_show_row_separators(
13238        self_: *mut GtkColumnView,
13239        show_row_separators: gboolean,
13240    );
13241    pub fn gtk_column_view_set_single_click_activate(
13242        self_: *mut GtkColumnView,
13243        single_click_activate: gboolean,
13244    );
13245    #[cfg(feature = "v4_12")]
13246    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13247    pub fn gtk_column_view_set_tab_behavior(
13248        self_: *mut GtkColumnView,
13249        tab_behavior: GtkListTabBehavior,
13250    );
13251    pub fn gtk_column_view_sort_by_column(
13252        self_: *mut GtkColumnView,
13253        column: *mut GtkColumnViewColumn,
13254        direction: GtkSortType,
13255    );
13256
13257    //=========================================================================
13258    // GtkColumnViewCell
13259    //=========================================================================
13260    #[cfg(feature = "v4_12")]
13261    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13262    pub fn gtk_column_view_cell_get_type() -> GType;
13263    #[cfg(feature = "v4_12")]
13264    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13265    pub fn gtk_column_view_cell_get_child(self_: *mut GtkColumnViewCell) -> *mut GtkWidget;
13266    #[cfg(feature = "v4_12")]
13267    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13268    pub fn gtk_column_view_cell_get_focusable(self_: *mut GtkColumnViewCell) -> gboolean;
13269    #[cfg(feature = "v4_12")]
13270    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13271    pub fn gtk_column_view_cell_get_item(self_: *mut GtkColumnViewCell) -> *mut gobject::GObject;
13272    #[cfg(feature = "v4_12")]
13273    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13274    pub fn gtk_column_view_cell_get_position(self_: *mut GtkColumnViewCell) -> c_uint;
13275    #[cfg(feature = "v4_12")]
13276    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13277    pub fn gtk_column_view_cell_get_selected(self_: *mut GtkColumnViewCell) -> gboolean;
13278    #[cfg(feature = "v4_12")]
13279    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13280    pub fn gtk_column_view_cell_set_child(self_: *mut GtkColumnViewCell, child: *mut GtkWidget);
13281    #[cfg(feature = "v4_12")]
13282    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13283    pub fn gtk_column_view_cell_set_focusable(self_: *mut GtkColumnViewCell, focusable: gboolean);
13284
13285    //=========================================================================
13286    // GtkColumnViewColumn
13287    //=========================================================================
13288    pub fn gtk_column_view_column_get_type() -> GType;
13289    pub fn gtk_column_view_column_new(
13290        title: *const c_char,
13291        factory: *mut GtkListItemFactory,
13292    ) -> *mut GtkColumnViewColumn;
13293    pub fn gtk_column_view_column_get_column_view(
13294        self_: *mut GtkColumnViewColumn,
13295    ) -> *mut GtkColumnView;
13296    pub fn gtk_column_view_column_get_expand(self_: *mut GtkColumnViewColumn) -> gboolean;
13297    pub fn gtk_column_view_column_get_factory(
13298        self_: *mut GtkColumnViewColumn,
13299    ) -> *mut GtkListItemFactory;
13300    pub fn gtk_column_view_column_get_fixed_width(self_: *mut GtkColumnViewColumn) -> c_int;
13301    pub fn gtk_column_view_column_get_header_menu(
13302        self_: *mut GtkColumnViewColumn,
13303    ) -> *mut gio::GMenuModel;
13304    #[cfg(feature = "v4_10")]
13305    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13306    pub fn gtk_column_view_column_get_id(self_: *mut GtkColumnViewColumn) -> *const c_char;
13307    pub fn gtk_column_view_column_get_resizable(self_: *mut GtkColumnViewColumn) -> gboolean;
13308    pub fn gtk_column_view_column_get_sorter(self_: *mut GtkColumnViewColumn) -> *mut GtkSorter;
13309    pub fn gtk_column_view_column_get_title(self_: *mut GtkColumnViewColumn) -> *const c_char;
13310    pub fn gtk_column_view_column_get_visible(self_: *mut GtkColumnViewColumn) -> gboolean;
13311    pub fn gtk_column_view_column_set_expand(self_: *mut GtkColumnViewColumn, expand: gboolean);
13312    pub fn gtk_column_view_column_set_factory(
13313        self_: *mut GtkColumnViewColumn,
13314        factory: *mut GtkListItemFactory,
13315    );
13316    pub fn gtk_column_view_column_set_fixed_width(
13317        self_: *mut GtkColumnViewColumn,
13318        fixed_width: c_int,
13319    );
13320    pub fn gtk_column_view_column_set_header_menu(
13321        self_: *mut GtkColumnViewColumn,
13322        menu: *mut gio::GMenuModel,
13323    );
13324    #[cfg(feature = "v4_10")]
13325    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13326    pub fn gtk_column_view_column_set_id(self_: *mut GtkColumnViewColumn, id: *const c_char);
13327    pub fn gtk_column_view_column_set_resizable(
13328        self_: *mut GtkColumnViewColumn,
13329        resizable: gboolean,
13330    );
13331    pub fn gtk_column_view_column_set_sorter(
13332        self_: *mut GtkColumnViewColumn,
13333        sorter: *mut GtkSorter,
13334    );
13335    pub fn gtk_column_view_column_set_title(self_: *mut GtkColumnViewColumn, title: *const c_char);
13336    pub fn gtk_column_view_column_set_visible(self_: *mut GtkColumnViewColumn, visible: gboolean);
13337
13338    //=========================================================================
13339    // GtkColumnViewRow
13340    //=========================================================================
13341    #[cfg(feature = "v4_12")]
13342    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13343    pub fn gtk_column_view_row_get_type() -> GType;
13344    #[cfg(feature = "v4_12")]
13345    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13346    pub fn gtk_column_view_row_get_accessible_description(
13347        self_: *mut GtkColumnViewRow,
13348    ) -> *const c_char;
13349    #[cfg(feature = "v4_12")]
13350    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13351    pub fn gtk_column_view_row_get_accessible_label(self_: *mut GtkColumnViewRow) -> *const c_char;
13352    #[cfg(feature = "v4_12")]
13353    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13354    pub fn gtk_column_view_row_get_activatable(self_: *mut GtkColumnViewRow) -> gboolean;
13355    #[cfg(feature = "v4_12")]
13356    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13357    pub fn gtk_column_view_row_get_focusable(self_: *mut GtkColumnViewRow) -> gboolean;
13358    #[cfg(feature = "v4_12")]
13359    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13360    pub fn gtk_column_view_row_get_item(self_: *mut GtkColumnViewRow) -> *mut gobject::GObject;
13361    #[cfg(feature = "v4_12")]
13362    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13363    pub fn gtk_column_view_row_get_position(self_: *mut GtkColumnViewRow) -> c_uint;
13364    #[cfg(feature = "v4_12")]
13365    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13366    pub fn gtk_column_view_row_get_selectable(self_: *mut GtkColumnViewRow) -> gboolean;
13367    #[cfg(feature = "v4_12")]
13368    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13369    pub fn gtk_column_view_row_get_selected(self_: *mut GtkColumnViewRow) -> gboolean;
13370    #[cfg(feature = "v4_12")]
13371    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13372    pub fn gtk_column_view_row_set_accessible_description(
13373        self_: *mut GtkColumnViewRow,
13374        description: *const c_char,
13375    );
13376    #[cfg(feature = "v4_12")]
13377    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13378    pub fn gtk_column_view_row_set_accessible_label(
13379        self_: *mut GtkColumnViewRow,
13380        label: *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_activatable(self_: *mut GtkColumnViewRow, activatable: gboolean);
13385    #[cfg(feature = "v4_12")]
13386    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13387    pub fn gtk_column_view_row_set_focusable(self_: *mut GtkColumnViewRow, focusable: gboolean);
13388    #[cfg(feature = "v4_12")]
13389    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13390    pub fn gtk_column_view_row_set_selectable(self_: *mut GtkColumnViewRow, selectable: gboolean);
13391
13392    //=========================================================================
13393    // GtkColumnViewSorter
13394    //=========================================================================
13395    #[cfg(feature = "v4_10")]
13396    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13397    pub fn gtk_column_view_sorter_get_type() -> GType;
13398    #[cfg(feature = "v4_10")]
13399    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13400    pub fn gtk_column_view_sorter_get_n_sort_columns(self_: *mut GtkColumnViewSorter) -> c_uint;
13401    #[cfg(feature = "v4_10")]
13402    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13403    pub fn gtk_column_view_sorter_get_nth_sort_column(
13404        self_: *mut GtkColumnViewSorter,
13405        position: c_uint,
13406        sort_order: *mut GtkSortType,
13407    ) -> *mut GtkColumnViewColumn;
13408    #[cfg(feature = "v4_10")]
13409    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13410    pub fn gtk_column_view_sorter_get_primary_sort_column(
13411        self_: *mut GtkColumnViewSorter,
13412    ) -> *mut GtkColumnViewColumn;
13413    #[cfg(feature = "v4_10")]
13414    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
13415    pub fn gtk_column_view_sorter_get_primary_sort_order(
13416        self_: *mut GtkColumnViewSorter,
13417    ) -> GtkSortType;
13418
13419    //=========================================================================
13420    // GtkComboBox
13421    //=========================================================================
13422    pub fn gtk_combo_box_get_type() -> GType;
13423    pub fn gtk_combo_box_new() -> *mut GtkWidget;
13424    pub fn gtk_combo_box_new_with_entry() -> *mut GtkWidget;
13425    pub fn gtk_combo_box_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
13426    pub fn gtk_combo_box_new_with_model_and_entry(model: *mut GtkTreeModel) -> *mut GtkWidget;
13427    pub fn gtk_combo_box_get_active(combo_box: *mut GtkComboBox) -> c_int;
13428    pub fn gtk_combo_box_get_active_id(combo_box: *mut GtkComboBox) -> *const c_char;
13429    pub fn gtk_combo_box_get_active_iter(
13430        combo_box: *mut GtkComboBox,
13431        iter: *mut GtkTreeIter,
13432    ) -> gboolean;
13433    pub fn gtk_combo_box_get_button_sensitivity(combo_box: *mut GtkComboBox) -> GtkSensitivityType;
13434    pub fn gtk_combo_box_get_child(combo_box: *mut GtkComboBox) -> *mut GtkWidget;
13435    pub fn gtk_combo_box_get_entry_text_column(combo_box: *mut GtkComboBox) -> c_int;
13436    pub fn gtk_combo_box_get_has_entry(combo_box: *mut GtkComboBox) -> gboolean;
13437    pub fn gtk_combo_box_get_id_column(combo_box: *mut GtkComboBox) -> c_int;
13438    pub fn gtk_combo_box_get_model(combo_box: *mut GtkComboBox) -> *mut GtkTreeModel;
13439    pub fn gtk_combo_box_get_popup_fixed_width(combo_box: *mut GtkComboBox) -> gboolean;
13440    pub fn gtk_combo_box_get_row_separator_func(
13441        combo_box: *mut GtkComboBox,
13442    ) -> GtkTreeViewRowSeparatorFunc;
13443    pub fn gtk_combo_box_popdown(combo_box: *mut GtkComboBox);
13444    pub fn gtk_combo_box_popup(combo_box: *mut GtkComboBox);
13445    pub fn gtk_combo_box_popup_for_device(combo_box: *mut GtkComboBox, device: *mut gdk::GdkDevice);
13446    pub fn gtk_combo_box_set_active(combo_box: *mut GtkComboBox, index_: c_int);
13447    pub fn gtk_combo_box_set_active_id(
13448        combo_box: *mut GtkComboBox,
13449        active_id: *const c_char,
13450    ) -> gboolean;
13451    pub fn gtk_combo_box_set_active_iter(combo_box: *mut GtkComboBox, iter: *mut GtkTreeIter);
13452    pub fn gtk_combo_box_set_button_sensitivity(
13453        combo_box: *mut GtkComboBox,
13454        sensitivity: GtkSensitivityType,
13455    );
13456    pub fn gtk_combo_box_set_child(combo_box: *mut GtkComboBox, child: *mut GtkWidget);
13457    pub fn gtk_combo_box_set_entry_text_column(combo_box: *mut GtkComboBox, text_column: c_int);
13458    pub fn gtk_combo_box_set_id_column(combo_box: *mut GtkComboBox, id_column: c_int);
13459    pub fn gtk_combo_box_set_model(combo_box: *mut GtkComboBox, model: *mut GtkTreeModel);
13460    pub fn gtk_combo_box_set_popup_fixed_width(combo_box: *mut GtkComboBox, fixed: gboolean);
13461    pub fn gtk_combo_box_set_row_separator_func(
13462        combo_box: *mut GtkComboBox,
13463        func: GtkTreeViewRowSeparatorFunc,
13464        data: gpointer,
13465        destroy: glib::GDestroyNotify,
13466    );
13467
13468    //=========================================================================
13469    // GtkComboBoxText
13470    //=========================================================================
13471    pub fn gtk_combo_box_text_get_type() -> GType;
13472    pub fn gtk_combo_box_text_new() -> *mut GtkWidget;
13473    pub fn gtk_combo_box_text_new_with_entry() -> *mut GtkWidget;
13474    pub fn gtk_combo_box_text_append(
13475        combo_box: *mut GtkComboBoxText,
13476        id: *const c_char,
13477        text: *const c_char,
13478    );
13479    pub fn gtk_combo_box_text_append_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13480    pub fn gtk_combo_box_text_get_active_text(combo_box: *mut GtkComboBoxText) -> *mut c_char;
13481    pub fn gtk_combo_box_text_insert(
13482        combo_box: *mut GtkComboBoxText,
13483        position: c_int,
13484        id: *const c_char,
13485        text: *const c_char,
13486    );
13487    pub fn gtk_combo_box_text_insert_text(
13488        combo_box: *mut GtkComboBoxText,
13489        position: c_int,
13490        text: *const c_char,
13491    );
13492    pub fn gtk_combo_box_text_prepend(
13493        combo_box: *mut GtkComboBoxText,
13494        id: *const c_char,
13495        text: *const c_char,
13496    );
13497    pub fn gtk_combo_box_text_prepend_text(combo_box: *mut GtkComboBoxText, text: *const c_char);
13498    pub fn gtk_combo_box_text_remove(combo_box: *mut GtkComboBoxText, position: c_int);
13499    pub fn gtk_combo_box_text_remove_all(combo_box: *mut GtkComboBoxText);
13500
13501    //=========================================================================
13502    // GtkConstantExpression
13503    //=========================================================================
13504    pub fn gtk_constant_expression_get_type() -> GType;
13505    pub fn gtk_constant_expression_new(value_type: GType, ...) -> *mut GtkConstantExpression;
13506    pub fn gtk_constant_expression_new_for_value(
13507        value: *const gobject::GValue,
13508    ) -> *mut GtkConstantExpression;
13509    pub fn gtk_constant_expression_get_value(
13510        expression: *mut GtkConstantExpression,
13511    ) -> *const gobject::GValue;
13512
13513    //=========================================================================
13514    // GtkConstraint
13515    //=========================================================================
13516    pub fn gtk_constraint_get_type() -> GType;
13517    pub fn gtk_constraint_new(
13518        target: *mut GtkConstraintTarget,
13519        target_attribute: GtkConstraintAttribute,
13520        relation: GtkConstraintRelation,
13521        source: *mut GtkConstraintTarget,
13522        source_attribute: GtkConstraintAttribute,
13523        multiplier: c_double,
13524        constant: c_double,
13525        strength: c_int,
13526    ) -> *mut GtkConstraint;
13527    pub fn gtk_constraint_new_constant(
13528        target: *mut GtkConstraintTarget,
13529        target_attribute: GtkConstraintAttribute,
13530        relation: GtkConstraintRelation,
13531        constant: c_double,
13532        strength: c_int,
13533    ) -> *mut GtkConstraint;
13534    pub fn gtk_constraint_get_constant(constraint: *mut GtkConstraint) -> c_double;
13535    pub fn gtk_constraint_get_multiplier(constraint: *mut GtkConstraint) -> c_double;
13536    pub fn gtk_constraint_get_relation(constraint: *mut GtkConstraint) -> GtkConstraintRelation;
13537    pub fn gtk_constraint_get_source(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13538    pub fn gtk_constraint_get_source_attribute(
13539        constraint: *mut GtkConstraint,
13540    ) -> GtkConstraintAttribute;
13541    pub fn gtk_constraint_get_strength(constraint: *mut GtkConstraint) -> c_int;
13542    pub fn gtk_constraint_get_target(constraint: *mut GtkConstraint) -> *mut GtkConstraintTarget;
13543    pub fn gtk_constraint_get_target_attribute(
13544        constraint: *mut GtkConstraint,
13545    ) -> GtkConstraintAttribute;
13546    pub fn gtk_constraint_is_attached(constraint: *mut GtkConstraint) -> gboolean;
13547    pub fn gtk_constraint_is_constant(constraint: *mut GtkConstraint) -> gboolean;
13548    pub fn gtk_constraint_is_required(constraint: *mut GtkConstraint) -> gboolean;
13549
13550    //=========================================================================
13551    // GtkConstraintGuide
13552    //=========================================================================
13553    pub fn gtk_constraint_guide_get_type() -> GType;
13554    pub fn gtk_constraint_guide_new() -> *mut GtkConstraintGuide;
13555    pub fn gtk_constraint_guide_get_max_size(
13556        guide: *mut GtkConstraintGuide,
13557        width: *mut c_int,
13558        height: *mut c_int,
13559    );
13560    pub fn gtk_constraint_guide_get_min_size(
13561        guide: *mut GtkConstraintGuide,
13562        width: *mut c_int,
13563        height: *mut c_int,
13564    );
13565    pub fn gtk_constraint_guide_get_name(guide: *mut GtkConstraintGuide) -> *const c_char;
13566    pub fn gtk_constraint_guide_get_nat_size(
13567        guide: *mut GtkConstraintGuide,
13568        width: *mut c_int,
13569        height: *mut c_int,
13570    );
13571    pub fn gtk_constraint_guide_get_strength(
13572        guide: *mut GtkConstraintGuide,
13573    ) -> GtkConstraintStrength;
13574    pub fn gtk_constraint_guide_set_max_size(
13575        guide: *mut GtkConstraintGuide,
13576        width: c_int,
13577        height: c_int,
13578    );
13579    pub fn gtk_constraint_guide_set_min_size(
13580        guide: *mut GtkConstraintGuide,
13581        width: c_int,
13582        height: c_int,
13583    );
13584    pub fn gtk_constraint_guide_set_name(guide: *mut GtkConstraintGuide, name: *const c_char);
13585    pub fn gtk_constraint_guide_set_nat_size(
13586        guide: *mut GtkConstraintGuide,
13587        width: c_int,
13588        height: c_int,
13589    );
13590    pub fn gtk_constraint_guide_set_strength(
13591        guide: *mut GtkConstraintGuide,
13592        strength: GtkConstraintStrength,
13593    );
13594
13595    //=========================================================================
13596    // GtkConstraintLayout
13597    //=========================================================================
13598    pub fn gtk_constraint_layout_get_type() -> GType;
13599    pub fn gtk_constraint_layout_new() -> *mut GtkLayoutManager;
13600    pub fn gtk_constraint_layout_add_constraint(
13601        layout: *mut GtkConstraintLayout,
13602        constraint: *mut GtkConstraint,
13603    );
13604    pub fn gtk_constraint_layout_add_constraints_from_description(
13605        layout: *mut GtkConstraintLayout,
13606        lines: *const *const c_char,
13607        n_lines: size_t,
13608        hspacing: c_int,
13609        vspacing: c_int,
13610        error: *mut *mut glib::GError,
13611        first_view: *const c_char,
13612        ...
13613    ) -> *mut glib::GList;
13614    pub fn gtk_constraint_layout_add_constraints_from_descriptionv(
13615        layout: *mut GtkConstraintLayout,
13616        lines: *const *const c_char,
13617        n_lines: size_t,
13618        hspacing: c_int,
13619        vspacing: c_int,
13620        views: *mut glib::GHashTable,
13621        error: *mut *mut glib::GError,
13622    ) -> *mut glib::GList;
13623    pub fn gtk_constraint_layout_add_guide(
13624        layout: *mut GtkConstraintLayout,
13625        guide: *mut GtkConstraintGuide,
13626    );
13627    pub fn gtk_constraint_layout_observe_constraints(
13628        layout: *mut GtkConstraintLayout,
13629    ) -> *mut gio::GListModel;
13630    pub fn gtk_constraint_layout_observe_guides(
13631        layout: *mut GtkConstraintLayout,
13632    ) -> *mut gio::GListModel;
13633    pub fn gtk_constraint_layout_remove_all_constraints(layout: *mut GtkConstraintLayout);
13634    pub fn gtk_constraint_layout_remove_constraint(
13635        layout: *mut GtkConstraintLayout,
13636        constraint: *mut GtkConstraint,
13637    );
13638    pub fn gtk_constraint_layout_remove_guide(
13639        layout: *mut GtkConstraintLayout,
13640        guide: *mut GtkConstraintGuide,
13641    );
13642
13643    //=========================================================================
13644    // GtkConstraintLayoutChild
13645    //=========================================================================
13646    pub fn gtk_constraint_layout_child_get_type() -> GType;
13647
13648    //=========================================================================
13649    // GtkCssProvider
13650    //=========================================================================
13651    pub fn gtk_css_provider_get_type() -> GType;
13652    pub fn gtk_css_provider_new() -> *mut GtkCssProvider;
13653    #[cfg(feature = "v4_12")]
13654    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13655    pub fn gtk_css_provider_load_from_bytes(
13656        css_provider: *mut GtkCssProvider,
13657        data: *mut glib::GBytes,
13658    );
13659    pub fn gtk_css_provider_load_from_data(
13660        css_provider: *mut GtkCssProvider,
13661        data: *const c_char,
13662        length: ssize_t,
13663    );
13664    pub fn gtk_css_provider_load_from_file(
13665        css_provider: *mut GtkCssProvider,
13666        file: *mut gio::GFile,
13667    );
13668    pub fn gtk_css_provider_load_from_path(css_provider: *mut GtkCssProvider, path: *const c_char);
13669    pub fn gtk_css_provider_load_from_resource(
13670        css_provider: *mut GtkCssProvider,
13671        resource_path: *const c_char,
13672    );
13673    #[cfg(feature = "v4_12")]
13674    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13675    pub fn gtk_css_provider_load_from_string(
13676        css_provider: *mut GtkCssProvider,
13677        string: *const c_char,
13678    );
13679    pub fn gtk_css_provider_load_named(
13680        provider: *mut GtkCssProvider,
13681        name: *const c_char,
13682        variant: *const c_char,
13683    );
13684    pub fn gtk_css_provider_to_string(provider: *mut GtkCssProvider) -> *mut c_char;
13685
13686    //=========================================================================
13687    // GtkCustomFilter
13688    //=========================================================================
13689    pub fn gtk_custom_filter_get_type() -> GType;
13690    pub fn gtk_custom_filter_new(
13691        match_func: GtkCustomFilterFunc,
13692        user_data: gpointer,
13693        user_destroy: glib::GDestroyNotify,
13694    ) -> *mut GtkCustomFilter;
13695    pub fn gtk_custom_filter_set_filter_func(
13696        self_: *mut GtkCustomFilter,
13697        match_func: GtkCustomFilterFunc,
13698        user_data: gpointer,
13699        user_destroy: glib::GDestroyNotify,
13700    );
13701
13702    //=========================================================================
13703    // GtkCustomLayout
13704    //=========================================================================
13705    pub fn gtk_custom_layout_get_type() -> GType;
13706    pub fn gtk_custom_layout_new(
13707        request_mode: GtkCustomRequestModeFunc,
13708        measure: GtkCustomMeasureFunc,
13709        allocate: GtkCustomAllocateFunc,
13710    ) -> *mut GtkLayoutManager;
13711
13712    //=========================================================================
13713    // GtkCustomSorter
13714    //=========================================================================
13715    pub fn gtk_custom_sorter_get_type() -> GType;
13716    pub fn gtk_custom_sorter_new(
13717        sort_func: glib::GCompareDataFunc,
13718        user_data: gpointer,
13719        user_destroy: glib::GDestroyNotify,
13720    ) -> *mut GtkCustomSorter;
13721    pub fn gtk_custom_sorter_set_sort_func(
13722        self_: *mut GtkCustomSorter,
13723        sort_func: glib::GCompareDataFunc,
13724        user_data: gpointer,
13725        user_destroy: glib::GDestroyNotify,
13726    );
13727
13728    //=========================================================================
13729    // GtkDialog
13730    //=========================================================================
13731    pub fn gtk_dialog_get_type() -> GType;
13732    pub fn gtk_dialog_new() -> *mut GtkWidget;
13733    pub fn gtk_dialog_new_with_buttons(
13734        title: *const c_char,
13735        parent: *mut GtkWindow,
13736        flags: GtkDialogFlags,
13737        first_button_text: *const c_char,
13738        ...
13739    ) -> *mut GtkWidget;
13740    pub fn gtk_dialog_add_action_widget(
13741        dialog: *mut GtkDialog,
13742        child: *mut GtkWidget,
13743        response_id: GtkResponseType,
13744    );
13745    pub fn gtk_dialog_add_button(
13746        dialog: *mut GtkDialog,
13747        button_text: *const c_char,
13748        response_id: GtkResponseType,
13749    ) -> *mut GtkWidget;
13750    pub fn gtk_dialog_add_buttons(dialog: *mut GtkDialog, first_button_text: *const c_char, ...);
13751    pub fn gtk_dialog_get_content_area(dialog: *mut GtkDialog) -> *mut GtkBox;
13752    pub fn gtk_dialog_get_header_bar(dialog: *mut GtkDialog) -> *mut GtkHeaderBar;
13753    pub fn gtk_dialog_get_response_for_widget(
13754        dialog: *mut GtkDialog,
13755        widget: *mut GtkWidget,
13756    ) -> c_int;
13757    pub fn gtk_dialog_get_widget_for_response(
13758        dialog: *mut GtkDialog,
13759        response_id: GtkResponseType,
13760    ) -> *mut GtkWidget;
13761    pub fn gtk_dialog_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13762    pub fn gtk_dialog_set_default_response(dialog: *mut GtkDialog, response_id: GtkResponseType);
13763    pub fn gtk_dialog_set_response_sensitive(
13764        dialog: *mut GtkDialog,
13765        response_id: GtkResponseType,
13766        setting: gboolean,
13767    );
13768
13769    //=========================================================================
13770    // GtkDirectoryList
13771    //=========================================================================
13772    pub fn gtk_directory_list_get_type() -> GType;
13773    pub fn gtk_directory_list_new(
13774        attributes: *const c_char,
13775        file: *mut gio::GFile,
13776    ) -> *mut GtkDirectoryList;
13777    pub fn gtk_directory_list_get_attributes(self_: *mut GtkDirectoryList) -> *const c_char;
13778    pub fn gtk_directory_list_get_error(self_: *mut GtkDirectoryList) -> *const glib::GError;
13779    pub fn gtk_directory_list_get_file(self_: *mut GtkDirectoryList) -> *mut gio::GFile;
13780    pub fn gtk_directory_list_get_io_priority(self_: *mut GtkDirectoryList) -> c_int;
13781    pub fn gtk_directory_list_get_monitored(self_: *mut GtkDirectoryList) -> gboolean;
13782    pub fn gtk_directory_list_is_loading(self_: *mut GtkDirectoryList) -> gboolean;
13783    pub fn gtk_directory_list_set_attributes(
13784        self_: *mut GtkDirectoryList,
13785        attributes: *const c_char,
13786    );
13787    pub fn gtk_directory_list_set_file(self_: *mut GtkDirectoryList, file: *mut gio::GFile);
13788    pub fn gtk_directory_list_set_io_priority(self_: *mut GtkDirectoryList, io_priority: c_int);
13789    pub fn gtk_directory_list_set_monitored(self_: *mut GtkDirectoryList, monitored: gboolean);
13790
13791    //=========================================================================
13792    // GtkDragIcon
13793    //=========================================================================
13794    pub fn gtk_drag_icon_get_type() -> GType;
13795    pub fn gtk_drag_icon_get_for_drag(drag: *mut gdk::GdkDrag) -> *mut GtkWidget;
13796    pub fn gtk_drag_icon_create_widget_for_value(value: *const gobject::GValue) -> *mut GtkWidget;
13797    pub fn gtk_drag_icon_set_from_paintable(
13798        drag: *mut gdk::GdkDrag,
13799        paintable: *mut gdk::GdkPaintable,
13800        hot_x: c_int,
13801        hot_y: c_int,
13802    );
13803    pub fn gtk_drag_icon_get_child(self_: *mut GtkDragIcon) -> *mut GtkWidget;
13804    pub fn gtk_drag_icon_set_child(self_: *mut GtkDragIcon, child: *mut GtkWidget);
13805
13806    //=========================================================================
13807    // GtkDragSource
13808    //=========================================================================
13809    pub fn gtk_drag_source_get_type() -> GType;
13810    pub fn gtk_drag_source_new() -> *mut GtkDragSource;
13811    pub fn gtk_drag_source_drag_cancel(source: *mut GtkDragSource);
13812    pub fn gtk_drag_source_get_actions(source: *mut GtkDragSource) -> gdk::GdkDragAction;
13813    pub fn gtk_drag_source_get_content(source: *mut GtkDragSource) -> *mut gdk::GdkContentProvider;
13814    pub fn gtk_drag_source_get_drag(source: *mut GtkDragSource) -> *mut gdk::GdkDrag;
13815    pub fn gtk_drag_source_set_actions(source: *mut GtkDragSource, actions: gdk::GdkDragAction);
13816    pub fn gtk_drag_source_set_content(
13817        source: *mut GtkDragSource,
13818        content: *mut gdk::GdkContentProvider,
13819    );
13820    pub fn gtk_drag_source_set_icon(
13821        source: *mut GtkDragSource,
13822        paintable: *mut gdk::GdkPaintable,
13823        hot_x: c_int,
13824        hot_y: c_int,
13825    );
13826
13827    //=========================================================================
13828    // GtkDrawingArea
13829    //=========================================================================
13830    pub fn gtk_drawing_area_get_type() -> GType;
13831    pub fn gtk_drawing_area_new() -> *mut GtkWidget;
13832    pub fn gtk_drawing_area_get_content_height(self_: *mut GtkDrawingArea) -> c_int;
13833    pub fn gtk_drawing_area_get_content_width(self_: *mut GtkDrawingArea) -> c_int;
13834    pub fn gtk_drawing_area_set_content_height(self_: *mut GtkDrawingArea, height: c_int);
13835    pub fn gtk_drawing_area_set_content_width(self_: *mut GtkDrawingArea, width: c_int);
13836    pub fn gtk_drawing_area_set_draw_func(
13837        self_: *mut GtkDrawingArea,
13838        draw_func: GtkDrawingAreaDrawFunc,
13839        user_data: gpointer,
13840        destroy: glib::GDestroyNotify,
13841    );
13842
13843    //=========================================================================
13844    // GtkDropControllerMotion
13845    //=========================================================================
13846    pub fn gtk_drop_controller_motion_get_type() -> GType;
13847    pub fn gtk_drop_controller_motion_new() -> *mut GtkEventController;
13848    pub fn gtk_drop_controller_motion_contains_pointer(
13849        self_: *mut GtkDropControllerMotion,
13850    ) -> gboolean;
13851    pub fn gtk_drop_controller_motion_get_drop(
13852        self_: *mut GtkDropControllerMotion,
13853    ) -> *mut gdk::GdkDrop;
13854    pub fn gtk_drop_controller_motion_is_pointer(self_: *mut GtkDropControllerMotion) -> gboolean;
13855
13856    //=========================================================================
13857    // GtkDropDown
13858    //=========================================================================
13859    pub fn gtk_drop_down_get_type() -> GType;
13860    pub fn gtk_drop_down_new(
13861        model: *mut gio::GListModel,
13862        expression: *mut GtkExpression,
13863    ) -> *mut GtkWidget;
13864    pub fn gtk_drop_down_new_from_strings(strings: *const *const c_char) -> *mut GtkWidget;
13865    pub fn gtk_drop_down_get_enable_search(self_: *mut GtkDropDown) -> gboolean;
13866    pub fn gtk_drop_down_get_expression(self_: *mut GtkDropDown) -> *mut GtkExpression;
13867    pub fn gtk_drop_down_get_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13868    #[cfg(feature = "v4_12")]
13869    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13870    pub fn gtk_drop_down_get_header_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13871    pub fn gtk_drop_down_get_list_factory(self_: *mut GtkDropDown) -> *mut GtkListItemFactory;
13872    pub fn gtk_drop_down_get_model(self_: *mut GtkDropDown) -> *mut gio::GListModel;
13873    #[cfg(feature = "v4_12")]
13874    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13875    pub fn gtk_drop_down_get_search_match_mode(self_: *mut GtkDropDown)
13876    -> GtkStringFilterMatchMode;
13877    pub fn gtk_drop_down_get_selected(self_: *mut GtkDropDown) -> c_uint;
13878    pub fn gtk_drop_down_get_selected_item(self_: *mut GtkDropDown) -> *mut gobject::GObject;
13879    #[cfg(feature = "v4_6")]
13880    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13881    pub fn gtk_drop_down_get_show_arrow(self_: *mut GtkDropDown) -> gboolean;
13882    pub fn gtk_drop_down_set_enable_search(self_: *mut GtkDropDown, enable_search: gboolean);
13883    pub fn gtk_drop_down_set_expression(self_: *mut GtkDropDown, expression: *mut GtkExpression);
13884    pub fn gtk_drop_down_set_factory(self_: *mut GtkDropDown, factory: *mut GtkListItemFactory);
13885    #[cfg(feature = "v4_12")]
13886    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13887    pub fn gtk_drop_down_set_header_factory(
13888        self_: *mut GtkDropDown,
13889        factory: *mut GtkListItemFactory,
13890    );
13891    pub fn gtk_drop_down_set_list_factory(
13892        self_: *mut GtkDropDown,
13893        factory: *mut GtkListItemFactory,
13894    );
13895    pub fn gtk_drop_down_set_model(self_: *mut GtkDropDown, model: *mut gio::GListModel);
13896    #[cfg(feature = "v4_12")]
13897    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
13898    pub fn gtk_drop_down_set_search_match_mode(
13899        self_: *mut GtkDropDown,
13900        search_match_mode: GtkStringFilterMatchMode,
13901    );
13902    pub fn gtk_drop_down_set_selected(self_: *mut GtkDropDown, position: c_uint);
13903    #[cfg(feature = "v4_6")]
13904    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
13905    pub fn gtk_drop_down_set_show_arrow(self_: *mut GtkDropDown, show_arrow: gboolean);
13906
13907    //=========================================================================
13908    // GtkDropTarget
13909    //=========================================================================
13910    pub fn gtk_drop_target_get_type() -> GType;
13911    pub fn gtk_drop_target_new(type_: GType, actions: gdk::GdkDragAction) -> *mut GtkDropTarget;
13912    pub fn gtk_drop_target_get_actions(self_: *mut GtkDropTarget) -> gdk::GdkDragAction;
13913    #[cfg(feature = "v4_4")]
13914    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
13915    pub fn gtk_drop_target_get_current_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13916    pub fn gtk_drop_target_get_drop(self_: *mut GtkDropTarget) -> *mut gdk::GdkDrop;
13917    pub fn gtk_drop_target_get_formats(self_: *mut GtkDropTarget) -> *mut gdk::GdkContentFormats;
13918    pub fn gtk_drop_target_get_gtypes(
13919        self_: *mut GtkDropTarget,
13920        n_types: *mut size_t,
13921    ) -> *const GType;
13922    pub fn gtk_drop_target_get_preload(self_: *mut GtkDropTarget) -> gboolean;
13923    pub fn gtk_drop_target_get_value(self_: *mut GtkDropTarget) -> *const gobject::GValue;
13924    pub fn gtk_drop_target_reject(self_: *mut GtkDropTarget);
13925    pub fn gtk_drop_target_set_actions(self_: *mut GtkDropTarget, actions: gdk::GdkDragAction);
13926    pub fn gtk_drop_target_set_gtypes(
13927        self_: *mut GtkDropTarget,
13928        types: *mut GType,
13929        n_types: size_t,
13930    );
13931    pub fn gtk_drop_target_set_preload(self_: *mut GtkDropTarget, preload: gboolean);
13932
13933    //=========================================================================
13934    // GtkDropTargetAsync
13935    //=========================================================================
13936    pub fn gtk_drop_target_async_get_type() -> GType;
13937    pub fn gtk_drop_target_async_new(
13938        formats: *mut gdk::GdkContentFormats,
13939        actions: gdk::GdkDragAction,
13940    ) -> *mut GtkDropTargetAsync;
13941    pub fn gtk_drop_target_async_get_actions(self_: *mut GtkDropTargetAsync) -> gdk::GdkDragAction;
13942    pub fn gtk_drop_target_async_get_formats(
13943        self_: *mut GtkDropTargetAsync,
13944    ) -> *mut gdk::GdkContentFormats;
13945    pub fn gtk_drop_target_async_reject_drop(
13946        self_: *mut GtkDropTargetAsync,
13947        drop: *mut gdk::GdkDrop,
13948    );
13949    pub fn gtk_drop_target_async_set_actions(
13950        self_: *mut GtkDropTargetAsync,
13951        actions: gdk::GdkDragAction,
13952    );
13953    pub fn gtk_drop_target_async_set_formats(
13954        self_: *mut GtkDropTargetAsync,
13955        formats: *mut gdk::GdkContentFormats,
13956    );
13957
13958    //=========================================================================
13959    // GtkEditableLabel
13960    //=========================================================================
13961    pub fn gtk_editable_label_get_type() -> GType;
13962    pub fn gtk_editable_label_new(str: *const c_char) -> *mut GtkWidget;
13963    pub fn gtk_editable_label_get_editing(self_: *mut GtkEditableLabel) -> gboolean;
13964    pub fn gtk_editable_label_start_editing(self_: *mut GtkEditableLabel);
13965    pub fn gtk_editable_label_stop_editing(self_: *mut GtkEditableLabel, commit: gboolean);
13966
13967    //=========================================================================
13968    // GtkEmojiChooser
13969    //=========================================================================
13970    pub fn gtk_emoji_chooser_get_type() -> GType;
13971    pub fn gtk_emoji_chooser_new() -> *mut GtkWidget;
13972
13973    //=========================================================================
13974    // GtkEntry
13975    //=========================================================================
13976    pub fn gtk_entry_get_type() -> GType;
13977    pub fn gtk_entry_new() -> *mut GtkWidget;
13978    pub fn gtk_entry_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
13979    pub fn gtk_entry_get_activates_default(entry: *mut GtkEntry) -> gboolean;
13980    pub fn gtk_entry_get_alignment(entry: *mut GtkEntry) -> c_float;
13981    pub fn gtk_entry_get_attributes(entry: *mut GtkEntry) -> *mut pango::PangoAttrList;
13982    pub fn gtk_entry_get_buffer(entry: *mut GtkEntry) -> *mut GtkEntryBuffer;
13983    pub fn gtk_entry_get_completion(entry: *mut GtkEntry) -> *mut GtkEntryCompletion;
13984    pub fn gtk_entry_get_current_icon_drag_source(entry: *mut GtkEntry) -> c_int;
13985    pub fn gtk_entry_get_extra_menu(entry: *mut GtkEntry) -> *mut gio::GMenuModel;
13986    pub fn gtk_entry_get_has_frame(entry: *mut GtkEntry) -> gboolean;
13987    pub fn gtk_entry_get_icon_activatable(
13988        entry: *mut GtkEntry,
13989        icon_pos: GtkEntryIconPosition,
13990    ) -> gboolean;
13991    pub fn gtk_entry_get_icon_area(
13992        entry: *mut GtkEntry,
13993        icon_pos: GtkEntryIconPosition,
13994        icon_area: *mut gdk::GdkRectangle,
13995    );
13996    pub fn gtk_entry_get_icon_at_pos(entry: *mut GtkEntry, x: c_int, y: c_int) -> c_int;
13997    pub fn gtk_entry_get_icon_gicon(
13998        entry: *mut GtkEntry,
13999        icon_pos: GtkEntryIconPosition,
14000    ) -> *mut gio::GIcon;
14001    pub fn gtk_entry_get_icon_name(
14002        entry: *mut GtkEntry,
14003        icon_pos: GtkEntryIconPosition,
14004    ) -> *const c_char;
14005    pub fn gtk_entry_get_icon_paintable(
14006        entry: *mut GtkEntry,
14007        icon_pos: GtkEntryIconPosition,
14008    ) -> *mut gdk::GdkPaintable;
14009    pub fn gtk_entry_get_icon_sensitive(
14010        entry: *mut GtkEntry,
14011        icon_pos: GtkEntryIconPosition,
14012    ) -> gboolean;
14013    pub fn gtk_entry_get_icon_storage_type(
14014        entry: *mut GtkEntry,
14015        icon_pos: GtkEntryIconPosition,
14016    ) -> GtkImageType;
14017    pub fn gtk_entry_get_icon_tooltip_markup(
14018        entry: *mut GtkEntry,
14019        icon_pos: GtkEntryIconPosition,
14020    ) -> *mut c_char;
14021    pub fn gtk_entry_get_icon_tooltip_text(
14022        entry: *mut GtkEntry,
14023        icon_pos: GtkEntryIconPosition,
14024    ) -> *mut c_char;
14025    pub fn gtk_entry_get_input_hints(entry: *mut GtkEntry) -> GtkInputHints;
14026    pub fn gtk_entry_get_input_purpose(entry: *mut GtkEntry) -> GtkInputPurpose;
14027    pub fn gtk_entry_get_invisible_char(entry: *mut GtkEntry) -> u32;
14028    pub fn gtk_entry_get_max_length(entry: *mut GtkEntry) -> c_int;
14029    #[cfg(feature = "v4_20")]
14030    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14031    pub fn gtk_entry_get_menu_entry_icon_text(
14032        entry: *mut GtkEntry,
14033        icon_pos: GtkEntryIconPosition,
14034    ) -> *const c_char;
14035    pub fn gtk_entry_get_overwrite_mode(entry: *mut GtkEntry) -> gboolean;
14036    pub fn gtk_entry_get_placeholder_text(entry: *mut GtkEntry) -> *const c_char;
14037    pub fn gtk_entry_get_progress_fraction(entry: *mut GtkEntry) -> c_double;
14038    pub fn gtk_entry_get_progress_pulse_step(entry: *mut GtkEntry) -> c_double;
14039    pub fn gtk_entry_get_tabs(entry: *mut GtkEntry) -> *mut pango::PangoTabArray;
14040    pub fn gtk_entry_get_text_length(entry: *mut GtkEntry) -> u16;
14041    pub fn gtk_entry_get_visibility(entry: *mut GtkEntry) -> gboolean;
14042    pub fn gtk_entry_grab_focus_without_selecting(entry: *mut GtkEntry) -> gboolean;
14043    pub fn gtk_entry_progress_pulse(entry: *mut GtkEntry);
14044    pub fn gtk_entry_reset_im_context(entry: *mut GtkEntry);
14045    pub fn gtk_entry_set_activates_default(entry: *mut GtkEntry, setting: gboolean);
14046    pub fn gtk_entry_set_alignment(entry: *mut GtkEntry, xalign: c_float);
14047    pub fn gtk_entry_set_attributes(entry: *mut GtkEntry, attrs: *mut pango::PangoAttrList);
14048    pub fn gtk_entry_set_buffer(entry: *mut GtkEntry, buffer: *mut GtkEntryBuffer);
14049    pub fn gtk_entry_set_completion(entry: *mut GtkEntry, completion: *mut GtkEntryCompletion);
14050    pub fn gtk_entry_set_extra_menu(entry: *mut GtkEntry, model: *mut gio::GMenuModel);
14051    pub fn gtk_entry_set_has_frame(entry: *mut GtkEntry, setting: gboolean);
14052    pub fn gtk_entry_set_icon_activatable(
14053        entry: *mut GtkEntry,
14054        icon_pos: GtkEntryIconPosition,
14055        activatable: gboolean,
14056    );
14057    pub fn gtk_entry_set_icon_drag_source(
14058        entry: *mut GtkEntry,
14059        icon_pos: GtkEntryIconPosition,
14060        provider: *mut gdk::GdkContentProvider,
14061        actions: gdk::GdkDragAction,
14062    );
14063    pub fn gtk_entry_set_icon_from_gicon(
14064        entry: *mut GtkEntry,
14065        icon_pos: GtkEntryIconPosition,
14066        icon: *mut gio::GIcon,
14067    );
14068    pub fn gtk_entry_set_icon_from_icon_name(
14069        entry: *mut GtkEntry,
14070        icon_pos: GtkEntryIconPosition,
14071        icon_name: *const c_char,
14072    );
14073    pub fn gtk_entry_set_icon_from_paintable(
14074        entry: *mut GtkEntry,
14075        icon_pos: GtkEntryIconPosition,
14076        paintable: *mut gdk::GdkPaintable,
14077    );
14078    pub fn gtk_entry_set_icon_sensitive(
14079        entry: *mut GtkEntry,
14080        icon_pos: GtkEntryIconPosition,
14081        sensitive: gboolean,
14082    );
14083    pub fn gtk_entry_set_icon_tooltip_markup(
14084        entry: *mut GtkEntry,
14085        icon_pos: GtkEntryIconPosition,
14086        tooltip: *const c_char,
14087    );
14088    pub fn gtk_entry_set_icon_tooltip_text(
14089        entry: *mut GtkEntry,
14090        icon_pos: GtkEntryIconPosition,
14091        tooltip: *const c_char,
14092    );
14093    pub fn gtk_entry_set_input_hints(entry: *mut GtkEntry, hints: GtkInputHints);
14094    pub fn gtk_entry_set_input_purpose(entry: *mut GtkEntry, purpose: GtkInputPurpose);
14095    pub fn gtk_entry_set_invisible_char(entry: *mut GtkEntry, ch: u32);
14096    pub fn gtk_entry_set_max_length(entry: *mut GtkEntry, max: c_int);
14097    #[cfg(feature = "v4_20")]
14098    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14099    pub fn gtk_entry_set_menu_entry_icon_text(
14100        entry: *mut GtkEntry,
14101        icon_pos: GtkEntryIconPosition,
14102        text: *const c_char,
14103    );
14104    pub fn gtk_entry_set_overwrite_mode(entry: *mut GtkEntry, overwrite: gboolean);
14105    pub fn gtk_entry_set_placeholder_text(entry: *mut GtkEntry, text: *const c_char);
14106    pub fn gtk_entry_set_progress_fraction(entry: *mut GtkEntry, fraction: c_double);
14107    pub fn gtk_entry_set_progress_pulse_step(entry: *mut GtkEntry, fraction: c_double);
14108    pub fn gtk_entry_set_tabs(entry: *mut GtkEntry, tabs: *mut pango::PangoTabArray);
14109    pub fn gtk_entry_set_visibility(entry: *mut GtkEntry, visible: gboolean);
14110    pub fn gtk_entry_unset_invisible_char(entry: *mut GtkEntry);
14111
14112    //=========================================================================
14113    // GtkEntryBuffer
14114    //=========================================================================
14115    pub fn gtk_entry_buffer_get_type() -> GType;
14116    pub fn gtk_entry_buffer_new(
14117        initial_chars: *const c_char,
14118        n_initial_chars: c_int,
14119    ) -> *mut GtkEntryBuffer;
14120    pub fn gtk_entry_buffer_delete_text(
14121        buffer: *mut GtkEntryBuffer,
14122        position: c_uint,
14123        n_chars: c_int,
14124    ) -> c_uint;
14125    pub fn gtk_entry_buffer_emit_deleted_text(
14126        buffer: *mut GtkEntryBuffer,
14127        position: c_uint,
14128        n_chars: c_uint,
14129    );
14130    pub fn gtk_entry_buffer_emit_inserted_text(
14131        buffer: *mut GtkEntryBuffer,
14132        position: c_uint,
14133        chars: *const c_char,
14134        n_chars: c_uint,
14135    );
14136    pub fn gtk_entry_buffer_get_bytes(buffer: *mut GtkEntryBuffer) -> size_t;
14137    pub fn gtk_entry_buffer_get_length(buffer: *mut GtkEntryBuffer) -> c_uint;
14138    pub fn gtk_entry_buffer_get_max_length(buffer: *mut GtkEntryBuffer) -> c_int;
14139    pub fn gtk_entry_buffer_get_text(buffer: *mut GtkEntryBuffer) -> *const c_char;
14140    pub fn gtk_entry_buffer_insert_text(
14141        buffer: *mut GtkEntryBuffer,
14142        position: c_uint,
14143        chars: *const c_char,
14144        n_chars: c_int,
14145    ) -> c_uint;
14146    pub fn gtk_entry_buffer_set_max_length(buffer: *mut GtkEntryBuffer, max_length: c_int);
14147    pub fn gtk_entry_buffer_set_text(
14148        buffer: *mut GtkEntryBuffer,
14149        chars: *const c_char,
14150        n_chars: c_int,
14151    );
14152
14153    //=========================================================================
14154    // GtkEntryCompletion
14155    //=========================================================================
14156    pub fn gtk_entry_completion_get_type() -> GType;
14157    pub fn gtk_entry_completion_new() -> *mut GtkEntryCompletion;
14158    pub fn gtk_entry_completion_new_with_area(area: *mut GtkCellArea) -> *mut GtkEntryCompletion;
14159    pub fn gtk_entry_completion_complete(completion: *mut GtkEntryCompletion);
14160    pub fn gtk_entry_completion_compute_prefix(
14161        completion: *mut GtkEntryCompletion,
14162        key: *const c_char,
14163    ) -> *mut c_char;
14164    pub fn gtk_entry_completion_get_completion_prefix(
14165        completion: *mut GtkEntryCompletion,
14166    ) -> *const c_char;
14167    pub fn gtk_entry_completion_get_entry(completion: *mut GtkEntryCompletion) -> *mut GtkWidget;
14168    pub fn gtk_entry_completion_get_inline_completion(
14169        completion: *mut GtkEntryCompletion,
14170    ) -> gboolean;
14171    pub fn gtk_entry_completion_get_inline_selection(
14172        completion: *mut GtkEntryCompletion,
14173    ) -> gboolean;
14174    pub fn gtk_entry_completion_get_minimum_key_length(
14175        completion: *mut GtkEntryCompletion,
14176    ) -> c_int;
14177    pub fn gtk_entry_completion_get_model(completion: *mut GtkEntryCompletion)
14178    -> *mut GtkTreeModel;
14179    pub fn gtk_entry_completion_get_popup_completion(
14180        completion: *mut GtkEntryCompletion,
14181    ) -> gboolean;
14182    pub fn gtk_entry_completion_get_popup_set_width(
14183        completion: *mut GtkEntryCompletion,
14184    ) -> gboolean;
14185    pub fn gtk_entry_completion_get_popup_single_match(
14186        completion: *mut GtkEntryCompletion,
14187    ) -> gboolean;
14188    pub fn gtk_entry_completion_get_text_column(completion: *mut GtkEntryCompletion) -> c_int;
14189    pub fn gtk_entry_completion_insert_prefix(completion: *mut GtkEntryCompletion);
14190    pub fn gtk_entry_completion_set_inline_completion(
14191        completion: *mut GtkEntryCompletion,
14192        inline_completion: gboolean,
14193    );
14194    pub fn gtk_entry_completion_set_inline_selection(
14195        completion: *mut GtkEntryCompletion,
14196        inline_selection: gboolean,
14197    );
14198    pub fn gtk_entry_completion_set_match_func(
14199        completion: *mut GtkEntryCompletion,
14200        func: GtkEntryCompletionMatchFunc,
14201        func_data: gpointer,
14202        func_notify: glib::GDestroyNotify,
14203    );
14204    pub fn gtk_entry_completion_set_minimum_key_length(
14205        completion: *mut GtkEntryCompletion,
14206        length: c_int,
14207    );
14208    pub fn gtk_entry_completion_set_model(
14209        completion: *mut GtkEntryCompletion,
14210        model: *mut GtkTreeModel,
14211    );
14212    pub fn gtk_entry_completion_set_popup_completion(
14213        completion: *mut GtkEntryCompletion,
14214        popup_completion: gboolean,
14215    );
14216    pub fn gtk_entry_completion_set_popup_set_width(
14217        completion: *mut GtkEntryCompletion,
14218        popup_set_width: gboolean,
14219    );
14220    pub fn gtk_entry_completion_set_popup_single_match(
14221        completion: *mut GtkEntryCompletion,
14222        popup_single_match: gboolean,
14223    );
14224    pub fn gtk_entry_completion_set_text_column(completion: *mut GtkEntryCompletion, column: c_int);
14225
14226    //=========================================================================
14227    // GtkEnumList
14228    //=========================================================================
14229    #[cfg(feature = "v4_24")]
14230    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14231    pub fn gtk_enum_list_get_type() -> GType;
14232    #[cfg(feature = "v4_24")]
14233    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14234    pub fn gtk_enum_list_new(enum_type: GType) -> *mut GtkEnumList;
14235    #[cfg(feature = "v4_24")]
14236    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14237    pub fn gtk_enum_list_find(self_: *mut GtkEnumList, value: c_int) -> c_uint;
14238    #[cfg(feature = "v4_24")]
14239    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14240    pub fn gtk_enum_list_get_enum_type(self_: *mut GtkEnumList) -> GType;
14241
14242    //=========================================================================
14243    // GtkEnumListItem
14244    //=========================================================================
14245    #[cfg(feature = "v4_24")]
14246    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14247    pub fn gtk_enum_list_item_get_type() -> GType;
14248    #[cfg(feature = "v4_24")]
14249    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14250    pub fn gtk_enum_list_item_get_name(self_: *mut GtkEnumListItem) -> *const c_char;
14251    #[cfg(feature = "v4_24")]
14252    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14253    pub fn gtk_enum_list_item_get_nick(self_: *mut GtkEnumListItem) -> *const c_char;
14254    #[cfg(feature = "v4_24")]
14255    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
14256    pub fn gtk_enum_list_item_get_value(self_: *mut GtkEnumListItem) -> c_int;
14257
14258    //=========================================================================
14259    // GtkEventController
14260    //=========================================================================
14261    pub fn gtk_event_controller_get_type() -> GType;
14262    pub fn gtk_event_controller_get_current_event(
14263        controller: *mut GtkEventController,
14264    ) -> *mut gdk::GdkEvent;
14265    pub fn gtk_event_controller_get_current_event_device(
14266        controller: *mut GtkEventController,
14267    ) -> *mut gdk::GdkDevice;
14268    pub fn gtk_event_controller_get_current_event_state(
14269        controller: *mut GtkEventController,
14270    ) -> gdk::GdkModifierType;
14271    pub fn gtk_event_controller_get_current_event_time(controller: *mut GtkEventController) -> u32;
14272    pub fn gtk_event_controller_get_name(controller: *mut GtkEventController) -> *const c_char;
14273    pub fn gtk_event_controller_get_propagation_limit(
14274        controller: *mut GtkEventController,
14275    ) -> GtkPropagationLimit;
14276    pub fn gtk_event_controller_get_propagation_phase(
14277        controller: *mut GtkEventController,
14278    ) -> GtkPropagationPhase;
14279    pub fn gtk_event_controller_get_widget(controller: *mut GtkEventController) -> *mut GtkWidget;
14280    pub fn gtk_event_controller_reset(controller: *mut GtkEventController);
14281    pub fn gtk_event_controller_set_name(controller: *mut GtkEventController, name: *const c_char);
14282    pub fn gtk_event_controller_set_propagation_limit(
14283        controller: *mut GtkEventController,
14284        limit: GtkPropagationLimit,
14285    );
14286    pub fn gtk_event_controller_set_propagation_phase(
14287        controller: *mut GtkEventController,
14288        phase: GtkPropagationPhase,
14289    );
14290    #[cfg(feature = "v4_8")]
14291    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
14292    pub fn gtk_event_controller_set_static_name(
14293        controller: *mut GtkEventController,
14294        name: *const c_char,
14295    );
14296
14297    //=========================================================================
14298    // GtkEventControllerFocus
14299    //=========================================================================
14300    pub fn gtk_event_controller_focus_get_type() -> GType;
14301    pub fn gtk_event_controller_focus_new() -> *mut GtkEventController;
14302    pub fn gtk_event_controller_focus_contains_focus(
14303        self_: *mut GtkEventControllerFocus,
14304    ) -> gboolean;
14305    pub fn gtk_event_controller_focus_is_focus(self_: *mut GtkEventControllerFocus) -> gboolean;
14306
14307    //=========================================================================
14308    // GtkEventControllerKey
14309    //=========================================================================
14310    pub fn gtk_event_controller_key_get_type() -> GType;
14311    pub fn gtk_event_controller_key_new() -> *mut GtkEventController;
14312    pub fn gtk_event_controller_key_forward(
14313        controller: *mut GtkEventControllerKey,
14314        widget: *mut GtkWidget,
14315    ) -> gboolean;
14316    pub fn gtk_event_controller_key_get_group(controller: *mut GtkEventControllerKey) -> c_uint;
14317    pub fn gtk_event_controller_key_get_im_context(
14318        controller: *mut GtkEventControllerKey,
14319    ) -> *mut GtkIMContext;
14320    pub fn gtk_event_controller_key_set_im_context(
14321        controller: *mut GtkEventControllerKey,
14322        im_context: *mut GtkIMContext,
14323    );
14324
14325    //=========================================================================
14326    // GtkEventControllerLegacy
14327    //=========================================================================
14328    pub fn gtk_event_controller_legacy_get_type() -> GType;
14329    pub fn gtk_event_controller_legacy_new() -> *mut GtkEventController;
14330
14331    //=========================================================================
14332    // GtkEventControllerMotion
14333    //=========================================================================
14334    pub fn gtk_event_controller_motion_get_type() -> GType;
14335    pub fn gtk_event_controller_motion_new() -> *mut GtkEventController;
14336    pub fn gtk_event_controller_motion_contains_pointer(
14337        self_: *mut GtkEventControllerMotion,
14338    ) -> gboolean;
14339    pub fn gtk_event_controller_motion_is_pointer(self_: *mut GtkEventControllerMotion)
14340    -> gboolean;
14341
14342    //=========================================================================
14343    // GtkEventControllerScroll
14344    //=========================================================================
14345    pub fn gtk_event_controller_scroll_get_type() -> GType;
14346    pub fn gtk_event_controller_scroll_new(
14347        flags: GtkEventControllerScrollFlags,
14348    ) -> *mut GtkEventController;
14349    pub fn gtk_event_controller_scroll_get_flags(
14350        scroll: *mut GtkEventControllerScroll,
14351    ) -> GtkEventControllerScrollFlags;
14352    #[cfg(feature = "v4_8")]
14353    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
14354    pub fn gtk_event_controller_scroll_get_unit(
14355        scroll: *mut GtkEventControllerScroll,
14356    ) -> gdk::GdkScrollUnit;
14357    pub fn gtk_event_controller_scroll_set_flags(
14358        scroll: *mut GtkEventControllerScroll,
14359        flags: GtkEventControllerScrollFlags,
14360    );
14361
14362    //=========================================================================
14363    // GtkEveryFilter
14364    //=========================================================================
14365    pub fn gtk_every_filter_get_type() -> GType;
14366    pub fn gtk_every_filter_new() -> *mut GtkEveryFilter;
14367
14368    //=========================================================================
14369    // GtkExpander
14370    //=========================================================================
14371    pub fn gtk_expander_get_type() -> GType;
14372    pub fn gtk_expander_new(label: *const c_char) -> *mut GtkWidget;
14373    pub fn gtk_expander_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
14374    pub fn gtk_expander_get_child(expander: *mut GtkExpander) -> *mut GtkWidget;
14375    pub fn gtk_expander_get_expanded(expander: *mut GtkExpander) -> gboolean;
14376    pub fn gtk_expander_get_label(expander: *mut GtkExpander) -> *const c_char;
14377    pub fn gtk_expander_get_label_widget(expander: *mut GtkExpander) -> *mut GtkWidget;
14378    pub fn gtk_expander_get_resize_toplevel(expander: *mut GtkExpander) -> gboolean;
14379    pub fn gtk_expander_get_use_markup(expander: *mut GtkExpander) -> gboolean;
14380    pub fn gtk_expander_get_use_underline(expander: *mut GtkExpander) -> gboolean;
14381    pub fn gtk_expander_set_child(expander: *mut GtkExpander, child: *mut GtkWidget);
14382    pub fn gtk_expander_set_expanded(expander: *mut GtkExpander, expanded: gboolean);
14383    pub fn gtk_expander_set_label(expander: *mut GtkExpander, label: *const c_char);
14384    pub fn gtk_expander_set_label_widget(expander: *mut GtkExpander, label_widget: *mut GtkWidget);
14385    pub fn gtk_expander_set_resize_toplevel(expander: *mut GtkExpander, resize_toplevel: gboolean);
14386    pub fn gtk_expander_set_use_markup(expander: *mut GtkExpander, use_markup: gboolean);
14387    pub fn gtk_expander_set_use_underline(expander: *mut GtkExpander, use_underline: gboolean);
14388
14389    //=========================================================================
14390    // GtkExpression
14391    //=========================================================================
14392    pub fn gtk_expression_get_type() -> GType;
14393    pub fn gtk_expression_bind(
14394        self_: *mut GtkExpression,
14395        target: *mut gobject::GObject,
14396        property: *const c_char,
14397        this_: *mut gobject::GObject,
14398    ) -> *mut GtkExpressionWatch;
14399    pub fn gtk_expression_evaluate(
14400        self_: *mut GtkExpression,
14401        this_: *mut gobject::GObject,
14402        value: *mut gobject::GValue,
14403    ) -> gboolean;
14404    pub fn gtk_expression_get_value_type(self_: *mut GtkExpression) -> GType;
14405    pub fn gtk_expression_is_static(self_: *mut GtkExpression) -> gboolean;
14406    pub fn gtk_expression_ref(self_: *mut GtkExpression) -> *mut GtkExpression;
14407    pub fn gtk_expression_unref(self_: *mut GtkExpression);
14408    pub fn gtk_expression_watch(
14409        self_: *mut GtkExpression,
14410        this_: *mut gobject::GObject,
14411        notify: GtkExpressionNotify,
14412        user_data: gpointer,
14413        user_destroy: glib::GDestroyNotify,
14414    ) -> *mut GtkExpressionWatch;
14415
14416    //=========================================================================
14417    // GtkFileChooserDialog
14418    //=========================================================================
14419    pub fn gtk_file_chooser_dialog_get_type() -> GType;
14420    pub fn gtk_file_chooser_dialog_new(
14421        title: *const c_char,
14422        parent: *mut GtkWindow,
14423        action: GtkFileChooserAction,
14424        first_button_text: *const c_char,
14425        ...
14426    ) -> *mut GtkWidget;
14427
14428    //=========================================================================
14429    // GtkFileChooserNative
14430    //=========================================================================
14431    pub fn gtk_file_chooser_native_get_type() -> GType;
14432    pub fn gtk_file_chooser_native_new(
14433        title: *const c_char,
14434        parent: *mut GtkWindow,
14435        action: GtkFileChooserAction,
14436        accept_label: *const c_char,
14437        cancel_label: *const c_char,
14438    ) -> *mut GtkFileChooserNative;
14439    pub fn gtk_file_chooser_native_get_accept_label(
14440        self_: *mut GtkFileChooserNative,
14441    ) -> *const c_char;
14442    pub fn gtk_file_chooser_native_get_cancel_label(
14443        self_: *mut GtkFileChooserNative,
14444    ) -> *const c_char;
14445    pub fn gtk_file_chooser_native_set_accept_label(
14446        self_: *mut GtkFileChooserNative,
14447        accept_label: *const c_char,
14448    );
14449    pub fn gtk_file_chooser_native_set_cancel_label(
14450        self_: *mut GtkFileChooserNative,
14451        cancel_label: *const c_char,
14452    );
14453
14454    //=========================================================================
14455    // GtkFileChooserWidget
14456    //=========================================================================
14457    pub fn gtk_file_chooser_widget_get_type() -> GType;
14458    pub fn gtk_file_chooser_widget_new(action: GtkFileChooserAction) -> *mut GtkWidget;
14459
14460    //=========================================================================
14461    // GtkFileDialog
14462    //=========================================================================
14463    #[cfg(feature = "v4_10")]
14464    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14465    pub fn gtk_file_dialog_get_type() -> GType;
14466    #[cfg(feature = "v4_10")]
14467    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14468    pub fn gtk_file_dialog_new() -> *mut GtkFileDialog;
14469    #[cfg(feature = "v4_10")]
14470    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14471    pub fn gtk_file_dialog_get_accept_label(self_: *mut GtkFileDialog) -> *const c_char;
14472    #[cfg(feature = "v4_10")]
14473    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14474    pub fn gtk_file_dialog_get_default_filter(self_: *mut GtkFileDialog) -> *mut GtkFileFilter;
14475    #[cfg(feature = "v4_10")]
14476    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14477    pub fn gtk_file_dialog_get_filters(self_: *mut GtkFileDialog) -> *mut gio::GListModel;
14478    #[cfg(feature = "v4_10")]
14479    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14480    pub fn gtk_file_dialog_get_initial_file(self_: *mut GtkFileDialog) -> *mut gio::GFile;
14481    #[cfg(feature = "v4_10")]
14482    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14483    pub fn gtk_file_dialog_get_initial_folder(self_: *mut GtkFileDialog) -> *mut gio::GFile;
14484    #[cfg(feature = "v4_10")]
14485    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14486    pub fn gtk_file_dialog_get_initial_name(self_: *mut GtkFileDialog) -> *const c_char;
14487    #[cfg(feature = "v4_10")]
14488    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14489    pub fn gtk_file_dialog_get_modal(self_: *mut GtkFileDialog) -> gboolean;
14490    #[cfg(feature = "v4_10")]
14491    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14492    pub fn gtk_file_dialog_get_title(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_open(
14496        self_: *mut GtkFileDialog,
14497        parent: *mut GtkWindow,
14498        cancellable: *mut gio::GCancellable,
14499        callback: gio::GAsyncReadyCallback,
14500        user_data: gpointer,
14501    );
14502    #[cfg(feature = "v4_10")]
14503    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14504    pub fn gtk_file_dialog_open_finish(
14505        self_: *mut GtkFileDialog,
14506        result: *mut gio::GAsyncResult,
14507        error: *mut *mut glib::GError,
14508    ) -> *mut gio::GFile;
14509    #[cfg(feature = "v4_10")]
14510    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14511    pub fn gtk_file_dialog_open_multiple(
14512        self_: *mut GtkFileDialog,
14513        parent: *mut GtkWindow,
14514        cancellable: *mut gio::GCancellable,
14515        callback: gio::GAsyncReadyCallback,
14516        user_data: gpointer,
14517    );
14518    #[cfg(feature = "v4_10")]
14519    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14520    pub fn gtk_file_dialog_open_multiple_finish(
14521        self_: *mut GtkFileDialog,
14522        result: *mut gio::GAsyncResult,
14523        error: *mut *mut glib::GError,
14524    ) -> *mut gio::GListModel;
14525    #[cfg(feature = "v4_18")]
14526    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14527    pub fn gtk_file_dialog_open_multiple_text_files(
14528        self_: *mut GtkFileDialog,
14529        parent: *mut GtkWindow,
14530        cancellable: *mut gio::GCancellable,
14531        callback: gio::GAsyncReadyCallback,
14532        user_data: gpointer,
14533    );
14534    #[cfg(feature = "v4_18")]
14535    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14536    pub fn gtk_file_dialog_open_multiple_text_files_finish(
14537        self_: *mut GtkFileDialog,
14538        result: *mut gio::GAsyncResult,
14539        encoding: *mut *const c_char,
14540        error: *mut *mut glib::GError,
14541    ) -> *mut gio::GListModel;
14542    #[cfg(feature = "v4_18")]
14543    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14544    pub fn gtk_file_dialog_open_text_file(
14545        self_: *mut GtkFileDialog,
14546        parent: *mut GtkWindow,
14547        cancellable: *mut gio::GCancellable,
14548        callback: gio::GAsyncReadyCallback,
14549        user_data: gpointer,
14550    );
14551    #[cfg(feature = "v4_18")]
14552    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14553    pub fn gtk_file_dialog_open_text_file_finish(
14554        self_: *mut GtkFileDialog,
14555        result: *mut gio::GAsyncResult,
14556        encoding: *mut *const c_char,
14557        error: *mut *mut glib::GError,
14558    ) -> *mut gio::GFile;
14559    #[cfg(feature = "v4_10")]
14560    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14561    pub fn gtk_file_dialog_save(
14562        self_: *mut GtkFileDialog,
14563        parent: *mut GtkWindow,
14564        cancellable: *mut gio::GCancellable,
14565        callback: gio::GAsyncReadyCallback,
14566        user_data: gpointer,
14567    );
14568    #[cfg(feature = "v4_10")]
14569    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14570    pub fn gtk_file_dialog_save_finish(
14571        self_: *mut GtkFileDialog,
14572        result: *mut gio::GAsyncResult,
14573        error: *mut *mut glib::GError,
14574    ) -> *mut gio::GFile;
14575    #[cfg(feature = "v4_18")]
14576    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14577    pub fn gtk_file_dialog_save_text_file(
14578        self_: *mut GtkFileDialog,
14579        parent: *mut GtkWindow,
14580        cancellable: *mut gio::GCancellable,
14581        callback: gio::GAsyncReadyCallback,
14582        user_data: gpointer,
14583    );
14584    #[cfg(feature = "v4_18")]
14585    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
14586    pub fn gtk_file_dialog_save_text_file_finish(
14587        self_: *mut GtkFileDialog,
14588        result: *mut gio::GAsyncResult,
14589        encoding: *mut *const c_char,
14590        line_ending: *mut *const c_char,
14591        error: *mut *mut glib::GError,
14592    ) -> *mut gio::GFile;
14593    #[cfg(feature = "v4_10")]
14594    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14595    pub fn gtk_file_dialog_select_folder(
14596        self_: *mut GtkFileDialog,
14597        parent: *mut GtkWindow,
14598        cancellable: *mut gio::GCancellable,
14599        callback: gio::GAsyncReadyCallback,
14600        user_data: gpointer,
14601    );
14602    #[cfg(feature = "v4_10")]
14603    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14604    pub fn gtk_file_dialog_select_folder_finish(
14605        self_: *mut GtkFileDialog,
14606        result: *mut gio::GAsyncResult,
14607        error: *mut *mut glib::GError,
14608    ) -> *mut gio::GFile;
14609    #[cfg(feature = "v4_10")]
14610    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14611    pub fn gtk_file_dialog_select_multiple_folders(
14612        self_: *mut GtkFileDialog,
14613        parent: *mut GtkWindow,
14614        cancellable: *mut gio::GCancellable,
14615        callback: gio::GAsyncReadyCallback,
14616        user_data: gpointer,
14617    );
14618    #[cfg(feature = "v4_10")]
14619    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14620    pub fn gtk_file_dialog_select_multiple_folders_finish(
14621        self_: *mut GtkFileDialog,
14622        result: *mut gio::GAsyncResult,
14623        error: *mut *mut glib::GError,
14624    ) -> *mut gio::GListModel;
14625    #[cfg(feature = "v4_10")]
14626    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14627    pub fn gtk_file_dialog_set_accept_label(self_: *mut GtkFileDialog, accept_label: *const c_char);
14628    #[cfg(feature = "v4_10")]
14629    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14630    pub fn gtk_file_dialog_set_default_filter(
14631        self_: *mut GtkFileDialog,
14632        filter: *mut GtkFileFilter,
14633    );
14634    #[cfg(feature = "v4_10")]
14635    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14636    pub fn gtk_file_dialog_set_filters(self_: *mut GtkFileDialog, filters: *mut gio::GListModel);
14637    #[cfg(feature = "v4_10")]
14638    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14639    pub fn gtk_file_dialog_set_initial_file(self_: *mut GtkFileDialog, file: *mut gio::GFile);
14640    #[cfg(feature = "v4_10")]
14641    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14642    pub fn gtk_file_dialog_set_initial_folder(self_: *mut GtkFileDialog, folder: *mut gio::GFile);
14643    #[cfg(feature = "v4_10")]
14644    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14645    pub fn gtk_file_dialog_set_initial_name(self_: *mut GtkFileDialog, name: *const c_char);
14646    #[cfg(feature = "v4_10")]
14647    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14648    pub fn gtk_file_dialog_set_modal(self_: *mut GtkFileDialog, modal: gboolean);
14649    #[cfg(feature = "v4_10")]
14650    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14651    pub fn gtk_file_dialog_set_title(self_: *mut GtkFileDialog, title: *const c_char);
14652
14653    //=========================================================================
14654    // GtkFileFilter
14655    //=========================================================================
14656    pub fn gtk_file_filter_get_type() -> GType;
14657    pub fn gtk_file_filter_new() -> *mut GtkFileFilter;
14658    pub fn gtk_file_filter_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkFileFilter;
14659    pub fn gtk_file_filter_add_mime_type(filter: *mut GtkFileFilter, mime_type: *const c_char);
14660    #[cfg(feature = "v4_22")]
14661    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
14662    pub fn gtk_file_filter_add_mime_types(
14663        filter: *mut GtkFileFilter,
14664        mime_types: *mut *const c_char,
14665    );
14666    pub fn gtk_file_filter_add_pattern(filter: *mut GtkFileFilter, pattern: *const c_char);
14667    pub fn gtk_file_filter_add_pixbuf_formats(filter: *mut GtkFileFilter);
14668    #[cfg(feature = "v4_4")]
14669    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
14670    pub fn gtk_file_filter_add_suffix(filter: *mut GtkFileFilter, suffix: *const c_char);
14671    pub fn gtk_file_filter_get_attributes(filter: *mut GtkFileFilter) -> *mut *const c_char;
14672    pub fn gtk_file_filter_get_name(filter: *mut GtkFileFilter) -> *const c_char;
14673    pub fn gtk_file_filter_set_name(filter: *mut GtkFileFilter, name: *const c_char);
14674    pub fn gtk_file_filter_to_gvariant(filter: *mut GtkFileFilter) -> *mut glib::GVariant;
14675
14676    //=========================================================================
14677    // GtkFileLauncher
14678    //=========================================================================
14679    #[cfg(feature = "v4_10")]
14680    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14681    pub fn gtk_file_launcher_get_type() -> GType;
14682    #[cfg(feature = "v4_10")]
14683    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14684    pub fn gtk_file_launcher_new(file: *mut gio::GFile) -> *mut GtkFileLauncher;
14685    #[cfg(feature = "v4_12")]
14686    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14687    pub fn gtk_file_launcher_get_always_ask(self_: *mut GtkFileLauncher) -> gboolean;
14688    #[cfg(feature = "v4_10")]
14689    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14690    pub fn gtk_file_launcher_get_file(self_: *mut GtkFileLauncher) -> *mut gio::GFile;
14691    #[cfg(feature = "v4_14")]
14692    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14693    pub fn gtk_file_launcher_get_writable(self_: *mut GtkFileLauncher) -> gboolean;
14694    #[cfg(feature = "v4_10")]
14695    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14696    pub fn gtk_file_launcher_launch(
14697        self_: *mut GtkFileLauncher,
14698        parent: *mut GtkWindow,
14699        cancellable: *mut gio::GCancellable,
14700        callback: gio::GAsyncReadyCallback,
14701        user_data: gpointer,
14702    );
14703    #[cfg(feature = "v4_10")]
14704    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14705    pub fn gtk_file_launcher_launch_finish(
14706        self_: *mut GtkFileLauncher,
14707        result: *mut gio::GAsyncResult,
14708        error: *mut *mut glib::GError,
14709    ) -> gboolean;
14710    #[cfg(feature = "v4_10")]
14711    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14712    pub fn gtk_file_launcher_open_containing_folder(
14713        self_: *mut GtkFileLauncher,
14714        parent: *mut GtkWindow,
14715        cancellable: *mut gio::GCancellable,
14716        callback: gio::GAsyncReadyCallback,
14717        user_data: gpointer,
14718    );
14719    #[cfg(feature = "v4_10")]
14720    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14721    pub fn gtk_file_launcher_open_containing_folder_finish(
14722        self_: *mut GtkFileLauncher,
14723        result: *mut gio::GAsyncResult,
14724        error: *mut *mut glib::GError,
14725    ) -> gboolean;
14726    #[cfg(feature = "v4_12")]
14727    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14728    pub fn gtk_file_launcher_set_always_ask(self_: *mut GtkFileLauncher, always_ask: gboolean);
14729    #[cfg(feature = "v4_10")]
14730    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14731    pub fn gtk_file_launcher_set_file(self_: *mut GtkFileLauncher, file: *mut gio::GFile);
14732    #[cfg(feature = "v4_14")]
14733    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
14734    pub fn gtk_file_launcher_set_writable(self_: *mut GtkFileLauncher, writable: gboolean);
14735
14736    //=========================================================================
14737    // GtkFilter
14738    //=========================================================================
14739    pub fn gtk_filter_get_type() -> GType;
14740    pub fn gtk_filter_changed(self_: *mut GtkFilter, change: GtkFilterChange);
14741    pub fn gtk_filter_get_strictness(self_: *mut GtkFilter) -> GtkFilterMatch;
14742    pub fn gtk_filter_match(self_: *mut GtkFilter, item: *mut gobject::GObject) -> gboolean;
14743
14744    //=========================================================================
14745    // GtkFilterListModel
14746    //=========================================================================
14747    pub fn gtk_filter_list_model_get_type() -> GType;
14748    pub fn gtk_filter_list_model_new(
14749        model: *mut gio::GListModel,
14750        filter: *mut GtkFilter,
14751    ) -> *mut GtkFilterListModel;
14752    pub fn gtk_filter_list_model_get_filter(self_: *mut GtkFilterListModel) -> *mut GtkFilter;
14753    pub fn gtk_filter_list_model_get_incremental(self_: *mut GtkFilterListModel) -> gboolean;
14754    pub fn gtk_filter_list_model_get_model(self_: *mut GtkFilterListModel) -> *mut gio::GListModel;
14755    pub fn gtk_filter_list_model_get_pending(self_: *mut GtkFilterListModel) -> c_uint;
14756    #[cfg(feature = "v4_20")]
14757    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14758    pub fn gtk_filter_list_model_get_watch_items(self_: *mut GtkFilterListModel) -> gboolean;
14759    pub fn gtk_filter_list_model_set_filter(self_: *mut GtkFilterListModel, filter: *mut GtkFilter);
14760    pub fn gtk_filter_list_model_set_incremental(
14761        self_: *mut GtkFilterListModel,
14762        incremental: gboolean,
14763    );
14764    pub fn gtk_filter_list_model_set_model(
14765        self_: *mut GtkFilterListModel,
14766        model: *mut gio::GListModel,
14767    );
14768    #[cfg(feature = "v4_20")]
14769    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
14770    pub fn gtk_filter_list_model_set_watch_items(
14771        self_: *mut GtkFilterListModel,
14772        watch_items: gboolean,
14773    );
14774
14775    //=========================================================================
14776    // GtkFixed
14777    //=========================================================================
14778    pub fn gtk_fixed_get_type() -> GType;
14779    pub fn gtk_fixed_new() -> *mut GtkWidget;
14780    pub fn gtk_fixed_get_child_position(
14781        fixed: *mut GtkFixed,
14782        widget: *mut GtkWidget,
14783        x: *mut c_double,
14784        y: *mut c_double,
14785    );
14786    pub fn gtk_fixed_get_child_transform(
14787        fixed: *mut GtkFixed,
14788        widget: *mut GtkWidget,
14789    ) -> *mut gsk::GskTransform;
14790    pub fn gtk_fixed_move(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14791    pub fn gtk_fixed_put(fixed: *mut GtkFixed, widget: *mut GtkWidget, x: c_double, y: c_double);
14792    pub fn gtk_fixed_remove(fixed: *mut GtkFixed, widget: *mut GtkWidget);
14793    pub fn gtk_fixed_set_child_transform(
14794        fixed: *mut GtkFixed,
14795        widget: *mut GtkWidget,
14796        transform: *mut gsk::GskTransform,
14797    );
14798
14799    //=========================================================================
14800    // GtkFixedLayout
14801    //=========================================================================
14802    pub fn gtk_fixed_layout_get_type() -> GType;
14803    pub fn gtk_fixed_layout_new() -> *mut GtkLayoutManager;
14804
14805    //=========================================================================
14806    // GtkFixedLayoutChild
14807    //=========================================================================
14808    pub fn gtk_fixed_layout_child_get_type() -> GType;
14809    pub fn gtk_fixed_layout_child_get_transform(
14810        child: *mut GtkFixedLayoutChild,
14811    ) -> *mut gsk::GskTransform;
14812    pub fn gtk_fixed_layout_child_set_transform(
14813        child: *mut GtkFixedLayoutChild,
14814        transform: *mut gsk::GskTransform,
14815    );
14816
14817    //=========================================================================
14818    // GtkFlattenListModel
14819    //=========================================================================
14820    pub fn gtk_flatten_list_model_get_type() -> GType;
14821    pub fn gtk_flatten_list_model_new(model: *mut gio::GListModel) -> *mut GtkFlattenListModel;
14822    pub fn gtk_flatten_list_model_get_model(
14823        self_: *mut GtkFlattenListModel,
14824    ) -> *mut gio::GListModel;
14825    pub fn gtk_flatten_list_model_get_model_for_item(
14826        self_: *mut GtkFlattenListModel,
14827        position: c_uint,
14828    ) -> *mut gio::GListModel;
14829    pub fn gtk_flatten_list_model_set_model(
14830        self_: *mut GtkFlattenListModel,
14831        model: *mut gio::GListModel,
14832    );
14833
14834    //=========================================================================
14835    // GtkFlowBox
14836    //=========================================================================
14837    pub fn gtk_flow_box_get_type() -> GType;
14838    pub fn gtk_flow_box_new() -> *mut GtkWidget;
14839    #[cfg(feature = "v4_6")]
14840    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14841    pub fn gtk_flow_box_append(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14842    pub fn gtk_flow_box_bind_model(
14843        box_: *mut GtkFlowBox,
14844        model: *mut gio::GListModel,
14845        create_widget_func: GtkFlowBoxCreateWidgetFunc,
14846        user_data: gpointer,
14847        user_data_free_func: glib::GDestroyNotify,
14848    );
14849    pub fn gtk_flow_box_get_activate_on_single_click(box_: *mut GtkFlowBox) -> gboolean;
14850    pub fn gtk_flow_box_get_child_at_index(
14851        box_: *mut GtkFlowBox,
14852        idx: c_int,
14853    ) -> *mut GtkFlowBoxChild;
14854    pub fn gtk_flow_box_get_child_at_pos(
14855        box_: *mut GtkFlowBox,
14856        x: c_int,
14857        y: c_int,
14858    ) -> *mut GtkFlowBoxChild;
14859    pub fn gtk_flow_box_get_column_spacing(box_: *mut GtkFlowBox) -> c_uint;
14860    pub fn gtk_flow_box_get_homogeneous(box_: *mut GtkFlowBox) -> gboolean;
14861    pub fn gtk_flow_box_get_max_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14862    pub fn gtk_flow_box_get_min_children_per_line(box_: *mut GtkFlowBox) -> c_uint;
14863    pub fn gtk_flow_box_get_row_spacing(box_: *mut GtkFlowBox) -> c_uint;
14864    pub fn gtk_flow_box_get_selected_children(box_: *mut GtkFlowBox) -> *mut glib::GList;
14865    pub fn gtk_flow_box_get_selection_mode(box_: *mut GtkFlowBox) -> GtkSelectionMode;
14866    pub fn gtk_flow_box_insert(box_: *mut GtkFlowBox, widget: *mut GtkWidget, position: c_int);
14867    pub fn gtk_flow_box_invalidate_filter(box_: *mut GtkFlowBox);
14868    pub fn gtk_flow_box_invalidate_sort(box_: *mut GtkFlowBox);
14869    #[cfg(feature = "v4_6")]
14870    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
14871    pub fn gtk_flow_box_prepend(self_: *mut GtkFlowBox, child: *mut GtkWidget);
14872    pub fn gtk_flow_box_remove(box_: *mut GtkFlowBox, widget: *mut GtkWidget);
14873    #[cfg(feature = "v4_12")]
14874    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
14875    pub fn gtk_flow_box_remove_all(box_: *mut GtkFlowBox);
14876    pub fn gtk_flow_box_select_all(box_: *mut GtkFlowBox);
14877    pub fn gtk_flow_box_select_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14878    pub fn gtk_flow_box_selected_foreach(
14879        box_: *mut GtkFlowBox,
14880        func: GtkFlowBoxForeachFunc,
14881        data: gpointer,
14882    );
14883    pub fn gtk_flow_box_set_activate_on_single_click(box_: *mut GtkFlowBox, single: gboolean);
14884    pub fn gtk_flow_box_set_column_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14885    pub fn gtk_flow_box_set_filter_func(
14886        box_: *mut GtkFlowBox,
14887        filter_func: GtkFlowBoxFilterFunc,
14888        user_data: gpointer,
14889        destroy: glib::GDestroyNotify,
14890    );
14891    pub fn gtk_flow_box_set_hadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14892    pub fn gtk_flow_box_set_homogeneous(box_: *mut GtkFlowBox, homogeneous: gboolean);
14893    pub fn gtk_flow_box_set_max_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14894    pub fn gtk_flow_box_set_min_children_per_line(box_: *mut GtkFlowBox, n_children: c_uint);
14895    pub fn gtk_flow_box_set_row_spacing(box_: *mut GtkFlowBox, spacing: c_uint);
14896    pub fn gtk_flow_box_set_selection_mode(box_: *mut GtkFlowBox, mode: GtkSelectionMode);
14897    pub fn gtk_flow_box_set_sort_func(
14898        box_: *mut GtkFlowBox,
14899        sort_func: GtkFlowBoxSortFunc,
14900        user_data: gpointer,
14901        destroy: glib::GDestroyNotify,
14902    );
14903    pub fn gtk_flow_box_set_vadjustment(box_: *mut GtkFlowBox, adjustment: *mut GtkAdjustment);
14904    pub fn gtk_flow_box_unselect_all(box_: *mut GtkFlowBox);
14905    pub fn gtk_flow_box_unselect_child(box_: *mut GtkFlowBox, child: *mut GtkFlowBoxChild);
14906
14907    //=========================================================================
14908    // GtkFlowBoxChild
14909    //=========================================================================
14910    pub fn gtk_flow_box_child_get_type() -> GType;
14911    pub fn gtk_flow_box_child_new() -> *mut GtkWidget;
14912    pub fn gtk_flow_box_child_changed(child: *mut GtkFlowBoxChild);
14913    pub fn gtk_flow_box_child_get_child(self_: *mut GtkFlowBoxChild) -> *mut GtkWidget;
14914    pub fn gtk_flow_box_child_get_index(child: *mut GtkFlowBoxChild) -> c_int;
14915    pub fn gtk_flow_box_child_is_selected(child: *mut GtkFlowBoxChild) -> gboolean;
14916    pub fn gtk_flow_box_child_set_child(self_: *mut GtkFlowBoxChild, child: *mut GtkWidget);
14917
14918    //=========================================================================
14919    // GtkFontButton
14920    //=========================================================================
14921    pub fn gtk_font_button_get_type() -> GType;
14922    pub fn gtk_font_button_new() -> *mut GtkWidget;
14923    pub fn gtk_font_button_new_with_font(fontname: *const c_char) -> *mut GtkWidget;
14924    pub fn gtk_font_button_get_modal(font_button: *mut GtkFontButton) -> gboolean;
14925    pub fn gtk_font_button_get_title(font_button: *mut GtkFontButton) -> *const c_char;
14926    pub fn gtk_font_button_get_use_font(font_button: *mut GtkFontButton) -> gboolean;
14927    pub fn gtk_font_button_get_use_size(font_button: *mut GtkFontButton) -> gboolean;
14928    pub fn gtk_font_button_set_modal(font_button: *mut GtkFontButton, modal: gboolean);
14929    pub fn gtk_font_button_set_title(font_button: *mut GtkFontButton, title: *const c_char);
14930    pub fn gtk_font_button_set_use_font(font_button: *mut GtkFontButton, use_font: gboolean);
14931    pub fn gtk_font_button_set_use_size(font_button: *mut GtkFontButton, use_size: gboolean);
14932
14933    //=========================================================================
14934    // GtkFontChooserDialog
14935    //=========================================================================
14936    pub fn gtk_font_chooser_dialog_get_type() -> GType;
14937    pub fn gtk_font_chooser_dialog_new(
14938        title: *const c_char,
14939        parent: *mut GtkWindow,
14940    ) -> *mut GtkWidget;
14941
14942    //=========================================================================
14943    // GtkFontChooserWidget
14944    //=========================================================================
14945    pub fn gtk_font_chooser_widget_get_type() -> GType;
14946    pub fn gtk_font_chooser_widget_new() -> *mut GtkWidget;
14947
14948    //=========================================================================
14949    // GtkFontDialog
14950    //=========================================================================
14951    #[cfg(feature = "v4_10")]
14952    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14953    pub fn gtk_font_dialog_get_type() -> GType;
14954    #[cfg(feature = "v4_10")]
14955    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14956    pub fn gtk_font_dialog_new() -> *mut GtkFontDialog;
14957    #[cfg(feature = "v4_10")]
14958    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14959    pub fn gtk_font_dialog_choose_face(
14960        self_: *mut GtkFontDialog,
14961        parent: *mut GtkWindow,
14962        initial_value: *mut pango::PangoFontFace,
14963        cancellable: *mut gio::GCancellable,
14964        callback: gio::GAsyncReadyCallback,
14965        user_data: gpointer,
14966    );
14967    #[cfg(feature = "v4_10")]
14968    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14969    pub fn gtk_font_dialog_choose_face_finish(
14970        self_: *mut GtkFontDialog,
14971        result: *mut gio::GAsyncResult,
14972        error: *mut *mut glib::GError,
14973    ) -> *mut pango::PangoFontFace;
14974    #[cfg(feature = "v4_10")]
14975    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14976    pub fn gtk_font_dialog_choose_family(
14977        self_: *mut GtkFontDialog,
14978        parent: *mut GtkWindow,
14979        initial_value: *mut pango::PangoFontFamily,
14980        cancellable: *mut gio::GCancellable,
14981        callback: gio::GAsyncReadyCallback,
14982        user_data: gpointer,
14983    );
14984    #[cfg(feature = "v4_10")]
14985    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14986    pub fn gtk_font_dialog_choose_family_finish(
14987        self_: *mut GtkFontDialog,
14988        result: *mut gio::GAsyncResult,
14989        error: *mut *mut glib::GError,
14990    ) -> *mut pango::PangoFontFamily;
14991    #[cfg(feature = "v4_10")]
14992    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
14993    pub fn gtk_font_dialog_choose_font(
14994        self_: *mut GtkFontDialog,
14995        parent: *mut GtkWindow,
14996        initial_value: *mut pango::PangoFontDescription,
14997        cancellable: *mut gio::GCancellable,
14998        callback: gio::GAsyncReadyCallback,
14999        user_data: gpointer,
15000    );
15001    #[cfg(feature = "v4_10")]
15002    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15003    pub fn gtk_font_dialog_choose_font_and_features(
15004        self_: *mut GtkFontDialog,
15005        parent: *mut GtkWindow,
15006        initial_value: *mut pango::PangoFontDescription,
15007        cancellable: *mut gio::GCancellable,
15008        callback: gio::GAsyncReadyCallback,
15009        user_data: gpointer,
15010    );
15011    #[cfg(feature = "v4_10")]
15012    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15013    pub fn gtk_font_dialog_choose_font_and_features_finish(
15014        self_: *mut GtkFontDialog,
15015        result: *mut gio::GAsyncResult,
15016        font_desc: *mut *mut pango::PangoFontDescription,
15017        font_features: *mut *mut c_char,
15018        language: *mut *mut pango::PangoLanguage,
15019        error: *mut *mut glib::GError,
15020    ) -> gboolean;
15021    #[cfg(feature = "v4_10")]
15022    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15023    pub fn gtk_font_dialog_choose_font_finish(
15024        self_: *mut GtkFontDialog,
15025        result: *mut gio::GAsyncResult,
15026        error: *mut *mut glib::GError,
15027    ) -> *mut pango::PangoFontDescription;
15028    #[cfg(feature = "v4_10")]
15029    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15030    pub fn gtk_font_dialog_get_filter(self_: *mut GtkFontDialog) -> *mut GtkFilter;
15031    #[cfg(feature = "v4_10")]
15032    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15033    pub fn gtk_font_dialog_get_font_map(self_: *mut GtkFontDialog) -> *mut pango::PangoFontMap;
15034    #[cfg(feature = "v4_10")]
15035    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15036    pub fn gtk_font_dialog_get_language(self_: *mut GtkFontDialog) -> *mut pango::PangoLanguage;
15037    #[cfg(feature = "v4_10")]
15038    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15039    pub fn gtk_font_dialog_get_modal(self_: *mut GtkFontDialog) -> gboolean;
15040    #[cfg(feature = "v4_10")]
15041    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15042    pub fn gtk_font_dialog_get_title(self_: *mut GtkFontDialog) -> *const c_char;
15043    #[cfg(feature = "v4_10")]
15044    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15045    pub fn gtk_font_dialog_set_filter(self_: *mut GtkFontDialog, filter: *mut GtkFilter);
15046    #[cfg(feature = "v4_10")]
15047    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15048    pub fn gtk_font_dialog_set_font_map(
15049        self_: *mut GtkFontDialog,
15050        fontmap: *mut pango::PangoFontMap,
15051    );
15052    #[cfg(feature = "v4_10")]
15053    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15054    pub fn gtk_font_dialog_set_language(
15055        self_: *mut GtkFontDialog,
15056        language: *mut pango::PangoLanguage,
15057    );
15058    #[cfg(feature = "v4_10")]
15059    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15060    pub fn gtk_font_dialog_set_modal(self_: *mut GtkFontDialog, modal: gboolean);
15061    #[cfg(feature = "v4_10")]
15062    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15063    pub fn gtk_font_dialog_set_title(self_: *mut GtkFontDialog, title: *const c_char);
15064
15065    //=========================================================================
15066    // GtkFontDialogButton
15067    //=========================================================================
15068    #[cfg(feature = "v4_10")]
15069    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15070    pub fn gtk_font_dialog_button_get_type() -> GType;
15071    #[cfg(feature = "v4_10")]
15072    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15073    pub fn gtk_font_dialog_button_new(dialog: *mut GtkFontDialog) -> *mut GtkWidget;
15074    #[cfg(feature = "v4_10")]
15075    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15076    pub fn gtk_font_dialog_button_get_dialog(self_: *mut GtkFontDialogButton)
15077    -> *mut GtkFontDialog;
15078    #[cfg(feature = "v4_10")]
15079    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15080    pub fn gtk_font_dialog_button_get_font_desc(
15081        self_: *mut GtkFontDialogButton,
15082    ) -> *mut pango::PangoFontDescription;
15083    #[cfg(feature = "v4_10")]
15084    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15085    pub fn gtk_font_dialog_button_get_font_features(
15086        self_: *mut GtkFontDialogButton,
15087    ) -> *const c_char;
15088    #[cfg(feature = "v4_10")]
15089    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15090    pub fn gtk_font_dialog_button_get_language(
15091        self_: *mut GtkFontDialogButton,
15092    ) -> *mut pango::PangoLanguage;
15093    #[cfg(feature = "v4_10")]
15094    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15095    pub fn gtk_font_dialog_button_get_level(self_: *mut GtkFontDialogButton) -> GtkFontLevel;
15096    #[cfg(feature = "v4_10")]
15097    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15098    pub fn gtk_font_dialog_button_get_use_font(self_: *mut GtkFontDialogButton) -> gboolean;
15099    #[cfg(feature = "v4_10")]
15100    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15101    pub fn gtk_font_dialog_button_get_use_size(self_: *mut GtkFontDialogButton) -> gboolean;
15102    #[cfg(feature = "v4_10")]
15103    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15104    pub fn gtk_font_dialog_button_set_dialog(
15105        self_: *mut GtkFontDialogButton,
15106        dialog: *mut GtkFontDialog,
15107    );
15108    #[cfg(feature = "v4_10")]
15109    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15110    pub fn gtk_font_dialog_button_set_font_desc(
15111        self_: *mut GtkFontDialogButton,
15112        font_desc: *const pango::PangoFontDescription,
15113    );
15114    #[cfg(feature = "v4_10")]
15115    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15116    pub fn gtk_font_dialog_button_set_font_features(
15117        self_: *mut GtkFontDialogButton,
15118        font_features: *const c_char,
15119    );
15120    #[cfg(feature = "v4_10")]
15121    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15122    pub fn gtk_font_dialog_button_set_language(
15123        self_: *mut GtkFontDialogButton,
15124        language: *mut pango::PangoLanguage,
15125    );
15126    #[cfg(feature = "v4_10")]
15127    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15128    pub fn gtk_font_dialog_button_set_level(self_: *mut GtkFontDialogButton, level: GtkFontLevel);
15129    #[cfg(feature = "v4_10")]
15130    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15131    pub fn gtk_font_dialog_button_set_use_font(self_: *mut GtkFontDialogButton, use_font: gboolean);
15132    #[cfg(feature = "v4_10")]
15133    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15134    pub fn gtk_font_dialog_button_set_use_size(self_: *mut GtkFontDialogButton, use_size: gboolean);
15135
15136    //=========================================================================
15137    // GtkFrame
15138    //=========================================================================
15139    pub fn gtk_frame_get_type() -> GType;
15140    pub fn gtk_frame_new(label: *const c_char) -> *mut GtkWidget;
15141    pub fn gtk_frame_get_child(frame: *mut GtkFrame) -> *mut GtkWidget;
15142    pub fn gtk_frame_get_label(frame: *mut GtkFrame) -> *const c_char;
15143    pub fn gtk_frame_get_label_align(frame: *mut GtkFrame) -> c_float;
15144    pub fn gtk_frame_get_label_widget(frame: *mut GtkFrame) -> *mut GtkWidget;
15145    pub fn gtk_frame_set_child(frame: *mut GtkFrame, child: *mut GtkWidget);
15146    pub fn gtk_frame_set_label(frame: *mut GtkFrame, label: *const c_char);
15147    pub fn gtk_frame_set_label_align(frame: *mut GtkFrame, xalign: c_float);
15148    pub fn gtk_frame_set_label_widget(frame: *mut GtkFrame, label_widget: *mut GtkWidget);
15149
15150    //=========================================================================
15151    // GtkGLArea
15152    //=========================================================================
15153    pub fn gtk_gl_area_get_type() -> GType;
15154    pub fn gtk_gl_area_new() -> *mut GtkWidget;
15155    pub fn gtk_gl_area_attach_buffers(area: *mut GtkGLArea);
15156    #[cfg(feature = "v4_12")]
15157    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15158    pub fn gtk_gl_area_get_allowed_apis(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
15159    #[cfg(feature = "v4_12")]
15160    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15161    pub fn gtk_gl_area_get_api(area: *mut GtkGLArea) -> gdk::GdkGLAPI;
15162    pub fn gtk_gl_area_get_auto_render(area: *mut GtkGLArea) -> gboolean;
15163    pub fn gtk_gl_area_get_context(area: *mut GtkGLArea) -> *mut gdk::GdkGLContext;
15164    pub fn gtk_gl_area_get_error(area: *mut GtkGLArea) -> *mut glib::GError;
15165    pub fn gtk_gl_area_get_has_depth_buffer(area: *mut GtkGLArea) -> gboolean;
15166    pub fn gtk_gl_area_get_has_stencil_buffer(area: *mut GtkGLArea) -> gboolean;
15167    pub fn gtk_gl_area_get_required_version(
15168        area: *mut GtkGLArea,
15169        major: *mut c_int,
15170        minor: *mut c_int,
15171    );
15172    pub fn gtk_gl_area_get_use_es(area: *mut GtkGLArea) -> gboolean;
15173    pub fn gtk_gl_area_make_current(area: *mut GtkGLArea);
15174    pub fn gtk_gl_area_queue_render(area: *mut GtkGLArea);
15175    #[cfg(feature = "v4_12")]
15176    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15177    pub fn gtk_gl_area_set_allowed_apis(area: *mut GtkGLArea, apis: gdk::GdkGLAPI);
15178    pub fn gtk_gl_area_set_auto_render(area: *mut GtkGLArea, auto_render: gboolean);
15179    pub fn gtk_gl_area_set_error(area: *mut GtkGLArea, error: *const glib::GError);
15180    pub fn gtk_gl_area_set_has_depth_buffer(area: *mut GtkGLArea, has_depth_buffer: gboolean);
15181    pub fn gtk_gl_area_set_has_stencil_buffer(area: *mut GtkGLArea, has_stencil_buffer: gboolean);
15182    pub fn gtk_gl_area_set_required_version(area: *mut GtkGLArea, major: c_int, minor: c_int);
15183    pub fn gtk_gl_area_set_use_es(area: *mut GtkGLArea, use_es: gboolean);
15184
15185    //=========================================================================
15186    // GtkGesture
15187    //=========================================================================
15188    pub fn gtk_gesture_get_type() -> GType;
15189    pub fn gtk_gesture_get_bounding_box(
15190        gesture: *mut GtkGesture,
15191        rect: *mut gdk::GdkRectangle,
15192    ) -> gboolean;
15193    pub fn gtk_gesture_get_bounding_box_center(
15194        gesture: *mut GtkGesture,
15195        x: *mut c_double,
15196        y: *mut c_double,
15197    ) -> gboolean;
15198    pub fn gtk_gesture_get_device(gesture: *mut GtkGesture) -> *mut gdk::GdkDevice;
15199    pub fn gtk_gesture_get_group(gesture: *mut GtkGesture) -> *mut glib::GList;
15200    pub fn gtk_gesture_get_last_event(
15201        gesture: *mut GtkGesture,
15202        sequence: *mut gdk::GdkEventSequence,
15203    ) -> *mut gdk::GdkEvent;
15204    pub fn gtk_gesture_get_last_updated_sequence(
15205        gesture: *mut GtkGesture,
15206    ) -> *mut gdk::GdkEventSequence;
15207    pub fn gtk_gesture_get_point(
15208        gesture: *mut GtkGesture,
15209        sequence: *mut gdk::GdkEventSequence,
15210        x: *mut c_double,
15211        y: *mut c_double,
15212    ) -> gboolean;
15213    pub fn gtk_gesture_get_sequence_state(
15214        gesture: *mut GtkGesture,
15215        sequence: *mut gdk::GdkEventSequence,
15216    ) -> GtkEventSequenceState;
15217    pub fn gtk_gesture_get_sequences(gesture: *mut GtkGesture) -> *mut glib::GList;
15218    pub fn gtk_gesture_group(group_gesture: *mut GtkGesture, gesture: *mut GtkGesture);
15219    pub fn gtk_gesture_handles_sequence(
15220        gesture: *mut GtkGesture,
15221        sequence: *mut gdk::GdkEventSequence,
15222    ) -> gboolean;
15223    pub fn gtk_gesture_is_active(gesture: *mut GtkGesture) -> gboolean;
15224    pub fn gtk_gesture_is_grouped_with(
15225        gesture: *mut GtkGesture,
15226        other: *mut GtkGesture,
15227    ) -> gboolean;
15228    pub fn gtk_gesture_is_recognized(gesture: *mut GtkGesture) -> gboolean;
15229    pub fn gtk_gesture_set_sequence_state(
15230        gesture: *mut GtkGesture,
15231        sequence: *mut gdk::GdkEventSequence,
15232        state: GtkEventSequenceState,
15233    ) -> gboolean;
15234    pub fn gtk_gesture_set_state(
15235        gesture: *mut GtkGesture,
15236        state: GtkEventSequenceState,
15237    ) -> gboolean;
15238    pub fn gtk_gesture_ungroup(gesture: *mut GtkGesture);
15239
15240    //=========================================================================
15241    // GtkGestureClick
15242    //=========================================================================
15243    pub fn gtk_gesture_click_get_type() -> GType;
15244    pub fn gtk_gesture_click_new() -> *mut GtkGesture;
15245
15246    //=========================================================================
15247    // GtkGestureDrag
15248    //=========================================================================
15249    pub fn gtk_gesture_drag_get_type() -> GType;
15250    pub fn gtk_gesture_drag_new() -> *mut GtkGesture;
15251    pub fn gtk_gesture_drag_get_offset(
15252        gesture: *mut GtkGestureDrag,
15253        x: *mut c_double,
15254        y: *mut c_double,
15255    ) -> gboolean;
15256    pub fn gtk_gesture_drag_get_start_point(
15257        gesture: *mut GtkGestureDrag,
15258        x: *mut c_double,
15259        y: *mut c_double,
15260    ) -> gboolean;
15261
15262    //=========================================================================
15263    // GtkGestureLongPress
15264    //=========================================================================
15265    pub fn gtk_gesture_long_press_get_type() -> GType;
15266    pub fn gtk_gesture_long_press_new() -> *mut GtkGesture;
15267    pub fn gtk_gesture_long_press_get_delay_factor(gesture: *mut GtkGestureLongPress) -> c_double;
15268    pub fn gtk_gesture_long_press_set_delay_factor(
15269        gesture: *mut GtkGestureLongPress,
15270        delay_factor: c_double,
15271    );
15272
15273    //=========================================================================
15274    // GtkGesturePan
15275    //=========================================================================
15276    pub fn gtk_gesture_pan_get_type() -> GType;
15277    pub fn gtk_gesture_pan_new(orientation: GtkOrientation) -> *mut GtkGesture;
15278    pub fn gtk_gesture_pan_get_orientation(gesture: *mut GtkGesturePan) -> GtkOrientation;
15279    pub fn gtk_gesture_pan_set_orientation(
15280        gesture: *mut GtkGesturePan,
15281        orientation: GtkOrientation,
15282    );
15283
15284    //=========================================================================
15285    // GtkGestureRotate
15286    //=========================================================================
15287    pub fn gtk_gesture_rotate_get_type() -> GType;
15288    pub fn gtk_gesture_rotate_new() -> *mut GtkGesture;
15289    pub fn gtk_gesture_rotate_get_angle_delta(gesture: *mut GtkGestureRotate) -> c_double;
15290
15291    //=========================================================================
15292    // GtkGestureSingle
15293    //=========================================================================
15294    pub fn gtk_gesture_single_get_type() -> GType;
15295    pub fn gtk_gesture_single_get_button(gesture: *mut GtkGestureSingle) -> c_uint;
15296    pub fn gtk_gesture_single_get_current_button(gesture: *mut GtkGestureSingle) -> c_uint;
15297    pub fn gtk_gesture_single_get_current_sequence(
15298        gesture: *mut GtkGestureSingle,
15299    ) -> *mut gdk::GdkEventSequence;
15300    pub fn gtk_gesture_single_get_exclusive(gesture: *mut GtkGestureSingle) -> gboolean;
15301    pub fn gtk_gesture_single_get_touch_only(gesture: *mut GtkGestureSingle) -> gboolean;
15302    pub fn gtk_gesture_single_set_button(gesture: *mut GtkGestureSingle, button: c_uint);
15303    pub fn gtk_gesture_single_set_exclusive(gesture: *mut GtkGestureSingle, exclusive: gboolean);
15304    pub fn gtk_gesture_single_set_touch_only(gesture: *mut GtkGestureSingle, touch_only: gboolean);
15305
15306    //=========================================================================
15307    // GtkGestureStylus
15308    //=========================================================================
15309    pub fn gtk_gesture_stylus_get_type() -> GType;
15310    pub fn gtk_gesture_stylus_new() -> *mut GtkGesture;
15311    pub fn gtk_gesture_stylus_get_axes(
15312        gesture: *mut GtkGestureStylus,
15313        axes: *mut gdk::GdkAxisUse,
15314        values: *mut *mut c_double,
15315    ) -> gboolean;
15316    pub fn gtk_gesture_stylus_get_axis(
15317        gesture: *mut GtkGestureStylus,
15318        axis: gdk::GdkAxisUse,
15319        value: *mut c_double,
15320    ) -> gboolean;
15321    pub fn gtk_gesture_stylus_get_backlog(
15322        gesture: *mut GtkGestureStylus,
15323        backlog: *mut *mut gdk::GdkTimeCoord,
15324        n_elems: *mut c_uint,
15325    ) -> gboolean;
15326    pub fn gtk_gesture_stylus_get_device_tool(
15327        gesture: *mut GtkGestureStylus,
15328    ) -> *mut gdk::GdkDeviceTool;
15329    #[cfg(feature = "v4_10")]
15330    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15331    pub fn gtk_gesture_stylus_get_stylus_only(gesture: *mut GtkGestureStylus) -> gboolean;
15332    #[cfg(feature = "v4_10")]
15333    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
15334    pub fn gtk_gesture_stylus_set_stylus_only(
15335        gesture: *mut GtkGestureStylus,
15336        stylus_only: gboolean,
15337    );
15338
15339    //=========================================================================
15340    // GtkGestureSwipe
15341    //=========================================================================
15342    pub fn gtk_gesture_swipe_get_type() -> GType;
15343    pub fn gtk_gesture_swipe_new() -> *mut GtkGesture;
15344    pub fn gtk_gesture_swipe_get_velocity(
15345        gesture: *mut GtkGestureSwipe,
15346        velocity_x: *mut c_double,
15347        velocity_y: *mut c_double,
15348    ) -> gboolean;
15349
15350    //=========================================================================
15351    // GtkGestureZoom
15352    //=========================================================================
15353    pub fn gtk_gesture_zoom_get_type() -> GType;
15354    pub fn gtk_gesture_zoom_new() -> *mut GtkGesture;
15355    pub fn gtk_gesture_zoom_get_scale_delta(gesture: *mut GtkGestureZoom) -> c_double;
15356
15357    //=========================================================================
15358    // GtkGraphicsOffload
15359    //=========================================================================
15360    #[cfg(feature = "v4_14")]
15361    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15362    pub fn gtk_graphics_offload_get_type() -> GType;
15363    #[cfg(feature = "v4_14")]
15364    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15365    pub fn gtk_graphics_offload_new(child: *mut GtkWidget) -> *mut GtkWidget;
15366    #[cfg(feature = "v4_16")]
15367    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
15368    pub fn gtk_graphics_offload_get_black_background(self_: *mut GtkGraphicsOffload) -> gboolean;
15369    #[cfg(feature = "v4_14")]
15370    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15371    pub fn gtk_graphics_offload_get_child(self_: *mut GtkGraphicsOffload) -> *mut GtkWidget;
15372    #[cfg(feature = "v4_14")]
15373    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15374    pub fn gtk_graphics_offload_get_enabled(
15375        self_: *mut GtkGraphicsOffload,
15376    ) -> GtkGraphicsOffloadEnabled;
15377    #[cfg(feature = "v4_16")]
15378    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
15379    pub fn gtk_graphics_offload_set_black_background(
15380        self_: *mut GtkGraphicsOffload,
15381        value: gboolean,
15382    );
15383    #[cfg(feature = "v4_14")]
15384    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15385    pub fn gtk_graphics_offload_set_child(self_: *mut GtkGraphicsOffload, child: *mut GtkWidget);
15386    #[cfg(feature = "v4_14")]
15387    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15388    pub fn gtk_graphics_offload_set_enabled(
15389        self_: *mut GtkGraphicsOffload,
15390        enabled: GtkGraphicsOffloadEnabled,
15391    );
15392
15393    //=========================================================================
15394    // GtkGrid
15395    //=========================================================================
15396    pub fn gtk_grid_get_type() -> GType;
15397    pub fn gtk_grid_new() -> *mut GtkWidget;
15398    pub fn gtk_grid_attach(
15399        grid: *mut GtkGrid,
15400        child: *mut GtkWidget,
15401        column: c_int,
15402        row: c_int,
15403        width: c_int,
15404        height: c_int,
15405    );
15406    pub fn gtk_grid_attach_next_to(
15407        grid: *mut GtkGrid,
15408        child: *mut GtkWidget,
15409        sibling: *mut GtkWidget,
15410        side: GtkPositionType,
15411        width: c_int,
15412        height: c_int,
15413    );
15414    pub fn gtk_grid_get_baseline_row(grid: *mut GtkGrid) -> c_int;
15415    pub fn gtk_grid_get_child_at(grid: *mut GtkGrid, column: c_int, row: c_int) -> *mut GtkWidget;
15416    pub fn gtk_grid_get_column_homogeneous(grid: *mut GtkGrid) -> gboolean;
15417    pub fn gtk_grid_get_column_spacing(grid: *mut GtkGrid) -> c_uint;
15418    pub fn gtk_grid_get_row_baseline_position(
15419        grid: *mut GtkGrid,
15420        row: c_int,
15421    ) -> GtkBaselinePosition;
15422    pub fn gtk_grid_get_row_homogeneous(grid: *mut GtkGrid) -> gboolean;
15423    pub fn gtk_grid_get_row_spacing(grid: *mut GtkGrid) -> c_uint;
15424    pub fn gtk_grid_insert_column(grid: *mut GtkGrid, position: c_int);
15425    pub fn gtk_grid_insert_next_to(
15426        grid: *mut GtkGrid,
15427        sibling: *mut GtkWidget,
15428        side: GtkPositionType,
15429    );
15430    pub fn gtk_grid_insert_row(grid: *mut GtkGrid, position: c_int);
15431    pub fn gtk_grid_query_child(
15432        grid: *mut GtkGrid,
15433        child: *mut GtkWidget,
15434        column: *mut c_int,
15435        row: *mut c_int,
15436        width: *mut c_int,
15437        height: *mut c_int,
15438    );
15439    pub fn gtk_grid_remove(grid: *mut GtkGrid, child: *mut GtkWidget);
15440    pub fn gtk_grid_remove_column(grid: *mut GtkGrid, position: c_int);
15441    pub fn gtk_grid_remove_row(grid: *mut GtkGrid, position: c_int);
15442    pub fn gtk_grid_set_baseline_row(grid: *mut GtkGrid, row: c_int);
15443    pub fn gtk_grid_set_column_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
15444    pub fn gtk_grid_set_column_spacing(grid: *mut GtkGrid, spacing: c_uint);
15445    pub fn gtk_grid_set_row_baseline_position(
15446        grid: *mut GtkGrid,
15447        row: c_int,
15448        pos: GtkBaselinePosition,
15449    );
15450    pub fn gtk_grid_set_row_homogeneous(grid: *mut GtkGrid, homogeneous: gboolean);
15451    pub fn gtk_grid_set_row_spacing(grid: *mut GtkGrid, spacing: c_uint);
15452
15453    //=========================================================================
15454    // GtkGridLayout
15455    //=========================================================================
15456    pub fn gtk_grid_layout_get_type() -> GType;
15457    pub fn gtk_grid_layout_new() -> *mut GtkLayoutManager;
15458    pub fn gtk_grid_layout_get_baseline_row(grid: *mut GtkGridLayout) -> c_int;
15459    pub fn gtk_grid_layout_get_column_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
15460    pub fn gtk_grid_layout_get_column_spacing(grid: *mut GtkGridLayout) -> c_uint;
15461    pub fn gtk_grid_layout_get_row_baseline_position(
15462        grid: *mut GtkGridLayout,
15463        row: c_int,
15464    ) -> GtkBaselinePosition;
15465    pub fn gtk_grid_layout_get_row_homogeneous(grid: *mut GtkGridLayout) -> gboolean;
15466    pub fn gtk_grid_layout_get_row_spacing(grid: *mut GtkGridLayout) -> c_uint;
15467    pub fn gtk_grid_layout_set_baseline_row(grid: *mut GtkGridLayout, row: c_int);
15468    pub fn gtk_grid_layout_set_column_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
15469    pub fn gtk_grid_layout_set_column_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
15470    pub fn gtk_grid_layout_set_row_baseline_position(
15471        grid: *mut GtkGridLayout,
15472        row: c_int,
15473        pos: GtkBaselinePosition,
15474    );
15475    pub fn gtk_grid_layout_set_row_homogeneous(grid: *mut GtkGridLayout, homogeneous: gboolean);
15476    pub fn gtk_grid_layout_set_row_spacing(grid: *mut GtkGridLayout, spacing: c_uint);
15477
15478    //=========================================================================
15479    // GtkGridLayoutChild
15480    //=========================================================================
15481    pub fn gtk_grid_layout_child_get_type() -> GType;
15482    pub fn gtk_grid_layout_child_get_column(child: *mut GtkGridLayoutChild) -> c_int;
15483    pub fn gtk_grid_layout_child_get_column_span(child: *mut GtkGridLayoutChild) -> c_int;
15484    pub fn gtk_grid_layout_child_get_row(child: *mut GtkGridLayoutChild) -> c_int;
15485    pub fn gtk_grid_layout_child_get_row_span(child: *mut GtkGridLayoutChild) -> c_int;
15486    pub fn gtk_grid_layout_child_set_column(child: *mut GtkGridLayoutChild, column: c_int);
15487    pub fn gtk_grid_layout_child_set_column_span(child: *mut GtkGridLayoutChild, span: c_int);
15488    pub fn gtk_grid_layout_child_set_row(child: *mut GtkGridLayoutChild, row: c_int);
15489    pub fn gtk_grid_layout_child_set_row_span(child: *mut GtkGridLayoutChild, span: c_int);
15490
15491    //=========================================================================
15492    // GtkGridView
15493    //=========================================================================
15494    pub fn gtk_grid_view_get_type() -> GType;
15495    pub fn gtk_grid_view_new(
15496        model: *mut GtkSelectionModel,
15497        factory: *mut GtkListItemFactory,
15498    ) -> *mut GtkWidget;
15499    pub fn gtk_grid_view_get_enable_rubberband(self_: *mut GtkGridView) -> gboolean;
15500    pub fn gtk_grid_view_get_factory(self_: *mut GtkGridView) -> *mut GtkListItemFactory;
15501    #[cfg(feature = "v4_26")]
15502    #[cfg_attr(docsrs, doc(cfg(feature = "v4_26")))]
15503    pub fn gtk_grid_view_get_header_factory(self_: *mut GtkGridView) -> *mut GtkListItemFactory;
15504    pub fn gtk_grid_view_get_max_columns(self_: *mut GtkGridView) -> c_uint;
15505    pub fn gtk_grid_view_get_min_columns(self_: *mut GtkGridView) -> c_uint;
15506    pub fn gtk_grid_view_get_model(self_: *mut GtkGridView) -> *mut GtkSelectionModel;
15507    pub fn gtk_grid_view_get_single_click_activate(self_: *mut GtkGridView) -> gboolean;
15508    #[cfg(feature = "v4_12")]
15509    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15510    pub fn gtk_grid_view_get_tab_behavior(self_: *mut GtkGridView) -> GtkListTabBehavior;
15511    #[cfg(feature = "v4_12")]
15512    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15513    pub fn gtk_grid_view_scroll_to(
15514        self_: *mut GtkGridView,
15515        pos: c_uint,
15516        flags: GtkListScrollFlags,
15517        scroll: *mut GtkScrollInfo,
15518    );
15519    pub fn gtk_grid_view_set_enable_rubberband(
15520        self_: *mut GtkGridView,
15521        enable_rubberband: gboolean,
15522    );
15523    pub fn gtk_grid_view_set_factory(self_: *mut GtkGridView, factory: *mut GtkListItemFactory);
15524    #[cfg(feature = "v4_26")]
15525    #[cfg_attr(docsrs, doc(cfg(feature = "v4_26")))]
15526    pub fn gtk_grid_view_set_header_factory(
15527        self_: *mut GtkGridView,
15528        factory: *mut GtkListItemFactory,
15529    );
15530    pub fn gtk_grid_view_set_max_columns(self_: *mut GtkGridView, max_columns: c_uint);
15531    pub fn gtk_grid_view_set_min_columns(self_: *mut GtkGridView, min_columns: c_uint);
15532    pub fn gtk_grid_view_set_model(self_: *mut GtkGridView, model: *mut GtkSelectionModel);
15533    pub fn gtk_grid_view_set_single_click_activate(
15534        self_: *mut GtkGridView,
15535        single_click_activate: gboolean,
15536    );
15537    #[cfg(feature = "v4_12")]
15538    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
15539    pub fn gtk_grid_view_set_tab_behavior(
15540        self_: *mut GtkGridView,
15541        tab_behavior: GtkListTabBehavior,
15542    );
15543
15544    //=========================================================================
15545    // GtkHeaderBar
15546    //=========================================================================
15547    pub fn gtk_header_bar_get_type() -> GType;
15548    pub fn gtk_header_bar_new() -> *mut GtkWidget;
15549    pub fn gtk_header_bar_get_decoration_layout(bar: *mut GtkHeaderBar) -> *const c_char;
15550    pub fn gtk_header_bar_get_show_title_buttons(bar: *mut GtkHeaderBar) -> gboolean;
15551    pub fn gtk_header_bar_get_title_widget(bar: *mut GtkHeaderBar) -> *mut GtkWidget;
15552    #[cfg(feature = "v4_18")]
15553    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15554    pub fn gtk_header_bar_get_use_native_controls(bar: *mut GtkHeaderBar) -> gboolean;
15555    pub fn gtk_header_bar_pack_end(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15556    pub fn gtk_header_bar_pack_start(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15557    pub fn gtk_header_bar_remove(bar: *mut GtkHeaderBar, child: *mut GtkWidget);
15558    pub fn gtk_header_bar_set_decoration_layout(bar: *mut GtkHeaderBar, layout: *const c_char);
15559    pub fn gtk_header_bar_set_show_title_buttons(bar: *mut GtkHeaderBar, setting: gboolean);
15560    pub fn gtk_header_bar_set_title_widget(bar: *mut GtkHeaderBar, title_widget: *mut GtkWidget);
15561    #[cfg(feature = "v4_18")]
15562    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
15563    pub fn gtk_header_bar_set_use_native_controls(bar: *mut GtkHeaderBar, setting: gboolean);
15564
15565    //=========================================================================
15566    // GtkIMContext
15567    //=========================================================================
15568    pub fn gtk_im_context_get_type() -> GType;
15569    #[cfg(feature = "v4_14")]
15570    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
15571    pub fn gtk_im_context_activate_osk(
15572        context: *mut GtkIMContext,
15573        event: *mut gdk::GdkEvent,
15574    ) -> gboolean;
15575    pub fn gtk_im_context_delete_surrounding(
15576        context: *mut GtkIMContext,
15577        offset: c_int,
15578        n_chars: c_int,
15579    ) -> gboolean;
15580    pub fn gtk_im_context_filter_key(
15581        context: *mut GtkIMContext,
15582        press: gboolean,
15583        surface: *mut gdk::GdkSurface,
15584        device: *mut gdk::GdkDevice,
15585        time: u32,
15586        keycode: c_uint,
15587        state: gdk::GdkModifierType,
15588        group: c_int,
15589    ) -> gboolean;
15590    pub fn gtk_im_context_filter_keypress(
15591        context: *mut GtkIMContext,
15592        event: *mut gdk::GdkEvent,
15593    ) -> gboolean;
15594    pub fn gtk_im_context_focus_in(context: *mut GtkIMContext);
15595    pub fn gtk_im_context_focus_out(context: *mut GtkIMContext);
15596    #[cfg(feature = "v4_24")]
15597    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
15598    pub fn gtk_im_context_get_client_widget(context: *mut GtkIMContext) -> *mut GtkWidget;
15599    pub fn gtk_im_context_get_preedit_string(
15600        context: *mut GtkIMContext,
15601        str: *mut *mut c_char,
15602        attrs: *mut *mut pango::PangoAttrList,
15603        cursor_pos: *mut c_int,
15604    );
15605    pub fn gtk_im_context_get_surrounding(
15606        context: *mut GtkIMContext,
15607        text: *mut *mut c_char,
15608        cursor_index: *mut c_int,
15609    ) -> gboolean;
15610    #[cfg(feature = "v4_2")]
15611    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15612    pub fn gtk_im_context_get_surrounding_with_selection(
15613        context: *mut GtkIMContext,
15614        text: *mut *mut c_char,
15615        cursor_index: *mut c_int,
15616        anchor_index: *mut c_int,
15617    ) -> gboolean;
15618    pub fn gtk_im_context_reset(context: *mut GtkIMContext);
15619    pub fn gtk_im_context_set_client_widget(context: *mut GtkIMContext, widget: *mut GtkWidget);
15620    pub fn gtk_im_context_set_cursor_location(
15621        context: *mut GtkIMContext,
15622        area: *const gdk::GdkRectangle,
15623    );
15624    pub fn gtk_im_context_set_surrounding(
15625        context: *mut GtkIMContext,
15626        text: *const c_char,
15627        len: c_int,
15628        cursor_index: c_int,
15629    );
15630    #[cfg(feature = "v4_2")]
15631    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15632    pub fn gtk_im_context_set_surrounding_with_selection(
15633        context: *mut GtkIMContext,
15634        text: *const c_char,
15635        len: c_int,
15636        cursor_index: c_int,
15637        anchor_index: c_int,
15638    );
15639    pub fn gtk_im_context_set_use_preedit(context: *mut GtkIMContext, use_preedit: gboolean);
15640
15641    //=========================================================================
15642    // GtkIMContextSimple
15643    //=========================================================================
15644    pub fn gtk_im_context_simple_get_type() -> GType;
15645    pub fn gtk_im_context_simple_new() -> *mut GtkIMContext;
15646    pub fn gtk_im_context_simple_add_compose_file(
15647        context_simple: *mut GtkIMContextSimple,
15648        compose_file: *const c_char,
15649    );
15650    pub fn gtk_im_context_simple_add_table(
15651        context_simple: *mut GtkIMContextSimple,
15652        data: *mut u16,
15653        max_seq_len: c_int,
15654        n_seqs: c_int,
15655    );
15656
15657    //=========================================================================
15658    // GtkIMMulticontext
15659    //=========================================================================
15660    pub fn gtk_im_multicontext_get_type() -> GType;
15661    pub fn gtk_im_multicontext_new() -> *mut GtkIMContext;
15662    pub fn gtk_im_multicontext_get_context_id(context: *mut GtkIMMulticontext) -> *const c_char;
15663    pub fn gtk_im_multicontext_set_context_id(
15664        context: *mut GtkIMMulticontext,
15665        context_id: *const c_char,
15666    );
15667
15668    //=========================================================================
15669    // GtkIconPaintable
15670    //=========================================================================
15671    pub fn gtk_icon_paintable_get_type() -> GType;
15672    pub fn gtk_icon_paintable_new_for_file(
15673        file: *mut gio::GFile,
15674        size: c_int,
15675        scale: c_int,
15676    ) -> *mut GtkIconPaintable;
15677    pub fn gtk_icon_paintable_get_file(self_: *mut GtkIconPaintable) -> *mut gio::GFile;
15678    pub fn gtk_icon_paintable_get_icon_name(self_: *mut GtkIconPaintable) -> *const c_char;
15679    pub fn gtk_icon_paintable_is_symbolic(self_: *mut GtkIconPaintable) -> gboolean;
15680
15681    //=========================================================================
15682    // GtkIconTheme
15683    //=========================================================================
15684    pub fn gtk_icon_theme_get_type() -> GType;
15685    pub fn gtk_icon_theme_new() -> *mut GtkIconTheme;
15686    pub fn gtk_icon_theme_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkIconTheme;
15687    pub fn gtk_icon_theme_add_resource_path(self_: *mut GtkIconTheme, path: *const c_char);
15688    pub fn gtk_icon_theme_add_search_path(self_: *mut GtkIconTheme, path: *const c_char);
15689    pub fn gtk_icon_theme_get_display(self_: *mut GtkIconTheme) -> *mut gdk::GdkDisplay;
15690    pub fn gtk_icon_theme_get_icon_names(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15691    pub fn gtk_icon_theme_get_icon_sizes(
15692        self_: *mut GtkIconTheme,
15693        icon_name: *const c_char,
15694    ) -> *mut c_int;
15695    pub fn gtk_icon_theme_get_resource_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15696    pub fn gtk_icon_theme_get_search_path(self_: *mut GtkIconTheme) -> *mut *mut c_char;
15697    pub fn gtk_icon_theme_get_theme_name(self_: *mut GtkIconTheme) -> *mut c_char;
15698    #[cfg(feature = "v4_2")]
15699    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
15700    pub fn gtk_icon_theme_has_gicon(self_: *mut GtkIconTheme, gicon: *mut gio::GIcon) -> gboolean;
15701    pub fn gtk_icon_theme_has_icon(self_: *mut GtkIconTheme, icon_name: *const c_char) -> gboolean;
15702    pub fn gtk_icon_theme_lookup_by_gicon(
15703        self_: *mut GtkIconTheme,
15704        icon: *mut gio::GIcon,
15705        size: c_int,
15706        scale: c_int,
15707        direction: GtkTextDirection,
15708        flags: GtkIconLookupFlags,
15709    ) -> *mut GtkIconPaintable;
15710    pub fn gtk_icon_theme_lookup_icon(
15711        self_: *mut GtkIconTheme,
15712        icon_name: *const c_char,
15713        fallbacks: *mut *const c_char,
15714        size: c_int,
15715        scale: c_int,
15716        direction: GtkTextDirection,
15717        flags: GtkIconLookupFlags,
15718    ) -> *mut GtkIconPaintable;
15719    pub fn gtk_icon_theme_set_resource_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15720    pub fn gtk_icon_theme_set_search_path(self_: *mut GtkIconTheme, path: *const *const c_char);
15721    pub fn gtk_icon_theme_set_theme_name(self_: *mut GtkIconTheme, theme_name: *const c_char);
15722
15723    //=========================================================================
15724    // GtkIconView
15725    //=========================================================================
15726    pub fn gtk_icon_view_get_type() -> GType;
15727    pub fn gtk_icon_view_new() -> *mut GtkWidget;
15728    pub fn gtk_icon_view_new_with_area(area: *mut GtkCellArea) -> *mut GtkWidget;
15729    pub fn gtk_icon_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
15730    pub fn gtk_icon_view_create_drag_icon(
15731        icon_view: *mut GtkIconView,
15732        path: *mut GtkTreePath,
15733    ) -> *mut gdk::GdkPaintable;
15734    pub fn gtk_icon_view_enable_model_drag_dest(
15735        icon_view: *mut GtkIconView,
15736        formats: *mut gdk::GdkContentFormats,
15737        actions: gdk::GdkDragAction,
15738    );
15739    pub fn gtk_icon_view_enable_model_drag_source(
15740        icon_view: *mut GtkIconView,
15741        start_button_mask: gdk::GdkModifierType,
15742        formats: *mut gdk::GdkContentFormats,
15743        actions: gdk::GdkDragAction,
15744    );
15745    pub fn gtk_icon_view_get_activate_on_single_click(icon_view: *mut GtkIconView) -> gboolean;
15746    pub fn gtk_icon_view_get_cell_rect(
15747        icon_view: *mut GtkIconView,
15748        path: *mut GtkTreePath,
15749        cell: *mut GtkCellRenderer,
15750        rect: *mut gdk::GdkRectangle,
15751    ) -> gboolean;
15752    pub fn gtk_icon_view_get_column_spacing(icon_view: *mut GtkIconView) -> c_int;
15753    pub fn gtk_icon_view_get_columns(icon_view: *mut GtkIconView) -> c_int;
15754    pub fn gtk_icon_view_get_cursor(
15755        icon_view: *mut GtkIconView,
15756        path: *mut *mut GtkTreePath,
15757        cell: *mut *mut GtkCellRenderer,
15758    ) -> gboolean;
15759    pub fn gtk_icon_view_get_dest_item_at_pos(
15760        icon_view: *mut GtkIconView,
15761        drag_x: c_int,
15762        drag_y: c_int,
15763        path: *mut *mut GtkTreePath,
15764        pos: *mut GtkIconViewDropPosition,
15765    ) -> gboolean;
15766    pub fn gtk_icon_view_get_drag_dest_item(
15767        icon_view: *mut GtkIconView,
15768        path: *mut *mut GtkTreePath,
15769        pos: *mut GtkIconViewDropPosition,
15770    );
15771    pub fn gtk_icon_view_get_item_at_pos(
15772        icon_view: *mut GtkIconView,
15773        x: c_int,
15774        y: c_int,
15775        path: *mut *mut GtkTreePath,
15776        cell: *mut *mut GtkCellRenderer,
15777    ) -> gboolean;
15778    pub fn gtk_icon_view_get_item_column(
15779        icon_view: *mut GtkIconView,
15780        path: *mut GtkTreePath,
15781    ) -> c_int;
15782    pub fn gtk_icon_view_get_item_orientation(icon_view: *mut GtkIconView) -> GtkOrientation;
15783    pub fn gtk_icon_view_get_item_padding(icon_view: *mut GtkIconView) -> c_int;
15784    pub fn gtk_icon_view_get_item_row(icon_view: *mut GtkIconView, path: *mut GtkTreePath)
15785    -> c_int;
15786    pub fn gtk_icon_view_get_item_width(icon_view: *mut GtkIconView) -> c_int;
15787    pub fn gtk_icon_view_get_margin(icon_view: *mut GtkIconView) -> c_int;
15788    pub fn gtk_icon_view_get_markup_column(icon_view: *mut GtkIconView) -> c_int;
15789    pub fn gtk_icon_view_get_model(icon_view: *mut GtkIconView) -> *mut GtkTreeModel;
15790    pub fn gtk_icon_view_get_path_at_pos(
15791        icon_view: *mut GtkIconView,
15792        x: c_int,
15793        y: c_int,
15794    ) -> *mut GtkTreePath;
15795    pub fn gtk_icon_view_get_pixbuf_column(icon_view: *mut GtkIconView) -> c_int;
15796    pub fn gtk_icon_view_get_reorderable(icon_view: *mut GtkIconView) -> gboolean;
15797    pub fn gtk_icon_view_get_row_spacing(icon_view: *mut GtkIconView) -> c_int;
15798    pub fn gtk_icon_view_get_selected_items(icon_view: *mut GtkIconView) -> *mut glib::GList;
15799    pub fn gtk_icon_view_get_selection_mode(icon_view: *mut GtkIconView) -> GtkSelectionMode;
15800    pub fn gtk_icon_view_get_spacing(icon_view: *mut GtkIconView) -> c_int;
15801    pub fn gtk_icon_view_get_text_column(icon_view: *mut GtkIconView) -> c_int;
15802    pub fn gtk_icon_view_get_tooltip_column(icon_view: *mut GtkIconView) -> c_int;
15803    pub fn gtk_icon_view_get_tooltip_context(
15804        icon_view: *mut GtkIconView,
15805        x: c_int,
15806        y: c_int,
15807        keyboard_tip: gboolean,
15808        model: *mut *mut GtkTreeModel,
15809        path: *mut *mut GtkTreePath,
15810        iter: *mut GtkTreeIter,
15811    ) -> gboolean;
15812    pub fn gtk_icon_view_get_visible_range(
15813        icon_view: *mut GtkIconView,
15814        start_path: *mut *mut GtkTreePath,
15815        end_path: *mut *mut GtkTreePath,
15816    ) -> gboolean;
15817    pub fn gtk_icon_view_item_activated(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15818    pub fn gtk_icon_view_path_is_selected(
15819        icon_view: *mut GtkIconView,
15820        path: *mut GtkTreePath,
15821    ) -> gboolean;
15822    pub fn gtk_icon_view_scroll_to_path(
15823        icon_view: *mut GtkIconView,
15824        path: *mut GtkTreePath,
15825        use_align: gboolean,
15826        row_align: c_float,
15827        col_align: c_float,
15828    );
15829    pub fn gtk_icon_view_select_all(icon_view: *mut GtkIconView);
15830    pub fn gtk_icon_view_select_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15831    pub fn gtk_icon_view_selected_foreach(
15832        icon_view: *mut GtkIconView,
15833        func: GtkIconViewForeachFunc,
15834        data: gpointer,
15835    );
15836    pub fn gtk_icon_view_set_activate_on_single_click(
15837        icon_view: *mut GtkIconView,
15838        single: gboolean,
15839    );
15840    pub fn gtk_icon_view_set_column_spacing(icon_view: *mut GtkIconView, column_spacing: c_int);
15841    pub fn gtk_icon_view_set_columns(icon_view: *mut GtkIconView, columns: c_int);
15842    pub fn gtk_icon_view_set_cursor(
15843        icon_view: *mut GtkIconView,
15844        path: *mut GtkTreePath,
15845        cell: *mut GtkCellRenderer,
15846        start_editing: gboolean,
15847    );
15848    pub fn gtk_icon_view_set_drag_dest_item(
15849        icon_view: *mut GtkIconView,
15850        path: *mut GtkTreePath,
15851        pos: GtkIconViewDropPosition,
15852    );
15853    pub fn gtk_icon_view_set_item_orientation(
15854        icon_view: *mut GtkIconView,
15855        orientation: GtkOrientation,
15856    );
15857    pub fn gtk_icon_view_set_item_padding(icon_view: *mut GtkIconView, item_padding: c_int);
15858    pub fn gtk_icon_view_set_item_width(icon_view: *mut GtkIconView, item_width: c_int);
15859    pub fn gtk_icon_view_set_margin(icon_view: *mut GtkIconView, margin: c_int);
15860    pub fn gtk_icon_view_set_markup_column(icon_view: *mut GtkIconView, column: c_int);
15861    pub fn gtk_icon_view_set_model(icon_view: *mut GtkIconView, model: *mut GtkTreeModel);
15862    pub fn gtk_icon_view_set_pixbuf_column(icon_view: *mut GtkIconView, column: c_int);
15863    pub fn gtk_icon_view_set_reorderable(icon_view: *mut GtkIconView, reorderable: gboolean);
15864    pub fn gtk_icon_view_set_row_spacing(icon_view: *mut GtkIconView, row_spacing: c_int);
15865    pub fn gtk_icon_view_set_selection_mode(icon_view: *mut GtkIconView, mode: GtkSelectionMode);
15866    pub fn gtk_icon_view_set_spacing(icon_view: *mut GtkIconView, spacing: c_int);
15867    pub fn gtk_icon_view_set_text_column(icon_view: *mut GtkIconView, column: c_int);
15868    pub fn gtk_icon_view_set_tooltip_cell(
15869        icon_view: *mut GtkIconView,
15870        tooltip: *mut GtkTooltip,
15871        path: *mut GtkTreePath,
15872        cell: *mut GtkCellRenderer,
15873    );
15874    pub fn gtk_icon_view_set_tooltip_column(icon_view: *mut GtkIconView, column: c_int);
15875    pub fn gtk_icon_view_set_tooltip_item(
15876        icon_view: *mut GtkIconView,
15877        tooltip: *mut GtkTooltip,
15878        path: *mut GtkTreePath,
15879    );
15880    pub fn gtk_icon_view_unselect_all(icon_view: *mut GtkIconView);
15881    pub fn gtk_icon_view_unselect_path(icon_view: *mut GtkIconView, path: *mut GtkTreePath);
15882    pub fn gtk_icon_view_unset_model_drag_dest(icon_view: *mut GtkIconView);
15883    pub fn gtk_icon_view_unset_model_drag_source(icon_view: *mut GtkIconView);
15884
15885    //=========================================================================
15886    // GtkImage
15887    //=========================================================================
15888    pub fn gtk_image_get_type() -> GType;
15889    pub fn gtk_image_new() -> *mut GtkWidget;
15890    pub fn gtk_image_new_from_file(filename: *const c_char) -> *mut GtkWidget;
15891    pub fn gtk_image_new_from_gicon(icon: *mut gio::GIcon) -> *mut GtkWidget;
15892    pub fn gtk_image_new_from_icon_name(icon_name: *const c_char) -> *mut GtkWidget;
15893    pub fn gtk_image_new_from_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
15894    pub fn gtk_image_new_from_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
15895    pub fn gtk_image_new_from_resource(resource_path: *const c_char) -> *mut GtkWidget;
15896    pub fn gtk_image_clear(image: *mut GtkImage);
15897    pub fn gtk_image_get_gicon(image: *mut GtkImage) -> *mut gio::GIcon;
15898    pub fn gtk_image_get_icon_name(image: *mut GtkImage) -> *const c_char;
15899    pub fn gtk_image_get_icon_size(image: *mut GtkImage) -> GtkIconSize;
15900    pub fn gtk_image_get_paintable(image: *mut GtkImage) -> *mut gdk::GdkPaintable;
15901    pub fn gtk_image_get_pixel_size(image: *mut GtkImage) -> c_int;
15902    pub fn gtk_image_get_storage_type(image: *mut GtkImage) -> GtkImageType;
15903    pub fn gtk_image_set_from_file(image: *mut GtkImage, filename: *const c_char);
15904    pub fn gtk_image_set_from_gicon(image: *mut GtkImage, icon: *mut gio::GIcon);
15905    pub fn gtk_image_set_from_icon_name(image: *mut GtkImage, icon_name: *const c_char);
15906    pub fn gtk_image_set_from_paintable(image: *mut GtkImage, paintable: *mut gdk::GdkPaintable);
15907    pub fn gtk_image_set_from_pixbuf(image: *mut GtkImage, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
15908    pub fn gtk_image_set_from_resource(image: *mut GtkImage, resource_path: *const c_char);
15909    pub fn gtk_image_set_icon_size(image: *mut GtkImage, icon_size: GtkIconSize);
15910    pub fn gtk_image_set_pixel_size(image: *mut GtkImage, pixel_size: c_int);
15911
15912    //=========================================================================
15913    // GtkInfoBar
15914    //=========================================================================
15915    pub fn gtk_info_bar_get_type() -> GType;
15916    pub fn gtk_info_bar_new() -> *mut GtkWidget;
15917    pub fn gtk_info_bar_new_with_buttons(first_button_text: *const c_char, ...) -> *mut GtkWidget;
15918    pub fn gtk_info_bar_add_action_widget(
15919        info_bar: *mut GtkInfoBar,
15920        child: *mut GtkWidget,
15921        response_id: GtkResponseType,
15922    );
15923    pub fn gtk_info_bar_add_button(
15924        info_bar: *mut GtkInfoBar,
15925        button_text: *const c_char,
15926        response_id: GtkResponseType,
15927    ) -> *mut GtkButton;
15928    pub fn gtk_info_bar_add_buttons(
15929        info_bar: *mut GtkInfoBar,
15930        first_button_text: *const c_char,
15931        ...
15932    );
15933    pub fn gtk_info_bar_add_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15934    pub fn gtk_info_bar_get_message_type(info_bar: *mut GtkInfoBar) -> GtkMessageType;
15935    pub fn gtk_info_bar_get_revealed(info_bar: *mut GtkInfoBar) -> gboolean;
15936    pub fn gtk_info_bar_get_show_close_button(info_bar: *mut GtkInfoBar) -> gboolean;
15937    pub fn gtk_info_bar_remove_action_widget(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15938    pub fn gtk_info_bar_remove_child(info_bar: *mut GtkInfoBar, widget: *mut GtkWidget);
15939    pub fn gtk_info_bar_response(info_bar: *mut GtkInfoBar, response_id: GtkResponseType);
15940    pub fn gtk_info_bar_set_default_response(
15941        info_bar: *mut GtkInfoBar,
15942        response_id: GtkResponseType,
15943    );
15944    pub fn gtk_info_bar_set_message_type(info_bar: *mut GtkInfoBar, message_type: GtkMessageType);
15945    pub fn gtk_info_bar_set_response_sensitive(
15946        info_bar: *mut GtkInfoBar,
15947        response_id: GtkResponseType,
15948        setting: gboolean,
15949    );
15950    pub fn gtk_info_bar_set_revealed(info_bar: *mut GtkInfoBar, revealed: gboolean);
15951    pub fn gtk_info_bar_set_show_close_button(info_bar: *mut GtkInfoBar, setting: gboolean);
15952
15953    //=========================================================================
15954    // GtkInscription
15955    //=========================================================================
15956    #[cfg(feature = "v4_8")]
15957    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15958    pub fn gtk_inscription_get_type() -> GType;
15959    #[cfg(feature = "v4_8")]
15960    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15961    pub fn gtk_inscription_new(text: *const c_char) -> *mut GtkWidget;
15962    #[cfg(feature = "v4_8")]
15963    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15964    pub fn gtk_inscription_get_attributes(self_: *mut GtkInscription) -> *mut pango::PangoAttrList;
15965    #[cfg(feature = "v4_8")]
15966    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15967    pub fn gtk_inscription_get_min_chars(self_: *mut GtkInscription) -> c_uint;
15968    #[cfg(feature = "v4_8")]
15969    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15970    pub fn gtk_inscription_get_min_lines(self_: *mut GtkInscription) -> c_uint;
15971    #[cfg(feature = "v4_8")]
15972    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15973    pub fn gtk_inscription_get_nat_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_nat_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_text(self_: *mut GtkInscription) -> *const c_char;
15980    #[cfg(feature = "v4_8")]
15981    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15982    pub fn gtk_inscription_get_text_overflow(self_: *mut GtkInscription) -> GtkInscriptionOverflow;
15983    #[cfg(feature = "v4_8")]
15984    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15985    pub fn gtk_inscription_get_wrap_mode(self_: *mut GtkInscription) -> pango::PangoWrapMode;
15986    #[cfg(feature = "v4_8")]
15987    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15988    pub fn gtk_inscription_get_xalign(self_: *mut GtkInscription) -> c_float;
15989    #[cfg(feature = "v4_8")]
15990    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15991    pub fn gtk_inscription_get_yalign(self_: *mut GtkInscription) -> c_float;
15992    #[cfg(feature = "v4_8")]
15993    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
15994    pub fn gtk_inscription_set_attributes(
15995        self_: *mut GtkInscription,
15996        attrs: *mut pango::PangoAttrList,
15997    );
15998    #[cfg(feature = "v4_8")]
15999    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16000    pub fn gtk_inscription_set_markup(self_: *mut GtkInscription, markup: *const c_char);
16001    #[cfg(feature = "v4_8")]
16002    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16003    pub fn gtk_inscription_set_min_chars(self_: *mut GtkInscription, min_chars: c_uint);
16004    #[cfg(feature = "v4_8")]
16005    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16006    pub fn gtk_inscription_set_min_lines(self_: *mut GtkInscription, min_lines: c_uint);
16007    #[cfg(feature = "v4_8")]
16008    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16009    pub fn gtk_inscription_set_nat_chars(self_: *mut GtkInscription, nat_chars: c_uint);
16010    #[cfg(feature = "v4_8")]
16011    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16012    pub fn gtk_inscription_set_nat_lines(self_: *mut GtkInscription, nat_lines: c_uint);
16013    #[cfg(feature = "v4_8")]
16014    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16015    pub fn gtk_inscription_set_text(self_: *mut GtkInscription, text: *const c_char);
16016    #[cfg(feature = "v4_8")]
16017    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16018    pub fn gtk_inscription_set_text_overflow(
16019        self_: *mut GtkInscription,
16020        overflow: GtkInscriptionOverflow,
16021    );
16022    #[cfg(feature = "v4_8")]
16023    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16024    pub fn gtk_inscription_set_wrap_mode(
16025        self_: *mut GtkInscription,
16026        wrap_mode: pango::PangoWrapMode,
16027    );
16028    #[cfg(feature = "v4_8")]
16029    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16030    pub fn gtk_inscription_set_xalign(self_: *mut GtkInscription, xalign: c_float);
16031    #[cfg(feature = "v4_8")]
16032    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16033    pub fn gtk_inscription_set_yalign(self_: *mut GtkInscription, yalign: c_float);
16034
16035    //=========================================================================
16036    // GtkKeyvalTrigger
16037    //=========================================================================
16038    pub fn gtk_keyval_trigger_get_type() -> GType;
16039    pub fn gtk_keyval_trigger_new(
16040        keyval: c_uint,
16041        modifiers: gdk::GdkModifierType,
16042    ) -> *mut GtkShortcutTrigger;
16043    pub fn gtk_keyval_trigger_get_keyval(self_: *mut GtkKeyvalTrigger) -> c_uint;
16044    pub fn gtk_keyval_trigger_get_modifiers(self_: *mut GtkKeyvalTrigger) -> gdk::GdkModifierType;
16045
16046    //=========================================================================
16047    // GtkLabel
16048    //=========================================================================
16049    pub fn gtk_label_get_type() -> GType;
16050    pub fn gtk_label_new(str: *const c_char) -> *mut GtkWidget;
16051    pub fn gtk_label_new_with_mnemonic(str: *const c_char) -> *mut GtkWidget;
16052    pub fn gtk_label_get_attributes(self_: *mut GtkLabel) -> *mut pango::PangoAttrList;
16053    pub fn gtk_label_get_current_uri(self_: *mut GtkLabel) -> *const c_char;
16054    pub fn gtk_label_get_ellipsize(self_: *mut GtkLabel) -> pango::PangoEllipsizeMode;
16055    pub fn gtk_label_get_extra_menu(self_: *mut GtkLabel) -> *mut gio::GMenuModel;
16056    pub fn gtk_label_get_justify(self_: *mut GtkLabel) -> GtkJustification;
16057    pub fn gtk_label_get_label(self_: *mut GtkLabel) -> *const c_char;
16058    pub fn gtk_label_get_layout(self_: *mut GtkLabel) -> *mut pango::PangoLayout;
16059    pub fn gtk_label_get_layout_offsets(self_: *mut GtkLabel, x: *mut c_int, y: *mut c_int);
16060    pub fn gtk_label_get_lines(self_: *mut GtkLabel) -> c_int;
16061    pub fn gtk_label_get_max_width_chars(self_: *mut GtkLabel) -> c_int;
16062    pub fn gtk_label_get_mnemonic_keyval(self_: *mut GtkLabel) -> c_uint;
16063    pub fn gtk_label_get_mnemonic_widget(self_: *mut GtkLabel) -> *mut GtkWidget;
16064    #[cfg(feature = "v4_6")]
16065    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16066    pub fn gtk_label_get_natural_wrap_mode(self_: *mut GtkLabel) -> GtkNaturalWrapMode;
16067    pub fn gtk_label_get_selectable(self_: *mut GtkLabel) -> gboolean;
16068    pub fn gtk_label_get_selection_bounds(
16069        self_: *mut GtkLabel,
16070        start: *mut c_int,
16071        end: *mut c_int,
16072    ) -> gboolean;
16073    pub fn gtk_label_get_single_line_mode(self_: *mut GtkLabel) -> gboolean;
16074    #[cfg(feature = "v4_8")]
16075    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16076    pub fn gtk_label_get_tabs(self_: *mut GtkLabel) -> *mut pango::PangoTabArray;
16077    pub fn gtk_label_get_text(self_: *mut GtkLabel) -> *const c_char;
16078    pub fn gtk_label_get_use_markup(self_: *mut GtkLabel) -> gboolean;
16079    pub fn gtk_label_get_use_underline(self_: *mut GtkLabel) -> gboolean;
16080    pub fn gtk_label_get_width_chars(self_: *mut GtkLabel) -> c_int;
16081    pub fn gtk_label_get_wrap(self_: *mut GtkLabel) -> gboolean;
16082    pub fn gtk_label_get_wrap_mode(self_: *mut GtkLabel) -> pango::PangoWrapMode;
16083    pub fn gtk_label_get_xalign(self_: *mut GtkLabel) -> c_float;
16084    pub fn gtk_label_get_yalign(self_: *mut GtkLabel) -> c_float;
16085    pub fn gtk_label_select_region(self_: *mut GtkLabel, start_offset: c_int, end_offset: c_int);
16086    pub fn gtk_label_set_attributes(self_: *mut GtkLabel, attrs: *mut pango::PangoAttrList);
16087    pub fn gtk_label_set_ellipsize(self_: *mut GtkLabel, mode: pango::PangoEllipsizeMode);
16088    pub fn gtk_label_set_extra_menu(self_: *mut GtkLabel, model: *mut gio::GMenuModel);
16089    pub fn gtk_label_set_justify(self_: *mut GtkLabel, jtype: GtkJustification);
16090    pub fn gtk_label_set_label(self_: *mut GtkLabel, str: *const c_char);
16091    pub fn gtk_label_set_lines(self_: *mut GtkLabel, lines: c_int);
16092    pub fn gtk_label_set_markup(self_: *mut GtkLabel, str: *const c_char);
16093    pub fn gtk_label_set_markup_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
16094    pub fn gtk_label_set_max_width_chars(self_: *mut GtkLabel, n_chars: c_int);
16095    pub fn gtk_label_set_mnemonic_widget(self_: *mut GtkLabel, widget: *mut GtkWidget);
16096    #[cfg(feature = "v4_6")]
16097    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16098    pub fn gtk_label_set_natural_wrap_mode(self_: *mut GtkLabel, wrap_mode: GtkNaturalWrapMode);
16099    pub fn gtk_label_set_selectable(self_: *mut GtkLabel, setting: gboolean);
16100    pub fn gtk_label_set_single_line_mode(self_: *mut GtkLabel, single_line_mode: gboolean);
16101    #[cfg(feature = "v4_8")]
16102    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
16103    pub fn gtk_label_set_tabs(self_: *mut GtkLabel, tabs: *mut pango::PangoTabArray);
16104    pub fn gtk_label_set_text(self_: *mut GtkLabel, str: *const c_char);
16105    pub fn gtk_label_set_text_with_mnemonic(self_: *mut GtkLabel, str: *const c_char);
16106    pub fn gtk_label_set_use_markup(self_: *mut GtkLabel, setting: gboolean);
16107    pub fn gtk_label_set_use_underline(self_: *mut GtkLabel, setting: gboolean);
16108    pub fn gtk_label_set_width_chars(self_: *mut GtkLabel, n_chars: c_int);
16109    pub fn gtk_label_set_wrap(self_: *mut GtkLabel, wrap: gboolean);
16110    pub fn gtk_label_set_wrap_mode(self_: *mut GtkLabel, wrap_mode: pango::PangoWrapMode);
16111    pub fn gtk_label_set_xalign(self_: *mut GtkLabel, xalign: c_float);
16112    pub fn gtk_label_set_yalign(self_: *mut GtkLabel, yalign: c_float);
16113
16114    //=========================================================================
16115    // GtkLayoutChild
16116    //=========================================================================
16117    pub fn gtk_layout_child_get_type() -> GType;
16118    pub fn gtk_layout_child_get_child_widget(layout_child: *mut GtkLayoutChild) -> *mut GtkWidget;
16119    pub fn gtk_layout_child_get_layout_manager(
16120        layout_child: *mut GtkLayoutChild,
16121    ) -> *mut GtkLayoutManager;
16122
16123    //=========================================================================
16124    // GtkLayoutManager
16125    //=========================================================================
16126    pub fn gtk_layout_manager_get_type() -> GType;
16127    pub fn gtk_layout_manager_allocate(
16128        manager: *mut GtkLayoutManager,
16129        widget: *mut GtkWidget,
16130        width: c_int,
16131        height: c_int,
16132        baseline: c_int,
16133    );
16134    pub fn gtk_layout_manager_get_layout_child(
16135        manager: *mut GtkLayoutManager,
16136        child: *mut GtkWidget,
16137    ) -> *mut GtkLayoutChild;
16138    pub fn gtk_layout_manager_get_request_mode(
16139        manager: *mut GtkLayoutManager,
16140    ) -> GtkSizeRequestMode;
16141    pub fn gtk_layout_manager_get_widget(manager: *mut GtkLayoutManager) -> *mut GtkWidget;
16142    pub fn gtk_layout_manager_layout_changed(manager: *mut GtkLayoutManager);
16143    pub fn gtk_layout_manager_measure(
16144        manager: *mut GtkLayoutManager,
16145        widget: *mut GtkWidget,
16146        orientation: GtkOrientation,
16147        for_size: c_int,
16148        minimum: *mut c_int,
16149        natural: *mut c_int,
16150        minimum_baseline: *mut c_int,
16151        natural_baseline: *mut c_int,
16152    );
16153
16154    //=========================================================================
16155    // GtkLevelBar
16156    //=========================================================================
16157    pub fn gtk_level_bar_get_type() -> GType;
16158    pub fn gtk_level_bar_new() -> *mut GtkWidget;
16159    pub fn gtk_level_bar_new_for_interval(
16160        min_value: c_double,
16161        max_value: c_double,
16162    ) -> *mut GtkWidget;
16163    pub fn gtk_level_bar_add_offset_value(
16164        self_: *mut GtkLevelBar,
16165        name: *const c_char,
16166        value: c_double,
16167    );
16168    pub fn gtk_level_bar_get_inverted(self_: *mut GtkLevelBar) -> gboolean;
16169    pub fn gtk_level_bar_get_max_value(self_: *mut GtkLevelBar) -> c_double;
16170    pub fn gtk_level_bar_get_min_value(self_: *mut GtkLevelBar) -> c_double;
16171    pub fn gtk_level_bar_get_mode(self_: *mut GtkLevelBar) -> GtkLevelBarMode;
16172    pub fn gtk_level_bar_get_offset_value(
16173        self_: *mut GtkLevelBar,
16174        name: *const c_char,
16175        value: *mut c_double,
16176    ) -> gboolean;
16177    pub fn gtk_level_bar_get_value(self_: *mut GtkLevelBar) -> c_double;
16178    pub fn gtk_level_bar_remove_offset_value(self_: *mut GtkLevelBar, name: *const c_char);
16179    pub fn gtk_level_bar_set_inverted(self_: *mut GtkLevelBar, inverted: gboolean);
16180    pub fn gtk_level_bar_set_max_value(self_: *mut GtkLevelBar, value: c_double);
16181    pub fn gtk_level_bar_set_min_value(self_: *mut GtkLevelBar, value: c_double);
16182    pub fn gtk_level_bar_set_mode(self_: *mut GtkLevelBar, mode: GtkLevelBarMode);
16183    pub fn gtk_level_bar_set_value(self_: *mut GtkLevelBar, value: c_double);
16184
16185    //=========================================================================
16186    // GtkLinkButton
16187    //=========================================================================
16188    pub fn gtk_link_button_get_type() -> GType;
16189    pub fn gtk_link_button_new(uri: *const c_char) -> *mut GtkWidget;
16190    pub fn gtk_link_button_new_with_label(
16191        uri: *const c_char,
16192        label: *const c_char,
16193    ) -> *mut GtkWidget;
16194    pub fn gtk_link_button_get_uri(link_button: *mut GtkLinkButton) -> *const c_char;
16195    pub fn gtk_link_button_get_visited(link_button: *mut GtkLinkButton) -> gboolean;
16196    pub fn gtk_link_button_set_uri(link_button: *mut GtkLinkButton, uri: *const c_char);
16197    pub fn gtk_link_button_set_visited(link_button: *mut GtkLinkButton, visited: gboolean);
16198
16199    //=========================================================================
16200    // GtkListBase
16201    //=========================================================================
16202    pub fn gtk_list_base_get_type() -> GType;
16203
16204    //=========================================================================
16205    // GtkListBox
16206    //=========================================================================
16207    pub fn gtk_list_box_get_type() -> GType;
16208    pub fn gtk_list_box_new() -> *mut GtkWidget;
16209    pub fn gtk_list_box_append(box_: *mut GtkListBox, child: *mut GtkWidget);
16210    pub fn gtk_list_box_bind_model(
16211        box_: *mut GtkListBox,
16212        model: *mut gio::GListModel,
16213        create_widget_func: GtkListBoxCreateWidgetFunc,
16214        user_data: gpointer,
16215        user_data_free_func: glib::GDestroyNotify,
16216    );
16217    pub fn gtk_list_box_drag_highlight_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16218    pub fn gtk_list_box_drag_unhighlight_row(box_: *mut GtkListBox);
16219    pub fn gtk_list_box_get_activate_on_single_click(box_: *mut GtkListBox) -> gboolean;
16220    pub fn gtk_list_box_get_adjustment(box_: *mut GtkListBox) -> *mut GtkAdjustment;
16221    pub fn gtk_list_box_get_row_at_index(
16222        box_: *mut GtkListBox,
16223        index_: c_int,
16224    ) -> *mut GtkListBoxRow;
16225    pub fn gtk_list_box_get_row_at_y(box_: *mut GtkListBox, y: c_int) -> *mut GtkListBoxRow;
16226    pub fn gtk_list_box_get_selected_row(box_: *mut GtkListBox) -> *mut GtkListBoxRow;
16227    pub fn gtk_list_box_get_selected_rows(box_: *mut GtkListBox) -> *mut glib::GList;
16228    pub fn gtk_list_box_get_selection_mode(box_: *mut GtkListBox) -> GtkSelectionMode;
16229    pub fn gtk_list_box_get_show_separators(box_: *mut GtkListBox) -> gboolean;
16230    #[cfg(feature = "v4_18")]
16231    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
16232    pub fn gtk_list_box_get_tab_behavior(box_: *mut GtkListBox) -> GtkListTabBehavior;
16233    pub fn gtk_list_box_insert(box_: *mut GtkListBox, child: *mut GtkWidget, position: c_int);
16234    pub fn gtk_list_box_invalidate_filter(box_: *mut GtkListBox);
16235    pub fn gtk_list_box_invalidate_headers(box_: *mut GtkListBox);
16236    pub fn gtk_list_box_invalidate_sort(box_: *mut GtkListBox);
16237    pub fn gtk_list_box_prepend(box_: *mut GtkListBox, child: *mut GtkWidget);
16238    pub fn gtk_list_box_remove(box_: *mut GtkListBox, child: *mut GtkWidget);
16239    #[cfg(feature = "v4_12")]
16240    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16241    pub fn gtk_list_box_remove_all(box_: *mut GtkListBox);
16242    pub fn gtk_list_box_select_all(box_: *mut GtkListBox);
16243    pub fn gtk_list_box_select_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16244    pub fn gtk_list_box_selected_foreach(
16245        box_: *mut GtkListBox,
16246        func: GtkListBoxForeachFunc,
16247        data: gpointer,
16248    );
16249    pub fn gtk_list_box_set_activate_on_single_click(box_: *mut GtkListBox, single: gboolean);
16250    pub fn gtk_list_box_set_adjustment(box_: *mut GtkListBox, adjustment: *mut GtkAdjustment);
16251    pub fn gtk_list_box_set_filter_func(
16252        box_: *mut GtkListBox,
16253        filter_func: GtkListBoxFilterFunc,
16254        user_data: gpointer,
16255        destroy: glib::GDestroyNotify,
16256    );
16257    pub fn gtk_list_box_set_header_func(
16258        box_: *mut GtkListBox,
16259        update_header: GtkListBoxUpdateHeaderFunc,
16260        user_data: gpointer,
16261        destroy: glib::GDestroyNotify,
16262    );
16263    pub fn gtk_list_box_set_placeholder(box_: *mut GtkListBox, placeholder: *mut GtkWidget);
16264    pub fn gtk_list_box_set_selection_mode(box_: *mut GtkListBox, mode: GtkSelectionMode);
16265    pub fn gtk_list_box_set_show_separators(box_: *mut GtkListBox, show_separators: gboolean);
16266    pub fn gtk_list_box_set_sort_func(
16267        box_: *mut GtkListBox,
16268        sort_func: GtkListBoxSortFunc,
16269        user_data: gpointer,
16270        destroy: glib::GDestroyNotify,
16271    );
16272    #[cfg(feature = "v4_18")]
16273    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
16274    pub fn gtk_list_box_set_tab_behavior(box_: *mut GtkListBox, behavior: GtkListTabBehavior);
16275    pub fn gtk_list_box_unselect_all(box_: *mut GtkListBox);
16276    pub fn gtk_list_box_unselect_row(box_: *mut GtkListBox, row: *mut GtkListBoxRow);
16277
16278    //=========================================================================
16279    // GtkListBoxRow
16280    //=========================================================================
16281    pub fn gtk_list_box_row_get_type() -> GType;
16282    pub fn gtk_list_box_row_new() -> *mut GtkWidget;
16283    pub fn gtk_list_box_row_changed(row: *mut GtkListBoxRow);
16284    pub fn gtk_list_box_row_get_activatable(row: *mut GtkListBoxRow) -> gboolean;
16285    pub fn gtk_list_box_row_get_child(row: *mut GtkListBoxRow) -> *mut GtkWidget;
16286    pub fn gtk_list_box_row_get_header(row: *mut GtkListBoxRow) -> *mut GtkWidget;
16287    pub fn gtk_list_box_row_get_index(row: *mut GtkListBoxRow) -> c_int;
16288    pub fn gtk_list_box_row_get_selectable(row: *mut GtkListBoxRow) -> gboolean;
16289    pub fn gtk_list_box_row_is_selected(row: *mut GtkListBoxRow) -> gboolean;
16290    pub fn gtk_list_box_row_set_activatable(row: *mut GtkListBoxRow, activatable: gboolean);
16291    pub fn gtk_list_box_row_set_child(row: *mut GtkListBoxRow, child: *mut GtkWidget);
16292    pub fn gtk_list_box_row_set_header(row: *mut GtkListBoxRow, header: *mut GtkWidget);
16293    pub fn gtk_list_box_row_set_selectable(row: *mut GtkListBoxRow, selectable: gboolean);
16294
16295    //=========================================================================
16296    // GtkListHeader
16297    //=========================================================================
16298    #[cfg(feature = "v4_12")]
16299    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16300    pub fn gtk_list_header_get_type() -> GType;
16301    #[cfg(feature = "v4_12")]
16302    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16303    pub fn gtk_list_header_get_child(self_: *mut GtkListHeader) -> *mut GtkWidget;
16304    #[cfg(feature = "v4_12")]
16305    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16306    pub fn gtk_list_header_get_end(self_: *mut GtkListHeader) -> c_uint;
16307    #[cfg(feature = "v4_12")]
16308    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16309    pub fn gtk_list_header_get_item(self_: *mut GtkListHeader) -> *mut gobject::GObject;
16310    #[cfg(feature = "v4_12")]
16311    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16312    pub fn gtk_list_header_get_n_items(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_start(self_: *mut GtkListHeader) -> c_uint;
16316    #[cfg(feature = "v4_12")]
16317    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16318    pub fn gtk_list_header_set_child(self_: *mut GtkListHeader, child: *mut GtkWidget);
16319
16320    //=========================================================================
16321    // GtkListItem
16322    //=========================================================================
16323    pub fn gtk_list_item_get_type() -> GType;
16324    #[cfg(feature = "v4_12")]
16325    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16326    pub fn gtk_list_item_get_accessible_description(self_: *mut GtkListItem) -> *const c_char;
16327    #[cfg(feature = "v4_12")]
16328    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16329    pub fn gtk_list_item_get_accessible_label(self_: *mut GtkListItem) -> *const c_char;
16330    pub fn gtk_list_item_get_activatable(self_: *mut GtkListItem) -> gboolean;
16331    pub fn gtk_list_item_get_child(self_: *mut GtkListItem) -> *mut GtkWidget;
16332    #[cfg(feature = "v4_12")]
16333    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16334    pub fn gtk_list_item_get_focusable(self_: *mut GtkListItem) -> gboolean;
16335    pub fn gtk_list_item_get_item(self_: *mut GtkListItem) -> *mut gobject::GObject;
16336    pub fn gtk_list_item_get_position(self_: *mut GtkListItem) -> c_uint;
16337    pub fn gtk_list_item_get_selectable(self_: *mut GtkListItem) -> gboolean;
16338    pub fn gtk_list_item_get_selected(self_: *mut GtkListItem) -> gboolean;
16339    #[cfg(feature = "v4_12")]
16340    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16341    pub fn gtk_list_item_set_accessible_description(
16342        self_: *mut GtkListItem,
16343        description: *const c_char,
16344    );
16345    #[cfg(feature = "v4_12")]
16346    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16347    pub fn gtk_list_item_set_accessible_label(self_: *mut GtkListItem, label: *const c_char);
16348    pub fn gtk_list_item_set_activatable(self_: *mut GtkListItem, activatable: gboolean);
16349    pub fn gtk_list_item_set_child(self_: *mut GtkListItem, child: *mut GtkWidget);
16350    #[cfg(feature = "v4_12")]
16351    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16352    pub fn gtk_list_item_set_focusable(self_: *mut GtkListItem, focusable: gboolean);
16353    pub fn gtk_list_item_set_selectable(self_: *mut GtkListItem, selectable: gboolean);
16354
16355    //=========================================================================
16356    // GtkListItemFactory
16357    //=========================================================================
16358    pub fn gtk_list_item_factory_get_type() -> GType;
16359
16360    //=========================================================================
16361    // GtkListStore
16362    //=========================================================================
16363    pub fn gtk_list_store_get_type() -> GType;
16364    pub fn gtk_list_store_new(n_columns: c_int, ...) -> *mut GtkListStore;
16365    pub fn gtk_list_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkListStore;
16366    pub fn gtk_list_store_append(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
16367    pub fn gtk_list_store_clear(list_store: *mut GtkListStore);
16368    pub fn gtk_list_store_insert(
16369        list_store: *mut GtkListStore,
16370        iter: *mut GtkTreeIter,
16371        position: c_int,
16372    );
16373    pub fn gtk_list_store_insert_after(
16374        list_store: *mut GtkListStore,
16375        iter: *mut GtkTreeIter,
16376        sibling: *mut GtkTreeIter,
16377    );
16378    pub fn gtk_list_store_insert_before(
16379        list_store: *mut GtkListStore,
16380        iter: *mut GtkTreeIter,
16381        sibling: *mut GtkTreeIter,
16382    );
16383    pub fn gtk_list_store_insert_with_values(
16384        list_store: *mut GtkListStore,
16385        iter: *mut GtkTreeIter,
16386        position: c_int,
16387        ...
16388    );
16389    pub fn gtk_list_store_insert_with_valuesv(
16390        list_store: *mut GtkListStore,
16391        iter: *mut GtkTreeIter,
16392        position: c_int,
16393        columns: *mut c_int,
16394        values: *mut gobject::GValue,
16395        n_values: c_int,
16396    );
16397    pub fn gtk_list_store_iter_is_valid(
16398        list_store: *mut GtkListStore,
16399        iter: *mut GtkTreeIter,
16400    ) -> gboolean;
16401    pub fn gtk_list_store_move_after(
16402        store: *mut GtkListStore,
16403        iter: *mut GtkTreeIter,
16404        position: *mut GtkTreeIter,
16405    );
16406    pub fn gtk_list_store_move_before(
16407        store: *mut GtkListStore,
16408        iter: *mut GtkTreeIter,
16409        position: *mut GtkTreeIter,
16410    );
16411    pub fn gtk_list_store_prepend(list_store: *mut GtkListStore, iter: *mut GtkTreeIter);
16412    pub fn gtk_list_store_remove(list_store: *mut GtkListStore, iter: *mut GtkTreeIter)
16413    -> gboolean;
16414    pub fn gtk_list_store_reorder(store: *mut GtkListStore, new_order: *mut c_int);
16415    pub fn gtk_list_store_set(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, ...);
16416    pub fn gtk_list_store_set_column_types(
16417        list_store: *mut GtkListStore,
16418        n_columns: c_int,
16419        types: *mut GType,
16420    );
16421    //pub fn gtk_list_store_set_valist(list_store: *mut GtkListStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
16422    pub fn gtk_list_store_set_value(
16423        list_store: *mut GtkListStore,
16424        iter: *mut GtkTreeIter,
16425        column: c_int,
16426        value: *mut gobject::GValue,
16427    );
16428    pub fn gtk_list_store_set_valuesv(
16429        list_store: *mut GtkListStore,
16430        iter: *mut GtkTreeIter,
16431        columns: *mut c_int,
16432        values: *mut gobject::GValue,
16433        n_values: c_int,
16434    );
16435    pub fn gtk_list_store_swap(store: *mut GtkListStore, a: *mut GtkTreeIter, b: *mut GtkTreeIter);
16436
16437    //=========================================================================
16438    // GtkListView
16439    //=========================================================================
16440    pub fn gtk_list_view_get_type() -> GType;
16441    pub fn gtk_list_view_new(
16442        model: *mut GtkSelectionModel,
16443        factory: *mut GtkListItemFactory,
16444    ) -> *mut GtkWidget;
16445    pub fn gtk_list_view_get_enable_rubberband(self_: *mut GtkListView) -> gboolean;
16446    pub fn gtk_list_view_get_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
16447    #[cfg(feature = "v4_12")]
16448    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16449    pub fn gtk_list_view_get_header_factory(self_: *mut GtkListView) -> *mut GtkListItemFactory;
16450    pub fn gtk_list_view_get_model(self_: *mut GtkListView) -> *mut GtkSelectionModel;
16451    pub fn gtk_list_view_get_show_separators(self_: *mut GtkListView) -> gboolean;
16452    pub fn gtk_list_view_get_single_click_activate(self_: *mut GtkListView) -> gboolean;
16453    #[cfg(feature = "v4_12")]
16454    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16455    pub fn gtk_list_view_get_tab_behavior(self_: *mut GtkListView) -> GtkListTabBehavior;
16456    #[cfg(feature = "v4_12")]
16457    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16458    pub fn gtk_list_view_scroll_to(
16459        self_: *mut GtkListView,
16460        pos: c_uint,
16461        flags: GtkListScrollFlags,
16462        scroll: *mut GtkScrollInfo,
16463    );
16464    pub fn gtk_list_view_set_enable_rubberband(
16465        self_: *mut GtkListView,
16466        enable_rubberband: gboolean,
16467    );
16468    pub fn gtk_list_view_set_factory(self_: *mut GtkListView, factory: *mut GtkListItemFactory);
16469    #[cfg(feature = "v4_12")]
16470    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16471    pub fn gtk_list_view_set_header_factory(
16472        self_: *mut GtkListView,
16473        factory: *mut GtkListItemFactory,
16474    );
16475    pub fn gtk_list_view_set_model(self_: *mut GtkListView, model: *mut GtkSelectionModel);
16476    pub fn gtk_list_view_set_show_separators(self_: *mut GtkListView, show_separators: gboolean);
16477    pub fn gtk_list_view_set_single_click_activate(
16478        self_: *mut GtkListView,
16479        single_click_activate: gboolean,
16480    );
16481    #[cfg(feature = "v4_12")]
16482    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16483    pub fn gtk_list_view_set_tab_behavior(
16484        self_: *mut GtkListView,
16485        tab_behavior: GtkListTabBehavior,
16486    );
16487
16488    //=========================================================================
16489    // GtkLockButton
16490    //=========================================================================
16491    pub fn gtk_lock_button_get_type() -> GType;
16492    pub fn gtk_lock_button_new(permission: *mut gio::GPermission) -> *mut GtkWidget;
16493    pub fn gtk_lock_button_get_permission(button: *mut GtkLockButton) -> *mut gio::GPermission;
16494    pub fn gtk_lock_button_set_permission(
16495        button: *mut GtkLockButton,
16496        permission: *mut gio::GPermission,
16497    );
16498
16499    //=========================================================================
16500    // GtkMapListModel
16501    //=========================================================================
16502    pub fn gtk_map_list_model_get_type() -> GType;
16503    pub fn gtk_map_list_model_new(
16504        model: *mut gio::GListModel,
16505        map_func: GtkMapListModelMapFunc,
16506        user_data: gpointer,
16507        user_destroy: glib::GDestroyNotify,
16508    ) -> *mut GtkMapListModel;
16509    pub fn gtk_map_list_model_get_model(self_: *mut GtkMapListModel) -> *mut gio::GListModel;
16510    pub fn gtk_map_list_model_has_map(self_: *mut GtkMapListModel) -> gboolean;
16511    pub fn gtk_map_list_model_set_map_func(
16512        self_: *mut GtkMapListModel,
16513        map_func: GtkMapListModelMapFunc,
16514        user_data: gpointer,
16515        user_destroy: glib::GDestroyNotify,
16516    );
16517    pub fn gtk_map_list_model_set_model(self_: *mut GtkMapListModel, model: *mut gio::GListModel);
16518
16519    //=========================================================================
16520    // GtkMediaControls
16521    //=========================================================================
16522    pub fn gtk_media_controls_get_type() -> GType;
16523    pub fn gtk_media_controls_new(stream: *mut GtkMediaStream) -> *mut GtkWidget;
16524    pub fn gtk_media_controls_get_media_stream(
16525        controls: *mut GtkMediaControls,
16526    ) -> *mut GtkMediaStream;
16527    pub fn gtk_media_controls_set_media_stream(
16528        controls: *mut GtkMediaControls,
16529        stream: *mut GtkMediaStream,
16530    );
16531
16532    //=========================================================================
16533    // GtkMediaFile
16534    //=========================================================================
16535    pub fn gtk_media_file_get_type() -> GType;
16536    pub fn gtk_media_file_new() -> *mut GtkMediaFile;
16537    pub fn gtk_media_file_new_for_file(file: *mut gio::GFile) -> *mut GtkMediaFile;
16538    pub fn gtk_media_file_new_for_filename(filename: *const c_char) -> *mut GtkMediaFile;
16539    pub fn gtk_media_file_new_for_input_stream(stream: *mut gio::GInputStream)
16540    -> *mut GtkMediaFile;
16541    pub fn gtk_media_file_new_for_resource(resource_path: *const c_char) -> *mut GtkMediaFile;
16542    pub fn gtk_media_file_clear(self_: *mut GtkMediaFile);
16543    pub fn gtk_media_file_get_file(self_: *mut GtkMediaFile) -> *mut gio::GFile;
16544    pub fn gtk_media_file_get_input_stream(self_: *mut GtkMediaFile) -> *mut gio::GInputStream;
16545    pub fn gtk_media_file_set_file(self_: *mut GtkMediaFile, file: *mut gio::GFile);
16546    pub fn gtk_media_file_set_filename(self_: *mut GtkMediaFile, filename: *const c_char);
16547    pub fn gtk_media_file_set_input_stream(
16548        self_: *mut GtkMediaFile,
16549        stream: *mut gio::GInputStream,
16550    );
16551    pub fn gtk_media_file_set_resource(self_: *mut GtkMediaFile, resource_path: *const c_char);
16552
16553    //=========================================================================
16554    // GtkMediaStream
16555    //=========================================================================
16556    pub fn gtk_media_stream_get_type() -> GType;
16557    pub fn gtk_media_stream_ended(self_: *mut GtkMediaStream);
16558    pub fn gtk_media_stream_error(
16559        self_: *mut GtkMediaStream,
16560        domain: glib::GQuark,
16561        code: c_int,
16562        format: *const c_char,
16563        ...
16564    );
16565    //pub fn gtk_media_stream_error_valist(self_: *mut GtkMediaStream, domain: glib::GQuark, code: c_int, format: *const c_char, args: /*Unimplemented*/va_list);
16566    pub fn gtk_media_stream_gerror(self_: *mut GtkMediaStream, error: *mut glib::GError);
16567    pub fn gtk_media_stream_get_duration(self_: *mut GtkMediaStream) -> i64;
16568    pub fn gtk_media_stream_get_ended(self_: *mut GtkMediaStream) -> gboolean;
16569    pub fn gtk_media_stream_get_error(self_: *mut GtkMediaStream) -> *const glib::GError;
16570    pub fn gtk_media_stream_get_loop(self_: *mut GtkMediaStream) -> gboolean;
16571    pub fn gtk_media_stream_get_muted(self_: *mut GtkMediaStream) -> gboolean;
16572    pub fn gtk_media_stream_get_playing(self_: *mut GtkMediaStream) -> gboolean;
16573    pub fn gtk_media_stream_get_timestamp(self_: *mut GtkMediaStream) -> i64;
16574    pub fn gtk_media_stream_get_volume(self_: *mut GtkMediaStream) -> c_double;
16575    pub fn gtk_media_stream_has_audio(self_: *mut GtkMediaStream) -> gboolean;
16576    pub fn gtk_media_stream_has_video(self_: *mut GtkMediaStream) -> gboolean;
16577    pub fn gtk_media_stream_is_prepared(self_: *mut GtkMediaStream) -> gboolean;
16578    pub fn gtk_media_stream_is_seekable(self_: *mut GtkMediaStream) -> gboolean;
16579    pub fn gtk_media_stream_is_seeking(self_: *mut GtkMediaStream) -> gboolean;
16580    pub fn gtk_media_stream_pause(self_: *mut GtkMediaStream);
16581    pub fn gtk_media_stream_play(self_: *mut GtkMediaStream);
16582    pub fn gtk_media_stream_prepared(
16583        self_: *mut GtkMediaStream,
16584        has_audio: gboolean,
16585        has_video: gboolean,
16586        seekable: gboolean,
16587        duration: i64,
16588    );
16589    pub fn gtk_media_stream_realize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16590    pub fn gtk_media_stream_seek(self_: *mut GtkMediaStream, timestamp: i64);
16591    pub fn gtk_media_stream_seek_failed(self_: *mut GtkMediaStream);
16592    pub fn gtk_media_stream_seek_success(self_: *mut GtkMediaStream);
16593    pub fn gtk_media_stream_set_loop(self_: *mut GtkMediaStream, loop_: gboolean);
16594    pub fn gtk_media_stream_set_muted(self_: *mut GtkMediaStream, muted: gboolean);
16595    pub fn gtk_media_stream_set_playing(self_: *mut GtkMediaStream, playing: gboolean);
16596    pub fn gtk_media_stream_set_volume(self_: *mut GtkMediaStream, volume: c_double);
16597    #[cfg(feature = "v4_4")]
16598    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16599    pub fn gtk_media_stream_stream_ended(self_: *mut GtkMediaStream);
16600    #[cfg(feature = "v4_4")]
16601    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16602    pub fn gtk_media_stream_stream_prepared(
16603        self_: *mut GtkMediaStream,
16604        has_audio: gboolean,
16605        has_video: gboolean,
16606        seekable: gboolean,
16607        duration: i64,
16608    );
16609    #[cfg(feature = "v4_4")]
16610    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16611    pub fn gtk_media_stream_stream_unprepared(self_: *mut GtkMediaStream);
16612    pub fn gtk_media_stream_unprepared(self_: *mut GtkMediaStream);
16613    pub fn gtk_media_stream_unrealize(self_: *mut GtkMediaStream, surface: *mut gdk::GdkSurface);
16614    pub fn gtk_media_stream_update(self_: *mut GtkMediaStream, timestamp: i64);
16615
16616    //=========================================================================
16617    // GtkMenuButton
16618    //=========================================================================
16619    pub fn gtk_menu_button_get_type() -> GType;
16620    pub fn gtk_menu_button_new() -> *mut GtkWidget;
16621    #[cfg(feature = "v4_10")]
16622    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16623    pub fn gtk_menu_button_get_active(menu_button: *mut GtkMenuButton) -> gboolean;
16624    #[cfg(feature = "v4_4")]
16625    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16626    pub fn gtk_menu_button_get_always_show_arrow(menu_button: *mut GtkMenuButton) -> gboolean;
16627    #[cfg(feature = "v4_12")]
16628    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16629    pub fn gtk_menu_button_get_can_shrink(menu_button: *mut GtkMenuButton) -> gboolean;
16630    #[cfg(feature = "v4_6")]
16631    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16632    pub fn gtk_menu_button_get_child(menu_button: *mut GtkMenuButton) -> *mut GtkWidget;
16633    pub fn gtk_menu_button_get_direction(menu_button: *mut GtkMenuButton) -> GtkArrowType;
16634    pub fn gtk_menu_button_get_has_frame(menu_button: *mut GtkMenuButton) -> gboolean;
16635    pub fn gtk_menu_button_get_icon_name(menu_button: *mut GtkMenuButton) -> *const c_char;
16636    pub fn gtk_menu_button_get_label(menu_button: *mut GtkMenuButton) -> *const c_char;
16637    pub fn gtk_menu_button_get_menu_model(menu_button: *mut GtkMenuButton) -> *mut gio::GMenuModel;
16638    pub fn gtk_menu_button_get_popover(menu_button: *mut GtkMenuButton) -> *mut GtkPopover;
16639    #[cfg(feature = "v4_4")]
16640    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16641    pub fn gtk_menu_button_get_primary(menu_button: *mut GtkMenuButton) -> gboolean;
16642    pub fn gtk_menu_button_get_use_underline(menu_button: *mut GtkMenuButton) -> gboolean;
16643    pub fn gtk_menu_button_popdown(menu_button: *mut GtkMenuButton);
16644    pub fn gtk_menu_button_popup(menu_button: *mut GtkMenuButton);
16645    #[cfg(feature = "v4_10")]
16646    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
16647    pub fn gtk_menu_button_set_active(menu_button: *mut GtkMenuButton, active: gboolean);
16648    #[cfg(feature = "v4_4")]
16649    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16650    pub fn gtk_menu_button_set_always_show_arrow(
16651        menu_button: *mut GtkMenuButton,
16652        always_show_arrow: gboolean,
16653    );
16654    #[cfg(feature = "v4_12")]
16655    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
16656    pub fn gtk_menu_button_set_can_shrink(menu_button: *mut GtkMenuButton, can_shrink: gboolean);
16657    #[cfg(feature = "v4_6")]
16658    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
16659    pub fn gtk_menu_button_set_child(menu_button: *mut GtkMenuButton, child: *mut GtkWidget);
16660    pub fn gtk_menu_button_set_create_popup_func(
16661        menu_button: *mut GtkMenuButton,
16662        func: GtkMenuButtonCreatePopupFunc,
16663        user_data: gpointer,
16664        destroy_notify: glib::GDestroyNotify,
16665    );
16666    pub fn gtk_menu_button_set_direction(menu_button: *mut GtkMenuButton, direction: GtkArrowType);
16667    pub fn gtk_menu_button_set_has_frame(menu_button: *mut GtkMenuButton, has_frame: gboolean);
16668    pub fn gtk_menu_button_set_icon_name(menu_button: *mut GtkMenuButton, icon_name: *const c_char);
16669    pub fn gtk_menu_button_set_label(menu_button: *mut GtkMenuButton, label: *const c_char);
16670    pub fn gtk_menu_button_set_menu_model(
16671        menu_button: *mut GtkMenuButton,
16672        menu_model: *mut gio::GMenuModel,
16673    );
16674    pub fn gtk_menu_button_set_popover(menu_button: *mut GtkMenuButton, popover: *mut GtkPopover);
16675    #[cfg(feature = "v4_4")]
16676    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
16677    pub fn gtk_menu_button_set_primary(menu_button: *mut GtkMenuButton, primary: gboolean);
16678    pub fn gtk_menu_button_set_use_underline(
16679        menu_button: *mut GtkMenuButton,
16680        use_underline: gboolean,
16681    );
16682
16683    //=========================================================================
16684    // GtkMessageDialog
16685    //=========================================================================
16686    pub fn gtk_message_dialog_get_type() -> GType;
16687    pub fn gtk_message_dialog_new(
16688        parent: *mut GtkWindow,
16689        flags: GtkDialogFlags,
16690        type_: GtkMessageType,
16691        buttons: GtkButtonsType,
16692        message_format: *const c_char,
16693        ...
16694    ) -> *mut GtkWidget;
16695    pub fn gtk_message_dialog_new_with_markup(
16696        parent: *mut GtkWindow,
16697        flags: GtkDialogFlags,
16698        type_: GtkMessageType,
16699        buttons: GtkButtonsType,
16700        message_format: *const c_char,
16701        ...
16702    ) -> *mut GtkWidget;
16703    pub fn gtk_message_dialog_format_secondary_markup(
16704        message_dialog: *mut GtkMessageDialog,
16705        message_format: *const c_char,
16706        ...
16707    );
16708    pub fn gtk_message_dialog_format_secondary_text(
16709        message_dialog: *mut GtkMessageDialog,
16710        message_format: *const c_char,
16711        ...
16712    );
16713    pub fn gtk_message_dialog_get_message_area(
16714        message_dialog: *mut GtkMessageDialog,
16715    ) -> *mut GtkWidget;
16716    pub fn gtk_message_dialog_set_markup(message_dialog: *mut GtkMessageDialog, str: *const c_char);
16717
16718    //=========================================================================
16719    // GtkMnemonicAction
16720    //=========================================================================
16721    pub fn gtk_mnemonic_action_get_type() -> GType;
16722    pub fn gtk_mnemonic_action_get() -> *mut GtkMnemonicAction;
16723
16724    //=========================================================================
16725    // GtkMnemonicTrigger
16726    //=========================================================================
16727    pub fn gtk_mnemonic_trigger_get_type() -> GType;
16728    pub fn gtk_mnemonic_trigger_new(keyval: c_uint) -> *mut GtkMnemonicTrigger;
16729    pub fn gtk_mnemonic_trigger_get_keyval(self_: *mut GtkMnemonicTrigger) -> c_uint;
16730
16731    //=========================================================================
16732    // GtkMountOperation
16733    //=========================================================================
16734    pub fn gtk_mount_operation_get_type() -> GType;
16735    pub fn gtk_mount_operation_new(parent: *mut GtkWindow) -> *mut gio::GMountOperation;
16736    pub fn gtk_mount_operation_get_display(op: *mut GtkMountOperation) -> *mut gdk::GdkDisplay;
16737    pub fn gtk_mount_operation_get_parent(op: *mut GtkMountOperation) -> *mut GtkWindow;
16738    pub fn gtk_mount_operation_is_showing(op: *mut GtkMountOperation) -> gboolean;
16739    pub fn gtk_mount_operation_set_display(
16740        op: *mut GtkMountOperation,
16741        display: *mut gdk::GdkDisplay,
16742    );
16743    pub fn gtk_mount_operation_set_parent(op: *mut GtkMountOperation, parent: *mut GtkWindow);
16744
16745    //=========================================================================
16746    // GtkMultiFilter
16747    //=========================================================================
16748    pub fn gtk_multi_filter_get_type() -> GType;
16749    pub fn gtk_multi_filter_append(self_: *mut GtkMultiFilter, filter: *mut GtkFilter);
16750    pub fn gtk_multi_filter_remove(self_: *mut GtkMultiFilter, position: c_uint);
16751
16752    //=========================================================================
16753    // GtkMultiSelection
16754    //=========================================================================
16755    pub fn gtk_multi_selection_get_type() -> GType;
16756    pub fn gtk_multi_selection_new(model: *mut gio::GListModel) -> *mut GtkMultiSelection;
16757    pub fn gtk_multi_selection_get_model(self_: *mut GtkMultiSelection) -> *mut gio::GListModel;
16758    pub fn gtk_multi_selection_set_model(
16759        self_: *mut GtkMultiSelection,
16760        model: *mut gio::GListModel,
16761    );
16762
16763    //=========================================================================
16764    // GtkMultiSorter
16765    //=========================================================================
16766    pub fn gtk_multi_sorter_get_type() -> GType;
16767    pub fn gtk_multi_sorter_new() -> *mut GtkMultiSorter;
16768    pub fn gtk_multi_sorter_append(self_: *mut GtkMultiSorter, sorter: *mut GtkSorter);
16769    pub fn gtk_multi_sorter_remove(self_: *mut GtkMultiSorter, position: c_uint);
16770
16771    //=========================================================================
16772    // GtkNamedAction
16773    //=========================================================================
16774    pub fn gtk_named_action_get_type() -> GType;
16775    pub fn gtk_named_action_new(name: *const c_char) -> *mut GtkNamedAction;
16776    pub fn gtk_named_action_get_action_name(self_: *mut GtkNamedAction) -> *const c_char;
16777
16778    //=========================================================================
16779    // GtkNativeDialog
16780    //=========================================================================
16781    pub fn gtk_native_dialog_get_type() -> GType;
16782    pub fn gtk_native_dialog_destroy(self_: *mut GtkNativeDialog);
16783    pub fn gtk_native_dialog_get_modal(self_: *mut GtkNativeDialog) -> gboolean;
16784    pub fn gtk_native_dialog_get_title(self_: *mut GtkNativeDialog) -> *const c_char;
16785    pub fn gtk_native_dialog_get_transient_for(self_: *mut GtkNativeDialog) -> *mut GtkWindow;
16786    pub fn gtk_native_dialog_get_visible(self_: *mut GtkNativeDialog) -> gboolean;
16787    pub fn gtk_native_dialog_hide(self_: *mut GtkNativeDialog);
16788    pub fn gtk_native_dialog_set_modal(self_: *mut GtkNativeDialog, modal: gboolean);
16789    pub fn gtk_native_dialog_set_title(self_: *mut GtkNativeDialog, title: *const c_char);
16790    pub fn gtk_native_dialog_set_transient_for(self_: *mut GtkNativeDialog, parent: *mut GtkWindow);
16791    pub fn gtk_native_dialog_show(self_: *mut GtkNativeDialog);
16792
16793    //=========================================================================
16794    // GtkNeverTrigger
16795    //=========================================================================
16796    pub fn gtk_never_trigger_get_type() -> GType;
16797    pub fn gtk_never_trigger_get() -> *mut GtkNeverTrigger;
16798
16799    //=========================================================================
16800    // GtkNoSelection
16801    //=========================================================================
16802    pub fn gtk_no_selection_get_type() -> GType;
16803    pub fn gtk_no_selection_new(model: *mut gio::GListModel) -> *mut GtkNoSelection;
16804    pub fn gtk_no_selection_get_model(self_: *mut GtkNoSelection) -> *mut gio::GListModel;
16805    pub fn gtk_no_selection_set_model(self_: *mut GtkNoSelection, model: *mut gio::GListModel);
16806
16807    //=========================================================================
16808    // GtkNotebook
16809    //=========================================================================
16810    pub fn gtk_notebook_get_type() -> GType;
16811    pub fn gtk_notebook_new() -> *mut GtkWidget;
16812    pub fn gtk_notebook_append_page(
16813        notebook: *mut GtkNotebook,
16814        child: *mut GtkWidget,
16815        tab_label: *mut GtkWidget,
16816    ) -> c_int;
16817    pub fn gtk_notebook_append_page_menu(
16818        notebook: *mut GtkNotebook,
16819        child: *mut GtkWidget,
16820        tab_label: *mut GtkWidget,
16821        menu_label: *mut GtkWidget,
16822    ) -> c_int;
16823    pub fn gtk_notebook_detach_tab(notebook: *mut GtkNotebook, child: *mut GtkWidget);
16824    pub fn gtk_notebook_get_action_widget(
16825        notebook: *mut GtkNotebook,
16826        pack_type: GtkPackType,
16827    ) -> *mut GtkWidget;
16828    pub fn gtk_notebook_get_current_page(notebook: *mut GtkNotebook) -> c_int;
16829    pub fn gtk_notebook_get_group_name(notebook: *mut GtkNotebook) -> *const c_char;
16830    pub fn gtk_notebook_get_menu_label(
16831        notebook: *mut GtkNotebook,
16832        child: *mut GtkWidget,
16833    ) -> *mut GtkWidget;
16834    pub fn gtk_notebook_get_menu_label_text(
16835        notebook: *mut GtkNotebook,
16836        child: *mut GtkWidget,
16837    ) -> *const c_char;
16838    pub fn gtk_notebook_get_n_pages(notebook: *mut GtkNotebook) -> c_int;
16839    pub fn gtk_notebook_get_nth_page(notebook: *mut GtkNotebook, page_num: c_int)
16840    -> *mut GtkWidget;
16841    pub fn gtk_notebook_get_page(
16842        notebook: *mut GtkNotebook,
16843        child: *mut GtkWidget,
16844    ) -> *mut GtkNotebookPage;
16845    pub fn gtk_notebook_get_pages(notebook: *mut GtkNotebook) -> *mut gio::GListModel;
16846    pub fn gtk_notebook_get_scrollable(notebook: *mut GtkNotebook) -> gboolean;
16847    pub fn gtk_notebook_get_show_border(notebook: *mut GtkNotebook) -> gboolean;
16848    pub fn gtk_notebook_get_show_tabs(notebook: *mut GtkNotebook) -> gboolean;
16849    pub fn gtk_notebook_get_tab_detachable(
16850        notebook: *mut GtkNotebook,
16851        child: *mut GtkWidget,
16852    ) -> gboolean;
16853    pub fn gtk_notebook_get_tab_label(
16854        notebook: *mut GtkNotebook,
16855        child: *mut GtkWidget,
16856    ) -> *mut GtkWidget;
16857    pub fn gtk_notebook_get_tab_label_text(
16858        notebook: *mut GtkNotebook,
16859        child: *mut GtkWidget,
16860    ) -> *const c_char;
16861    pub fn gtk_notebook_get_tab_pos(notebook: *mut GtkNotebook) -> GtkPositionType;
16862    pub fn gtk_notebook_get_tab_reorderable(
16863        notebook: *mut GtkNotebook,
16864        child: *mut GtkWidget,
16865    ) -> gboolean;
16866    pub fn gtk_notebook_insert_page(
16867        notebook: *mut GtkNotebook,
16868        child: *mut GtkWidget,
16869        tab_label: *mut GtkWidget,
16870        position: c_int,
16871    ) -> c_int;
16872    pub fn gtk_notebook_insert_page_menu(
16873        notebook: *mut GtkNotebook,
16874        child: *mut GtkWidget,
16875        tab_label: *mut GtkWidget,
16876        menu_label: *mut GtkWidget,
16877        position: c_int,
16878    ) -> c_int;
16879    pub fn gtk_notebook_next_page(notebook: *mut GtkNotebook);
16880    pub fn gtk_notebook_page_num(notebook: *mut GtkNotebook, child: *mut GtkWidget) -> c_int;
16881    pub fn gtk_notebook_popup_disable(notebook: *mut GtkNotebook);
16882    pub fn gtk_notebook_popup_enable(notebook: *mut GtkNotebook);
16883    pub fn gtk_notebook_prepend_page(
16884        notebook: *mut GtkNotebook,
16885        child: *mut GtkWidget,
16886        tab_label: *mut GtkWidget,
16887    ) -> c_int;
16888    pub fn gtk_notebook_prepend_page_menu(
16889        notebook: *mut GtkNotebook,
16890        child: *mut GtkWidget,
16891        tab_label: *mut GtkWidget,
16892        menu_label: *mut GtkWidget,
16893    ) -> c_int;
16894    pub fn gtk_notebook_prev_page(notebook: *mut GtkNotebook);
16895    pub fn gtk_notebook_remove_page(notebook: *mut GtkNotebook, page_num: c_int);
16896    pub fn gtk_notebook_reorder_child(
16897        notebook: *mut GtkNotebook,
16898        child: *mut GtkWidget,
16899        position: c_int,
16900    );
16901    pub fn gtk_notebook_set_action_widget(
16902        notebook: *mut GtkNotebook,
16903        widget: *mut GtkWidget,
16904        pack_type: GtkPackType,
16905    );
16906    pub fn gtk_notebook_set_current_page(notebook: *mut GtkNotebook, page_num: c_int);
16907    pub fn gtk_notebook_set_group_name(notebook: *mut GtkNotebook, group_name: *const c_char);
16908    pub fn gtk_notebook_set_menu_label(
16909        notebook: *mut GtkNotebook,
16910        child: *mut GtkWidget,
16911        menu_label: *mut GtkWidget,
16912    );
16913    pub fn gtk_notebook_set_menu_label_text(
16914        notebook: *mut GtkNotebook,
16915        child: *mut GtkWidget,
16916        menu_text: *const c_char,
16917    );
16918    pub fn gtk_notebook_set_scrollable(notebook: *mut GtkNotebook, scrollable: gboolean);
16919    pub fn gtk_notebook_set_show_border(notebook: *mut GtkNotebook, show_border: gboolean);
16920    pub fn gtk_notebook_set_show_tabs(notebook: *mut GtkNotebook, show_tabs: gboolean);
16921    pub fn gtk_notebook_set_tab_detachable(
16922        notebook: *mut GtkNotebook,
16923        child: *mut GtkWidget,
16924        detachable: gboolean,
16925    );
16926    pub fn gtk_notebook_set_tab_label(
16927        notebook: *mut GtkNotebook,
16928        child: *mut GtkWidget,
16929        tab_label: *mut GtkWidget,
16930    );
16931    pub fn gtk_notebook_set_tab_label_text(
16932        notebook: *mut GtkNotebook,
16933        child: *mut GtkWidget,
16934        tab_text: *const c_char,
16935    );
16936    pub fn gtk_notebook_set_tab_pos(notebook: *mut GtkNotebook, pos: GtkPositionType);
16937    pub fn gtk_notebook_set_tab_reorderable(
16938        notebook: *mut GtkNotebook,
16939        child: *mut GtkWidget,
16940        reorderable: gboolean,
16941    );
16942
16943    //=========================================================================
16944    // GtkNotebookPage
16945    //=========================================================================
16946    pub fn gtk_notebook_page_get_type() -> GType;
16947    pub fn gtk_notebook_page_get_child(page: *mut GtkNotebookPage) -> *mut GtkWidget;
16948
16949    //=========================================================================
16950    // GtkNothingAction
16951    //=========================================================================
16952    pub fn gtk_nothing_action_get_type() -> GType;
16953    pub fn gtk_nothing_action_get() -> *mut GtkNothingAction;
16954
16955    //=========================================================================
16956    // GtkNumericSorter
16957    //=========================================================================
16958    pub fn gtk_numeric_sorter_get_type() -> GType;
16959    pub fn gtk_numeric_sorter_new(expression: *mut GtkExpression) -> *mut GtkNumericSorter;
16960    pub fn gtk_numeric_sorter_get_expression(self_: *mut GtkNumericSorter) -> *mut GtkExpression;
16961    pub fn gtk_numeric_sorter_get_sort_order(self_: *mut GtkNumericSorter) -> GtkSortType;
16962    pub fn gtk_numeric_sorter_set_expression(
16963        self_: *mut GtkNumericSorter,
16964        expression: *mut GtkExpression,
16965    );
16966    pub fn gtk_numeric_sorter_set_sort_order(self_: *mut GtkNumericSorter, sort_order: GtkSortType);
16967
16968    //=========================================================================
16969    // GtkObjectExpression
16970    //=========================================================================
16971    pub fn gtk_object_expression_get_type() -> GType;
16972    pub fn gtk_object_expression_new(object: *mut gobject::GObject) -> *mut GtkObjectExpression;
16973    pub fn gtk_object_expression_get_object(
16974        expression: *mut GtkObjectExpression,
16975    ) -> *mut gobject::GObject;
16976
16977    //=========================================================================
16978    // GtkOverlay
16979    //=========================================================================
16980    pub fn gtk_overlay_get_type() -> GType;
16981    pub fn gtk_overlay_new() -> *mut GtkWidget;
16982    pub fn gtk_overlay_add_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
16983    pub fn gtk_overlay_get_child(overlay: *mut GtkOverlay) -> *mut GtkWidget;
16984    pub fn gtk_overlay_get_clip_overlay(
16985        overlay: *mut GtkOverlay,
16986        widget: *mut GtkWidget,
16987    ) -> gboolean;
16988    pub fn gtk_overlay_get_measure_overlay(
16989        overlay: *mut GtkOverlay,
16990        widget: *mut GtkWidget,
16991    ) -> gboolean;
16992    pub fn gtk_overlay_remove_overlay(overlay: *mut GtkOverlay, widget: *mut GtkWidget);
16993    pub fn gtk_overlay_set_child(overlay: *mut GtkOverlay, child: *mut GtkWidget);
16994    pub fn gtk_overlay_set_clip_overlay(
16995        overlay: *mut GtkOverlay,
16996        widget: *mut GtkWidget,
16997        clip_overlay: gboolean,
16998    );
16999    pub fn gtk_overlay_set_measure_overlay(
17000        overlay: *mut GtkOverlay,
17001        widget: *mut GtkWidget,
17002        measure: gboolean,
17003    );
17004
17005    //=========================================================================
17006    // GtkOverlayLayout
17007    //=========================================================================
17008    pub fn gtk_overlay_layout_get_type() -> GType;
17009    pub fn gtk_overlay_layout_new() -> *mut GtkLayoutManager;
17010
17011    //=========================================================================
17012    // GtkOverlayLayoutChild
17013    //=========================================================================
17014    pub fn gtk_overlay_layout_child_get_type() -> GType;
17015    pub fn gtk_overlay_layout_child_get_clip_overlay(child: *mut GtkOverlayLayoutChild)
17016    -> gboolean;
17017    pub fn gtk_overlay_layout_child_get_measure(child: *mut GtkOverlayLayoutChild) -> gboolean;
17018    pub fn gtk_overlay_layout_child_set_clip_overlay(
17019        child: *mut GtkOverlayLayoutChild,
17020        clip_overlay: gboolean,
17021    );
17022    pub fn gtk_overlay_layout_child_set_measure(
17023        child: *mut GtkOverlayLayoutChild,
17024        measure: gboolean,
17025    );
17026
17027    //=========================================================================
17028    // GtkPadController
17029    //=========================================================================
17030    pub fn gtk_pad_controller_get_type() -> GType;
17031    pub fn gtk_pad_controller_new(
17032        group: *mut gio::GActionGroup,
17033        pad: *mut gdk::GdkDevice,
17034    ) -> *mut GtkPadController;
17035    pub fn gtk_pad_controller_set_action(
17036        controller: *mut GtkPadController,
17037        type_: GtkPadActionType,
17038        index: c_int,
17039        mode: c_int,
17040        label: *const c_char,
17041        action_name: *const c_char,
17042    );
17043    pub fn gtk_pad_controller_set_action_entries(
17044        controller: *mut GtkPadController,
17045        entries: *const GtkPadActionEntry,
17046        n_entries: c_int,
17047    );
17048
17049    //=========================================================================
17050    // GtkPageSetup
17051    //=========================================================================
17052    pub fn gtk_page_setup_get_type() -> GType;
17053    pub fn gtk_page_setup_new() -> *mut GtkPageSetup;
17054    pub fn gtk_page_setup_new_from_file(
17055        file_name: *const c_char,
17056        error: *mut *mut glib::GError,
17057    ) -> *mut GtkPageSetup;
17058    pub fn gtk_page_setup_new_from_gvariant(variant: *mut glib::GVariant) -> *mut GtkPageSetup;
17059    pub fn gtk_page_setup_new_from_key_file(
17060        key_file: *mut glib::GKeyFile,
17061        group_name: *const c_char,
17062        error: *mut *mut glib::GError,
17063    ) -> *mut GtkPageSetup;
17064    pub fn gtk_page_setup_copy(other: *mut GtkPageSetup) -> *mut GtkPageSetup;
17065    pub fn gtk_page_setup_get_bottom_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17066    pub fn gtk_page_setup_get_left_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17067    pub fn gtk_page_setup_get_orientation(setup: *mut GtkPageSetup) -> GtkPageOrientation;
17068    pub fn gtk_page_setup_get_page_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17069    pub fn gtk_page_setup_get_page_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17070    pub fn gtk_page_setup_get_paper_height(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17071    pub fn gtk_page_setup_get_paper_size(setup: *mut GtkPageSetup) -> *mut GtkPaperSize;
17072    pub fn gtk_page_setup_get_paper_width(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17073    pub fn gtk_page_setup_get_right_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17074    pub fn gtk_page_setup_get_top_margin(setup: *mut GtkPageSetup, unit: GtkUnit) -> c_double;
17075    pub fn gtk_page_setup_load_file(
17076        setup: *mut GtkPageSetup,
17077        file_name: *const c_char,
17078        error: *mut *mut glib::GError,
17079    ) -> gboolean;
17080    pub fn gtk_page_setup_load_key_file(
17081        setup: *mut GtkPageSetup,
17082        key_file: *mut glib::GKeyFile,
17083        group_name: *const c_char,
17084        error: *mut *mut glib::GError,
17085    ) -> gboolean;
17086    pub fn gtk_page_setup_set_bottom_margin(
17087        setup: *mut GtkPageSetup,
17088        margin: c_double,
17089        unit: GtkUnit,
17090    );
17091    pub fn gtk_page_setup_set_left_margin(
17092        setup: *mut GtkPageSetup,
17093        margin: c_double,
17094        unit: GtkUnit,
17095    );
17096    pub fn gtk_page_setup_set_orientation(
17097        setup: *mut GtkPageSetup,
17098        orientation: GtkPageOrientation,
17099    );
17100    pub fn gtk_page_setup_set_paper_size(setup: *mut GtkPageSetup, size: *mut GtkPaperSize);
17101    pub fn gtk_page_setup_set_paper_size_and_default_margins(
17102        setup: *mut GtkPageSetup,
17103        size: *mut GtkPaperSize,
17104    );
17105    pub fn gtk_page_setup_set_right_margin(
17106        setup: *mut GtkPageSetup,
17107        margin: c_double,
17108        unit: GtkUnit,
17109    );
17110    pub fn gtk_page_setup_set_top_margin(setup: *mut GtkPageSetup, margin: c_double, unit: GtkUnit);
17111    pub fn gtk_page_setup_to_file(
17112        setup: *mut GtkPageSetup,
17113        file_name: *const c_char,
17114        error: *mut *mut glib::GError,
17115    ) -> gboolean;
17116    pub fn gtk_page_setup_to_gvariant(setup: *mut GtkPageSetup) -> *mut glib::GVariant;
17117    pub fn gtk_page_setup_to_key_file(
17118        setup: *mut GtkPageSetup,
17119        key_file: *mut glib::GKeyFile,
17120        group_name: *const c_char,
17121    );
17122
17123    //=========================================================================
17124    // GtkPageSetupUnixDialog
17125    //=========================================================================
17126    pub fn gtk_page_setup_unix_dialog_get_type() -> GType;
17127    pub fn gtk_page_setup_unix_dialog_new(
17128        title: *const c_char,
17129        parent: *mut GtkWindow,
17130    ) -> *mut GtkWidget;
17131    pub fn gtk_page_setup_unix_dialog_get_page_setup(
17132        dialog: *mut GtkPageSetupUnixDialog,
17133    ) -> *mut GtkPageSetup;
17134    pub fn gtk_page_setup_unix_dialog_get_print_settings(
17135        dialog: *mut GtkPageSetupUnixDialog,
17136    ) -> *mut GtkPrintSettings;
17137    pub fn gtk_page_setup_unix_dialog_set_page_setup(
17138        dialog: *mut GtkPageSetupUnixDialog,
17139        page_setup: *mut GtkPageSetup,
17140    );
17141    pub fn gtk_page_setup_unix_dialog_set_print_settings(
17142        dialog: *mut GtkPageSetupUnixDialog,
17143        print_settings: *mut GtkPrintSettings,
17144    );
17145
17146    //=========================================================================
17147    // GtkPaned
17148    //=========================================================================
17149    pub fn gtk_paned_get_type() -> GType;
17150    pub fn gtk_paned_new(orientation: GtkOrientation) -> *mut GtkWidget;
17151    pub fn gtk_paned_get_end_child(paned: *mut GtkPaned) -> *mut GtkWidget;
17152    pub fn gtk_paned_get_position(paned: *mut GtkPaned) -> c_int;
17153    pub fn gtk_paned_get_resize_end_child(paned: *mut GtkPaned) -> gboolean;
17154    pub fn gtk_paned_get_resize_start_child(paned: *mut GtkPaned) -> gboolean;
17155    pub fn gtk_paned_get_shrink_end_child(paned: *mut GtkPaned) -> gboolean;
17156    pub fn gtk_paned_get_shrink_start_child(paned: *mut GtkPaned) -> gboolean;
17157    pub fn gtk_paned_get_start_child(paned: *mut GtkPaned) -> *mut GtkWidget;
17158    pub fn gtk_paned_get_wide_handle(paned: *mut GtkPaned) -> gboolean;
17159    pub fn gtk_paned_set_end_child(paned: *mut GtkPaned, child: *mut GtkWidget);
17160    pub fn gtk_paned_set_position(paned: *mut GtkPaned, position: c_int);
17161    pub fn gtk_paned_set_resize_end_child(paned: *mut GtkPaned, resize: gboolean);
17162    pub fn gtk_paned_set_resize_start_child(paned: *mut GtkPaned, resize: gboolean);
17163    pub fn gtk_paned_set_shrink_end_child(paned: *mut GtkPaned, resize: gboolean);
17164    pub fn gtk_paned_set_shrink_start_child(paned: *mut GtkPaned, resize: gboolean);
17165    pub fn gtk_paned_set_start_child(paned: *mut GtkPaned, child: *mut GtkWidget);
17166    pub fn gtk_paned_set_wide_handle(paned: *mut GtkPaned, wide: gboolean);
17167
17168    //=========================================================================
17169    // GtkParamSpecExpression
17170    //=========================================================================
17171    pub fn gtk_param_expression_get_type() -> GType;
17172
17173    //=========================================================================
17174    // GtkPasswordEntry
17175    //=========================================================================
17176    pub fn gtk_password_entry_get_type() -> GType;
17177    pub fn gtk_password_entry_new() -> *mut GtkWidget;
17178    pub fn gtk_password_entry_get_extra_menu(entry: *mut GtkPasswordEntry) -> *mut gio::GMenuModel;
17179    pub fn gtk_password_entry_get_show_peek_icon(entry: *mut GtkPasswordEntry) -> gboolean;
17180    pub fn gtk_password_entry_set_extra_menu(
17181        entry: *mut GtkPasswordEntry,
17182        model: *mut gio::GMenuModel,
17183    );
17184    pub fn gtk_password_entry_set_show_peek_icon(
17185        entry: *mut GtkPasswordEntry,
17186        show_peek_icon: gboolean,
17187    );
17188
17189    //=========================================================================
17190    // GtkPasswordEntryBuffer
17191    //=========================================================================
17192    #[cfg(feature = "v4_4")]
17193    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
17194    pub fn gtk_password_entry_buffer_get_type() -> GType;
17195    #[cfg(feature = "v4_4")]
17196    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
17197    pub fn gtk_password_entry_buffer_new() -> *mut GtkEntryBuffer;
17198
17199    //=========================================================================
17200    // GtkPicture
17201    //=========================================================================
17202    pub fn gtk_picture_get_type() -> GType;
17203    pub fn gtk_picture_new() -> *mut GtkWidget;
17204    pub fn gtk_picture_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
17205    pub fn gtk_picture_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
17206    pub fn gtk_picture_new_for_paintable(paintable: *mut gdk::GdkPaintable) -> *mut GtkWidget;
17207    pub fn gtk_picture_new_for_pixbuf(pixbuf: *mut gdk_pixbuf::GdkPixbuf) -> *mut GtkWidget;
17208    pub fn gtk_picture_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
17209    pub fn gtk_picture_get_alternative_text(self_: *mut GtkPicture) -> *const c_char;
17210    pub fn gtk_picture_get_can_shrink(self_: *mut GtkPicture) -> gboolean;
17211    #[cfg(feature = "v4_8")]
17212    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17213    pub fn gtk_picture_get_content_fit(self_: *mut GtkPicture) -> GtkContentFit;
17214    pub fn gtk_picture_get_file(self_: *mut GtkPicture) -> *mut gio::GFile;
17215    #[cfg(feature = "v4_22")]
17216    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17217    pub fn gtk_picture_get_isolate_contents(self_: *mut GtkPicture) -> gboolean;
17218    pub fn gtk_picture_get_keep_aspect_ratio(self_: *mut GtkPicture) -> gboolean;
17219    pub fn gtk_picture_get_paintable(self_: *mut GtkPicture) -> *mut gdk::GdkPaintable;
17220    pub fn gtk_picture_set_alternative_text(
17221        self_: *mut GtkPicture,
17222        alternative_text: *const c_char,
17223    );
17224    pub fn gtk_picture_set_can_shrink(self_: *mut GtkPicture, can_shrink: gboolean);
17225    #[cfg(feature = "v4_8")]
17226    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
17227    pub fn gtk_picture_set_content_fit(self_: *mut GtkPicture, content_fit: GtkContentFit);
17228    pub fn gtk_picture_set_file(self_: *mut GtkPicture, file: *mut gio::GFile);
17229    pub fn gtk_picture_set_filename(self_: *mut GtkPicture, filename: *const c_char);
17230    #[cfg(feature = "v4_22")]
17231    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17232    pub fn gtk_picture_set_isolate_contents(self_: *mut GtkPicture, isolate_contents: gboolean);
17233    pub fn gtk_picture_set_keep_aspect_ratio(self_: *mut GtkPicture, keep_aspect_ratio: gboolean);
17234    pub fn gtk_picture_set_paintable(self_: *mut GtkPicture, paintable: *mut gdk::GdkPaintable);
17235    pub fn gtk_picture_set_pixbuf(self_: *mut GtkPicture, pixbuf: *mut gdk_pixbuf::GdkPixbuf);
17236    pub fn gtk_picture_set_resource(self_: *mut GtkPicture, resource_path: *const c_char);
17237
17238    //=========================================================================
17239    // GtkPopover
17240    //=========================================================================
17241    pub fn gtk_popover_get_type() -> GType;
17242    pub fn gtk_popover_new() -> *mut GtkWidget;
17243    pub fn gtk_popover_get_autohide(popover: *mut GtkPopover) -> gboolean;
17244    pub fn gtk_popover_get_cascade_popdown(popover: *mut GtkPopover) -> gboolean;
17245    pub fn gtk_popover_get_child(popover: *mut GtkPopover) -> *mut GtkWidget;
17246    pub fn gtk_popover_get_has_arrow(popover: *mut GtkPopover) -> gboolean;
17247    pub fn gtk_popover_get_mnemonics_visible(popover: *mut GtkPopover) -> gboolean;
17248    pub fn gtk_popover_get_offset(
17249        popover: *mut GtkPopover,
17250        x_offset: *mut c_int,
17251        y_offset: *mut c_int,
17252    );
17253    pub fn gtk_popover_get_pointing_to(
17254        popover: *mut GtkPopover,
17255        rect: *mut gdk::GdkRectangle,
17256    ) -> gboolean;
17257    pub fn gtk_popover_get_position(popover: *mut GtkPopover) -> GtkPositionType;
17258    pub fn gtk_popover_popdown(popover: *mut GtkPopover);
17259    pub fn gtk_popover_popup(popover: *mut GtkPopover);
17260    pub fn gtk_popover_present(popover: *mut GtkPopover);
17261    pub fn gtk_popover_set_autohide(popover: *mut GtkPopover, autohide: gboolean);
17262    pub fn gtk_popover_set_cascade_popdown(popover: *mut GtkPopover, cascade_popdown: gboolean);
17263    pub fn gtk_popover_set_child(popover: *mut GtkPopover, child: *mut GtkWidget);
17264    pub fn gtk_popover_set_default_widget(popover: *mut GtkPopover, widget: *mut GtkWidget);
17265    pub fn gtk_popover_set_has_arrow(popover: *mut GtkPopover, has_arrow: gboolean);
17266    pub fn gtk_popover_set_mnemonics_visible(popover: *mut GtkPopover, mnemonics_visible: gboolean);
17267    pub fn gtk_popover_set_offset(popover: *mut GtkPopover, x_offset: c_int, y_offset: c_int);
17268    pub fn gtk_popover_set_pointing_to(popover: *mut GtkPopover, rect: *const gdk::GdkRectangle);
17269    pub fn gtk_popover_set_position(popover: *mut GtkPopover, position: GtkPositionType);
17270
17271    //=========================================================================
17272    // GtkPopoverBin
17273    //=========================================================================
17274    #[cfg(feature = "v4_22")]
17275    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17276    pub fn gtk_popover_bin_get_type() -> GType;
17277    #[cfg(feature = "v4_22")]
17278    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17279    pub fn gtk_popover_bin_new() -> *mut GtkWidget;
17280    #[cfg(feature = "v4_22")]
17281    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17282    pub fn gtk_popover_bin_get_child(self_: *mut GtkPopoverBin) -> *mut GtkWidget;
17283    #[cfg(feature = "v4_22")]
17284    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17285    pub fn gtk_popover_bin_get_handle_input(self_: *mut GtkPopoverBin) -> gboolean;
17286    #[cfg(feature = "v4_22")]
17287    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17288    pub fn gtk_popover_bin_get_menu_model(self_: *mut GtkPopoverBin) -> *mut gio::GMenuModel;
17289    #[cfg(feature = "v4_22")]
17290    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17291    pub fn gtk_popover_bin_get_popover(self_: *mut GtkPopoverBin) -> *mut GtkPopover;
17292    #[cfg(feature = "v4_22")]
17293    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17294    pub fn gtk_popover_bin_popdown(self_: *mut GtkPopoverBin);
17295    #[cfg(feature = "v4_22")]
17296    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17297    pub fn gtk_popover_bin_popup(self_: *mut GtkPopoverBin);
17298    #[cfg(feature = "v4_22")]
17299    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17300    pub fn gtk_popover_bin_set_child(self_: *mut GtkPopoverBin, child: *mut GtkWidget);
17301    #[cfg(feature = "v4_22")]
17302    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17303    pub fn gtk_popover_bin_set_handle_input(self_: *mut GtkPopoverBin, handle_input: gboolean);
17304    #[cfg(feature = "v4_22")]
17305    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17306    pub fn gtk_popover_bin_set_menu_model(self_: *mut GtkPopoverBin, model: *mut gio::GMenuModel);
17307    #[cfg(feature = "v4_22")]
17308    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
17309    pub fn gtk_popover_bin_set_popover(self_: *mut GtkPopoverBin, popover: *mut GtkPopover);
17310
17311    //=========================================================================
17312    // GtkPopoverMenu
17313    //=========================================================================
17314    pub fn gtk_popover_menu_get_type() -> GType;
17315    pub fn gtk_popover_menu_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
17316    pub fn gtk_popover_menu_new_from_model_full(
17317        model: *mut gio::GMenuModel,
17318        flags: GtkPopoverMenuFlags,
17319    ) -> *mut GtkWidget;
17320    pub fn gtk_popover_menu_add_child(
17321        popover: *mut GtkPopoverMenu,
17322        child: *mut GtkWidget,
17323        id: *const c_char,
17324    ) -> gboolean;
17325    #[cfg(feature = "v4_14")]
17326    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17327    pub fn gtk_popover_menu_get_flags(popover: *mut GtkPopoverMenu) -> GtkPopoverMenuFlags;
17328    pub fn gtk_popover_menu_get_menu_model(popover: *mut GtkPopoverMenu) -> *mut gio::GMenuModel;
17329    pub fn gtk_popover_menu_remove_child(
17330        popover: *mut GtkPopoverMenu,
17331        child: *mut GtkWidget,
17332    ) -> gboolean;
17333    #[cfg(feature = "v4_14")]
17334    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17335    pub fn gtk_popover_menu_set_flags(popover: *mut GtkPopoverMenu, flags: GtkPopoverMenuFlags);
17336    pub fn gtk_popover_menu_set_menu_model(
17337        popover: *mut GtkPopoverMenu,
17338        model: *mut gio::GMenuModel,
17339    );
17340
17341    //=========================================================================
17342    // GtkPopoverMenuBar
17343    //=========================================================================
17344    pub fn gtk_popover_menu_bar_get_type() -> GType;
17345    pub fn gtk_popover_menu_bar_new_from_model(model: *mut gio::GMenuModel) -> *mut GtkWidget;
17346    pub fn gtk_popover_menu_bar_add_child(
17347        bar: *mut GtkPopoverMenuBar,
17348        child: *mut GtkWidget,
17349        id: *const c_char,
17350    ) -> gboolean;
17351    pub fn gtk_popover_menu_bar_get_menu_model(bar: *mut GtkPopoverMenuBar)
17352    -> *mut gio::GMenuModel;
17353    pub fn gtk_popover_menu_bar_remove_child(
17354        bar: *mut GtkPopoverMenuBar,
17355        child: *mut GtkWidget,
17356    ) -> gboolean;
17357    pub fn gtk_popover_menu_bar_set_menu_model(
17358        bar: *mut GtkPopoverMenuBar,
17359        model: *mut gio::GMenuModel,
17360    );
17361
17362    //=========================================================================
17363    // GtkPrintContext
17364    //=========================================================================
17365    pub fn gtk_print_context_get_type() -> GType;
17366    pub fn gtk_print_context_create_pango_context(
17367        context: *mut GtkPrintContext,
17368    ) -> *mut pango::PangoContext;
17369    pub fn gtk_print_context_create_pango_layout(
17370        context: *mut GtkPrintContext,
17371    ) -> *mut pango::PangoLayout;
17372    pub fn gtk_print_context_get_cairo_context(
17373        context: *mut GtkPrintContext,
17374    ) -> *mut cairo::cairo_t;
17375    pub fn gtk_print_context_get_dpi_x(context: *mut GtkPrintContext) -> c_double;
17376    pub fn gtk_print_context_get_dpi_y(context: *mut GtkPrintContext) -> c_double;
17377    pub fn gtk_print_context_get_hard_margins(
17378        context: *mut GtkPrintContext,
17379        top: *mut c_double,
17380        bottom: *mut c_double,
17381        left: *mut c_double,
17382        right: *mut c_double,
17383    ) -> gboolean;
17384    pub fn gtk_print_context_get_height(context: *mut GtkPrintContext) -> c_double;
17385    pub fn gtk_print_context_get_page_setup(context: *mut GtkPrintContext) -> *mut GtkPageSetup;
17386    pub fn gtk_print_context_get_pango_fontmap(
17387        context: *mut GtkPrintContext,
17388    ) -> *mut pango::PangoFontMap;
17389    pub fn gtk_print_context_get_width(context: *mut GtkPrintContext) -> c_double;
17390    pub fn gtk_print_context_set_cairo_context(
17391        context: *mut GtkPrintContext,
17392        cr: *mut cairo::cairo_t,
17393        dpi_x: c_double,
17394        dpi_y: c_double,
17395    );
17396
17397    //=========================================================================
17398    // GtkPrintDialog
17399    //=========================================================================
17400    #[cfg(feature = "v4_14")]
17401    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17402    pub fn gtk_print_dialog_get_type() -> GType;
17403    #[cfg(feature = "v4_14")]
17404    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17405    pub fn gtk_print_dialog_new() -> *mut GtkPrintDialog;
17406    #[cfg(feature = "v4_14")]
17407    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17408    pub fn gtk_print_dialog_get_accept_label(self_: *mut GtkPrintDialog) -> *const c_char;
17409    #[cfg(feature = "v4_14")]
17410    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17411    pub fn gtk_print_dialog_get_modal(self_: *mut GtkPrintDialog) -> gboolean;
17412    #[cfg(feature = "v4_14")]
17413    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17414    pub fn gtk_print_dialog_get_page_setup(self_: *mut GtkPrintDialog) -> *mut GtkPageSetup;
17415    #[cfg(feature = "v4_14")]
17416    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17417    pub fn gtk_print_dialog_get_print_settings(self_: *mut GtkPrintDialog)
17418    -> *mut GtkPrintSettings;
17419    #[cfg(feature = "v4_14")]
17420    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17421    pub fn gtk_print_dialog_get_title(self_: *mut GtkPrintDialog) -> *const c_char;
17422    #[cfg(feature = "v4_14")]
17423    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17424    pub fn gtk_print_dialog_print(
17425        self_: *mut GtkPrintDialog,
17426        parent: *mut GtkWindow,
17427        setup: *mut GtkPrintSetup,
17428        cancellable: *mut gio::GCancellable,
17429        callback: gio::GAsyncReadyCallback,
17430        user_data: gpointer,
17431    );
17432    #[cfg(feature = "v4_14")]
17433    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17434    pub fn gtk_print_dialog_print_file(
17435        self_: *mut GtkPrintDialog,
17436        parent: *mut GtkWindow,
17437        setup: *mut GtkPrintSetup,
17438        file: *mut gio::GFile,
17439        cancellable: *mut gio::GCancellable,
17440        callback: gio::GAsyncReadyCallback,
17441        user_data: gpointer,
17442    );
17443    #[cfg(feature = "v4_14")]
17444    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17445    pub fn gtk_print_dialog_print_file_finish(
17446        self_: *mut GtkPrintDialog,
17447        result: *mut gio::GAsyncResult,
17448        error: *mut *mut glib::GError,
17449    ) -> gboolean;
17450    #[cfg(feature = "v4_14")]
17451    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17452    pub fn gtk_print_dialog_print_finish(
17453        self_: *mut GtkPrintDialog,
17454        result: *mut gio::GAsyncResult,
17455        error: *mut *mut glib::GError,
17456    ) -> *mut gio::GOutputStream;
17457    #[cfg(feature = "v4_14")]
17458    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17459    pub fn gtk_print_dialog_set_accept_label(
17460        self_: *mut GtkPrintDialog,
17461        accept_label: *const c_char,
17462    );
17463    #[cfg(feature = "v4_14")]
17464    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17465    pub fn gtk_print_dialog_set_modal(self_: *mut GtkPrintDialog, modal: gboolean);
17466    #[cfg(feature = "v4_14")]
17467    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17468    pub fn gtk_print_dialog_set_page_setup(
17469        self_: *mut GtkPrintDialog,
17470        page_setup: *mut GtkPageSetup,
17471    );
17472    #[cfg(feature = "v4_14")]
17473    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17474    pub fn gtk_print_dialog_set_print_settings(
17475        self_: *mut GtkPrintDialog,
17476        print_settings: *mut GtkPrintSettings,
17477    );
17478    #[cfg(feature = "v4_14")]
17479    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17480    pub fn gtk_print_dialog_set_title(self_: *mut GtkPrintDialog, title: *const c_char);
17481    #[cfg(feature = "v4_14")]
17482    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17483    pub fn gtk_print_dialog_setup(
17484        self_: *mut GtkPrintDialog,
17485        parent: *mut GtkWindow,
17486        cancellable: *mut gio::GCancellable,
17487        callback: gio::GAsyncReadyCallback,
17488        user_data: gpointer,
17489    );
17490    #[cfg(feature = "v4_14")]
17491    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
17492    pub fn gtk_print_dialog_setup_finish(
17493        self_: *mut GtkPrintDialog,
17494        result: *mut gio::GAsyncResult,
17495        error: *mut *mut glib::GError,
17496    ) -> *mut GtkPrintSetup;
17497
17498    //=========================================================================
17499    // GtkPrintJob
17500    //=========================================================================
17501    pub fn gtk_print_job_get_type() -> GType;
17502    pub fn gtk_print_job_new(
17503        title: *const c_char,
17504        printer: *mut GtkPrinter,
17505        settings: *mut GtkPrintSettings,
17506        page_setup: *mut GtkPageSetup,
17507    ) -> *mut GtkPrintJob;
17508    pub fn gtk_print_job_get_collate(job: *mut GtkPrintJob) -> gboolean;
17509    pub fn gtk_print_job_get_n_up(job: *mut GtkPrintJob) -> c_uint;
17510    pub fn gtk_print_job_get_n_up_layout(job: *mut GtkPrintJob) -> GtkNumberUpLayout;
17511    pub fn gtk_print_job_get_num_copies(job: *mut GtkPrintJob) -> c_int;
17512    pub fn gtk_print_job_get_page_ranges(
17513        job: *mut GtkPrintJob,
17514        n_ranges: *mut c_int,
17515    ) -> *mut GtkPageRange;
17516    pub fn gtk_print_job_get_page_set(job: *mut GtkPrintJob) -> GtkPageSet;
17517    pub fn gtk_print_job_get_pages(job: *mut GtkPrintJob) -> GtkPrintPages;
17518    pub fn gtk_print_job_get_printer(job: *mut GtkPrintJob) -> *mut GtkPrinter;
17519    pub fn gtk_print_job_get_reverse(job: *mut GtkPrintJob) -> gboolean;
17520    pub fn gtk_print_job_get_rotate(job: *mut GtkPrintJob) -> gboolean;
17521    pub fn gtk_print_job_get_scale(job: *mut GtkPrintJob) -> c_double;
17522    pub fn gtk_print_job_get_settings(job: *mut GtkPrintJob) -> *mut GtkPrintSettings;
17523    pub fn gtk_print_job_get_status(job: *mut GtkPrintJob) -> GtkPrintStatus;
17524    pub fn gtk_print_job_get_surface(
17525        job: *mut GtkPrintJob,
17526        error: *mut *mut glib::GError,
17527    ) -> *mut cairo::cairo_surface_t;
17528    pub fn gtk_print_job_get_title(job: *mut GtkPrintJob) -> *const c_char;
17529    pub fn gtk_print_job_get_track_print_status(job: *mut GtkPrintJob) -> gboolean;
17530    pub fn gtk_print_job_send(
17531        job: *mut GtkPrintJob,
17532        callback: GtkPrintJobCompleteFunc,
17533        user_data: gpointer,
17534        dnotify: glib::GDestroyNotify,
17535    );
17536    pub fn gtk_print_job_set_collate(job: *mut GtkPrintJob, collate: gboolean);
17537    pub fn gtk_print_job_set_n_up(job: *mut GtkPrintJob, n_up: c_uint);
17538    pub fn gtk_print_job_set_n_up_layout(job: *mut GtkPrintJob, layout: GtkNumberUpLayout);
17539    pub fn gtk_print_job_set_num_copies(job: *mut GtkPrintJob, num_copies: c_int);
17540    pub fn gtk_print_job_set_page_ranges(
17541        job: *mut GtkPrintJob,
17542        ranges: *mut GtkPageRange,
17543        n_ranges: c_int,
17544    );
17545    pub fn gtk_print_job_set_page_set(job: *mut GtkPrintJob, page_set: GtkPageSet);
17546    pub fn gtk_print_job_set_pages(job: *mut GtkPrintJob, pages: GtkPrintPages);
17547    pub fn gtk_print_job_set_reverse(job: *mut GtkPrintJob, reverse: gboolean);
17548    pub fn gtk_print_job_set_rotate(job: *mut GtkPrintJob, rotate: gboolean);
17549    pub fn gtk_print_job_set_scale(job: *mut GtkPrintJob, scale: c_double);
17550    pub fn gtk_print_job_set_source_fd(
17551        job: *mut GtkPrintJob,
17552        fd: c_int,
17553        error: *mut *mut glib::GError,
17554    ) -> gboolean;
17555    pub fn gtk_print_job_set_source_file(
17556        job: *mut GtkPrintJob,
17557        filename: *const c_char,
17558        error: *mut *mut glib::GError,
17559    ) -> gboolean;
17560    pub fn gtk_print_job_set_track_print_status(job: *mut GtkPrintJob, track_status: gboolean);
17561
17562    //=========================================================================
17563    // GtkPrintOperation
17564    //=========================================================================
17565    pub fn gtk_print_operation_get_type() -> GType;
17566    pub fn gtk_print_operation_new() -> *mut GtkPrintOperation;
17567    pub fn gtk_print_operation_cancel(op: *mut GtkPrintOperation);
17568    pub fn gtk_print_operation_draw_page_finish(op: *mut GtkPrintOperation);
17569    pub fn gtk_print_operation_get_default_page_setup(
17570        op: *mut GtkPrintOperation,
17571    ) -> *mut GtkPageSetup;
17572    pub fn gtk_print_operation_get_embed_page_setup(op: *mut GtkPrintOperation) -> gboolean;
17573    pub fn gtk_print_operation_get_error(op: *mut GtkPrintOperation, error: *mut *mut glib::GError);
17574    pub fn gtk_print_operation_get_has_selection(op: *mut GtkPrintOperation) -> gboolean;
17575    pub fn gtk_print_operation_get_n_pages_to_print(op: *mut GtkPrintOperation) -> c_int;
17576    pub fn gtk_print_operation_get_print_settings(
17577        op: *mut GtkPrintOperation,
17578    ) -> *mut GtkPrintSettings;
17579    pub fn gtk_print_operation_get_status(op: *mut GtkPrintOperation) -> GtkPrintStatus;
17580    pub fn gtk_print_operation_get_status_string(op: *mut GtkPrintOperation) -> *const c_char;
17581    pub fn gtk_print_operation_get_support_selection(op: *mut GtkPrintOperation) -> gboolean;
17582    pub fn gtk_print_operation_is_finished(op: *mut GtkPrintOperation) -> gboolean;
17583    pub fn gtk_print_operation_run(
17584        op: *mut GtkPrintOperation,
17585        action: GtkPrintOperationAction,
17586        parent: *mut GtkWindow,
17587        error: *mut *mut glib::GError,
17588    ) -> GtkPrintOperationResult;
17589    pub fn gtk_print_operation_set_allow_async(op: *mut GtkPrintOperation, allow_async: gboolean);
17590    pub fn gtk_print_operation_set_current_page(op: *mut GtkPrintOperation, current_page: c_int);
17591    pub fn gtk_print_operation_set_custom_tab_label(
17592        op: *mut GtkPrintOperation,
17593        label: *const c_char,
17594    );
17595    pub fn gtk_print_operation_set_default_page_setup(
17596        op: *mut GtkPrintOperation,
17597        default_page_setup: *mut GtkPageSetup,
17598    );
17599    pub fn gtk_print_operation_set_defer_drawing(op: *mut GtkPrintOperation);
17600    pub fn gtk_print_operation_set_embed_page_setup(op: *mut GtkPrintOperation, embed: gboolean);
17601    pub fn gtk_print_operation_set_export_filename(
17602        op: *mut GtkPrintOperation,
17603        filename: *const c_char,
17604    );
17605    pub fn gtk_print_operation_set_has_selection(
17606        op: *mut GtkPrintOperation,
17607        has_selection: gboolean,
17608    );
17609    pub fn gtk_print_operation_set_job_name(op: *mut GtkPrintOperation, job_name: *const c_char);
17610    pub fn gtk_print_operation_set_n_pages(op: *mut GtkPrintOperation, n_pages: c_int);
17611    pub fn gtk_print_operation_set_print_settings(
17612        op: *mut GtkPrintOperation,
17613        print_settings: *mut GtkPrintSettings,
17614    );
17615    pub fn gtk_print_operation_set_show_progress(
17616        op: *mut GtkPrintOperation,
17617        show_progress: gboolean,
17618    );
17619    pub fn gtk_print_operation_set_support_selection(
17620        op: *mut GtkPrintOperation,
17621        support_selection: gboolean,
17622    );
17623    pub fn gtk_print_operation_set_track_print_status(
17624        op: *mut GtkPrintOperation,
17625        track_status: gboolean,
17626    );
17627    pub fn gtk_print_operation_set_unit(op: *mut GtkPrintOperation, unit: GtkUnit);
17628    pub fn gtk_print_operation_set_use_full_page(op: *mut GtkPrintOperation, full_page: gboolean);
17629
17630    //=========================================================================
17631    // GtkPrintSettings
17632    //=========================================================================
17633    pub fn gtk_print_settings_get_type() -> GType;
17634    pub fn gtk_print_settings_new() -> *mut GtkPrintSettings;
17635    pub fn gtk_print_settings_new_from_file(
17636        file_name: *const c_char,
17637        error: *mut *mut glib::GError,
17638    ) -> *mut GtkPrintSettings;
17639    pub fn gtk_print_settings_new_from_gvariant(
17640        variant: *mut glib::GVariant,
17641    ) -> *mut GtkPrintSettings;
17642    pub fn gtk_print_settings_new_from_key_file(
17643        key_file: *mut glib::GKeyFile,
17644        group_name: *const c_char,
17645        error: *mut *mut glib::GError,
17646    ) -> *mut GtkPrintSettings;
17647    pub fn gtk_print_settings_copy(other: *mut GtkPrintSettings) -> *mut GtkPrintSettings;
17648    pub fn gtk_print_settings_foreach(
17649        settings: *mut GtkPrintSettings,
17650        func: GtkPrintSettingsFunc,
17651        user_data: gpointer,
17652    );
17653    pub fn gtk_print_settings_get(
17654        settings: *mut GtkPrintSettings,
17655        key: *const c_char,
17656    ) -> *const c_char;
17657    pub fn gtk_print_settings_get_bool(
17658        settings: *mut GtkPrintSettings,
17659        key: *const c_char,
17660    ) -> gboolean;
17661    pub fn gtk_print_settings_get_collate(settings: *mut GtkPrintSettings) -> gboolean;
17662    pub fn gtk_print_settings_get_default_source(settings: *mut GtkPrintSettings) -> *const c_char;
17663    pub fn gtk_print_settings_get_dither(settings: *mut GtkPrintSettings) -> *const c_char;
17664    pub fn gtk_print_settings_get_double(
17665        settings: *mut GtkPrintSettings,
17666        key: *const c_char,
17667    ) -> c_double;
17668    pub fn gtk_print_settings_get_double_with_default(
17669        settings: *mut GtkPrintSettings,
17670        key: *const c_char,
17671        def: c_double,
17672    ) -> c_double;
17673    pub fn gtk_print_settings_get_duplex(settings: *mut GtkPrintSettings) -> GtkPrintDuplex;
17674    pub fn gtk_print_settings_get_finishings(settings: *mut GtkPrintSettings) -> *const c_char;
17675    pub fn gtk_print_settings_get_int(settings: *mut GtkPrintSettings, key: *const c_char)
17676    -> c_int;
17677    pub fn gtk_print_settings_get_int_with_default(
17678        settings: *mut GtkPrintSettings,
17679        key: *const c_char,
17680        def: c_int,
17681    ) -> c_int;
17682    pub fn gtk_print_settings_get_length(
17683        settings: *mut GtkPrintSettings,
17684        key: *const c_char,
17685        unit: GtkUnit,
17686    ) -> c_double;
17687    pub fn gtk_print_settings_get_media_type(settings: *mut GtkPrintSettings) -> *const c_char;
17688    pub fn gtk_print_settings_get_n_copies(settings: *mut GtkPrintSettings) -> c_int;
17689    pub fn gtk_print_settings_get_number_up(settings: *mut GtkPrintSettings) -> c_int;
17690    pub fn gtk_print_settings_get_number_up_layout(
17691        settings: *mut GtkPrintSettings,
17692    ) -> GtkNumberUpLayout;
17693    pub fn gtk_print_settings_get_orientation(
17694        settings: *mut GtkPrintSettings,
17695    ) -> GtkPageOrientation;
17696    pub fn gtk_print_settings_get_output_bin(settings: *mut GtkPrintSettings) -> *const c_char;
17697    pub fn gtk_print_settings_get_page_ranges(
17698        settings: *mut GtkPrintSettings,
17699        num_ranges: *mut c_int,
17700    ) -> *mut GtkPageRange;
17701    pub fn gtk_print_settings_get_page_set(settings: *mut GtkPrintSettings) -> GtkPageSet;
17702    pub fn gtk_print_settings_get_paper_height(
17703        settings: *mut GtkPrintSettings,
17704        unit: GtkUnit,
17705    ) -> c_double;
17706    pub fn gtk_print_settings_get_paper_size(settings: *mut GtkPrintSettings) -> *mut GtkPaperSize;
17707    pub fn gtk_print_settings_get_paper_width(
17708        settings: *mut GtkPrintSettings,
17709        unit: GtkUnit,
17710    ) -> c_double;
17711    pub fn gtk_print_settings_get_print_pages(settings: *mut GtkPrintSettings) -> GtkPrintPages;
17712    pub fn gtk_print_settings_get_printer(settings: *mut GtkPrintSettings) -> *const c_char;
17713    pub fn gtk_print_settings_get_printer_lpi(settings: *mut GtkPrintSettings) -> c_double;
17714    pub fn gtk_print_settings_get_quality(settings: *mut GtkPrintSettings) -> GtkPrintQuality;
17715    pub fn gtk_print_settings_get_resolution(settings: *mut GtkPrintSettings) -> c_int;
17716    pub fn gtk_print_settings_get_resolution_x(settings: *mut GtkPrintSettings) -> c_int;
17717    pub fn gtk_print_settings_get_resolution_y(settings: *mut GtkPrintSettings) -> c_int;
17718    pub fn gtk_print_settings_get_reverse(settings: *mut GtkPrintSettings) -> gboolean;
17719    pub fn gtk_print_settings_get_scale(settings: *mut GtkPrintSettings) -> c_double;
17720    pub fn gtk_print_settings_get_use_color(settings: *mut GtkPrintSettings) -> gboolean;
17721    pub fn gtk_print_settings_has_key(
17722        settings: *mut GtkPrintSettings,
17723        key: *const c_char,
17724    ) -> gboolean;
17725    pub fn gtk_print_settings_load_file(
17726        settings: *mut GtkPrintSettings,
17727        file_name: *const c_char,
17728        error: *mut *mut glib::GError,
17729    ) -> gboolean;
17730    pub fn gtk_print_settings_load_key_file(
17731        settings: *mut GtkPrintSettings,
17732        key_file: *mut glib::GKeyFile,
17733        group_name: *const c_char,
17734        error: *mut *mut glib::GError,
17735    ) -> gboolean;
17736    pub fn gtk_print_settings_set(
17737        settings: *mut GtkPrintSettings,
17738        key: *const c_char,
17739        value: *const c_char,
17740    );
17741    pub fn gtk_print_settings_set_bool(
17742        settings: *mut GtkPrintSettings,
17743        key: *const c_char,
17744        value: gboolean,
17745    );
17746    pub fn gtk_print_settings_set_collate(settings: *mut GtkPrintSettings, collate: gboolean);
17747    pub fn gtk_print_settings_set_default_source(
17748        settings: *mut GtkPrintSettings,
17749        default_source: *const c_char,
17750    );
17751    pub fn gtk_print_settings_set_dither(settings: *mut GtkPrintSettings, dither: *const c_char);
17752    pub fn gtk_print_settings_set_double(
17753        settings: *mut GtkPrintSettings,
17754        key: *const c_char,
17755        value: c_double,
17756    );
17757    pub fn gtk_print_settings_set_duplex(settings: *mut GtkPrintSettings, duplex: GtkPrintDuplex);
17758    pub fn gtk_print_settings_set_finishings(
17759        settings: *mut GtkPrintSettings,
17760        finishings: *const c_char,
17761    );
17762    pub fn gtk_print_settings_set_int(
17763        settings: *mut GtkPrintSettings,
17764        key: *const c_char,
17765        value: c_int,
17766    );
17767    pub fn gtk_print_settings_set_length(
17768        settings: *mut GtkPrintSettings,
17769        key: *const c_char,
17770        value: c_double,
17771        unit: GtkUnit,
17772    );
17773    pub fn gtk_print_settings_set_media_type(
17774        settings: *mut GtkPrintSettings,
17775        media_type: *const c_char,
17776    );
17777    pub fn gtk_print_settings_set_n_copies(settings: *mut GtkPrintSettings, num_copies: c_int);
17778    pub fn gtk_print_settings_set_number_up(settings: *mut GtkPrintSettings, number_up: c_int);
17779    pub fn gtk_print_settings_set_number_up_layout(
17780        settings: *mut GtkPrintSettings,
17781        number_up_layout: GtkNumberUpLayout,
17782    );
17783    pub fn gtk_print_settings_set_orientation(
17784        settings: *mut GtkPrintSettings,
17785        orientation: GtkPageOrientation,
17786    );
17787    pub fn gtk_print_settings_set_output_bin(
17788        settings: *mut GtkPrintSettings,
17789        output_bin: *const c_char,
17790    );
17791    pub fn gtk_print_settings_set_page_ranges(
17792        settings: *mut GtkPrintSettings,
17793        page_ranges: *mut GtkPageRange,
17794        num_ranges: c_int,
17795    );
17796    pub fn gtk_print_settings_set_page_set(settings: *mut GtkPrintSettings, page_set: GtkPageSet);
17797    pub fn gtk_print_settings_set_paper_height(
17798        settings: *mut GtkPrintSettings,
17799        height: c_double,
17800        unit: GtkUnit,
17801    );
17802    pub fn gtk_print_settings_set_paper_size(
17803        settings: *mut GtkPrintSettings,
17804        paper_size: *mut GtkPaperSize,
17805    );
17806    pub fn gtk_print_settings_set_paper_width(
17807        settings: *mut GtkPrintSettings,
17808        width: c_double,
17809        unit: GtkUnit,
17810    );
17811    pub fn gtk_print_settings_set_print_pages(
17812        settings: *mut GtkPrintSettings,
17813        pages: GtkPrintPages,
17814    );
17815    pub fn gtk_print_settings_set_printer(settings: *mut GtkPrintSettings, printer: *const c_char);
17816    pub fn gtk_print_settings_set_printer_lpi(settings: *mut GtkPrintSettings, lpi: c_double);
17817    pub fn gtk_print_settings_set_quality(
17818        settings: *mut GtkPrintSettings,
17819        quality: GtkPrintQuality,
17820    );
17821    pub fn gtk_print_settings_set_resolution(settings: *mut GtkPrintSettings, resolution: c_int);
17822    pub fn gtk_print_settings_set_resolution_xy(
17823        settings: *mut GtkPrintSettings,
17824        resolution_x: c_int,
17825        resolution_y: c_int,
17826    );
17827    pub fn gtk_print_settings_set_reverse(settings: *mut GtkPrintSettings, reverse: gboolean);
17828    pub fn gtk_print_settings_set_scale(settings: *mut GtkPrintSettings, scale: c_double);
17829    pub fn gtk_print_settings_set_use_color(settings: *mut GtkPrintSettings, use_color: gboolean);
17830    pub fn gtk_print_settings_to_file(
17831        settings: *mut GtkPrintSettings,
17832        file_name: *const c_char,
17833        error: *mut *mut glib::GError,
17834    ) -> gboolean;
17835    pub fn gtk_print_settings_to_gvariant(settings: *mut GtkPrintSettings) -> *mut glib::GVariant;
17836    pub fn gtk_print_settings_to_key_file(
17837        settings: *mut GtkPrintSettings,
17838        key_file: *mut glib::GKeyFile,
17839        group_name: *const c_char,
17840    );
17841    pub fn gtk_print_settings_unset(settings: *mut GtkPrintSettings, key: *const c_char);
17842
17843    //=========================================================================
17844    // GtkPrintUnixDialog
17845    //=========================================================================
17846    pub fn gtk_print_unix_dialog_get_type() -> GType;
17847    pub fn gtk_print_unix_dialog_new(
17848        title: *const c_char,
17849        parent: *mut GtkWindow,
17850    ) -> *mut GtkWidget;
17851    pub fn gtk_print_unix_dialog_add_custom_tab(
17852        dialog: *mut GtkPrintUnixDialog,
17853        child: *mut GtkWidget,
17854        tab_label: *mut GtkWidget,
17855    );
17856    pub fn gtk_print_unix_dialog_get_current_page(dialog: *mut GtkPrintUnixDialog) -> c_int;
17857    pub fn gtk_print_unix_dialog_get_embed_page_setup(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17858    pub fn gtk_print_unix_dialog_get_has_selection(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17859    pub fn gtk_print_unix_dialog_get_manual_capabilities(
17860        dialog: *mut GtkPrintUnixDialog,
17861    ) -> GtkPrintCapabilities;
17862    pub fn gtk_print_unix_dialog_get_page_setup(
17863        dialog: *mut GtkPrintUnixDialog,
17864    ) -> *mut GtkPageSetup;
17865    pub fn gtk_print_unix_dialog_get_page_setup_set(dialog: *mut GtkPrintUnixDialog) -> gboolean;
17866    pub fn gtk_print_unix_dialog_get_selected_printer(
17867        dialog: *mut GtkPrintUnixDialog,
17868    ) -> *mut GtkPrinter;
17869    pub fn gtk_print_unix_dialog_get_settings(
17870        dialog: *mut GtkPrintUnixDialog,
17871    ) -> *mut GtkPrintSettings;
17872    pub fn gtk_print_unix_dialog_get_support_selection(dialog: *mut GtkPrintUnixDialog)
17873    -> gboolean;
17874    pub fn gtk_print_unix_dialog_set_current_page(
17875        dialog: *mut GtkPrintUnixDialog,
17876        current_page: c_int,
17877    );
17878    pub fn gtk_print_unix_dialog_set_embed_page_setup(
17879        dialog: *mut GtkPrintUnixDialog,
17880        embed: gboolean,
17881    );
17882    pub fn gtk_print_unix_dialog_set_has_selection(
17883        dialog: *mut GtkPrintUnixDialog,
17884        has_selection: gboolean,
17885    );
17886    pub fn gtk_print_unix_dialog_set_manual_capabilities(
17887        dialog: *mut GtkPrintUnixDialog,
17888        capabilities: GtkPrintCapabilities,
17889    );
17890    pub fn gtk_print_unix_dialog_set_page_setup(
17891        dialog: *mut GtkPrintUnixDialog,
17892        page_setup: *mut GtkPageSetup,
17893    );
17894    pub fn gtk_print_unix_dialog_set_settings(
17895        dialog: *mut GtkPrintUnixDialog,
17896        settings: *mut GtkPrintSettings,
17897    );
17898    pub fn gtk_print_unix_dialog_set_support_selection(
17899        dialog: *mut GtkPrintUnixDialog,
17900        support_selection: gboolean,
17901    );
17902
17903    //=========================================================================
17904    // GtkPrinter
17905    //=========================================================================
17906    pub fn gtk_printer_get_type() -> GType;
17907    pub fn gtk_printer_new(
17908        name: *const c_char,
17909        backend: *mut GtkPrintBackend,
17910        virtual_: gboolean,
17911    ) -> *mut GtkPrinter;
17912    pub fn gtk_printer_accepts_pdf(printer: *mut GtkPrinter) -> gboolean;
17913    pub fn gtk_printer_accepts_ps(printer: *mut GtkPrinter) -> gboolean;
17914    pub fn gtk_printer_compare(a: *mut GtkPrinter, b: *mut GtkPrinter) -> c_int;
17915    pub fn gtk_printer_get_backend(printer: *mut GtkPrinter) -> *mut GtkPrintBackend;
17916    pub fn gtk_printer_get_capabilities(printer: *mut GtkPrinter) -> GtkPrintCapabilities;
17917    pub fn gtk_printer_get_default_page_size(printer: *mut GtkPrinter) -> *mut GtkPageSetup;
17918    pub fn gtk_printer_get_description(printer: *mut GtkPrinter) -> *const c_char;
17919    pub fn gtk_printer_get_hard_margins(
17920        printer: *mut GtkPrinter,
17921        top: *mut c_double,
17922        bottom: *mut c_double,
17923        left: *mut c_double,
17924        right: *mut c_double,
17925    ) -> gboolean;
17926    pub fn gtk_printer_get_hard_margins_for_paper_size(
17927        printer: *mut GtkPrinter,
17928        paper_size: *mut GtkPaperSize,
17929        top: *mut c_double,
17930        bottom: *mut c_double,
17931        left: *mut c_double,
17932        right: *mut c_double,
17933    ) -> gboolean;
17934    pub fn gtk_printer_get_icon_name(printer: *mut GtkPrinter) -> *const c_char;
17935    pub fn gtk_printer_get_job_count(printer: *mut GtkPrinter) -> c_int;
17936    pub fn gtk_printer_get_location(printer: *mut GtkPrinter) -> *const c_char;
17937    pub fn gtk_printer_get_name(printer: *mut GtkPrinter) -> *const c_char;
17938    pub fn gtk_printer_get_state_message(printer: *mut GtkPrinter) -> *const c_char;
17939    pub fn gtk_printer_has_details(printer: *mut GtkPrinter) -> gboolean;
17940    pub fn gtk_printer_is_accepting_jobs(printer: *mut GtkPrinter) -> gboolean;
17941    pub fn gtk_printer_is_active(printer: *mut GtkPrinter) -> gboolean;
17942    pub fn gtk_printer_is_default(printer: *mut GtkPrinter) -> gboolean;
17943    pub fn gtk_printer_is_paused(printer: *mut GtkPrinter) -> gboolean;
17944    pub fn gtk_printer_is_virtual(printer: *mut GtkPrinter) -> gboolean;
17945    pub fn gtk_printer_list_papers(printer: *mut GtkPrinter) -> *mut glib::GList;
17946    pub fn gtk_printer_request_details(printer: *mut GtkPrinter);
17947
17948    //=========================================================================
17949    // GtkProgressBar
17950    //=========================================================================
17951    pub fn gtk_progress_bar_get_type() -> GType;
17952    pub fn gtk_progress_bar_new() -> *mut GtkWidget;
17953    pub fn gtk_progress_bar_get_ellipsize(pbar: *mut GtkProgressBar) -> pango::PangoEllipsizeMode;
17954    pub fn gtk_progress_bar_get_fraction(pbar: *mut GtkProgressBar) -> c_double;
17955    pub fn gtk_progress_bar_get_inverted(pbar: *mut GtkProgressBar) -> gboolean;
17956    pub fn gtk_progress_bar_get_pulse_step(pbar: *mut GtkProgressBar) -> c_double;
17957    pub fn gtk_progress_bar_get_show_text(pbar: *mut GtkProgressBar) -> gboolean;
17958    pub fn gtk_progress_bar_get_text(pbar: *mut GtkProgressBar) -> *const c_char;
17959    pub fn gtk_progress_bar_pulse(pbar: *mut GtkProgressBar);
17960    pub fn gtk_progress_bar_set_ellipsize(
17961        pbar: *mut GtkProgressBar,
17962        mode: pango::PangoEllipsizeMode,
17963    );
17964    pub fn gtk_progress_bar_set_fraction(pbar: *mut GtkProgressBar, fraction: c_double);
17965    pub fn gtk_progress_bar_set_inverted(pbar: *mut GtkProgressBar, inverted: gboolean);
17966    pub fn gtk_progress_bar_set_pulse_step(pbar: *mut GtkProgressBar, fraction: c_double);
17967    pub fn gtk_progress_bar_set_show_text(pbar: *mut GtkProgressBar, show_text: gboolean);
17968    pub fn gtk_progress_bar_set_text(pbar: *mut GtkProgressBar, text: *const c_char);
17969
17970    //=========================================================================
17971    // GtkPropertyExpression
17972    //=========================================================================
17973    pub fn gtk_property_expression_get_type() -> GType;
17974    pub fn gtk_property_expression_new(
17975        this_type: GType,
17976        expression: *mut GtkExpression,
17977        property_name: *const c_char,
17978    ) -> *mut GtkPropertyExpression;
17979    pub fn gtk_property_expression_new_for_pspec(
17980        expression: *mut GtkExpression,
17981        pspec: *mut gobject::GParamSpec,
17982    ) -> *mut GtkPropertyExpression;
17983    pub fn gtk_property_expression_get_expression(
17984        expression: *mut GtkPropertyExpression,
17985    ) -> *mut GtkExpression;
17986    pub fn gtk_property_expression_get_pspec(
17987        expression: *mut GtkPropertyExpression,
17988    ) -> *mut gobject::GParamSpec;
17989
17990    //=========================================================================
17991    // GtkRange
17992    //=========================================================================
17993    pub fn gtk_range_get_type() -> GType;
17994    pub fn gtk_range_get_adjustment(range: *mut GtkRange) -> *mut GtkAdjustment;
17995    pub fn gtk_range_get_fill_level(range: *mut GtkRange) -> c_double;
17996    pub fn gtk_range_get_flippable(range: *mut GtkRange) -> gboolean;
17997    pub fn gtk_range_get_inverted(range: *mut GtkRange) -> gboolean;
17998    pub fn gtk_range_get_range_rect(range: *mut GtkRange, range_rect: *mut gdk::GdkRectangle);
17999    pub fn gtk_range_get_restrict_to_fill_level(range: *mut GtkRange) -> gboolean;
18000    pub fn gtk_range_get_round_digits(range: *mut GtkRange) -> c_int;
18001    pub fn gtk_range_get_show_fill_level(range: *mut GtkRange) -> gboolean;
18002    pub fn gtk_range_get_slider_range(
18003        range: *mut GtkRange,
18004        slider_start: *mut c_int,
18005        slider_end: *mut c_int,
18006    );
18007    pub fn gtk_range_get_slider_size_fixed(range: *mut GtkRange) -> gboolean;
18008    pub fn gtk_range_get_value(range: *mut GtkRange) -> c_double;
18009    pub fn gtk_range_set_adjustment(range: *mut GtkRange, adjustment: *mut GtkAdjustment);
18010    pub fn gtk_range_set_fill_level(range: *mut GtkRange, fill_level: c_double);
18011    pub fn gtk_range_set_flippable(range: *mut GtkRange, flippable: gboolean);
18012    pub fn gtk_range_set_increments(range: *mut GtkRange, step: c_double, page: c_double);
18013    pub fn gtk_range_set_inverted(range: *mut GtkRange, setting: gboolean);
18014    pub fn gtk_range_set_range(range: *mut GtkRange, min: c_double, max: c_double);
18015    pub fn gtk_range_set_restrict_to_fill_level(
18016        range: *mut GtkRange,
18017        restrict_to_fill_level: gboolean,
18018    );
18019    pub fn gtk_range_set_round_digits(range: *mut GtkRange, round_digits: c_int);
18020    pub fn gtk_range_set_show_fill_level(range: *mut GtkRange, show_fill_level: gboolean);
18021    pub fn gtk_range_set_slider_size_fixed(range: *mut GtkRange, size_fixed: gboolean);
18022    pub fn gtk_range_set_value(range: *mut GtkRange, value: c_double);
18023
18024    //=========================================================================
18025    // GtkRecentManager
18026    //=========================================================================
18027    pub fn gtk_recent_manager_get_type() -> GType;
18028    pub fn gtk_recent_manager_new() -> *mut GtkRecentManager;
18029    pub fn gtk_recent_manager_get_default() -> *mut GtkRecentManager;
18030    pub fn gtk_recent_manager_add_full(
18031        manager: *mut GtkRecentManager,
18032        uri: *const c_char,
18033        recent_data: *const GtkRecentData,
18034    ) -> gboolean;
18035    pub fn gtk_recent_manager_add_item(
18036        manager: *mut GtkRecentManager,
18037        uri: *const c_char,
18038    ) -> gboolean;
18039    pub fn gtk_recent_manager_get_items(manager: *mut GtkRecentManager) -> *mut glib::GList;
18040    pub fn gtk_recent_manager_has_item(
18041        manager: *mut GtkRecentManager,
18042        uri: *const c_char,
18043    ) -> gboolean;
18044    pub fn gtk_recent_manager_lookup_item(
18045        manager: *mut GtkRecentManager,
18046        uri: *const c_char,
18047        error: *mut *mut glib::GError,
18048    ) -> *mut GtkRecentInfo;
18049    pub fn gtk_recent_manager_move_item(
18050        manager: *mut GtkRecentManager,
18051        uri: *const c_char,
18052        new_uri: *const c_char,
18053        error: *mut *mut glib::GError,
18054    ) -> gboolean;
18055    pub fn gtk_recent_manager_purge_items(
18056        manager: *mut GtkRecentManager,
18057        error: *mut *mut glib::GError,
18058    ) -> c_int;
18059    pub fn gtk_recent_manager_remove_item(
18060        manager: *mut GtkRecentManager,
18061        uri: *const c_char,
18062        error: *mut *mut glib::GError,
18063    ) -> gboolean;
18064
18065    //=========================================================================
18066    // GtkRevealer
18067    //=========================================================================
18068    pub fn gtk_revealer_get_type() -> GType;
18069    pub fn gtk_revealer_new() -> *mut GtkWidget;
18070    pub fn gtk_revealer_get_child(revealer: *mut GtkRevealer) -> *mut GtkWidget;
18071    pub fn gtk_revealer_get_child_revealed(revealer: *mut GtkRevealer) -> gboolean;
18072    pub fn gtk_revealer_get_reveal_child(revealer: *mut GtkRevealer) -> gboolean;
18073    pub fn gtk_revealer_get_transition_duration(revealer: *mut GtkRevealer) -> c_uint;
18074    pub fn gtk_revealer_get_transition_type(
18075        revealer: *mut GtkRevealer,
18076    ) -> GtkRevealerTransitionType;
18077    pub fn gtk_revealer_set_child(revealer: *mut GtkRevealer, child: *mut GtkWidget);
18078    pub fn gtk_revealer_set_reveal_child(revealer: *mut GtkRevealer, reveal_child: gboolean);
18079    pub fn gtk_revealer_set_transition_duration(revealer: *mut GtkRevealer, duration: c_uint);
18080    pub fn gtk_revealer_set_transition_type(
18081        revealer: *mut GtkRevealer,
18082        transition: GtkRevealerTransitionType,
18083    );
18084
18085    //=========================================================================
18086    // GtkScale
18087    //=========================================================================
18088    pub fn gtk_scale_get_type() -> GType;
18089    pub fn gtk_scale_new(
18090        orientation: GtkOrientation,
18091        adjustment: *mut GtkAdjustment,
18092    ) -> *mut GtkWidget;
18093    pub fn gtk_scale_new_with_range(
18094        orientation: GtkOrientation,
18095        min: c_double,
18096        max: c_double,
18097        step: c_double,
18098    ) -> *mut GtkWidget;
18099    pub fn gtk_scale_add_mark(
18100        scale: *mut GtkScale,
18101        value: c_double,
18102        position: GtkPositionType,
18103        markup: *const c_char,
18104    );
18105    pub fn gtk_scale_clear_marks(scale: *mut GtkScale);
18106    pub fn gtk_scale_get_digits(scale: *mut GtkScale) -> c_int;
18107    pub fn gtk_scale_get_draw_value(scale: *mut GtkScale) -> gboolean;
18108    pub fn gtk_scale_get_has_origin(scale: *mut GtkScale) -> gboolean;
18109    pub fn gtk_scale_get_layout(scale: *mut GtkScale) -> *mut pango::PangoLayout;
18110    pub fn gtk_scale_get_layout_offsets(scale: *mut GtkScale, x: *mut c_int, y: *mut c_int);
18111    pub fn gtk_scale_get_value_pos(scale: *mut GtkScale) -> GtkPositionType;
18112    pub fn gtk_scale_set_digits(scale: *mut GtkScale, digits: c_int);
18113    pub fn gtk_scale_set_draw_value(scale: *mut GtkScale, draw_value: gboolean);
18114    pub fn gtk_scale_set_format_value_func(
18115        scale: *mut GtkScale,
18116        func: GtkScaleFormatValueFunc,
18117        user_data: gpointer,
18118        destroy_notify: glib::GDestroyNotify,
18119    );
18120    pub fn gtk_scale_set_has_origin(scale: *mut GtkScale, has_origin: gboolean);
18121    pub fn gtk_scale_set_value_pos(scale: *mut GtkScale, pos: GtkPositionType);
18122
18123    //=========================================================================
18124    // GtkScaleButton
18125    //=========================================================================
18126    pub fn gtk_scale_button_get_type() -> GType;
18127    pub fn gtk_scale_button_new(
18128        min: c_double,
18129        max: c_double,
18130        step: c_double,
18131        icons: *mut *const c_char,
18132    ) -> *mut GtkWidget;
18133    #[cfg(feature = "v4_10")]
18134    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18135    pub fn gtk_scale_button_get_active(button: *mut GtkScaleButton) -> gboolean;
18136    pub fn gtk_scale_button_get_adjustment(button: *mut GtkScaleButton) -> *mut GtkAdjustment;
18137    #[cfg(feature = "v4_14")]
18138    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18139    pub fn gtk_scale_button_get_has_frame(button: *mut GtkScaleButton) -> gboolean;
18140    pub fn gtk_scale_button_get_minus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
18141    pub fn gtk_scale_button_get_plus_button(button: *mut GtkScaleButton) -> *mut GtkButton;
18142    pub fn gtk_scale_button_get_popup(button: *mut GtkScaleButton) -> *mut GtkWidget;
18143    pub fn gtk_scale_button_get_value(button: *mut GtkScaleButton) -> c_double;
18144    pub fn gtk_scale_button_set_adjustment(
18145        button: *mut GtkScaleButton,
18146        adjustment: *mut GtkAdjustment,
18147    );
18148    #[cfg(feature = "v4_14")]
18149    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18150    pub fn gtk_scale_button_set_has_frame(button: *mut GtkScaleButton, has_frame: gboolean);
18151    pub fn gtk_scale_button_set_icons(button: *mut GtkScaleButton, icons: *mut *const c_char);
18152    pub fn gtk_scale_button_set_value(button: *mut GtkScaleButton, value: c_double);
18153
18154    //=========================================================================
18155    // GtkScrollbar
18156    //=========================================================================
18157    pub fn gtk_scrollbar_get_type() -> GType;
18158    pub fn gtk_scrollbar_new(
18159        orientation: GtkOrientation,
18160        adjustment: *mut GtkAdjustment,
18161    ) -> *mut GtkWidget;
18162    pub fn gtk_scrollbar_get_adjustment(self_: *mut GtkScrollbar) -> *mut GtkAdjustment;
18163    pub fn gtk_scrollbar_set_adjustment(self_: *mut GtkScrollbar, adjustment: *mut GtkAdjustment);
18164
18165    //=========================================================================
18166    // GtkScrolledWindow
18167    //=========================================================================
18168    pub fn gtk_scrolled_window_get_type() -> GType;
18169    pub fn gtk_scrolled_window_new() -> *mut GtkWidget;
18170    pub fn gtk_scrolled_window_get_child(scrolled_window: *mut GtkScrolledWindow)
18171    -> *mut GtkWidget;
18172    pub fn gtk_scrolled_window_get_hadjustment(
18173        scrolled_window: *mut GtkScrolledWindow,
18174    ) -> *mut GtkAdjustment;
18175    pub fn gtk_scrolled_window_get_has_frame(scrolled_window: *mut GtkScrolledWindow) -> gboolean;
18176    pub fn gtk_scrolled_window_get_hscrollbar(
18177        scrolled_window: *mut GtkScrolledWindow,
18178    ) -> *mut GtkWidget;
18179    pub fn gtk_scrolled_window_get_kinetic_scrolling(
18180        scrolled_window: *mut GtkScrolledWindow,
18181    ) -> gboolean;
18182    pub fn gtk_scrolled_window_get_max_content_height(
18183        scrolled_window: *mut GtkScrolledWindow,
18184    ) -> c_int;
18185    pub fn gtk_scrolled_window_get_max_content_width(
18186        scrolled_window: *mut GtkScrolledWindow,
18187    ) -> c_int;
18188    pub fn gtk_scrolled_window_get_min_content_height(
18189        scrolled_window: *mut GtkScrolledWindow,
18190    ) -> c_int;
18191    pub fn gtk_scrolled_window_get_min_content_width(
18192        scrolled_window: *mut GtkScrolledWindow,
18193    ) -> c_int;
18194    pub fn gtk_scrolled_window_get_overlay_scrolling(
18195        scrolled_window: *mut GtkScrolledWindow,
18196    ) -> gboolean;
18197    pub fn gtk_scrolled_window_get_placement(
18198        scrolled_window: *mut GtkScrolledWindow,
18199    ) -> GtkCornerType;
18200    pub fn gtk_scrolled_window_get_policy(
18201        scrolled_window: *mut GtkScrolledWindow,
18202        hscrollbar_policy: *mut GtkPolicyType,
18203        vscrollbar_policy: *mut GtkPolicyType,
18204    );
18205    pub fn gtk_scrolled_window_get_propagate_natural_height(
18206        scrolled_window: *mut GtkScrolledWindow,
18207    ) -> gboolean;
18208    pub fn gtk_scrolled_window_get_propagate_natural_width(
18209        scrolled_window: *mut GtkScrolledWindow,
18210    ) -> gboolean;
18211    pub fn gtk_scrolled_window_get_vadjustment(
18212        scrolled_window: *mut GtkScrolledWindow,
18213    ) -> *mut GtkAdjustment;
18214    pub fn gtk_scrolled_window_get_vscrollbar(
18215        scrolled_window: *mut GtkScrolledWindow,
18216    ) -> *mut GtkWidget;
18217    pub fn gtk_scrolled_window_set_child(
18218        scrolled_window: *mut GtkScrolledWindow,
18219        child: *mut GtkWidget,
18220    );
18221    pub fn gtk_scrolled_window_set_hadjustment(
18222        scrolled_window: *mut GtkScrolledWindow,
18223        hadjustment: *mut GtkAdjustment,
18224    );
18225    pub fn gtk_scrolled_window_set_has_frame(
18226        scrolled_window: *mut GtkScrolledWindow,
18227        has_frame: gboolean,
18228    );
18229    pub fn gtk_scrolled_window_set_kinetic_scrolling(
18230        scrolled_window: *mut GtkScrolledWindow,
18231        kinetic_scrolling: gboolean,
18232    );
18233    pub fn gtk_scrolled_window_set_max_content_height(
18234        scrolled_window: *mut GtkScrolledWindow,
18235        height: c_int,
18236    );
18237    pub fn gtk_scrolled_window_set_max_content_width(
18238        scrolled_window: *mut GtkScrolledWindow,
18239        width: c_int,
18240    );
18241    pub fn gtk_scrolled_window_set_min_content_height(
18242        scrolled_window: *mut GtkScrolledWindow,
18243        height: c_int,
18244    );
18245    pub fn gtk_scrolled_window_set_min_content_width(
18246        scrolled_window: *mut GtkScrolledWindow,
18247        width: c_int,
18248    );
18249    pub fn gtk_scrolled_window_set_overlay_scrolling(
18250        scrolled_window: *mut GtkScrolledWindow,
18251        overlay_scrolling: gboolean,
18252    );
18253    pub fn gtk_scrolled_window_set_placement(
18254        scrolled_window: *mut GtkScrolledWindow,
18255        window_placement: GtkCornerType,
18256    );
18257    pub fn gtk_scrolled_window_set_policy(
18258        scrolled_window: *mut GtkScrolledWindow,
18259        hscrollbar_policy: GtkPolicyType,
18260        vscrollbar_policy: GtkPolicyType,
18261    );
18262    pub fn gtk_scrolled_window_set_propagate_natural_height(
18263        scrolled_window: *mut GtkScrolledWindow,
18264        propagate: gboolean,
18265    );
18266    pub fn gtk_scrolled_window_set_propagate_natural_width(
18267        scrolled_window: *mut GtkScrolledWindow,
18268        propagate: gboolean,
18269    );
18270    pub fn gtk_scrolled_window_set_vadjustment(
18271        scrolled_window: *mut GtkScrolledWindow,
18272        vadjustment: *mut GtkAdjustment,
18273    );
18274    pub fn gtk_scrolled_window_unset_placement(scrolled_window: *mut GtkScrolledWindow);
18275
18276    //=========================================================================
18277    // GtkSearchBar
18278    //=========================================================================
18279    pub fn gtk_search_bar_get_type() -> GType;
18280    pub fn gtk_search_bar_new() -> *mut GtkWidget;
18281    pub fn gtk_search_bar_connect_entry(bar: *mut GtkSearchBar, entry: *mut GtkEditable);
18282    pub fn gtk_search_bar_get_child(bar: *mut GtkSearchBar) -> *mut GtkWidget;
18283    pub fn gtk_search_bar_get_key_capture_widget(bar: *mut GtkSearchBar) -> *mut GtkWidget;
18284    pub fn gtk_search_bar_get_search_mode(bar: *mut GtkSearchBar) -> gboolean;
18285    pub fn gtk_search_bar_get_show_close_button(bar: *mut GtkSearchBar) -> gboolean;
18286    pub fn gtk_search_bar_set_child(bar: *mut GtkSearchBar, child: *mut GtkWidget);
18287    pub fn gtk_search_bar_set_key_capture_widget(bar: *mut GtkSearchBar, widget: *mut GtkWidget);
18288    pub fn gtk_search_bar_set_search_mode(bar: *mut GtkSearchBar, search_mode: gboolean);
18289    pub fn gtk_search_bar_set_show_close_button(bar: *mut GtkSearchBar, visible: gboolean);
18290
18291    //=========================================================================
18292    // GtkSearchEntry
18293    //=========================================================================
18294    pub fn gtk_search_entry_get_type() -> GType;
18295    pub fn gtk_search_entry_new() -> *mut GtkWidget;
18296    #[cfg(feature = "v4_14")]
18297    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18298    pub fn gtk_search_entry_get_input_hints(entry: *mut GtkSearchEntry) -> GtkInputHints;
18299    #[cfg(feature = "v4_14")]
18300    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18301    pub fn gtk_search_entry_get_input_purpose(entry: *mut GtkSearchEntry) -> GtkInputPurpose;
18302    pub fn gtk_search_entry_get_key_capture_widget(entry: *mut GtkSearchEntry) -> *mut GtkWidget;
18303    #[cfg(feature = "v4_10")]
18304    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18305    pub fn gtk_search_entry_get_placeholder_text(entry: *mut GtkSearchEntry) -> *const c_char;
18306    #[cfg(feature = "v4_8")]
18307    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
18308    pub fn gtk_search_entry_get_search_delay(entry: *mut GtkSearchEntry) -> c_uint;
18309    #[cfg(feature = "v4_14")]
18310    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18311    pub fn gtk_search_entry_set_input_hints(entry: *mut GtkSearchEntry, hints: GtkInputHints);
18312    #[cfg(feature = "v4_14")]
18313    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18314    pub fn gtk_search_entry_set_input_purpose(entry: *mut GtkSearchEntry, purpose: GtkInputPurpose);
18315    pub fn gtk_search_entry_set_key_capture_widget(
18316        entry: *mut GtkSearchEntry,
18317        widget: *mut GtkWidget,
18318    );
18319    #[cfg(feature = "v4_10")]
18320    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18321    pub fn gtk_search_entry_set_placeholder_text(entry: *mut GtkSearchEntry, text: *const c_char);
18322    #[cfg(feature = "v4_8")]
18323    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
18324    pub fn gtk_search_entry_set_search_delay(entry: *mut GtkSearchEntry, delay: c_uint);
18325
18326    //=========================================================================
18327    // GtkSelectionFilterModel
18328    //=========================================================================
18329    pub fn gtk_selection_filter_model_get_type() -> GType;
18330    pub fn gtk_selection_filter_model_new(
18331        model: *mut GtkSelectionModel,
18332    ) -> *mut GtkSelectionFilterModel;
18333    pub fn gtk_selection_filter_model_get_model(
18334        self_: *mut GtkSelectionFilterModel,
18335    ) -> *mut GtkSelectionModel;
18336    pub fn gtk_selection_filter_model_set_model(
18337        self_: *mut GtkSelectionFilterModel,
18338        model: *mut GtkSelectionModel,
18339    );
18340
18341    //=========================================================================
18342    // GtkSeparator
18343    //=========================================================================
18344    pub fn gtk_separator_get_type() -> GType;
18345    pub fn gtk_separator_new(orientation: GtkOrientation) -> *mut GtkWidget;
18346
18347    //=========================================================================
18348    // GtkSettings
18349    //=========================================================================
18350    pub fn gtk_settings_get_type() -> GType;
18351    pub fn gtk_settings_get_default() -> *mut GtkSettings;
18352    pub fn gtk_settings_get_for_display(display: *mut gdk::GdkDisplay) -> *mut GtkSettings;
18353    pub fn gtk_settings_reset_property(settings: *mut GtkSettings, name: *const c_char);
18354
18355    //=========================================================================
18356    // GtkShortcut
18357    //=========================================================================
18358    pub fn gtk_shortcut_get_type() -> GType;
18359    pub fn gtk_shortcut_new(
18360        trigger: *mut GtkShortcutTrigger,
18361        action: *mut GtkShortcutAction,
18362    ) -> *mut GtkShortcut;
18363    pub fn gtk_shortcut_new_with_arguments(
18364        trigger: *mut GtkShortcutTrigger,
18365        action: *mut GtkShortcutAction,
18366        format_string: *const c_char,
18367        ...
18368    ) -> *mut GtkShortcut;
18369    pub fn gtk_shortcut_get_action(self_: *mut GtkShortcut) -> *mut GtkShortcutAction;
18370    pub fn gtk_shortcut_get_arguments(self_: *mut GtkShortcut) -> *mut glib::GVariant;
18371    pub fn gtk_shortcut_get_trigger(self_: *mut GtkShortcut) -> *mut GtkShortcutTrigger;
18372    pub fn gtk_shortcut_set_action(self_: *mut GtkShortcut, action: *mut GtkShortcutAction);
18373    pub fn gtk_shortcut_set_arguments(self_: *mut GtkShortcut, args: *mut glib::GVariant);
18374    pub fn gtk_shortcut_set_trigger(self_: *mut GtkShortcut, trigger: *mut GtkShortcutTrigger);
18375
18376    //=========================================================================
18377    // GtkShortcutAction
18378    //=========================================================================
18379    pub fn gtk_shortcut_action_get_type() -> GType;
18380    pub fn gtk_shortcut_action_parse_string(string: *const c_char) -> *mut GtkShortcutAction;
18381    pub fn gtk_shortcut_action_activate(
18382        self_: *mut GtkShortcutAction,
18383        flags: GtkShortcutActionFlags,
18384        widget: *mut GtkWidget,
18385        args: *mut glib::GVariant,
18386    ) -> gboolean;
18387    pub fn gtk_shortcut_action_print(self_: *mut GtkShortcutAction, string: *mut glib::GString);
18388    pub fn gtk_shortcut_action_to_string(self_: *mut GtkShortcutAction) -> *mut c_char;
18389
18390    //=========================================================================
18391    // GtkShortcutController
18392    //=========================================================================
18393    pub fn gtk_shortcut_controller_get_type() -> GType;
18394    pub fn gtk_shortcut_controller_new() -> *mut GtkEventController;
18395    pub fn gtk_shortcut_controller_new_for_model(
18396        model: *mut gio::GListModel,
18397    ) -> *mut GtkEventController;
18398    pub fn gtk_shortcut_controller_add_shortcut(
18399        self_: *mut GtkShortcutController,
18400        shortcut: *mut GtkShortcut,
18401    );
18402    pub fn gtk_shortcut_controller_get_mnemonics_modifiers(
18403        self_: *mut GtkShortcutController,
18404    ) -> gdk::GdkModifierType;
18405    pub fn gtk_shortcut_controller_get_scope(self_: *mut GtkShortcutController)
18406    -> GtkShortcutScope;
18407    pub fn gtk_shortcut_controller_remove_shortcut(
18408        self_: *mut GtkShortcutController,
18409        shortcut: *mut GtkShortcut,
18410    );
18411    pub fn gtk_shortcut_controller_set_mnemonics_modifiers(
18412        self_: *mut GtkShortcutController,
18413        modifiers: gdk::GdkModifierType,
18414    );
18415    pub fn gtk_shortcut_controller_set_scope(
18416        self_: *mut GtkShortcutController,
18417        scope: GtkShortcutScope,
18418    );
18419
18420    //=========================================================================
18421    // GtkShortcutLabel
18422    //=========================================================================
18423    pub fn gtk_shortcut_label_get_type() -> GType;
18424    pub fn gtk_shortcut_label_new(accelerator: *const c_char) -> *mut GtkWidget;
18425    pub fn gtk_shortcut_label_get_accelerator(self_: *mut GtkShortcutLabel) -> *const c_char;
18426    pub fn gtk_shortcut_label_get_disabled_text(self_: *mut GtkShortcutLabel) -> *const c_char;
18427    pub fn gtk_shortcut_label_set_accelerator(
18428        self_: *mut GtkShortcutLabel,
18429        accelerator: *const c_char,
18430    );
18431    pub fn gtk_shortcut_label_set_disabled_text(
18432        self_: *mut GtkShortcutLabel,
18433        disabled_text: *const c_char,
18434    );
18435
18436    //=========================================================================
18437    // GtkShortcutTrigger
18438    //=========================================================================
18439    pub fn gtk_shortcut_trigger_get_type() -> GType;
18440    pub fn gtk_shortcut_trigger_parse_string(string: *const c_char) -> *mut GtkShortcutTrigger;
18441    #[cfg(feature = "v4_24")]
18442    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
18443    pub fn gtk_shortcut_trigger_create_for_menu() -> *mut GtkShortcutTrigger;
18444    #[cfg(feature = "v4_24")]
18445    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
18446    pub fn gtk_shortcut_trigger_create_with_aliases(
18447        keyval: c_uint,
18448        modifiers: gdk::GdkModifierType,
18449    ) -> *mut GtkShortcutTrigger;
18450    pub fn gtk_shortcut_trigger_compare(trigger1: gconstpointer, trigger2: gconstpointer) -> c_int;
18451    pub fn gtk_shortcut_trigger_equal(trigger1: gconstpointer, trigger2: gconstpointer)
18452    -> gboolean;
18453    pub fn gtk_shortcut_trigger_hash(trigger: gconstpointer) -> c_uint;
18454    pub fn gtk_shortcut_trigger_print(self_: *mut GtkShortcutTrigger, string: *mut glib::GString);
18455    pub fn gtk_shortcut_trigger_print_label(
18456        self_: *mut GtkShortcutTrigger,
18457        display: *mut gdk::GdkDisplay,
18458        string: *mut glib::GString,
18459    ) -> gboolean;
18460    pub fn gtk_shortcut_trigger_to_label(
18461        self_: *mut GtkShortcutTrigger,
18462        display: *mut gdk::GdkDisplay,
18463    ) -> *mut c_char;
18464    pub fn gtk_shortcut_trigger_to_string(self_: *mut GtkShortcutTrigger) -> *mut c_char;
18465    pub fn gtk_shortcut_trigger_trigger(
18466        self_: *mut GtkShortcutTrigger,
18467        event: *mut gdk::GdkEvent,
18468        enable_mnemonics: gboolean,
18469    ) -> gdk::GdkKeyMatch;
18470
18471    //=========================================================================
18472    // GtkShortcutsGroup
18473    //=========================================================================
18474    pub fn gtk_shortcuts_group_get_type() -> GType;
18475    #[cfg(feature = "v4_14")]
18476    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18477    pub fn gtk_shortcuts_group_add_shortcut(
18478        self_: *mut GtkShortcutsGroup,
18479        shortcut: *mut GtkShortcutsShortcut,
18480    );
18481
18482    //=========================================================================
18483    // GtkShortcutsSection
18484    //=========================================================================
18485    pub fn gtk_shortcuts_section_get_type() -> GType;
18486    #[cfg(feature = "v4_14")]
18487    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18488    pub fn gtk_shortcuts_section_add_group(
18489        self_: *mut GtkShortcutsSection,
18490        group: *mut GtkShortcutsGroup,
18491    );
18492
18493    //=========================================================================
18494    // GtkShortcutsShortcut
18495    //=========================================================================
18496    pub fn gtk_shortcuts_shortcut_get_type() -> GType;
18497
18498    //=========================================================================
18499    // GtkShortcutsWindow
18500    //=========================================================================
18501    pub fn gtk_shortcuts_window_get_type() -> GType;
18502    #[cfg(feature = "v4_14")]
18503    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18504    pub fn gtk_shortcuts_window_add_section(
18505        self_: *mut GtkShortcutsWindow,
18506        section: *mut GtkShortcutsSection,
18507    );
18508
18509    //=========================================================================
18510    // GtkSignalAction
18511    //=========================================================================
18512    pub fn gtk_signal_action_get_type() -> GType;
18513    pub fn gtk_signal_action_new(signal_name: *const c_char) -> *mut GtkSignalAction;
18514    pub fn gtk_signal_action_get_signal_name(self_: *mut GtkSignalAction) -> *const c_char;
18515
18516    //=========================================================================
18517    // GtkSignalListItemFactory
18518    //=========================================================================
18519    pub fn gtk_signal_list_item_factory_get_type() -> GType;
18520    pub fn gtk_signal_list_item_factory_new() -> *mut GtkListItemFactory;
18521
18522    //=========================================================================
18523    // GtkSingleSelection
18524    //=========================================================================
18525    pub fn gtk_single_selection_get_type() -> GType;
18526    pub fn gtk_single_selection_new(model: *mut gio::GListModel) -> *mut GtkSingleSelection;
18527    pub fn gtk_single_selection_get_autoselect(self_: *mut GtkSingleSelection) -> gboolean;
18528    pub fn gtk_single_selection_get_can_unselect(self_: *mut GtkSingleSelection) -> gboolean;
18529    pub fn gtk_single_selection_get_model(self_: *mut GtkSingleSelection) -> *mut gio::GListModel;
18530    pub fn gtk_single_selection_get_selected(self_: *mut GtkSingleSelection) -> c_uint;
18531    pub fn gtk_single_selection_get_selected_item(
18532        self_: *mut GtkSingleSelection,
18533    ) -> *mut gobject::GObject;
18534    pub fn gtk_single_selection_set_autoselect(
18535        self_: *mut GtkSingleSelection,
18536        autoselect: gboolean,
18537    );
18538    pub fn gtk_single_selection_set_can_unselect(
18539        self_: *mut GtkSingleSelection,
18540        can_unselect: gboolean,
18541    );
18542    pub fn gtk_single_selection_set_model(
18543        self_: *mut GtkSingleSelection,
18544        model: *mut gio::GListModel,
18545    );
18546    pub fn gtk_single_selection_set_selected(self_: *mut GtkSingleSelection, position: c_uint);
18547
18548    //=========================================================================
18549    // GtkSizeGroup
18550    //=========================================================================
18551    pub fn gtk_size_group_get_type() -> GType;
18552    pub fn gtk_size_group_new(mode: GtkSizeGroupMode) -> *mut GtkSizeGroup;
18553    pub fn gtk_size_group_add_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
18554    pub fn gtk_size_group_get_mode(size_group: *mut GtkSizeGroup) -> GtkSizeGroupMode;
18555    pub fn gtk_size_group_get_widgets(size_group: *mut GtkSizeGroup) -> *mut glib::GSList;
18556    pub fn gtk_size_group_remove_widget(size_group: *mut GtkSizeGroup, widget: *mut GtkWidget);
18557    pub fn gtk_size_group_set_mode(size_group: *mut GtkSizeGroup, mode: GtkSizeGroupMode);
18558
18559    //=========================================================================
18560    // GtkSliceListModel
18561    //=========================================================================
18562    pub fn gtk_slice_list_model_get_type() -> GType;
18563    pub fn gtk_slice_list_model_new(
18564        model: *mut gio::GListModel,
18565        offset: c_uint,
18566        size: c_uint,
18567    ) -> *mut GtkSliceListModel;
18568    pub fn gtk_slice_list_model_get_model(self_: *mut GtkSliceListModel) -> *mut gio::GListModel;
18569    pub fn gtk_slice_list_model_get_offset(self_: *mut GtkSliceListModel) -> c_uint;
18570    pub fn gtk_slice_list_model_get_size(self_: *mut GtkSliceListModel) -> c_uint;
18571    pub fn gtk_slice_list_model_set_model(
18572        self_: *mut GtkSliceListModel,
18573        model: *mut gio::GListModel,
18574    );
18575    pub fn gtk_slice_list_model_set_offset(self_: *mut GtkSliceListModel, offset: c_uint);
18576    pub fn gtk_slice_list_model_set_size(self_: *mut GtkSliceListModel, size: c_uint);
18577
18578    //=========================================================================
18579    // GtkSnapshot
18580    //=========================================================================
18581    pub fn gtk_snapshot_get_type() -> GType;
18582    pub fn gtk_snapshot_new() -> *mut GtkSnapshot;
18583    pub fn gtk_snapshot_append_border(
18584        snapshot: *mut GtkSnapshot,
18585        outline: *const gsk::GskRoundedRect,
18586        border_width: *const [c_float; 4],
18587        border_color: *const [gdk::GdkRGBA; 4],
18588    );
18589    pub fn gtk_snapshot_append_cairo(
18590        snapshot: *mut GtkSnapshot,
18591        bounds: *const graphene::graphene_rect_t,
18592    ) -> *mut cairo::cairo_t;
18593    pub fn gtk_snapshot_append_color(
18594        snapshot: *mut GtkSnapshot,
18595        color: *const gdk::GdkRGBA,
18596        bounds: *const graphene::graphene_rect_t,
18597    );
18598    pub fn gtk_snapshot_append_conic_gradient(
18599        snapshot: *mut GtkSnapshot,
18600        bounds: *const graphene::graphene_rect_t,
18601        center: *const graphene::graphene_point_t,
18602        rotation: c_float,
18603        stops: *const gsk::GskColorStop,
18604        n_stops: size_t,
18605    );
18606    #[cfg(feature = "v4_14")]
18607    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18608    pub fn gtk_snapshot_append_fill(
18609        snapshot: *mut GtkSnapshot,
18610        path: *mut gsk::GskPath,
18611        fill_rule: gsk::GskFillRule,
18612        color: *const gdk::GdkRGBA,
18613    );
18614    pub fn gtk_snapshot_append_inset_shadow(
18615        snapshot: *mut GtkSnapshot,
18616        outline: *const gsk::GskRoundedRect,
18617        color: *const gdk::GdkRGBA,
18618        dx: c_float,
18619        dy: c_float,
18620        spread: c_float,
18621        blur_radius: c_float,
18622    );
18623    pub fn gtk_snapshot_append_layout(
18624        snapshot: *mut GtkSnapshot,
18625        layout: *mut pango::PangoLayout,
18626        color: *const gdk::GdkRGBA,
18627    );
18628    pub fn gtk_snapshot_append_linear_gradient(
18629        snapshot: *mut GtkSnapshot,
18630        bounds: *const graphene::graphene_rect_t,
18631        start_point: *const graphene::graphene_point_t,
18632        end_point: *const graphene::graphene_point_t,
18633        stops: *const gsk::GskColorStop,
18634        n_stops: size_t,
18635    );
18636    pub fn gtk_snapshot_append_node(snapshot: *mut GtkSnapshot, node: *mut gsk::GskRenderNode);
18637    pub fn gtk_snapshot_append_outset_shadow(
18638        snapshot: *mut GtkSnapshot,
18639        outline: *const gsk::GskRoundedRect,
18640        color: *const gdk::GdkRGBA,
18641        dx: c_float,
18642        dy: c_float,
18643        spread: c_float,
18644        blur_radius: c_float,
18645    );
18646    #[cfg(feature = "v4_22")]
18647    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18648    pub fn gtk_snapshot_append_paste(
18649        snapshot: *mut GtkSnapshot,
18650        bounds: *const graphene::graphene_rect_t,
18651        nth: size_t,
18652    );
18653    pub fn gtk_snapshot_append_radial_gradient(
18654        snapshot: *mut GtkSnapshot,
18655        bounds: *const graphene::graphene_rect_t,
18656        center: *const graphene::graphene_point_t,
18657        hradius: c_float,
18658        vradius: c_float,
18659        start: c_float,
18660        end: c_float,
18661        stops: *const gsk::GskColorStop,
18662        n_stops: size_t,
18663    );
18664    pub fn gtk_snapshot_append_repeating_linear_gradient(
18665        snapshot: *mut GtkSnapshot,
18666        bounds: *const graphene::graphene_rect_t,
18667        start_point: *const graphene::graphene_point_t,
18668        end_point: *const graphene::graphene_point_t,
18669        stops: *const gsk::GskColorStop,
18670        n_stops: size_t,
18671    );
18672    pub fn gtk_snapshot_append_repeating_radial_gradient(
18673        snapshot: *mut GtkSnapshot,
18674        bounds: *const graphene::graphene_rect_t,
18675        center: *const graphene::graphene_point_t,
18676        hradius: c_float,
18677        vradius: c_float,
18678        start: c_float,
18679        end: c_float,
18680        stops: *const gsk::GskColorStop,
18681        n_stops: size_t,
18682    );
18683    #[cfg(feature = "v4_10")]
18684    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18685    pub fn gtk_snapshot_append_scaled_texture(
18686        snapshot: *mut GtkSnapshot,
18687        texture: *mut gdk::GdkTexture,
18688        filter: gsk::GskScalingFilter,
18689        bounds: *const graphene::graphene_rect_t,
18690    );
18691    #[cfg(feature = "v4_14")]
18692    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18693    pub fn gtk_snapshot_append_stroke(
18694        snapshot: *mut GtkSnapshot,
18695        path: *mut gsk::GskPath,
18696        stroke: *const gsk::GskStroke,
18697        color: *const gdk::GdkRGBA,
18698    );
18699    pub fn gtk_snapshot_append_texture(
18700        snapshot: *mut GtkSnapshot,
18701        texture: *mut gdk::GdkTexture,
18702        bounds: *const graphene::graphene_rect_t,
18703    );
18704    pub fn gtk_snapshot_free_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18705    pub fn gtk_snapshot_free_to_paintable(
18706        snapshot: *mut GtkSnapshot,
18707        size: *const graphene::graphene_size_t,
18708    ) -> *mut gdk::GdkPaintable;
18709    pub fn gtk_snapshot_gl_shader_pop_texture(snapshot: *mut GtkSnapshot);
18710    pub fn gtk_snapshot_perspective(snapshot: *mut GtkSnapshot, depth: c_float);
18711    pub fn gtk_snapshot_pop(snapshot: *mut GtkSnapshot);
18712    pub fn gtk_snapshot_push_blend(snapshot: *mut GtkSnapshot, blend_mode: gsk::GskBlendMode);
18713    pub fn gtk_snapshot_push_blur(snapshot: *mut GtkSnapshot, radius: c_double);
18714    pub fn gtk_snapshot_push_clip(
18715        snapshot: *mut GtkSnapshot,
18716        bounds: *const graphene::graphene_rect_t,
18717    );
18718    pub fn gtk_snapshot_push_color_matrix(
18719        snapshot: *mut GtkSnapshot,
18720        color_matrix: *const graphene::graphene_matrix_t,
18721        color_offset: *const graphene::graphene_vec4_t,
18722    );
18723    #[cfg(feature = "v4_20")]
18724    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
18725    pub fn gtk_snapshot_push_component_transfer(
18726        snapshot: *mut GtkSnapshot,
18727        red: *const gsk::GskComponentTransfer,
18728        green: *const gsk::GskComponentTransfer,
18729        blue: *const gsk::GskComponentTransfer,
18730        alpha: *const gsk::GskComponentTransfer,
18731    );
18732    #[cfg(feature = "v4_22")]
18733    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18734    pub fn gtk_snapshot_push_composite(snapshot: *mut GtkSnapshot, op: gsk::GskPorterDuff);
18735    #[cfg(feature = "v4_22")]
18736    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18737    pub fn gtk_snapshot_push_copy(snapshot: *mut GtkSnapshot);
18738    pub fn gtk_snapshot_push_cross_fade(snapshot: *mut GtkSnapshot, progress: c_double);
18739    pub fn gtk_snapshot_push_debug(snapshot: *mut GtkSnapshot, message: *const c_char, ...);
18740    #[cfg(feature = "v4_14")]
18741    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18742    pub fn gtk_snapshot_push_fill(
18743        snapshot: *mut GtkSnapshot,
18744        path: *mut gsk::GskPath,
18745        fill_rule: gsk::GskFillRule,
18746    );
18747    pub fn gtk_snapshot_push_gl_shader(
18748        snapshot: *mut GtkSnapshot,
18749        shader: *mut gsk::GskGLShader,
18750        bounds: *const graphene::graphene_rect_t,
18751        take_args: *mut glib::GBytes,
18752    );
18753    #[cfg(feature = "v4_22")]
18754    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
18755    pub fn gtk_snapshot_push_isolation(snapshot: *mut GtkSnapshot, features: gsk::GskIsolation);
18756    #[cfg(feature = "v4_10")]
18757    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
18758    pub fn gtk_snapshot_push_mask(snapshot: *mut GtkSnapshot, mask_mode: gsk::GskMaskMode);
18759    pub fn gtk_snapshot_push_opacity(snapshot: *mut GtkSnapshot, opacity: c_double);
18760    pub fn gtk_snapshot_push_repeat(
18761        snapshot: *mut GtkSnapshot,
18762        bounds: *const graphene::graphene_rect_t,
18763        child_bounds: *const graphene::graphene_rect_t,
18764    );
18765    pub fn gtk_snapshot_push_rounded_clip(
18766        snapshot: *mut GtkSnapshot,
18767        bounds: *const gsk::GskRoundedRect,
18768    );
18769    pub fn gtk_snapshot_push_shadow(
18770        snapshot: *mut GtkSnapshot,
18771        shadow: *const gsk::GskShadow,
18772        n_shadows: size_t,
18773    );
18774    #[cfg(feature = "v4_14")]
18775    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18776    pub fn gtk_snapshot_push_stroke(
18777        snapshot: *mut GtkSnapshot,
18778        path: *mut gsk::GskPath,
18779        stroke: *const gsk::GskStroke,
18780    );
18781    pub fn gtk_snapshot_render_background(
18782        snapshot: *mut GtkSnapshot,
18783        context: *mut GtkStyleContext,
18784        x: c_double,
18785        y: c_double,
18786        width: c_double,
18787        height: c_double,
18788    );
18789    pub fn gtk_snapshot_render_focus(
18790        snapshot: *mut GtkSnapshot,
18791        context: *mut GtkStyleContext,
18792        x: c_double,
18793        y: c_double,
18794        width: c_double,
18795        height: c_double,
18796    );
18797    pub fn gtk_snapshot_render_frame(
18798        snapshot: *mut GtkSnapshot,
18799        context: *mut GtkStyleContext,
18800        x: c_double,
18801        y: c_double,
18802        width: c_double,
18803        height: c_double,
18804    );
18805    pub fn gtk_snapshot_render_insertion_cursor(
18806        snapshot: *mut GtkSnapshot,
18807        context: *mut GtkStyleContext,
18808        x: c_double,
18809        y: c_double,
18810        layout: *mut pango::PangoLayout,
18811        index: c_int,
18812        direction: pango::PangoDirection,
18813    );
18814    pub fn gtk_snapshot_render_layout(
18815        snapshot: *mut GtkSnapshot,
18816        context: *mut GtkStyleContext,
18817        x: c_double,
18818        y: c_double,
18819        layout: *mut pango::PangoLayout,
18820    );
18821    pub fn gtk_snapshot_restore(snapshot: *mut GtkSnapshot);
18822    pub fn gtk_snapshot_rotate(snapshot: *mut GtkSnapshot, angle: c_float);
18823    pub fn gtk_snapshot_rotate_3d(
18824        snapshot: *mut GtkSnapshot,
18825        angle: c_float,
18826        axis: *const graphene::graphene_vec3_t,
18827    );
18828    pub fn gtk_snapshot_save(snapshot: *mut GtkSnapshot);
18829    pub fn gtk_snapshot_scale(snapshot: *mut GtkSnapshot, factor_x: c_float, factor_y: c_float);
18830    pub fn gtk_snapshot_scale_3d(
18831        snapshot: *mut GtkSnapshot,
18832        factor_x: c_float,
18833        factor_y: c_float,
18834        factor_z: c_float,
18835    );
18836    #[cfg(feature = "v4_24")]
18837    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
18838    pub fn gtk_snapshot_set_snap(self_: *mut GtkSnapshot, snap: gsk::GskRectSnap);
18839    pub fn gtk_snapshot_to_node(snapshot: *mut GtkSnapshot) -> *mut gsk::GskRenderNode;
18840    pub fn gtk_snapshot_to_paintable(
18841        snapshot: *mut GtkSnapshot,
18842        size: *const graphene::graphene_size_t,
18843    ) -> *mut gdk::GdkPaintable;
18844    pub fn gtk_snapshot_transform(snapshot: *mut GtkSnapshot, transform: *mut gsk::GskTransform);
18845    pub fn gtk_snapshot_transform_matrix(
18846        snapshot: *mut GtkSnapshot,
18847        matrix: *const graphene::graphene_matrix_t,
18848    );
18849    pub fn gtk_snapshot_translate(
18850        snapshot: *mut GtkSnapshot,
18851        point: *const graphene::graphene_point_t,
18852    );
18853    pub fn gtk_snapshot_translate_3d(
18854        snapshot: *mut GtkSnapshot,
18855        point: *const graphene::graphene_point3d_t,
18856    );
18857
18858    //=========================================================================
18859    // GtkSortListModel
18860    //=========================================================================
18861    pub fn gtk_sort_list_model_get_type() -> GType;
18862    pub fn gtk_sort_list_model_new(
18863        model: *mut gio::GListModel,
18864        sorter: *mut GtkSorter,
18865    ) -> *mut GtkSortListModel;
18866    pub fn gtk_sort_list_model_get_incremental(self_: *mut GtkSortListModel) -> gboolean;
18867    pub fn gtk_sort_list_model_get_model(self_: *mut GtkSortListModel) -> *mut gio::GListModel;
18868    pub fn gtk_sort_list_model_get_pending(self_: *mut GtkSortListModel) -> c_uint;
18869    #[cfg(feature = "v4_12")]
18870    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18871    pub fn gtk_sort_list_model_get_section_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18872    pub fn gtk_sort_list_model_get_sorter(self_: *mut GtkSortListModel) -> *mut GtkSorter;
18873    pub fn gtk_sort_list_model_set_incremental(self_: *mut GtkSortListModel, incremental: gboolean);
18874    pub fn gtk_sort_list_model_set_model(self_: *mut GtkSortListModel, model: *mut gio::GListModel);
18875    #[cfg(feature = "v4_12")]
18876    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
18877    pub fn gtk_sort_list_model_set_section_sorter(
18878        self_: *mut GtkSortListModel,
18879        sorter: *mut GtkSorter,
18880    );
18881    pub fn gtk_sort_list_model_set_sorter(self_: *mut GtkSortListModel, sorter: *mut GtkSorter);
18882
18883    //=========================================================================
18884    // GtkSorter
18885    //=========================================================================
18886    pub fn gtk_sorter_get_type() -> GType;
18887    pub fn gtk_sorter_changed(self_: *mut GtkSorter, change: GtkSorterChange);
18888    pub fn gtk_sorter_compare(
18889        self_: *mut GtkSorter,
18890        item1: *mut gobject::GObject,
18891        item2: *mut gobject::GObject,
18892    ) -> GtkOrdering;
18893    pub fn gtk_sorter_get_order(self_: *mut GtkSorter) -> GtkSorterOrder;
18894
18895    //=========================================================================
18896    // GtkSpinButton
18897    //=========================================================================
18898    pub fn gtk_spin_button_get_type() -> GType;
18899    pub fn gtk_spin_button_new(
18900        adjustment: *mut GtkAdjustment,
18901        climb_rate: c_double,
18902        digits: c_uint,
18903    ) -> *mut GtkWidget;
18904    pub fn gtk_spin_button_new_with_range(
18905        min: c_double,
18906        max: c_double,
18907        step: c_double,
18908    ) -> *mut GtkWidget;
18909    pub fn gtk_spin_button_configure(
18910        spin_button: *mut GtkSpinButton,
18911        adjustment: *mut GtkAdjustment,
18912        climb_rate: c_double,
18913        digits: c_uint,
18914    );
18915    #[cfg(feature = "v4_14")]
18916    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18917    pub fn gtk_spin_button_get_activates_default(spin_button: *mut GtkSpinButton) -> gboolean;
18918    pub fn gtk_spin_button_get_adjustment(spin_button: *mut GtkSpinButton) -> *mut GtkAdjustment;
18919    pub fn gtk_spin_button_get_climb_rate(spin_button: *mut GtkSpinButton) -> c_double;
18920    pub fn gtk_spin_button_get_digits(spin_button: *mut GtkSpinButton) -> c_uint;
18921    pub fn gtk_spin_button_get_increments(
18922        spin_button: *mut GtkSpinButton,
18923        step: *mut c_double,
18924        page: *mut c_double,
18925    );
18926    pub fn gtk_spin_button_get_numeric(spin_button: *mut GtkSpinButton) -> gboolean;
18927    pub fn gtk_spin_button_get_range(
18928        spin_button: *mut GtkSpinButton,
18929        min: *mut c_double,
18930        max: *mut c_double,
18931    );
18932    pub fn gtk_spin_button_get_snap_to_ticks(spin_button: *mut GtkSpinButton) -> gboolean;
18933    pub fn gtk_spin_button_get_update_policy(
18934        spin_button: *mut GtkSpinButton,
18935    ) -> GtkSpinButtonUpdatePolicy;
18936    pub fn gtk_spin_button_get_value(spin_button: *mut GtkSpinButton) -> c_double;
18937    pub fn gtk_spin_button_get_value_as_int(spin_button: *mut GtkSpinButton) -> c_int;
18938    pub fn gtk_spin_button_get_wrap(spin_button: *mut GtkSpinButton) -> gboolean;
18939    #[cfg(feature = "v4_14")]
18940    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
18941    pub fn gtk_spin_button_set_activates_default(
18942        spin_button: *mut GtkSpinButton,
18943        activates_default: gboolean,
18944    );
18945    pub fn gtk_spin_button_set_adjustment(
18946        spin_button: *mut GtkSpinButton,
18947        adjustment: *mut GtkAdjustment,
18948    );
18949    pub fn gtk_spin_button_set_climb_rate(spin_button: *mut GtkSpinButton, climb_rate: c_double);
18950    pub fn gtk_spin_button_set_digits(spin_button: *mut GtkSpinButton, digits: c_uint);
18951    pub fn gtk_spin_button_set_increments(
18952        spin_button: *mut GtkSpinButton,
18953        step: c_double,
18954        page: c_double,
18955    );
18956    pub fn gtk_spin_button_set_numeric(spin_button: *mut GtkSpinButton, numeric: gboolean);
18957    pub fn gtk_spin_button_set_range(spin_button: *mut GtkSpinButton, min: c_double, max: c_double);
18958    pub fn gtk_spin_button_set_snap_to_ticks(
18959        spin_button: *mut GtkSpinButton,
18960        snap_to_ticks: gboolean,
18961    );
18962    pub fn gtk_spin_button_set_update_policy(
18963        spin_button: *mut GtkSpinButton,
18964        policy: GtkSpinButtonUpdatePolicy,
18965    );
18966    pub fn gtk_spin_button_set_value(spin_button: *mut GtkSpinButton, value: c_double);
18967    pub fn gtk_spin_button_set_wrap(spin_button: *mut GtkSpinButton, wrap: gboolean);
18968    pub fn gtk_spin_button_spin(
18969        spin_button: *mut GtkSpinButton,
18970        direction: GtkSpinType,
18971        increment: c_double,
18972    );
18973    pub fn gtk_spin_button_update(spin_button: *mut GtkSpinButton);
18974
18975    //=========================================================================
18976    // GtkSpinner
18977    //=========================================================================
18978    pub fn gtk_spinner_get_type() -> GType;
18979    pub fn gtk_spinner_new() -> *mut GtkWidget;
18980    pub fn gtk_spinner_get_spinning(spinner: *mut GtkSpinner) -> gboolean;
18981    pub fn gtk_spinner_set_spinning(spinner: *mut GtkSpinner, spinning: gboolean);
18982    pub fn gtk_spinner_start(spinner: *mut GtkSpinner);
18983    pub fn gtk_spinner_stop(spinner: *mut GtkSpinner);
18984
18985    //=========================================================================
18986    // GtkStack
18987    //=========================================================================
18988    pub fn gtk_stack_get_type() -> GType;
18989    pub fn gtk_stack_new() -> *mut GtkWidget;
18990    pub fn gtk_stack_add_child(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
18991    pub fn gtk_stack_add_named(
18992        stack: *mut GtkStack,
18993        child: *mut GtkWidget,
18994        name: *const c_char,
18995    ) -> *mut GtkStackPage;
18996    pub fn gtk_stack_add_titled(
18997        stack: *mut GtkStack,
18998        child: *mut GtkWidget,
18999        name: *const c_char,
19000        title: *const c_char,
19001    ) -> *mut GtkStackPage;
19002    pub fn gtk_stack_get_child_by_name(stack: *mut GtkStack, name: *const c_char)
19003    -> *mut GtkWidget;
19004    pub fn gtk_stack_get_hhomogeneous(stack: *mut GtkStack) -> gboolean;
19005    pub fn gtk_stack_get_interpolate_size(stack: *mut GtkStack) -> gboolean;
19006    pub fn gtk_stack_get_page(stack: *mut GtkStack, child: *mut GtkWidget) -> *mut GtkStackPage;
19007    pub fn gtk_stack_get_pages(stack: *mut GtkStack) -> *mut GtkSelectionModel;
19008    pub fn gtk_stack_get_transition_duration(stack: *mut GtkStack) -> c_uint;
19009    pub fn gtk_stack_get_transition_running(stack: *mut GtkStack) -> gboolean;
19010    pub fn gtk_stack_get_transition_type(stack: *mut GtkStack) -> GtkStackTransitionType;
19011    pub fn gtk_stack_get_vhomogeneous(stack: *mut GtkStack) -> gboolean;
19012    pub fn gtk_stack_get_visible_child(stack: *mut GtkStack) -> *mut GtkWidget;
19013    pub fn gtk_stack_get_visible_child_name(stack: *mut GtkStack) -> *const c_char;
19014    pub fn gtk_stack_remove(stack: *mut GtkStack, child: *mut GtkWidget);
19015    pub fn gtk_stack_set_hhomogeneous(stack: *mut GtkStack, hhomogeneous: gboolean);
19016    pub fn gtk_stack_set_interpolate_size(stack: *mut GtkStack, interpolate_size: gboolean);
19017    pub fn gtk_stack_set_transition_duration(stack: *mut GtkStack, duration: c_uint);
19018    pub fn gtk_stack_set_transition_type(stack: *mut GtkStack, transition: GtkStackTransitionType);
19019    pub fn gtk_stack_set_vhomogeneous(stack: *mut GtkStack, vhomogeneous: gboolean);
19020    pub fn gtk_stack_set_visible_child(stack: *mut GtkStack, child: *mut GtkWidget);
19021    pub fn gtk_stack_set_visible_child_full(
19022        stack: *mut GtkStack,
19023        name: *const c_char,
19024        transition: GtkStackTransitionType,
19025    );
19026    pub fn gtk_stack_set_visible_child_name(stack: *mut GtkStack, name: *const c_char);
19027
19028    //=========================================================================
19029    // GtkStackPage
19030    //=========================================================================
19031    pub fn gtk_stack_page_get_type() -> GType;
19032    pub fn gtk_stack_page_get_child(self_: *mut GtkStackPage) -> *mut GtkWidget;
19033    pub fn gtk_stack_page_get_icon_name(self_: *mut GtkStackPage) -> *const c_char;
19034    pub fn gtk_stack_page_get_name(self_: *mut GtkStackPage) -> *const c_char;
19035    pub fn gtk_stack_page_get_needs_attention(self_: *mut GtkStackPage) -> gboolean;
19036    pub fn gtk_stack_page_get_title(self_: *mut GtkStackPage) -> *const c_char;
19037    pub fn gtk_stack_page_get_use_underline(self_: *mut GtkStackPage) -> gboolean;
19038    pub fn gtk_stack_page_get_visible(self_: *mut GtkStackPage) -> gboolean;
19039    pub fn gtk_stack_page_set_icon_name(self_: *mut GtkStackPage, setting: *const c_char);
19040    pub fn gtk_stack_page_set_name(self_: *mut GtkStackPage, setting: *const c_char);
19041    pub fn gtk_stack_page_set_needs_attention(self_: *mut GtkStackPage, setting: gboolean);
19042    pub fn gtk_stack_page_set_title(self_: *mut GtkStackPage, setting: *const c_char);
19043    pub fn gtk_stack_page_set_use_underline(self_: *mut GtkStackPage, setting: gboolean);
19044    pub fn gtk_stack_page_set_visible(self_: *mut GtkStackPage, visible: gboolean);
19045
19046    //=========================================================================
19047    // GtkStackSidebar
19048    //=========================================================================
19049    pub fn gtk_stack_sidebar_get_type() -> GType;
19050    pub fn gtk_stack_sidebar_new() -> *mut GtkWidget;
19051    pub fn gtk_stack_sidebar_get_stack(self_: *mut GtkStackSidebar) -> *mut GtkStack;
19052    pub fn gtk_stack_sidebar_set_stack(self_: *mut GtkStackSidebar, stack: *mut GtkStack);
19053
19054    //=========================================================================
19055    // GtkStackSwitcher
19056    //=========================================================================
19057    pub fn gtk_stack_switcher_get_type() -> GType;
19058    pub fn gtk_stack_switcher_new() -> *mut GtkWidget;
19059    pub fn gtk_stack_switcher_get_stack(switcher: *mut GtkStackSwitcher) -> *mut GtkStack;
19060    pub fn gtk_stack_switcher_set_stack(switcher: *mut GtkStackSwitcher, stack: *mut GtkStack);
19061
19062    //=========================================================================
19063    // GtkStatusbar
19064    //=========================================================================
19065    pub fn gtk_statusbar_get_type() -> GType;
19066    pub fn gtk_statusbar_new() -> *mut GtkWidget;
19067    pub fn gtk_statusbar_get_context_id(
19068        statusbar: *mut GtkStatusbar,
19069        context_description: *const c_char,
19070    ) -> c_uint;
19071    pub fn gtk_statusbar_pop(statusbar: *mut GtkStatusbar, context_id: c_uint);
19072    pub fn gtk_statusbar_push(
19073        statusbar: *mut GtkStatusbar,
19074        context_id: c_uint,
19075        text: *const c_char,
19076    ) -> c_uint;
19077    pub fn gtk_statusbar_remove(
19078        statusbar: *mut GtkStatusbar,
19079        context_id: c_uint,
19080        message_id: c_uint,
19081    );
19082    pub fn gtk_statusbar_remove_all(statusbar: *mut GtkStatusbar, context_id: c_uint);
19083
19084    //=========================================================================
19085    // GtkStringFilter
19086    //=========================================================================
19087    pub fn gtk_string_filter_get_type() -> GType;
19088    pub fn gtk_string_filter_new(expression: *mut GtkExpression) -> *mut GtkStringFilter;
19089    pub fn gtk_string_filter_get_expression(self_: *mut GtkStringFilter) -> *mut GtkExpression;
19090    pub fn gtk_string_filter_get_ignore_case(self_: *mut GtkStringFilter) -> gboolean;
19091    pub fn gtk_string_filter_get_match_mode(
19092        self_: *mut GtkStringFilter,
19093    ) -> GtkStringFilterMatchMode;
19094    pub fn gtk_string_filter_get_search(self_: *mut GtkStringFilter) -> *const c_char;
19095    pub fn gtk_string_filter_set_expression(
19096        self_: *mut GtkStringFilter,
19097        expression: *mut GtkExpression,
19098    );
19099    pub fn gtk_string_filter_set_ignore_case(self_: *mut GtkStringFilter, ignore_case: gboolean);
19100    pub fn gtk_string_filter_set_match_mode(
19101        self_: *mut GtkStringFilter,
19102        mode: GtkStringFilterMatchMode,
19103    );
19104    pub fn gtk_string_filter_set_search(self_: *mut GtkStringFilter, search: *const c_char);
19105
19106    //=========================================================================
19107    // GtkStringList
19108    //=========================================================================
19109    pub fn gtk_string_list_get_type() -> GType;
19110    pub fn gtk_string_list_new(strings: *const *const c_char) -> *mut GtkStringList;
19111    pub fn gtk_string_list_append(self_: *mut GtkStringList, string: *const c_char);
19112    #[cfg(feature = "v4_18")]
19113    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
19114    pub fn gtk_string_list_find(self_: *mut GtkStringList, string: *const c_char) -> c_uint;
19115    pub fn gtk_string_list_get_string(self_: *mut GtkStringList, position: c_uint)
19116    -> *const c_char;
19117    pub fn gtk_string_list_remove(self_: *mut GtkStringList, position: c_uint);
19118    pub fn gtk_string_list_splice(
19119        self_: *mut GtkStringList,
19120        position: c_uint,
19121        n_removals: c_uint,
19122        additions: *const *const c_char,
19123    );
19124    pub fn gtk_string_list_take(self_: *mut GtkStringList, string: *mut c_char);
19125
19126    //=========================================================================
19127    // GtkStringObject
19128    //=========================================================================
19129    pub fn gtk_string_object_get_type() -> GType;
19130    pub fn gtk_string_object_new(string: *const c_char) -> *mut GtkStringObject;
19131    pub fn gtk_string_object_get_string(self_: *mut GtkStringObject) -> *const c_char;
19132
19133    //=========================================================================
19134    // GtkStringSorter
19135    //=========================================================================
19136    pub fn gtk_string_sorter_get_type() -> GType;
19137    pub fn gtk_string_sorter_new(expression: *mut GtkExpression) -> *mut GtkStringSorter;
19138    #[cfg(feature = "v4_10")]
19139    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19140    pub fn gtk_string_sorter_get_collation(self_: *mut GtkStringSorter) -> GtkCollation;
19141    pub fn gtk_string_sorter_get_expression(self_: *mut GtkStringSorter) -> *mut GtkExpression;
19142    pub fn gtk_string_sorter_get_ignore_case(self_: *mut GtkStringSorter) -> gboolean;
19143    #[cfg(feature = "v4_10")]
19144    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19145    pub fn gtk_string_sorter_set_collation(self_: *mut GtkStringSorter, collation: GtkCollation);
19146    pub fn gtk_string_sorter_set_expression(
19147        self_: *mut GtkStringSorter,
19148        expression: *mut GtkExpression,
19149    );
19150    pub fn gtk_string_sorter_set_ignore_case(self_: *mut GtkStringSorter, ignore_case: gboolean);
19151
19152    //=========================================================================
19153    // GtkStyleContext
19154    //=========================================================================
19155    pub fn gtk_style_context_get_type() -> GType;
19156    pub fn gtk_style_context_add_provider_for_display(
19157        display: *mut gdk::GdkDisplay,
19158        provider: *mut GtkStyleProvider,
19159        priority: c_uint,
19160    );
19161    pub fn gtk_style_context_remove_provider_for_display(
19162        display: *mut gdk::GdkDisplay,
19163        provider: *mut GtkStyleProvider,
19164    );
19165    pub fn gtk_style_context_add_class(context: *mut GtkStyleContext, class_name: *const c_char);
19166    pub fn gtk_style_context_add_provider(
19167        context: *mut GtkStyleContext,
19168        provider: *mut GtkStyleProvider,
19169        priority: c_uint,
19170    );
19171    pub fn gtk_style_context_get_border(context: *mut GtkStyleContext, border: *mut GtkBorder);
19172    pub fn gtk_style_context_get_color(context: *mut GtkStyleContext, color: *mut gdk::GdkRGBA);
19173    pub fn gtk_style_context_get_display(context: *mut GtkStyleContext) -> *mut gdk::GdkDisplay;
19174    pub fn gtk_style_context_get_margin(context: *mut GtkStyleContext, margin: *mut GtkBorder);
19175    pub fn gtk_style_context_get_padding(context: *mut GtkStyleContext, padding: *mut GtkBorder);
19176    pub fn gtk_style_context_get_scale(context: *mut GtkStyleContext) -> c_int;
19177    pub fn gtk_style_context_get_state(context: *mut GtkStyleContext) -> GtkStateFlags;
19178    pub fn gtk_style_context_has_class(
19179        context: *mut GtkStyleContext,
19180        class_name: *const c_char,
19181    ) -> gboolean;
19182    pub fn gtk_style_context_lookup_color(
19183        context: *mut GtkStyleContext,
19184        color_name: *const c_char,
19185        color: *mut gdk::GdkRGBA,
19186    ) -> gboolean;
19187    pub fn gtk_style_context_remove_class(context: *mut GtkStyleContext, class_name: *const c_char);
19188    pub fn gtk_style_context_remove_provider(
19189        context: *mut GtkStyleContext,
19190        provider: *mut GtkStyleProvider,
19191    );
19192    pub fn gtk_style_context_restore(context: *mut GtkStyleContext);
19193    pub fn gtk_style_context_save(context: *mut GtkStyleContext);
19194    pub fn gtk_style_context_set_display(
19195        context: *mut GtkStyleContext,
19196        display: *mut gdk::GdkDisplay,
19197    );
19198    pub fn gtk_style_context_set_scale(context: *mut GtkStyleContext, scale: c_int);
19199    pub fn gtk_style_context_set_state(context: *mut GtkStyleContext, flags: GtkStateFlags);
19200    pub fn gtk_style_context_to_string(
19201        context: *mut GtkStyleContext,
19202        flags: GtkStyleContextPrintFlags,
19203    ) -> *mut c_char;
19204
19205    //=========================================================================
19206    // GtkSvg
19207    //=========================================================================
19208    #[cfg(feature = "v4_22")]
19209    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19210    pub fn gtk_svg_get_type() -> GType;
19211    #[cfg(feature = "v4_22")]
19212    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19213    pub fn gtk_svg_new() -> *mut GtkSvg;
19214    #[cfg(feature = "v4_22")]
19215    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19216    pub fn gtk_svg_new_from_bytes(bytes: *mut glib::GBytes) -> *mut GtkSvg;
19217    #[cfg(feature = "v4_22")]
19218    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19219    pub fn gtk_svg_new_from_resource(path: *const c_char) -> *mut GtkSvg;
19220    #[cfg(feature = "v4_22")]
19221    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19222    pub fn gtk_svg_get_features(self_: *mut GtkSvg) -> GtkSvgFeatures;
19223    #[cfg(feature = "v4_24")]
19224    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19225    pub fn gtk_svg_get_overflow(self_: *mut GtkSvg) -> GtkOverflow;
19226    #[cfg(feature = "v4_22")]
19227    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19228    pub fn gtk_svg_get_state(self_: *mut GtkSvg) -> c_uint;
19229    #[cfg(feature = "v4_22")]
19230    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19231    pub fn gtk_svg_get_state_names(self_: *mut GtkSvg, length: *mut c_uint) -> *mut *const c_char;
19232    #[cfg(feature = "v4_24")]
19233    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19234    pub fn gtk_svg_get_stylesheet(self_: *mut GtkSvg) -> *mut glib::GBytes;
19235    #[cfg(feature = "v4_22")]
19236    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19237    pub fn gtk_svg_get_weight(self_: *mut GtkSvg) -> c_double;
19238    #[cfg(feature = "v4_22")]
19239    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19240    pub fn gtk_svg_load_from_bytes(self_: *mut GtkSvg, bytes: *mut glib::GBytes);
19241    #[cfg(feature = "v4_22")]
19242    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19243    pub fn gtk_svg_load_from_resource(self_: *mut GtkSvg, path: *const c_char);
19244    #[cfg(feature = "v4_22")]
19245    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19246    pub fn gtk_svg_pause(self_: *mut GtkSvg);
19247    #[cfg(feature = "v4_22")]
19248    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19249    pub fn gtk_svg_play(self_: *mut GtkSvg);
19250    #[cfg(feature = "v4_22")]
19251    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19252    pub fn gtk_svg_serialize(self_: *mut GtkSvg) -> *mut glib::GBytes;
19253    #[cfg(feature = "v4_22")]
19254    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19255    pub fn gtk_svg_set_features(self_: *mut GtkSvg, features: GtkSvgFeatures);
19256    #[cfg(feature = "v4_22")]
19257    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19258    pub fn gtk_svg_set_frame_clock(self_: *mut GtkSvg, clock: *mut gdk::GdkFrameClock);
19259    #[cfg(feature = "v4_24")]
19260    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19261    pub fn gtk_svg_set_overflow(self_: *mut GtkSvg, overflow: GtkOverflow);
19262    #[cfg(feature = "v4_24")]
19263    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19264    pub fn gtk_svg_set_settings(self_: *mut GtkSvg, settings: *mut GtkSettings);
19265    #[cfg(feature = "v4_22")]
19266    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19267    pub fn gtk_svg_set_state(self_: *mut GtkSvg, state: c_uint);
19268    #[cfg(feature = "v4_24")]
19269    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19270    pub fn gtk_svg_set_stylesheet(self_: *mut GtkSvg, bytes: *mut glib::GBytes);
19271    #[cfg(feature = "v4_22")]
19272    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19273    pub fn gtk_svg_set_weight(self_: *mut GtkSvg, weight: c_double);
19274    #[cfg(feature = "v4_22")]
19275    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
19276    pub fn gtk_svg_write_to_file(
19277        self_: *mut GtkSvg,
19278        filename: *const c_char,
19279        error: *mut *mut glib::GError,
19280    ) -> gboolean;
19281
19282    //=========================================================================
19283    // GtkSvgWidget
19284    //=========================================================================
19285    #[cfg(feature = "v4_24")]
19286    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19287    pub fn gtk_svg_widget_get_type() -> GType;
19288    #[cfg(feature = "v4_24")]
19289    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19290    pub fn gtk_svg_widget_new() -> *mut GtkSvgWidget;
19291    #[cfg(feature = "v4_24")]
19292    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19293    pub fn gtk_svg_widget_get_state(self_: *mut GtkSvgWidget) -> c_uint;
19294    #[cfg(feature = "v4_24")]
19295    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19296    pub fn gtk_svg_widget_get_stylesheet(self_: *mut GtkSvgWidget) -> *mut glib::GBytes;
19297    #[cfg(feature = "v4_24")]
19298    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19299    pub fn gtk_svg_widget_load_from_bytes(self_: *mut GtkSvgWidget, bytes: *mut glib::GBytes);
19300    #[cfg(feature = "v4_24")]
19301    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19302    pub fn gtk_svg_widget_set_state(self_: *mut GtkSvgWidget, state: c_uint);
19303    #[cfg(feature = "v4_24")]
19304    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19305    pub fn gtk_svg_widget_set_stylesheet(self_: *mut GtkSvgWidget, bytes: *mut glib::GBytes);
19306
19307    //=========================================================================
19308    // GtkSwitch
19309    //=========================================================================
19310    pub fn gtk_switch_get_type() -> GType;
19311    pub fn gtk_switch_new() -> *mut GtkWidget;
19312    pub fn gtk_switch_get_active(self_: *mut GtkSwitch) -> gboolean;
19313    pub fn gtk_switch_get_state(self_: *mut GtkSwitch) -> gboolean;
19314    pub fn gtk_switch_set_active(self_: *mut GtkSwitch, is_active: gboolean);
19315    pub fn gtk_switch_set_state(self_: *mut GtkSwitch, state: gboolean);
19316
19317    //=========================================================================
19318    // GtkText
19319    //=========================================================================
19320    pub fn gtk_text_get_type() -> GType;
19321    pub fn gtk_text_new() -> *mut GtkWidget;
19322    pub fn gtk_text_new_with_buffer(buffer: *mut GtkEntryBuffer) -> *mut GtkWidget;
19323    #[cfg(feature = "v4_4")]
19324    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19325    pub fn gtk_text_compute_cursor_extents(
19326        self_: *mut GtkText,
19327        position: size_t,
19328        strong: *mut graphene::graphene_rect_t,
19329        weak: *mut graphene::graphene_rect_t,
19330    );
19331    pub fn gtk_text_get_activates_default(self_: *mut GtkText) -> gboolean;
19332    pub fn gtk_text_get_attributes(self_: *mut GtkText) -> *mut pango::PangoAttrList;
19333    pub fn gtk_text_get_buffer(self_: *mut GtkText) -> *mut GtkEntryBuffer;
19334    pub fn gtk_text_get_enable_emoji_completion(self_: *mut GtkText) -> gboolean;
19335    pub fn gtk_text_get_extra_menu(self_: *mut GtkText) -> *mut gio::GMenuModel;
19336    pub fn gtk_text_get_input_hints(self_: *mut GtkText) -> GtkInputHints;
19337    pub fn gtk_text_get_input_purpose(self_: *mut GtkText) -> GtkInputPurpose;
19338    pub fn gtk_text_get_invisible_char(self_: *mut GtkText) -> u32;
19339    pub fn gtk_text_get_max_length(self_: *mut GtkText) -> c_int;
19340    pub fn gtk_text_get_overwrite_mode(self_: *mut GtkText) -> gboolean;
19341    pub fn gtk_text_get_placeholder_text(self_: *mut GtkText) -> *const c_char;
19342    pub fn gtk_text_get_propagate_text_width(self_: *mut GtkText) -> gboolean;
19343    pub fn gtk_text_get_tabs(self_: *mut GtkText) -> *mut pango::PangoTabArray;
19344    pub fn gtk_text_get_text_length(self_: *mut GtkText) -> u16;
19345    pub fn gtk_text_get_truncate_multiline(self_: *mut GtkText) -> gboolean;
19346    pub fn gtk_text_get_visibility(self_: *mut GtkText) -> gboolean;
19347    pub fn gtk_text_grab_focus_without_selecting(self_: *mut GtkText) -> gboolean;
19348    pub fn gtk_text_set_activates_default(self_: *mut GtkText, activates: gboolean);
19349    pub fn gtk_text_set_attributes(self_: *mut GtkText, attrs: *mut pango::PangoAttrList);
19350    pub fn gtk_text_set_buffer(self_: *mut GtkText, buffer: *mut GtkEntryBuffer);
19351    pub fn gtk_text_set_enable_emoji_completion(
19352        self_: *mut GtkText,
19353        enable_emoji_completion: gboolean,
19354    );
19355    pub fn gtk_text_set_extra_menu(self_: *mut GtkText, model: *mut gio::GMenuModel);
19356    pub fn gtk_text_set_input_hints(self_: *mut GtkText, hints: GtkInputHints);
19357    pub fn gtk_text_set_input_purpose(self_: *mut GtkText, purpose: GtkInputPurpose);
19358    pub fn gtk_text_set_invisible_char(self_: *mut GtkText, ch: u32);
19359    pub fn gtk_text_set_max_length(self_: *mut GtkText, length: c_int);
19360    pub fn gtk_text_set_overwrite_mode(self_: *mut GtkText, overwrite: gboolean);
19361    pub fn gtk_text_set_placeholder_text(self_: *mut GtkText, text: *const c_char);
19362    pub fn gtk_text_set_propagate_text_width(self_: *mut GtkText, propagate_text_width: gboolean);
19363    pub fn gtk_text_set_tabs(self_: *mut GtkText, tabs: *mut pango::PangoTabArray);
19364    pub fn gtk_text_set_truncate_multiline(self_: *mut GtkText, truncate_multiline: gboolean);
19365    pub fn gtk_text_set_visibility(self_: *mut GtkText, visible: gboolean);
19366    pub fn gtk_text_unset_invisible_char(self_: *mut GtkText);
19367
19368    //=========================================================================
19369    // GtkTextBuffer
19370    //=========================================================================
19371    pub fn gtk_text_buffer_get_type() -> GType;
19372    pub fn gtk_text_buffer_new(table: *mut GtkTextTagTable) -> *mut GtkTextBuffer;
19373    #[cfg(feature = "v4_16")]
19374    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
19375    pub fn gtk_text_buffer_add_commit_notify(
19376        buffer: *mut GtkTextBuffer,
19377        flags: GtkTextBufferNotifyFlags,
19378        commit_notify: GtkTextBufferCommitNotify,
19379        user_data: gpointer,
19380        destroy: glib::GDestroyNotify,
19381    ) -> c_uint;
19382    pub fn gtk_text_buffer_add_mark(
19383        buffer: *mut GtkTextBuffer,
19384        mark: *mut GtkTextMark,
19385        where_: *const GtkTextIter,
19386    );
19387    pub fn gtk_text_buffer_add_selection_clipboard(
19388        buffer: *mut GtkTextBuffer,
19389        clipboard: *mut gdk::GdkClipboard,
19390    );
19391    pub fn gtk_text_buffer_apply_tag(
19392        buffer: *mut GtkTextBuffer,
19393        tag: *mut GtkTextTag,
19394        start: *const GtkTextIter,
19395        end: *const GtkTextIter,
19396    );
19397    pub fn gtk_text_buffer_apply_tag_by_name(
19398        buffer: *mut GtkTextBuffer,
19399        name: *const c_char,
19400        start: *const GtkTextIter,
19401        end: *const GtkTextIter,
19402    );
19403    pub fn gtk_text_buffer_backspace(
19404        buffer: *mut GtkTextBuffer,
19405        iter: *mut GtkTextIter,
19406        interactive: gboolean,
19407        default_editable: gboolean,
19408    ) -> gboolean;
19409    pub fn gtk_text_buffer_begin_irreversible_action(buffer: *mut GtkTextBuffer);
19410    pub fn gtk_text_buffer_begin_user_action(buffer: *mut GtkTextBuffer);
19411    pub fn gtk_text_buffer_copy_clipboard(
19412        buffer: *mut GtkTextBuffer,
19413        clipboard: *mut gdk::GdkClipboard,
19414    );
19415    pub fn gtk_text_buffer_create_child_anchor(
19416        buffer: *mut GtkTextBuffer,
19417        iter: *mut GtkTextIter,
19418    ) -> *mut GtkTextChildAnchor;
19419    pub fn gtk_text_buffer_create_mark(
19420        buffer: *mut GtkTextBuffer,
19421        mark_name: *const c_char,
19422        where_: *const GtkTextIter,
19423        left_gravity: gboolean,
19424    ) -> *mut GtkTextMark;
19425    pub fn gtk_text_buffer_create_tag(
19426        buffer: *mut GtkTextBuffer,
19427        tag_name: *const c_char,
19428        first_property_name: *const c_char,
19429        ...
19430    ) -> *mut GtkTextTag;
19431    pub fn gtk_text_buffer_cut_clipboard(
19432        buffer: *mut GtkTextBuffer,
19433        clipboard: *mut gdk::GdkClipboard,
19434        default_editable: gboolean,
19435    );
19436    pub fn gtk_text_buffer_delete(
19437        buffer: *mut GtkTextBuffer,
19438        start: *mut GtkTextIter,
19439        end: *mut GtkTextIter,
19440    );
19441    pub fn gtk_text_buffer_delete_interactive(
19442        buffer: *mut GtkTextBuffer,
19443        start_iter: *mut GtkTextIter,
19444        end_iter: *mut GtkTextIter,
19445        default_editable: gboolean,
19446    ) -> gboolean;
19447    pub fn gtk_text_buffer_delete_mark(buffer: *mut GtkTextBuffer, mark: *mut GtkTextMark);
19448    pub fn gtk_text_buffer_delete_mark_by_name(buffer: *mut GtkTextBuffer, name: *const c_char);
19449    pub fn gtk_text_buffer_delete_selection(
19450        buffer: *mut GtkTextBuffer,
19451        interactive: gboolean,
19452        default_editable: gboolean,
19453    ) -> gboolean;
19454    pub fn gtk_text_buffer_end_irreversible_action(buffer: *mut GtkTextBuffer);
19455    pub fn gtk_text_buffer_end_user_action(buffer: *mut GtkTextBuffer);
19456    pub fn gtk_text_buffer_get_bounds(
19457        buffer: *mut GtkTextBuffer,
19458        start: *mut GtkTextIter,
19459        end: *mut GtkTextIter,
19460    );
19461    pub fn gtk_text_buffer_get_can_redo(buffer: *mut GtkTextBuffer) -> gboolean;
19462    pub fn gtk_text_buffer_get_can_undo(buffer: *mut GtkTextBuffer) -> gboolean;
19463    pub fn gtk_text_buffer_get_char_count(buffer: *mut GtkTextBuffer) -> c_int;
19464    pub fn gtk_text_buffer_get_enable_undo(buffer: *mut GtkTextBuffer) -> gboolean;
19465    pub fn gtk_text_buffer_get_end_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
19466    pub fn gtk_text_buffer_get_has_selection(buffer: *mut GtkTextBuffer) -> gboolean;
19467    pub fn gtk_text_buffer_get_insert(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
19468    pub fn gtk_text_buffer_get_iter_at_child_anchor(
19469        buffer: *mut GtkTextBuffer,
19470        iter: *mut GtkTextIter,
19471        anchor: *mut GtkTextChildAnchor,
19472    );
19473    pub fn gtk_text_buffer_get_iter_at_line(
19474        buffer: *mut GtkTextBuffer,
19475        iter: *mut GtkTextIter,
19476        line_number: c_int,
19477    ) -> gboolean;
19478    pub fn gtk_text_buffer_get_iter_at_line_index(
19479        buffer: *mut GtkTextBuffer,
19480        iter: *mut GtkTextIter,
19481        line_number: c_int,
19482        byte_index: c_int,
19483    ) -> gboolean;
19484    pub fn gtk_text_buffer_get_iter_at_line_offset(
19485        buffer: *mut GtkTextBuffer,
19486        iter: *mut GtkTextIter,
19487        line_number: c_int,
19488        char_offset: c_int,
19489    ) -> gboolean;
19490    pub fn gtk_text_buffer_get_iter_at_mark(
19491        buffer: *mut GtkTextBuffer,
19492        iter: *mut GtkTextIter,
19493        mark: *mut GtkTextMark,
19494    );
19495    pub fn gtk_text_buffer_get_iter_at_offset(
19496        buffer: *mut GtkTextBuffer,
19497        iter: *mut GtkTextIter,
19498        char_offset: c_int,
19499    );
19500    pub fn gtk_text_buffer_get_line_count(buffer: *mut GtkTextBuffer) -> c_int;
19501    pub fn gtk_text_buffer_get_mark(
19502        buffer: *mut GtkTextBuffer,
19503        name: *const c_char,
19504    ) -> *mut GtkTextMark;
19505    pub fn gtk_text_buffer_get_max_undo_levels(buffer: *mut GtkTextBuffer) -> c_uint;
19506    pub fn gtk_text_buffer_get_modified(buffer: *mut GtkTextBuffer) -> gboolean;
19507    pub fn gtk_text_buffer_get_selection_bound(buffer: *mut GtkTextBuffer) -> *mut GtkTextMark;
19508    pub fn gtk_text_buffer_get_selection_bounds(
19509        buffer: *mut GtkTextBuffer,
19510        start: *mut GtkTextIter,
19511        end: *mut GtkTextIter,
19512    ) -> gboolean;
19513    pub fn gtk_text_buffer_get_selection_content(
19514        buffer: *mut GtkTextBuffer,
19515    ) -> *mut gdk::GdkContentProvider;
19516    pub fn gtk_text_buffer_get_slice(
19517        buffer: *mut GtkTextBuffer,
19518        start: *const GtkTextIter,
19519        end: *const GtkTextIter,
19520        include_hidden_chars: gboolean,
19521    ) -> *mut c_char;
19522    pub fn gtk_text_buffer_get_start_iter(buffer: *mut GtkTextBuffer, iter: *mut GtkTextIter);
19523    pub fn gtk_text_buffer_get_tag_table(buffer: *mut GtkTextBuffer) -> *mut GtkTextTagTable;
19524    pub fn gtk_text_buffer_get_text(
19525        buffer: *mut GtkTextBuffer,
19526        start: *const GtkTextIter,
19527        end: *const GtkTextIter,
19528        include_hidden_chars: gboolean,
19529    ) -> *mut c_char;
19530    pub fn gtk_text_buffer_insert(
19531        buffer: *mut GtkTextBuffer,
19532        iter: *mut GtkTextIter,
19533        text: *const c_char,
19534        len: c_int,
19535    );
19536    pub fn gtk_text_buffer_insert_at_cursor(
19537        buffer: *mut GtkTextBuffer,
19538        text: *const c_char,
19539        len: c_int,
19540    );
19541    pub fn gtk_text_buffer_insert_child_anchor(
19542        buffer: *mut GtkTextBuffer,
19543        iter: *mut GtkTextIter,
19544        anchor: *mut GtkTextChildAnchor,
19545    );
19546    pub fn gtk_text_buffer_insert_interactive(
19547        buffer: *mut GtkTextBuffer,
19548        iter: *mut GtkTextIter,
19549        text: *const c_char,
19550        len: c_int,
19551        default_editable: gboolean,
19552    ) -> gboolean;
19553    pub fn gtk_text_buffer_insert_interactive_at_cursor(
19554        buffer: *mut GtkTextBuffer,
19555        text: *const c_char,
19556        len: c_int,
19557        default_editable: gboolean,
19558    ) -> gboolean;
19559    pub fn gtk_text_buffer_insert_markup(
19560        buffer: *mut GtkTextBuffer,
19561        iter: *mut GtkTextIter,
19562        markup: *const c_char,
19563        len: c_int,
19564    );
19565    pub fn gtk_text_buffer_insert_paintable(
19566        buffer: *mut GtkTextBuffer,
19567        iter: *mut GtkTextIter,
19568        paintable: *mut gdk::GdkPaintable,
19569    );
19570    pub fn gtk_text_buffer_insert_range(
19571        buffer: *mut GtkTextBuffer,
19572        iter: *mut GtkTextIter,
19573        start: *const GtkTextIter,
19574        end: *const GtkTextIter,
19575    );
19576    pub fn gtk_text_buffer_insert_range_interactive(
19577        buffer: *mut GtkTextBuffer,
19578        iter: *mut GtkTextIter,
19579        start: *const GtkTextIter,
19580        end: *const GtkTextIter,
19581        default_editable: gboolean,
19582    ) -> gboolean;
19583    pub fn gtk_text_buffer_insert_with_tags(
19584        buffer: *mut GtkTextBuffer,
19585        iter: *mut GtkTextIter,
19586        text: *const c_char,
19587        len: c_int,
19588        first_tag: *mut GtkTextTag,
19589        ...
19590    );
19591    pub fn gtk_text_buffer_insert_with_tags_by_name(
19592        buffer: *mut GtkTextBuffer,
19593        iter: *mut GtkTextIter,
19594        text: *const c_char,
19595        len: c_int,
19596        first_tag_name: *const c_char,
19597        ...
19598    );
19599    pub fn gtk_text_buffer_move_mark(
19600        buffer: *mut GtkTextBuffer,
19601        mark: *mut GtkTextMark,
19602        where_: *const GtkTextIter,
19603    );
19604    pub fn gtk_text_buffer_move_mark_by_name(
19605        buffer: *mut GtkTextBuffer,
19606        name: *const c_char,
19607        where_: *const GtkTextIter,
19608    );
19609    pub fn gtk_text_buffer_paste_clipboard(
19610        buffer: *mut GtkTextBuffer,
19611        clipboard: *mut gdk::GdkClipboard,
19612        override_location: *mut GtkTextIter,
19613        default_editable: gboolean,
19614    );
19615    pub fn gtk_text_buffer_place_cursor(buffer: *mut GtkTextBuffer, where_: *const GtkTextIter);
19616    pub fn gtk_text_buffer_redo(buffer: *mut GtkTextBuffer);
19617    pub fn gtk_text_buffer_remove_all_tags(
19618        buffer: *mut GtkTextBuffer,
19619        start: *const GtkTextIter,
19620        end: *const GtkTextIter,
19621    );
19622    #[cfg(feature = "v4_16")]
19623    #[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
19624    pub fn gtk_text_buffer_remove_commit_notify(
19625        buffer: *mut GtkTextBuffer,
19626        commit_notify_handler: c_uint,
19627    );
19628    pub fn gtk_text_buffer_remove_selection_clipboard(
19629        buffer: *mut GtkTextBuffer,
19630        clipboard: *mut gdk::GdkClipboard,
19631    );
19632    pub fn gtk_text_buffer_remove_tag(
19633        buffer: *mut GtkTextBuffer,
19634        tag: *mut GtkTextTag,
19635        start: *const GtkTextIter,
19636        end: *const GtkTextIter,
19637    );
19638    pub fn gtk_text_buffer_remove_tag_by_name(
19639        buffer: *mut GtkTextBuffer,
19640        name: *const c_char,
19641        start: *const GtkTextIter,
19642        end: *const GtkTextIter,
19643    );
19644    pub fn gtk_text_buffer_select_range(
19645        buffer: *mut GtkTextBuffer,
19646        ins: *const GtkTextIter,
19647        bound: *const GtkTextIter,
19648    );
19649    pub fn gtk_text_buffer_set_enable_undo(buffer: *mut GtkTextBuffer, enable_undo: gboolean);
19650    pub fn gtk_text_buffer_set_max_undo_levels(buffer: *mut GtkTextBuffer, max_undo_levels: c_uint);
19651    pub fn gtk_text_buffer_set_modified(buffer: *mut GtkTextBuffer, setting: gboolean);
19652    pub fn gtk_text_buffer_set_text(buffer: *mut GtkTextBuffer, text: *const c_char, len: c_int);
19653    pub fn gtk_text_buffer_undo(buffer: *mut GtkTextBuffer);
19654
19655    //=========================================================================
19656    // GtkTextChildAnchor
19657    //=========================================================================
19658    pub fn gtk_text_child_anchor_get_type() -> GType;
19659    pub fn gtk_text_child_anchor_new() -> *mut GtkTextChildAnchor;
19660    #[cfg(feature = "v4_6")]
19661    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19662    pub fn gtk_text_child_anchor_new_with_replacement(
19663        character: *const c_char,
19664    ) -> *mut GtkTextChildAnchor;
19665    pub fn gtk_text_child_anchor_get_deleted(anchor: *mut GtkTextChildAnchor) -> gboolean;
19666    pub fn gtk_text_child_anchor_get_widgets(
19667        anchor: *mut GtkTextChildAnchor,
19668        out_len: *mut c_uint,
19669    ) -> *mut *mut GtkWidget;
19670
19671    //=========================================================================
19672    // GtkTextMark
19673    //=========================================================================
19674    pub fn gtk_text_mark_get_type() -> GType;
19675    pub fn gtk_text_mark_new(name: *const c_char, left_gravity: gboolean) -> *mut GtkTextMark;
19676    pub fn gtk_text_mark_get_buffer(mark: *mut GtkTextMark) -> *mut GtkTextBuffer;
19677    pub fn gtk_text_mark_get_deleted(mark: *mut GtkTextMark) -> gboolean;
19678    pub fn gtk_text_mark_get_left_gravity(mark: *mut GtkTextMark) -> gboolean;
19679    pub fn gtk_text_mark_get_name(mark: *mut GtkTextMark) -> *const c_char;
19680    pub fn gtk_text_mark_get_visible(mark: *mut GtkTextMark) -> gboolean;
19681    pub fn gtk_text_mark_set_visible(mark: *mut GtkTextMark, setting: gboolean);
19682
19683    //=========================================================================
19684    // GtkTextTag
19685    //=========================================================================
19686    pub fn gtk_text_tag_get_type() -> GType;
19687    pub fn gtk_text_tag_new(name: *const c_char) -> *mut GtkTextTag;
19688    pub fn gtk_text_tag_changed(tag: *mut GtkTextTag, size_changed: gboolean);
19689    pub fn gtk_text_tag_get_priority(tag: *mut GtkTextTag) -> c_int;
19690    pub fn gtk_text_tag_set_priority(tag: *mut GtkTextTag, priority: c_int);
19691
19692    //=========================================================================
19693    // GtkTextTagTable
19694    //=========================================================================
19695    pub fn gtk_text_tag_table_get_type() -> GType;
19696    pub fn gtk_text_tag_table_new() -> *mut GtkTextTagTable;
19697    pub fn gtk_text_tag_table_add(table: *mut GtkTextTagTable, tag: *mut GtkTextTag) -> gboolean;
19698    pub fn gtk_text_tag_table_foreach(
19699        table: *mut GtkTextTagTable,
19700        func: GtkTextTagTableForeach,
19701        data: gpointer,
19702    );
19703    pub fn gtk_text_tag_table_get_size(table: *mut GtkTextTagTable) -> c_int;
19704    pub fn gtk_text_tag_table_lookup(
19705        table: *mut GtkTextTagTable,
19706        name: *const c_char,
19707    ) -> *mut GtkTextTag;
19708    pub fn gtk_text_tag_table_remove(table: *mut GtkTextTagTable, tag: *mut GtkTextTag);
19709
19710    //=========================================================================
19711    // GtkTextView
19712    //=========================================================================
19713    pub fn gtk_text_view_get_type() -> GType;
19714    pub fn gtk_text_view_new() -> *mut GtkWidget;
19715    pub fn gtk_text_view_new_with_buffer(buffer: *mut GtkTextBuffer) -> *mut GtkWidget;
19716    pub fn gtk_text_view_add_child_at_anchor(
19717        text_view: *mut GtkTextView,
19718        child: *mut GtkWidget,
19719        anchor: *mut GtkTextChildAnchor,
19720    );
19721    pub fn gtk_text_view_add_overlay(
19722        text_view: *mut GtkTextView,
19723        child: *mut GtkWidget,
19724        xpos: c_int,
19725        ypos: c_int,
19726    );
19727    pub fn gtk_text_view_backward_display_line(
19728        text_view: *mut GtkTextView,
19729        iter: *mut GtkTextIter,
19730    ) -> gboolean;
19731    pub fn gtk_text_view_backward_display_line_start(
19732        text_view: *mut GtkTextView,
19733        iter: *mut GtkTextIter,
19734    ) -> gboolean;
19735    pub fn gtk_text_view_buffer_to_window_coords(
19736        text_view: *mut GtkTextView,
19737        win: GtkTextWindowType,
19738        buffer_x: c_int,
19739        buffer_y: c_int,
19740        window_x: *mut c_int,
19741        window_y: *mut c_int,
19742    );
19743    pub fn gtk_text_view_forward_display_line(
19744        text_view: *mut GtkTextView,
19745        iter: *mut GtkTextIter,
19746    ) -> gboolean;
19747    pub fn gtk_text_view_forward_display_line_end(
19748        text_view: *mut GtkTextView,
19749        iter: *mut GtkTextIter,
19750    ) -> gboolean;
19751    pub fn gtk_text_view_get_accepts_tab(text_view: *mut GtkTextView) -> gboolean;
19752    pub fn gtk_text_view_get_bottom_margin(text_view: *mut GtkTextView) -> c_int;
19753    pub fn gtk_text_view_get_buffer(text_view: *mut GtkTextView) -> *mut GtkTextBuffer;
19754    pub fn gtk_text_view_get_cursor_locations(
19755        text_view: *mut GtkTextView,
19756        iter: *const GtkTextIter,
19757        strong: *mut gdk::GdkRectangle,
19758        weak: *mut gdk::GdkRectangle,
19759    );
19760    pub fn gtk_text_view_get_cursor_visible(text_view: *mut GtkTextView) -> gboolean;
19761    pub fn gtk_text_view_get_editable(text_view: *mut GtkTextView) -> gboolean;
19762    pub fn gtk_text_view_get_extra_menu(text_view: *mut GtkTextView) -> *mut gio::GMenuModel;
19763    pub fn gtk_text_view_get_gutter(
19764        text_view: *mut GtkTextView,
19765        win: GtkTextWindowType,
19766    ) -> *mut GtkWidget;
19767    pub fn gtk_text_view_get_indent(text_view: *mut GtkTextView) -> c_int;
19768    pub fn gtk_text_view_get_input_hints(text_view: *mut GtkTextView) -> GtkInputHints;
19769    pub fn gtk_text_view_get_input_purpose(text_view: *mut GtkTextView) -> GtkInputPurpose;
19770    pub fn gtk_text_view_get_iter_at_location(
19771        text_view: *mut GtkTextView,
19772        iter: *mut GtkTextIter,
19773        x: c_int,
19774        y: c_int,
19775    ) -> gboolean;
19776    pub fn gtk_text_view_get_iter_at_position(
19777        text_view: *mut GtkTextView,
19778        iter: *mut GtkTextIter,
19779        trailing: *mut c_int,
19780        x: c_int,
19781        y: c_int,
19782    ) -> gboolean;
19783    pub fn gtk_text_view_get_iter_location(
19784        text_view: *mut GtkTextView,
19785        iter: *const GtkTextIter,
19786        location: *mut gdk::GdkRectangle,
19787    );
19788    pub fn gtk_text_view_get_justification(text_view: *mut GtkTextView) -> GtkJustification;
19789    pub fn gtk_text_view_get_left_margin(text_view: *mut GtkTextView) -> c_int;
19790    pub fn gtk_text_view_get_line_at_y(
19791        text_view: *mut GtkTextView,
19792        target_iter: *mut GtkTextIter,
19793        y: c_int,
19794        line_top: *mut c_int,
19795    );
19796    pub fn gtk_text_view_get_line_yrange(
19797        text_view: *mut GtkTextView,
19798        iter: *const GtkTextIter,
19799        y: *mut c_int,
19800        height: *mut c_int,
19801    );
19802    #[cfg(feature = "v4_4")]
19803    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19804    pub fn gtk_text_view_get_ltr_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19805    pub fn gtk_text_view_get_monospace(text_view: *mut GtkTextView) -> gboolean;
19806    pub fn gtk_text_view_get_overwrite(text_view: *mut GtkTextView) -> gboolean;
19807    pub fn gtk_text_view_get_pixels_above_lines(text_view: *mut GtkTextView) -> c_int;
19808    pub fn gtk_text_view_get_pixels_below_lines(text_view: *mut GtkTextView) -> c_int;
19809    pub fn gtk_text_view_get_pixels_inside_wrap(text_view: *mut GtkTextView) -> c_int;
19810    pub fn gtk_text_view_get_right_margin(text_view: *mut GtkTextView) -> c_int;
19811    #[cfg(feature = "v4_4")]
19812    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
19813    pub fn gtk_text_view_get_rtl_context(text_view: *mut GtkTextView) -> *mut pango::PangoContext;
19814    pub fn gtk_text_view_get_tabs(text_view: *mut GtkTextView) -> *mut pango::PangoTabArray;
19815    pub fn gtk_text_view_get_top_margin(text_view: *mut GtkTextView) -> c_int;
19816    #[cfg(feature = "v4_18")]
19817    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
19818    pub fn gtk_text_view_get_visible_offset(
19819        text_view: *mut GtkTextView,
19820        x_offset: *mut c_double,
19821        y_offset: *mut c_double,
19822    );
19823    pub fn gtk_text_view_get_visible_rect(
19824        text_view: *mut GtkTextView,
19825        visible_rect: *mut gdk::GdkRectangle,
19826    );
19827    pub fn gtk_text_view_get_wrap_mode(text_view: *mut GtkTextView) -> GtkWrapMode;
19828    pub fn gtk_text_view_im_context_filter_keypress(
19829        text_view: *mut GtkTextView,
19830        event: *mut gdk::GdkEvent,
19831    ) -> gboolean;
19832    pub fn gtk_text_view_move_mark_onscreen(
19833        text_view: *mut GtkTextView,
19834        mark: *mut GtkTextMark,
19835    ) -> gboolean;
19836    pub fn gtk_text_view_move_overlay(
19837        text_view: *mut GtkTextView,
19838        child: *mut GtkWidget,
19839        xpos: c_int,
19840        ypos: c_int,
19841    );
19842    pub fn gtk_text_view_move_visually(
19843        text_view: *mut GtkTextView,
19844        iter: *mut GtkTextIter,
19845        count: c_int,
19846    ) -> gboolean;
19847    pub fn gtk_text_view_place_cursor_onscreen(text_view: *mut GtkTextView) -> gboolean;
19848    pub fn gtk_text_view_remove(text_view: *mut GtkTextView, child: *mut GtkWidget);
19849    pub fn gtk_text_view_reset_cursor_blink(text_view: *mut GtkTextView);
19850    pub fn gtk_text_view_reset_im_context(text_view: *mut GtkTextView);
19851    pub fn gtk_text_view_scroll_mark_onscreen(text_view: *mut GtkTextView, mark: *mut GtkTextMark);
19852    pub fn gtk_text_view_scroll_to_iter(
19853        text_view: *mut GtkTextView,
19854        iter: *mut GtkTextIter,
19855        within_margin: c_double,
19856        use_align: gboolean,
19857        xalign: c_double,
19858        yalign: c_double,
19859    ) -> gboolean;
19860    pub fn gtk_text_view_scroll_to_mark(
19861        text_view: *mut GtkTextView,
19862        mark: *mut GtkTextMark,
19863        within_margin: c_double,
19864        use_align: gboolean,
19865        xalign: c_double,
19866        yalign: c_double,
19867    );
19868    pub fn gtk_text_view_set_accepts_tab(text_view: *mut GtkTextView, accepts_tab: gboolean);
19869    pub fn gtk_text_view_set_bottom_margin(text_view: *mut GtkTextView, bottom_margin: c_int);
19870    pub fn gtk_text_view_set_buffer(text_view: *mut GtkTextView, buffer: *mut GtkTextBuffer);
19871    pub fn gtk_text_view_set_cursor_visible(text_view: *mut GtkTextView, setting: gboolean);
19872    pub fn gtk_text_view_set_editable(text_view: *mut GtkTextView, setting: gboolean);
19873    pub fn gtk_text_view_set_extra_menu(text_view: *mut GtkTextView, model: *mut gio::GMenuModel);
19874    pub fn gtk_text_view_set_gutter(
19875        text_view: *mut GtkTextView,
19876        win: GtkTextWindowType,
19877        widget: *mut GtkWidget,
19878    );
19879    pub fn gtk_text_view_set_indent(text_view: *mut GtkTextView, indent: c_int);
19880    pub fn gtk_text_view_set_input_hints(text_view: *mut GtkTextView, hints: GtkInputHints);
19881    pub fn gtk_text_view_set_input_purpose(text_view: *mut GtkTextView, purpose: GtkInputPurpose);
19882    pub fn gtk_text_view_set_justification(
19883        text_view: *mut GtkTextView,
19884        justification: GtkJustification,
19885    );
19886    pub fn gtk_text_view_set_left_margin(text_view: *mut GtkTextView, left_margin: c_int);
19887    pub fn gtk_text_view_set_monospace(text_view: *mut GtkTextView, monospace: gboolean);
19888    pub fn gtk_text_view_set_overwrite(text_view: *mut GtkTextView, overwrite: gboolean);
19889    pub fn gtk_text_view_set_pixels_above_lines(
19890        text_view: *mut GtkTextView,
19891        pixels_above_lines: c_int,
19892    );
19893    pub fn gtk_text_view_set_pixels_below_lines(
19894        text_view: *mut GtkTextView,
19895        pixels_below_lines: c_int,
19896    );
19897    pub fn gtk_text_view_set_pixels_inside_wrap(
19898        text_view: *mut GtkTextView,
19899        pixels_inside_wrap: c_int,
19900    );
19901    pub fn gtk_text_view_set_right_margin(text_view: *mut GtkTextView, right_margin: c_int);
19902    pub fn gtk_text_view_set_tabs(text_view: *mut GtkTextView, tabs: *mut pango::PangoTabArray);
19903    pub fn gtk_text_view_set_top_margin(text_view: *mut GtkTextView, top_margin: c_int);
19904    pub fn gtk_text_view_set_wrap_mode(text_view: *mut GtkTextView, wrap_mode: GtkWrapMode);
19905    pub fn gtk_text_view_starts_display_line(
19906        text_view: *mut GtkTextView,
19907        iter: *const GtkTextIter,
19908    ) -> gboolean;
19909    pub fn gtk_text_view_window_to_buffer_coords(
19910        text_view: *mut GtkTextView,
19911        win: GtkTextWindowType,
19912        window_x: c_int,
19913        window_y: c_int,
19914        buffer_x: *mut c_int,
19915        buffer_y: *mut c_int,
19916    );
19917
19918    //=========================================================================
19919    // GtkToggleButton
19920    //=========================================================================
19921    pub fn gtk_toggle_button_get_type() -> GType;
19922    pub fn gtk_toggle_button_new() -> *mut GtkWidget;
19923    pub fn gtk_toggle_button_new_with_label(label: *const c_char) -> *mut GtkWidget;
19924    pub fn gtk_toggle_button_new_with_mnemonic(label: *const c_char) -> *mut GtkWidget;
19925    pub fn gtk_toggle_button_get_active(toggle_button: *mut GtkToggleButton) -> gboolean;
19926    pub fn gtk_toggle_button_set_active(toggle_button: *mut GtkToggleButton, is_active: gboolean);
19927    pub fn gtk_toggle_button_set_group(
19928        toggle_button: *mut GtkToggleButton,
19929        group: *mut GtkToggleButton,
19930    );
19931    pub fn gtk_toggle_button_toggled(toggle_button: *mut GtkToggleButton);
19932
19933    //=========================================================================
19934    // GtkTooltip
19935    //=========================================================================
19936    pub fn gtk_tooltip_get_type() -> GType;
19937    pub fn gtk_tooltip_set_custom(tooltip: *mut GtkTooltip, custom_widget: *mut GtkWidget);
19938    pub fn gtk_tooltip_set_icon(tooltip: *mut GtkTooltip, paintable: *mut gdk::GdkPaintable);
19939    pub fn gtk_tooltip_set_icon_from_gicon(tooltip: *mut GtkTooltip, gicon: *mut gio::GIcon);
19940    pub fn gtk_tooltip_set_icon_from_icon_name(tooltip: *mut GtkTooltip, icon_name: *const c_char);
19941    pub fn gtk_tooltip_set_markup(tooltip: *mut GtkTooltip, markup: *const c_char);
19942    pub fn gtk_tooltip_set_text(tooltip: *mut GtkTooltip, text: *const c_char);
19943    pub fn gtk_tooltip_set_tip_area(tooltip: *mut GtkTooltip, rect: *const gdk::GdkRectangle);
19944
19945    //=========================================================================
19946    // GtkTreeExpander
19947    //=========================================================================
19948    pub fn gtk_tree_expander_get_type() -> GType;
19949    pub fn gtk_tree_expander_new() -> *mut GtkWidget;
19950    pub fn gtk_tree_expander_get_child(self_: *mut GtkTreeExpander) -> *mut GtkWidget;
19951    #[cfg(feature = "v4_10")]
19952    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19953    pub fn gtk_tree_expander_get_hide_expander(self_: *mut GtkTreeExpander) -> gboolean;
19954    #[cfg(feature = "v4_10")]
19955    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19956    pub fn gtk_tree_expander_get_indent_for_depth(self_: *mut GtkTreeExpander) -> gboolean;
19957    #[cfg(feature = "v4_6")]
19958    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19959    pub fn gtk_tree_expander_get_indent_for_icon(self_: *mut GtkTreeExpander) -> gboolean;
19960    pub fn gtk_tree_expander_get_item(self_: *mut GtkTreeExpander) -> *mut gobject::GObject;
19961    pub fn gtk_tree_expander_get_list_row(self_: *mut GtkTreeExpander) -> *mut GtkTreeListRow;
19962    pub fn gtk_tree_expander_set_child(self_: *mut GtkTreeExpander, child: *mut GtkWidget);
19963    #[cfg(feature = "v4_10")]
19964    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19965    pub fn gtk_tree_expander_set_hide_expander(
19966        self_: *mut GtkTreeExpander,
19967        hide_expander: gboolean,
19968    );
19969    #[cfg(feature = "v4_10")]
19970    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19971    pub fn gtk_tree_expander_set_indent_for_depth(
19972        self_: *mut GtkTreeExpander,
19973        indent_for_depth: gboolean,
19974    );
19975    #[cfg(feature = "v4_6")]
19976    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
19977    pub fn gtk_tree_expander_set_indent_for_icon(
19978        self_: *mut GtkTreeExpander,
19979        indent_for_icon: gboolean,
19980    );
19981    pub fn gtk_tree_expander_set_list_row(
19982        self_: *mut GtkTreeExpander,
19983        list_row: *mut GtkTreeListRow,
19984    );
19985
19986    //=========================================================================
19987    // GtkTreeListModel
19988    //=========================================================================
19989    pub fn gtk_tree_list_model_get_type() -> GType;
19990    pub fn gtk_tree_list_model_new(
19991        root: *mut gio::GListModel,
19992        passthrough: gboolean,
19993        autoexpand: gboolean,
19994        create_func: GtkTreeListModelCreateModelFunc,
19995        user_data: gpointer,
19996        user_destroy: glib::GDestroyNotify,
19997    ) -> *mut GtkTreeListModel;
19998    pub fn gtk_tree_list_model_get_autoexpand(self_: *mut GtkTreeListModel) -> gboolean;
19999    pub fn gtk_tree_list_model_get_child_row(
20000        self_: *mut GtkTreeListModel,
20001        position: c_uint,
20002    ) -> *mut GtkTreeListRow;
20003    pub fn gtk_tree_list_model_get_model(self_: *mut GtkTreeListModel) -> *mut gio::GListModel;
20004    pub fn gtk_tree_list_model_get_passthrough(self_: *mut GtkTreeListModel) -> gboolean;
20005    pub fn gtk_tree_list_model_get_row(
20006        self_: *mut GtkTreeListModel,
20007        position: c_uint,
20008    ) -> *mut GtkTreeListRow;
20009    pub fn gtk_tree_list_model_set_autoexpand(self_: *mut GtkTreeListModel, autoexpand: gboolean);
20010
20011    //=========================================================================
20012    // GtkTreeListRow
20013    //=========================================================================
20014    pub fn gtk_tree_list_row_get_type() -> GType;
20015    pub fn gtk_tree_list_row_get_child_row(
20016        self_: *mut GtkTreeListRow,
20017        position: c_uint,
20018    ) -> *mut GtkTreeListRow;
20019    pub fn gtk_tree_list_row_get_children(self_: *mut GtkTreeListRow) -> *mut gio::GListModel;
20020    pub fn gtk_tree_list_row_get_depth(self_: *mut GtkTreeListRow) -> c_uint;
20021    pub fn gtk_tree_list_row_get_expanded(self_: *mut GtkTreeListRow) -> gboolean;
20022    pub fn gtk_tree_list_row_get_item(self_: *mut GtkTreeListRow) -> *mut gobject::GObject;
20023    pub fn gtk_tree_list_row_get_parent(self_: *mut GtkTreeListRow) -> *mut GtkTreeListRow;
20024    pub fn gtk_tree_list_row_get_position(self_: *mut GtkTreeListRow) -> c_uint;
20025    pub fn gtk_tree_list_row_is_expandable(self_: *mut GtkTreeListRow) -> gboolean;
20026    pub fn gtk_tree_list_row_set_expanded(self_: *mut GtkTreeListRow, expanded: gboolean);
20027
20028    //=========================================================================
20029    // GtkTreeListRowSorter
20030    //=========================================================================
20031    pub fn gtk_tree_list_row_sorter_get_type() -> GType;
20032    pub fn gtk_tree_list_row_sorter_new(sorter: *mut GtkSorter) -> *mut GtkTreeListRowSorter;
20033    pub fn gtk_tree_list_row_sorter_get_sorter(self_: *mut GtkTreeListRowSorter) -> *mut GtkSorter;
20034    pub fn gtk_tree_list_row_sorter_set_sorter(
20035        self_: *mut GtkTreeListRowSorter,
20036        sorter: *mut GtkSorter,
20037    );
20038
20039    //=========================================================================
20040    // GtkTreeModelFilter
20041    //=========================================================================
20042    pub fn gtk_tree_model_filter_get_type() -> GType;
20043    pub fn gtk_tree_model_filter_clear_cache(filter: *mut GtkTreeModelFilter);
20044    pub fn gtk_tree_model_filter_convert_child_iter_to_iter(
20045        filter: *mut GtkTreeModelFilter,
20046        filter_iter: *mut GtkTreeIter,
20047        child_iter: *mut GtkTreeIter,
20048    ) -> gboolean;
20049    pub fn gtk_tree_model_filter_convert_child_path_to_path(
20050        filter: *mut GtkTreeModelFilter,
20051        child_path: *mut GtkTreePath,
20052    ) -> *mut GtkTreePath;
20053    pub fn gtk_tree_model_filter_convert_iter_to_child_iter(
20054        filter: *mut GtkTreeModelFilter,
20055        child_iter: *mut GtkTreeIter,
20056        filter_iter: *mut GtkTreeIter,
20057    );
20058    pub fn gtk_tree_model_filter_convert_path_to_child_path(
20059        filter: *mut GtkTreeModelFilter,
20060        filter_path: *mut GtkTreePath,
20061    ) -> *mut GtkTreePath;
20062    pub fn gtk_tree_model_filter_get_model(filter: *mut GtkTreeModelFilter) -> *mut GtkTreeModel;
20063    pub fn gtk_tree_model_filter_refilter(filter: *mut GtkTreeModelFilter);
20064    pub fn gtk_tree_model_filter_set_modify_func(
20065        filter: *mut GtkTreeModelFilter,
20066        n_columns: c_int,
20067        types: *mut GType,
20068        func: GtkTreeModelFilterModifyFunc,
20069        data: gpointer,
20070        destroy: glib::GDestroyNotify,
20071    );
20072    pub fn gtk_tree_model_filter_set_visible_column(filter: *mut GtkTreeModelFilter, column: c_int);
20073    pub fn gtk_tree_model_filter_set_visible_func(
20074        filter: *mut GtkTreeModelFilter,
20075        func: GtkTreeModelFilterVisibleFunc,
20076        data: gpointer,
20077        destroy: glib::GDestroyNotify,
20078    );
20079
20080    //=========================================================================
20081    // GtkTreeModelSort
20082    //=========================================================================
20083    pub fn gtk_tree_model_sort_get_type() -> GType;
20084    pub fn gtk_tree_model_sort_new_with_model(
20085        child_model: *mut GtkTreeModel,
20086    ) -> *mut GtkTreeModelSort;
20087    pub fn gtk_tree_model_sort_clear_cache(tree_model_sort: *mut GtkTreeModelSort);
20088    pub fn gtk_tree_model_sort_convert_child_iter_to_iter(
20089        tree_model_sort: *mut GtkTreeModelSort,
20090        sort_iter: *mut GtkTreeIter,
20091        child_iter: *mut GtkTreeIter,
20092    ) -> gboolean;
20093    pub fn gtk_tree_model_sort_convert_child_path_to_path(
20094        tree_model_sort: *mut GtkTreeModelSort,
20095        child_path: *mut GtkTreePath,
20096    ) -> *mut GtkTreePath;
20097    pub fn gtk_tree_model_sort_convert_iter_to_child_iter(
20098        tree_model_sort: *mut GtkTreeModelSort,
20099        child_iter: *mut GtkTreeIter,
20100        sorted_iter: *mut GtkTreeIter,
20101    );
20102    pub fn gtk_tree_model_sort_convert_path_to_child_path(
20103        tree_model_sort: *mut GtkTreeModelSort,
20104        sorted_path: *mut GtkTreePath,
20105    ) -> *mut GtkTreePath;
20106    pub fn gtk_tree_model_sort_get_model(tree_model: *mut GtkTreeModelSort) -> *mut GtkTreeModel;
20107    pub fn gtk_tree_model_sort_iter_is_valid(
20108        tree_model_sort: *mut GtkTreeModelSort,
20109        iter: *mut GtkTreeIter,
20110    ) -> gboolean;
20111    pub fn gtk_tree_model_sort_reset_default_sort_func(tree_model_sort: *mut GtkTreeModelSort);
20112
20113    //=========================================================================
20114    // GtkTreeSelection
20115    //=========================================================================
20116    pub fn gtk_tree_selection_get_type() -> GType;
20117    pub fn gtk_tree_selection_count_selected_rows(selection: *mut GtkTreeSelection) -> c_int;
20118    pub fn gtk_tree_selection_get_mode(selection: *mut GtkTreeSelection) -> GtkSelectionMode;
20119    pub fn gtk_tree_selection_get_select_function(
20120        selection: *mut GtkTreeSelection,
20121    ) -> GtkTreeSelectionFunc;
20122    pub fn gtk_tree_selection_get_selected(
20123        selection: *mut GtkTreeSelection,
20124        model: *mut *mut GtkTreeModel,
20125        iter: *mut GtkTreeIter,
20126    ) -> gboolean;
20127    pub fn gtk_tree_selection_get_selected_rows(
20128        selection: *mut GtkTreeSelection,
20129        model: *mut *mut GtkTreeModel,
20130    ) -> *mut glib::GList;
20131    pub fn gtk_tree_selection_get_tree_view(selection: *mut GtkTreeSelection) -> *mut GtkTreeView;
20132    pub fn gtk_tree_selection_get_user_data(selection: *mut GtkTreeSelection) -> gpointer;
20133    pub fn gtk_tree_selection_iter_is_selected(
20134        selection: *mut GtkTreeSelection,
20135        iter: *mut GtkTreeIter,
20136    ) -> gboolean;
20137    pub fn gtk_tree_selection_path_is_selected(
20138        selection: *mut GtkTreeSelection,
20139        path: *mut GtkTreePath,
20140    ) -> gboolean;
20141    pub fn gtk_tree_selection_select_all(selection: *mut GtkTreeSelection);
20142    pub fn gtk_tree_selection_select_iter(selection: *mut GtkTreeSelection, iter: *mut GtkTreeIter);
20143    pub fn gtk_tree_selection_select_path(selection: *mut GtkTreeSelection, path: *mut GtkTreePath);
20144    pub fn gtk_tree_selection_select_range(
20145        selection: *mut GtkTreeSelection,
20146        start_path: *mut GtkTreePath,
20147        end_path: *mut GtkTreePath,
20148    );
20149    pub fn gtk_tree_selection_selected_foreach(
20150        selection: *mut GtkTreeSelection,
20151        func: GtkTreeSelectionForeachFunc,
20152        data: gpointer,
20153    );
20154    pub fn gtk_tree_selection_set_mode(selection: *mut GtkTreeSelection, type_: GtkSelectionMode);
20155    pub fn gtk_tree_selection_set_select_function(
20156        selection: *mut GtkTreeSelection,
20157        func: GtkTreeSelectionFunc,
20158        data: gpointer,
20159        destroy: glib::GDestroyNotify,
20160    );
20161    pub fn gtk_tree_selection_unselect_all(selection: *mut GtkTreeSelection);
20162    pub fn gtk_tree_selection_unselect_iter(
20163        selection: *mut GtkTreeSelection,
20164        iter: *mut GtkTreeIter,
20165    );
20166    pub fn gtk_tree_selection_unselect_path(
20167        selection: *mut GtkTreeSelection,
20168        path: *mut GtkTreePath,
20169    );
20170    pub fn gtk_tree_selection_unselect_range(
20171        selection: *mut GtkTreeSelection,
20172        start_path: *mut GtkTreePath,
20173        end_path: *mut GtkTreePath,
20174    );
20175
20176    //=========================================================================
20177    // GtkTreeStore
20178    //=========================================================================
20179    pub fn gtk_tree_store_get_type() -> GType;
20180    pub fn gtk_tree_store_new(n_columns: c_int, ...) -> *mut GtkTreeStore;
20181    pub fn gtk_tree_store_newv(n_columns: c_int, types: *mut GType) -> *mut GtkTreeStore;
20182    pub fn gtk_tree_store_append(
20183        tree_store: *mut GtkTreeStore,
20184        iter: *mut GtkTreeIter,
20185        parent: *mut GtkTreeIter,
20186    );
20187    pub fn gtk_tree_store_clear(tree_store: *mut GtkTreeStore);
20188    pub fn gtk_tree_store_insert(
20189        tree_store: *mut GtkTreeStore,
20190        iter: *mut GtkTreeIter,
20191        parent: *mut GtkTreeIter,
20192        position: c_int,
20193    );
20194    pub fn gtk_tree_store_insert_after(
20195        tree_store: *mut GtkTreeStore,
20196        iter: *mut GtkTreeIter,
20197        parent: *mut GtkTreeIter,
20198        sibling: *mut GtkTreeIter,
20199    );
20200    pub fn gtk_tree_store_insert_before(
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_with_values(
20207        tree_store: *mut GtkTreeStore,
20208        iter: *mut GtkTreeIter,
20209        parent: *mut GtkTreeIter,
20210        position: c_int,
20211        ...
20212    );
20213    pub fn gtk_tree_store_insert_with_valuesv(
20214        tree_store: *mut GtkTreeStore,
20215        iter: *mut GtkTreeIter,
20216        parent: *mut GtkTreeIter,
20217        position: c_int,
20218        columns: *mut c_int,
20219        values: *mut gobject::GValue,
20220        n_values: c_int,
20221    );
20222    pub fn gtk_tree_store_is_ancestor(
20223        tree_store: *mut GtkTreeStore,
20224        iter: *mut GtkTreeIter,
20225        descendant: *mut GtkTreeIter,
20226    ) -> gboolean;
20227    pub fn gtk_tree_store_iter_depth(
20228        tree_store: *mut GtkTreeStore,
20229        iter: *mut GtkTreeIter,
20230    ) -> c_int;
20231    pub fn gtk_tree_store_iter_is_valid(
20232        tree_store: *mut GtkTreeStore,
20233        iter: *mut GtkTreeIter,
20234    ) -> gboolean;
20235    pub fn gtk_tree_store_move_after(
20236        tree_store: *mut GtkTreeStore,
20237        iter: *mut GtkTreeIter,
20238        position: *mut GtkTreeIter,
20239    );
20240    pub fn gtk_tree_store_move_before(
20241        tree_store: *mut GtkTreeStore,
20242        iter: *mut GtkTreeIter,
20243        position: *mut GtkTreeIter,
20244    );
20245    pub fn gtk_tree_store_prepend(
20246        tree_store: *mut GtkTreeStore,
20247        iter: *mut GtkTreeIter,
20248        parent: *mut GtkTreeIter,
20249    );
20250    pub fn gtk_tree_store_remove(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter)
20251    -> gboolean;
20252    pub fn gtk_tree_store_reorder(
20253        tree_store: *mut GtkTreeStore,
20254        parent: *mut GtkTreeIter,
20255        new_order: *mut c_int,
20256    );
20257    pub fn gtk_tree_store_set(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, ...);
20258    pub fn gtk_tree_store_set_column_types(
20259        tree_store: *mut GtkTreeStore,
20260        n_columns: c_int,
20261        types: *mut GType,
20262    );
20263    //pub fn gtk_tree_store_set_valist(tree_store: *mut GtkTreeStore, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
20264    pub fn gtk_tree_store_set_value(
20265        tree_store: *mut GtkTreeStore,
20266        iter: *mut GtkTreeIter,
20267        column: c_int,
20268        value: *mut gobject::GValue,
20269    );
20270    pub fn gtk_tree_store_set_valuesv(
20271        tree_store: *mut GtkTreeStore,
20272        iter: *mut GtkTreeIter,
20273        columns: *mut c_int,
20274        values: *mut gobject::GValue,
20275        n_values: c_int,
20276    );
20277    pub fn gtk_tree_store_swap(
20278        tree_store: *mut GtkTreeStore,
20279        a: *mut GtkTreeIter,
20280        b: *mut GtkTreeIter,
20281    );
20282
20283    //=========================================================================
20284    // GtkTreeView
20285    //=========================================================================
20286    pub fn gtk_tree_view_get_type() -> GType;
20287    pub fn gtk_tree_view_new() -> *mut GtkWidget;
20288    pub fn gtk_tree_view_new_with_model(model: *mut GtkTreeModel) -> *mut GtkWidget;
20289    pub fn gtk_tree_view_append_column(
20290        tree_view: *mut GtkTreeView,
20291        column: *mut GtkTreeViewColumn,
20292    ) -> c_int;
20293    pub fn gtk_tree_view_collapse_all(tree_view: *mut GtkTreeView);
20294    pub fn gtk_tree_view_collapse_row(
20295        tree_view: *mut GtkTreeView,
20296        path: *mut GtkTreePath,
20297    ) -> gboolean;
20298    pub fn gtk_tree_view_columns_autosize(tree_view: *mut GtkTreeView);
20299    pub fn gtk_tree_view_convert_bin_window_to_tree_coords(
20300        tree_view: *mut GtkTreeView,
20301        bx: c_int,
20302        by: c_int,
20303        tx: *mut c_int,
20304        ty: *mut c_int,
20305    );
20306    pub fn gtk_tree_view_convert_bin_window_to_widget_coords(
20307        tree_view: *mut GtkTreeView,
20308        bx: c_int,
20309        by: c_int,
20310        wx: *mut c_int,
20311        wy: *mut c_int,
20312    );
20313    pub fn gtk_tree_view_convert_tree_to_bin_window_coords(
20314        tree_view: *mut GtkTreeView,
20315        tx: c_int,
20316        ty: c_int,
20317        bx: *mut c_int,
20318        by: *mut c_int,
20319    );
20320    pub fn gtk_tree_view_convert_tree_to_widget_coords(
20321        tree_view: *mut GtkTreeView,
20322        tx: c_int,
20323        ty: c_int,
20324        wx: *mut c_int,
20325        wy: *mut c_int,
20326    );
20327    pub fn gtk_tree_view_convert_widget_to_bin_window_coords(
20328        tree_view: *mut GtkTreeView,
20329        wx: c_int,
20330        wy: c_int,
20331        bx: *mut c_int,
20332        by: *mut c_int,
20333    );
20334    pub fn gtk_tree_view_convert_widget_to_tree_coords(
20335        tree_view: *mut GtkTreeView,
20336        wx: c_int,
20337        wy: c_int,
20338        tx: *mut c_int,
20339        ty: *mut c_int,
20340    );
20341    pub fn gtk_tree_view_create_row_drag_icon(
20342        tree_view: *mut GtkTreeView,
20343        path: *mut GtkTreePath,
20344    ) -> *mut gdk::GdkPaintable;
20345    pub fn gtk_tree_view_enable_model_drag_dest(
20346        tree_view: *mut GtkTreeView,
20347        formats: *mut gdk::GdkContentFormats,
20348        actions: gdk::GdkDragAction,
20349    );
20350    pub fn gtk_tree_view_enable_model_drag_source(
20351        tree_view: *mut GtkTreeView,
20352        start_button_mask: gdk::GdkModifierType,
20353        formats: *mut gdk::GdkContentFormats,
20354        actions: gdk::GdkDragAction,
20355    );
20356    pub fn gtk_tree_view_expand_all(tree_view: *mut GtkTreeView);
20357    pub fn gtk_tree_view_expand_row(
20358        tree_view: *mut GtkTreeView,
20359        path: *mut GtkTreePath,
20360        open_all: gboolean,
20361    ) -> gboolean;
20362    pub fn gtk_tree_view_expand_to_path(tree_view: *mut GtkTreeView, path: *mut GtkTreePath);
20363    pub fn gtk_tree_view_get_activate_on_single_click(tree_view: *mut GtkTreeView) -> gboolean;
20364    pub fn gtk_tree_view_get_background_area(
20365        tree_view: *mut GtkTreeView,
20366        path: *mut GtkTreePath,
20367        column: *mut GtkTreeViewColumn,
20368        rect: *mut gdk::GdkRectangle,
20369    );
20370    pub fn gtk_tree_view_get_cell_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_column(
20377        tree_view: *mut GtkTreeView,
20378        n: c_int,
20379    ) -> *mut GtkTreeViewColumn;
20380    pub fn gtk_tree_view_get_columns(tree_view: *mut GtkTreeView) -> *mut glib::GList;
20381    pub fn gtk_tree_view_get_cursor(
20382        tree_view: *mut GtkTreeView,
20383        path: *mut *mut GtkTreePath,
20384        focus_column: *mut *mut GtkTreeViewColumn,
20385    );
20386    pub fn gtk_tree_view_get_dest_row_at_pos(
20387        tree_view: *mut GtkTreeView,
20388        drag_x: c_int,
20389        drag_y: c_int,
20390        path: *mut *mut GtkTreePath,
20391        pos: *mut GtkTreeViewDropPosition,
20392    ) -> gboolean;
20393    pub fn gtk_tree_view_get_drag_dest_row(
20394        tree_view: *mut GtkTreeView,
20395        path: *mut *mut GtkTreePath,
20396        pos: *mut GtkTreeViewDropPosition,
20397    );
20398    pub fn gtk_tree_view_get_enable_search(tree_view: *mut GtkTreeView) -> gboolean;
20399    pub fn gtk_tree_view_get_enable_tree_lines(tree_view: *mut GtkTreeView) -> gboolean;
20400    pub fn gtk_tree_view_get_expander_column(tree_view: *mut GtkTreeView)
20401    -> *mut GtkTreeViewColumn;
20402    pub fn gtk_tree_view_get_fixed_height_mode(tree_view: *mut GtkTreeView) -> gboolean;
20403    pub fn gtk_tree_view_get_grid_lines(tree_view: *mut GtkTreeView) -> GtkTreeViewGridLines;
20404    pub fn gtk_tree_view_get_headers_clickable(tree_view: *mut GtkTreeView) -> gboolean;
20405    pub fn gtk_tree_view_get_headers_visible(tree_view: *mut GtkTreeView) -> gboolean;
20406    pub fn gtk_tree_view_get_hover_expand(tree_view: *mut GtkTreeView) -> gboolean;
20407    pub fn gtk_tree_view_get_hover_selection(tree_view: *mut GtkTreeView) -> gboolean;
20408    pub fn gtk_tree_view_get_level_indentation(tree_view: *mut GtkTreeView) -> c_int;
20409    pub fn gtk_tree_view_get_model(tree_view: *mut GtkTreeView) -> *mut GtkTreeModel;
20410    pub fn gtk_tree_view_get_n_columns(tree_view: *mut GtkTreeView) -> c_uint;
20411    pub fn gtk_tree_view_get_path_at_pos(
20412        tree_view: *mut GtkTreeView,
20413        x: c_int,
20414        y: c_int,
20415        path: *mut *mut GtkTreePath,
20416        column: *mut *mut GtkTreeViewColumn,
20417        cell_x: *mut c_int,
20418        cell_y: *mut c_int,
20419    ) -> gboolean;
20420    pub fn gtk_tree_view_get_reorderable(tree_view: *mut GtkTreeView) -> gboolean;
20421    pub fn gtk_tree_view_get_row_separator_func(
20422        tree_view: *mut GtkTreeView,
20423    ) -> GtkTreeViewRowSeparatorFunc;
20424    pub fn gtk_tree_view_get_rubber_banding(tree_view: *mut GtkTreeView) -> gboolean;
20425    pub fn gtk_tree_view_get_search_column(tree_view: *mut GtkTreeView) -> c_int;
20426    pub fn gtk_tree_view_get_search_entry(tree_view: *mut GtkTreeView) -> *mut GtkEditable;
20427    pub fn gtk_tree_view_get_search_equal_func(
20428        tree_view: *mut GtkTreeView,
20429    ) -> GtkTreeViewSearchEqualFunc;
20430    pub fn gtk_tree_view_get_selection(tree_view: *mut GtkTreeView) -> *mut GtkTreeSelection;
20431    pub fn gtk_tree_view_get_show_expanders(tree_view: *mut GtkTreeView) -> gboolean;
20432    pub fn gtk_tree_view_get_tooltip_column(tree_view: *mut GtkTreeView) -> c_int;
20433    pub fn gtk_tree_view_get_tooltip_context(
20434        tree_view: *mut GtkTreeView,
20435        x: c_int,
20436        y: c_int,
20437        keyboard_tip: gboolean,
20438        model: *mut *mut GtkTreeModel,
20439        path: *mut *mut GtkTreePath,
20440        iter: *mut GtkTreeIter,
20441    ) -> gboolean;
20442    pub fn gtk_tree_view_get_visible_range(
20443        tree_view: *mut GtkTreeView,
20444        start_path: *mut *mut GtkTreePath,
20445        end_path: *mut *mut GtkTreePath,
20446    ) -> gboolean;
20447    pub fn gtk_tree_view_get_visible_rect(
20448        tree_view: *mut GtkTreeView,
20449        visible_rect: *mut gdk::GdkRectangle,
20450    );
20451    pub fn gtk_tree_view_insert_column(
20452        tree_view: *mut GtkTreeView,
20453        column: *mut GtkTreeViewColumn,
20454        position: c_int,
20455    ) -> c_int;
20456    pub fn gtk_tree_view_insert_column_with_attributes(
20457        tree_view: *mut GtkTreeView,
20458        position: c_int,
20459        title: *const c_char,
20460        cell: *mut GtkCellRenderer,
20461        ...
20462    ) -> c_int;
20463    pub fn gtk_tree_view_insert_column_with_data_func(
20464        tree_view: *mut GtkTreeView,
20465        position: c_int,
20466        title: *const c_char,
20467        cell: *mut GtkCellRenderer,
20468        func: GtkTreeCellDataFunc,
20469        data: gpointer,
20470        dnotify: glib::GDestroyNotify,
20471    ) -> c_int;
20472    pub fn gtk_tree_view_is_blank_at_pos(
20473        tree_view: *mut GtkTreeView,
20474        x: c_int,
20475        y: c_int,
20476        path: *mut *mut GtkTreePath,
20477        column: *mut *mut GtkTreeViewColumn,
20478        cell_x: *mut c_int,
20479        cell_y: *mut c_int,
20480    ) -> gboolean;
20481    pub fn gtk_tree_view_is_rubber_banding_active(tree_view: *mut GtkTreeView) -> gboolean;
20482    pub fn gtk_tree_view_map_expanded_rows(
20483        tree_view: *mut GtkTreeView,
20484        func: GtkTreeViewMappingFunc,
20485        data: gpointer,
20486    );
20487    pub fn gtk_tree_view_move_column_after(
20488        tree_view: *mut GtkTreeView,
20489        column: *mut GtkTreeViewColumn,
20490        base_column: *mut GtkTreeViewColumn,
20491    );
20492    pub fn gtk_tree_view_remove_column(
20493        tree_view: *mut GtkTreeView,
20494        column: *mut GtkTreeViewColumn,
20495    ) -> c_int;
20496    pub fn gtk_tree_view_row_activated(
20497        tree_view: *mut GtkTreeView,
20498        path: *mut GtkTreePath,
20499        column: *mut GtkTreeViewColumn,
20500    );
20501    pub fn gtk_tree_view_row_expanded(
20502        tree_view: *mut GtkTreeView,
20503        path: *mut GtkTreePath,
20504    ) -> gboolean;
20505    pub fn gtk_tree_view_scroll_to_cell(
20506        tree_view: *mut GtkTreeView,
20507        path: *mut GtkTreePath,
20508        column: *mut GtkTreeViewColumn,
20509        use_align: gboolean,
20510        row_align: c_float,
20511        col_align: c_float,
20512    );
20513    pub fn gtk_tree_view_scroll_to_point(tree_view: *mut GtkTreeView, tree_x: c_int, tree_y: c_int);
20514    pub fn gtk_tree_view_set_activate_on_single_click(
20515        tree_view: *mut GtkTreeView,
20516        single: gboolean,
20517    );
20518    pub fn gtk_tree_view_set_column_drag_function(
20519        tree_view: *mut GtkTreeView,
20520        func: GtkTreeViewColumnDropFunc,
20521        user_data: gpointer,
20522        destroy: glib::GDestroyNotify,
20523    );
20524    pub fn gtk_tree_view_set_cursor(
20525        tree_view: *mut GtkTreeView,
20526        path: *mut GtkTreePath,
20527        focus_column: *mut GtkTreeViewColumn,
20528        start_editing: gboolean,
20529    );
20530    pub fn gtk_tree_view_set_cursor_on_cell(
20531        tree_view: *mut GtkTreeView,
20532        path: *mut GtkTreePath,
20533        focus_column: *mut GtkTreeViewColumn,
20534        focus_cell: *mut GtkCellRenderer,
20535        start_editing: gboolean,
20536    );
20537    pub fn gtk_tree_view_set_drag_dest_row(
20538        tree_view: *mut GtkTreeView,
20539        path: *mut GtkTreePath,
20540        pos: GtkTreeViewDropPosition,
20541    );
20542    pub fn gtk_tree_view_set_enable_search(tree_view: *mut GtkTreeView, enable_search: gboolean);
20543    pub fn gtk_tree_view_set_enable_tree_lines(tree_view: *mut GtkTreeView, enabled: gboolean);
20544    pub fn gtk_tree_view_set_expander_column(
20545        tree_view: *mut GtkTreeView,
20546        column: *mut GtkTreeViewColumn,
20547    );
20548    pub fn gtk_tree_view_set_fixed_height_mode(tree_view: *mut GtkTreeView, enable: gboolean);
20549    pub fn gtk_tree_view_set_grid_lines(
20550        tree_view: *mut GtkTreeView,
20551        grid_lines: GtkTreeViewGridLines,
20552    );
20553    pub fn gtk_tree_view_set_headers_clickable(tree_view: *mut GtkTreeView, setting: gboolean);
20554    pub fn gtk_tree_view_set_headers_visible(
20555        tree_view: *mut GtkTreeView,
20556        headers_visible: gboolean,
20557    );
20558    pub fn gtk_tree_view_set_hover_expand(tree_view: *mut GtkTreeView, expand: gboolean);
20559    pub fn gtk_tree_view_set_hover_selection(tree_view: *mut GtkTreeView, hover: gboolean);
20560    pub fn gtk_tree_view_set_level_indentation(tree_view: *mut GtkTreeView, indentation: c_int);
20561    pub fn gtk_tree_view_set_model(tree_view: *mut GtkTreeView, model: *mut GtkTreeModel);
20562    pub fn gtk_tree_view_set_reorderable(tree_view: *mut GtkTreeView, reorderable: gboolean);
20563    pub fn gtk_tree_view_set_row_separator_func(
20564        tree_view: *mut GtkTreeView,
20565        func: GtkTreeViewRowSeparatorFunc,
20566        data: gpointer,
20567        destroy: glib::GDestroyNotify,
20568    );
20569    pub fn gtk_tree_view_set_rubber_banding(tree_view: *mut GtkTreeView, enable: gboolean);
20570    pub fn gtk_tree_view_set_search_column(tree_view: *mut GtkTreeView, column: c_int);
20571    pub fn gtk_tree_view_set_search_entry(tree_view: *mut GtkTreeView, entry: *mut GtkEditable);
20572    pub fn gtk_tree_view_set_search_equal_func(
20573        tree_view: *mut GtkTreeView,
20574        search_equal_func: GtkTreeViewSearchEqualFunc,
20575        search_user_data: gpointer,
20576        search_destroy: glib::GDestroyNotify,
20577    );
20578    pub fn gtk_tree_view_set_show_expanders(tree_view: *mut GtkTreeView, enabled: gboolean);
20579    pub fn gtk_tree_view_set_tooltip_cell(
20580        tree_view: *mut GtkTreeView,
20581        tooltip: *mut GtkTooltip,
20582        path: *mut GtkTreePath,
20583        column: *mut GtkTreeViewColumn,
20584        cell: *mut GtkCellRenderer,
20585    );
20586    pub fn gtk_tree_view_set_tooltip_column(tree_view: *mut GtkTreeView, column: c_int);
20587    pub fn gtk_tree_view_set_tooltip_row(
20588        tree_view: *mut GtkTreeView,
20589        tooltip: *mut GtkTooltip,
20590        path: *mut GtkTreePath,
20591    );
20592    pub fn gtk_tree_view_unset_rows_drag_dest(tree_view: *mut GtkTreeView);
20593    pub fn gtk_tree_view_unset_rows_drag_source(tree_view: *mut GtkTreeView);
20594
20595    //=========================================================================
20596    // GtkTreeViewColumn
20597    //=========================================================================
20598    pub fn gtk_tree_view_column_get_type() -> GType;
20599    pub fn gtk_tree_view_column_new() -> *mut GtkTreeViewColumn;
20600    pub fn gtk_tree_view_column_new_with_area(area: *mut GtkCellArea) -> *mut GtkTreeViewColumn;
20601    pub fn gtk_tree_view_column_new_with_attributes(
20602        title: *const c_char,
20603        cell: *mut GtkCellRenderer,
20604        ...
20605    ) -> *mut GtkTreeViewColumn;
20606    pub fn gtk_tree_view_column_add_attribute(
20607        tree_column: *mut GtkTreeViewColumn,
20608        cell_renderer: *mut GtkCellRenderer,
20609        attribute: *const c_char,
20610        column: c_int,
20611    );
20612    pub fn gtk_tree_view_column_cell_get_position(
20613        tree_column: *mut GtkTreeViewColumn,
20614        cell_renderer: *mut GtkCellRenderer,
20615        x_offset: *mut c_int,
20616        width: *mut c_int,
20617    ) -> gboolean;
20618    pub fn gtk_tree_view_column_cell_get_size(
20619        tree_column: *mut GtkTreeViewColumn,
20620        x_offset: *mut c_int,
20621        y_offset: *mut c_int,
20622        width: *mut c_int,
20623        height: *mut c_int,
20624    );
20625    pub fn gtk_tree_view_column_cell_is_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20626    pub fn gtk_tree_view_column_cell_set_cell_data(
20627        tree_column: *mut GtkTreeViewColumn,
20628        tree_model: *mut GtkTreeModel,
20629        iter: *mut GtkTreeIter,
20630        is_expander: gboolean,
20631        is_expanded: gboolean,
20632    );
20633    pub fn gtk_tree_view_column_clear(tree_column: *mut GtkTreeViewColumn);
20634    pub fn gtk_tree_view_column_clear_attributes(
20635        tree_column: *mut GtkTreeViewColumn,
20636        cell_renderer: *mut GtkCellRenderer,
20637    );
20638    pub fn gtk_tree_view_column_clicked(tree_column: *mut GtkTreeViewColumn);
20639    pub fn gtk_tree_view_column_focus_cell(
20640        tree_column: *mut GtkTreeViewColumn,
20641        cell: *mut GtkCellRenderer,
20642    );
20643    pub fn gtk_tree_view_column_get_alignment(tree_column: *mut GtkTreeViewColumn) -> c_float;
20644    pub fn gtk_tree_view_column_get_button(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
20645    pub fn gtk_tree_view_column_get_clickable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20646    pub fn gtk_tree_view_column_get_expand(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20647    pub fn gtk_tree_view_column_get_fixed_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20648    pub fn gtk_tree_view_column_get_max_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20649    pub fn gtk_tree_view_column_get_min_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20650    pub fn gtk_tree_view_column_get_reorderable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20651    pub fn gtk_tree_view_column_get_resizable(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20652    pub fn gtk_tree_view_column_get_sizing(
20653        tree_column: *mut GtkTreeViewColumn,
20654    ) -> GtkTreeViewColumnSizing;
20655    pub fn gtk_tree_view_column_get_sort_column_id(tree_column: *mut GtkTreeViewColumn) -> c_int;
20656    pub fn gtk_tree_view_column_get_sort_indicator(tree_column: *mut GtkTreeViewColumn)
20657    -> gboolean;
20658    pub fn gtk_tree_view_column_get_sort_order(tree_column: *mut GtkTreeViewColumn) -> GtkSortType;
20659    pub fn gtk_tree_view_column_get_spacing(tree_column: *mut GtkTreeViewColumn) -> c_int;
20660    pub fn gtk_tree_view_column_get_title(tree_column: *mut GtkTreeViewColumn) -> *const c_char;
20661    pub fn gtk_tree_view_column_get_tree_view(
20662        tree_column: *mut GtkTreeViewColumn,
20663    ) -> *mut GtkWidget;
20664    pub fn gtk_tree_view_column_get_visible(tree_column: *mut GtkTreeViewColumn) -> gboolean;
20665    pub fn gtk_tree_view_column_get_widget(tree_column: *mut GtkTreeViewColumn) -> *mut GtkWidget;
20666    pub fn gtk_tree_view_column_get_width(tree_column: *mut GtkTreeViewColumn) -> c_int;
20667    pub fn gtk_tree_view_column_get_x_offset(tree_column: *mut GtkTreeViewColumn) -> c_int;
20668    pub fn gtk_tree_view_column_pack_end(
20669        tree_column: *mut GtkTreeViewColumn,
20670        cell: *mut GtkCellRenderer,
20671        expand: gboolean,
20672    );
20673    pub fn gtk_tree_view_column_pack_start(
20674        tree_column: *mut GtkTreeViewColumn,
20675        cell: *mut GtkCellRenderer,
20676        expand: gboolean,
20677    );
20678    pub fn gtk_tree_view_column_queue_resize(tree_column: *mut GtkTreeViewColumn);
20679    pub fn gtk_tree_view_column_set_alignment(tree_column: *mut GtkTreeViewColumn, xalign: c_float);
20680    pub fn gtk_tree_view_column_set_attributes(
20681        tree_column: *mut GtkTreeViewColumn,
20682        cell_renderer: *mut GtkCellRenderer,
20683        ...
20684    );
20685    pub fn gtk_tree_view_column_set_cell_data_func(
20686        tree_column: *mut GtkTreeViewColumn,
20687        cell_renderer: *mut GtkCellRenderer,
20688        func: GtkTreeCellDataFunc,
20689        func_data: gpointer,
20690        destroy: glib::GDestroyNotify,
20691    );
20692    pub fn gtk_tree_view_column_set_clickable(
20693        tree_column: *mut GtkTreeViewColumn,
20694        clickable: gboolean,
20695    );
20696    pub fn gtk_tree_view_column_set_expand(tree_column: *mut GtkTreeViewColumn, expand: gboolean);
20697    pub fn gtk_tree_view_column_set_fixed_width(
20698        tree_column: *mut GtkTreeViewColumn,
20699        fixed_width: c_int,
20700    );
20701    pub fn gtk_tree_view_column_set_max_width(
20702        tree_column: *mut GtkTreeViewColumn,
20703        max_width: c_int,
20704    );
20705    pub fn gtk_tree_view_column_set_min_width(
20706        tree_column: *mut GtkTreeViewColumn,
20707        min_width: c_int,
20708    );
20709    pub fn gtk_tree_view_column_set_reorderable(
20710        tree_column: *mut GtkTreeViewColumn,
20711        reorderable: gboolean,
20712    );
20713    pub fn gtk_tree_view_column_set_resizable(
20714        tree_column: *mut GtkTreeViewColumn,
20715        resizable: gboolean,
20716    );
20717    pub fn gtk_tree_view_column_set_sizing(
20718        tree_column: *mut GtkTreeViewColumn,
20719        type_: GtkTreeViewColumnSizing,
20720    );
20721    pub fn gtk_tree_view_column_set_sort_column_id(
20722        tree_column: *mut GtkTreeViewColumn,
20723        sort_column_id: c_int,
20724    );
20725    pub fn gtk_tree_view_column_set_sort_indicator(
20726        tree_column: *mut GtkTreeViewColumn,
20727        setting: gboolean,
20728    );
20729    pub fn gtk_tree_view_column_set_sort_order(
20730        tree_column: *mut GtkTreeViewColumn,
20731        order: GtkSortType,
20732    );
20733    pub fn gtk_tree_view_column_set_spacing(tree_column: *mut GtkTreeViewColumn, spacing: c_int);
20734    pub fn gtk_tree_view_column_set_title(
20735        tree_column: *mut GtkTreeViewColumn,
20736        title: *const c_char,
20737    );
20738    pub fn gtk_tree_view_column_set_visible(tree_column: *mut GtkTreeViewColumn, visible: gboolean);
20739    pub fn gtk_tree_view_column_set_widget(
20740        tree_column: *mut GtkTreeViewColumn,
20741        widget: *mut GtkWidget,
20742    );
20743
20744    //=========================================================================
20745    // GtkTryExpression
20746    //=========================================================================
20747    #[cfg(feature = "v4_22")]
20748    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
20749    pub fn gtk_try_expression_get_type() -> GType;
20750    #[cfg(feature = "v4_22")]
20751    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
20752    pub fn gtk_try_expression_new(
20753        n_expressions: c_uint,
20754        expressions: *mut *mut GtkExpression,
20755    ) -> *mut GtkTryExpression;
20756
20757    //=========================================================================
20758    // GtkUriLauncher
20759    //=========================================================================
20760    #[cfg(feature = "v4_10")]
20761    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20762    pub fn gtk_uri_launcher_get_type() -> GType;
20763    #[cfg(feature = "v4_10")]
20764    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20765    pub fn gtk_uri_launcher_new(uri: *const c_char) -> *mut GtkUriLauncher;
20766    #[cfg(feature = "v4_20")]
20767    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
20768    pub fn gtk_uri_launcher_can_launch(
20769        self_: *mut GtkUriLauncher,
20770        parent: *mut GtkWindow,
20771    ) -> gboolean;
20772    #[cfg(feature = "v4_10")]
20773    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20774    pub fn gtk_uri_launcher_get_uri(self_: *mut GtkUriLauncher) -> *const c_char;
20775    #[cfg(feature = "v4_10")]
20776    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20777    pub fn gtk_uri_launcher_launch(
20778        self_: *mut GtkUriLauncher,
20779        parent: *mut GtkWindow,
20780        cancellable: *mut gio::GCancellable,
20781        callback: gio::GAsyncReadyCallback,
20782        user_data: gpointer,
20783    );
20784    #[cfg(feature = "v4_10")]
20785    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20786    pub fn gtk_uri_launcher_launch_finish(
20787        self_: *mut GtkUriLauncher,
20788        result: *mut gio::GAsyncResult,
20789        error: *mut *mut glib::GError,
20790    ) -> gboolean;
20791    #[cfg(feature = "v4_10")]
20792    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20793    pub fn gtk_uri_launcher_set_uri(self_: *mut GtkUriLauncher, uri: *const c_char);
20794
20795    //=========================================================================
20796    // GtkVideo
20797    //=========================================================================
20798    pub fn gtk_video_get_type() -> GType;
20799    pub fn gtk_video_new() -> *mut GtkWidget;
20800    pub fn gtk_video_new_for_file(file: *mut gio::GFile) -> *mut GtkWidget;
20801    pub fn gtk_video_new_for_filename(filename: *const c_char) -> *mut GtkWidget;
20802    pub fn gtk_video_new_for_media_stream(stream: *mut GtkMediaStream) -> *mut GtkWidget;
20803    pub fn gtk_video_new_for_resource(resource_path: *const c_char) -> *mut GtkWidget;
20804    pub fn gtk_video_get_autoplay(self_: *mut GtkVideo) -> gboolean;
20805    pub fn gtk_video_get_file(self_: *mut GtkVideo) -> *mut gio::GFile;
20806    #[cfg(feature = "v4_14")]
20807    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20808    pub fn gtk_video_get_graphics_offload(self_: *mut GtkVideo) -> GtkGraphicsOffloadEnabled;
20809    pub fn gtk_video_get_loop(self_: *mut GtkVideo) -> gboolean;
20810    pub fn gtk_video_get_media_stream(self_: *mut GtkVideo) -> *mut GtkMediaStream;
20811    pub fn gtk_video_set_autoplay(self_: *mut GtkVideo, autoplay: gboolean);
20812    pub fn gtk_video_set_file(self_: *mut GtkVideo, file: *mut gio::GFile);
20813    pub fn gtk_video_set_filename(self_: *mut GtkVideo, filename: *const c_char);
20814    #[cfg(feature = "v4_14")]
20815    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
20816    pub fn gtk_video_set_graphics_offload(self_: *mut GtkVideo, enabled: GtkGraphicsOffloadEnabled);
20817    pub fn gtk_video_set_loop(self_: *mut GtkVideo, loop_: gboolean);
20818    pub fn gtk_video_set_media_stream(self_: *mut GtkVideo, stream: *mut GtkMediaStream);
20819    pub fn gtk_video_set_resource(self_: *mut GtkVideo, resource_path: *const c_char);
20820
20821    //=========================================================================
20822    // GtkViewport
20823    //=========================================================================
20824    pub fn gtk_viewport_get_type() -> GType;
20825    pub fn gtk_viewport_new(
20826        hadjustment: *mut GtkAdjustment,
20827        vadjustment: *mut GtkAdjustment,
20828    ) -> *mut GtkWidget;
20829    pub fn gtk_viewport_get_child(viewport: *mut GtkViewport) -> *mut GtkWidget;
20830    pub fn gtk_viewport_get_scroll_to_focus(viewport: *mut GtkViewport) -> gboolean;
20831    #[cfg(feature = "v4_12")]
20832    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20833    pub fn gtk_viewport_scroll_to(
20834        viewport: *mut GtkViewport,
20835        descendant: *mut GtkWidget,
20836        scroll: *mut GtkScrollInfo,
20837    );
20838    pub fn gtk_viewport_set_child(viewport: *mut GtkViewport, child: *mut GtkWidget);
20839    pub fn gtk_viewport_set_scroll_to_focus(viewport: *mut GtkViewport, scroll_to_focus: gboolean);
20840
20841    //=========================================================================
20842    // GtkVolumeButton
20843    //=========================================================================
20844    pub fn gtk_volume_button_get_type() -> GType;
20845    pub fn gtk_volume_button_new() -> *mut GtkWidget;
20846
20847    //=========================================================================
20848    // GtkWidget
20849    //=========================================================================
20850    pub fn gtk_widget_get_type() -> GType;
20851    pub fn gtk_widget_get_default_direction() -> GtkTextDirection;
20852    pub fn gtk_widget_set_default_direction(dir: GtkTextDirection);
20853    pub fn gtk_widget_action_set_enabled(
20854        widget: *mut GtkWidget,
20855        action_name: *const c_char,
20856        enabled: gboolean,
20857    );
20858    pub fn gtk_widget_activate(widget: *mut GtkWidget) -> gboolean;
20859    pub fn gtk_widget_activate_action(
20860        widget: *mut GtkWidget,
20861        name: *const c_char,
20862        format_string: *const c_char,
20863        ...
20864    ) -> gboolean;
20865    pub fn gtk_widget_activate_action_variant(
20866        widget: *mut GtkWidget,
20867        name: *const c_char,
20868        args: *mut glib::GVariant,
20869    ) -> gboolean;
20870    pub fn gtk_widget_activate_default(widget: *mut GtkWidget);
20871    pub fn gtk_widget_add_controller(widget: *mut GtkWidget, controller: *mut GtkEventController);
20872    pub fn gtk_widget_add_css_class(widget: *mut GtkWidget, css_class: *const c_char);
20873    pub fn gtk_widget_add_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
20874    pub fn gtk_widget_add_tick_callback(
20875        widget: *mut GtkWidget,
20876        callback: GtkTickCallback,
20877        user_data: gpointer,
20878        notify: glib::GDestroyNotify,
20879    ) -> c_uint;
20880    pub fn gtk_widget_allocate(
20881        widget: *mut GtkWidget,
20882        width: c_int,
20883        height: c_int,
20884        baseline: c_int,
20885        transform: *mut gsk::GskTransform,
20886    );
20887    pub fn gtk_widget_child_focus(widget: *mut GtkWidget, direction: GtkDirectionType) -> gboolean;
20888    pub fn gtk_widget_compute_bounds(
20889        widget: *mut GtkWidget,
20890        target: *mut GtkWidget,
20891        out_bounds: *mut graphene::graphene_rect_t,
20892    ) -> gboolean;
20893    pub fn gtk_widget_compute_expand(
20894        widget: *mut GtkWidget,
20895        orientation: GtkOrientation,
20896    ) -> gboolean;
20897    pub fn gtk_widget_compute_point(
20898        widget: *mut GtkWidget,
20899        target: *mut GtkWidget,
20900        point: *const graphene::graphene_point_t,
20901        out_point: *mut graphene::graphene_point_t,
20902    ) -> gboolean;
20903    pub fn gtk_widget_compute_transform(
20904        widget: *mut GtkWidget,
20905        target: *mut GtkWidget,
20906        out_transform: *mut graphene::graphene_matrix_t,
20907    ) -> gboolean;
20908    pub fn gtk_widget_contains(widget: *mut GtkWidget, x: c_double, y: c_double) -> gboolean;
20909    pub fn gtk_widget_create_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20910    pub fn gtk_widget_create_pango_layout(
20911        widget: *mut GtkWidget,
20912        text: *const c_char,
20913    ) -> *mut pango::PangoLayout;
20914    #[cfg(feature = "v4_8")]
20915    #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
20916    pub fn gtk_widget_dispose_template(widget: *mut GtkWidget, widget_type: GType);
20917    pub fn gtk_drag_check_threshold(
20918        widget: *mut GtkWidget,
20919        start_x: c_int,
20920        start_y: c_int,
20921        current_x: c_int,
20922        current_y: c_int,
20923    ) -> gboolean;
20924    pub fn gtk_widget_error_bell(widget: *mut GtkWidget);
20925    pub fn gtk_widget_get_allocated_baseline(widget: *mut GtkWidget) -> c_int;
20926    pub fn gtk_widget_get_allocated_height(widget: *mut GtkWidget) -> c_int;
20927    pub fn gtk_widget_get_allocated_width(widget: *mut GtkWidget) -> c_int;
20928    pub fn gtk_widget_get_allocation(widget: *mut GtkWidget, allocation: *mut GtkAllocation);
20929    pub fn gtk_widget_get_ancestor(widget: *mut GtkWidget, widget_type: GType) -> *mut GtkWidget;
20930    #[cfg(feature = "v4_12")]
20931    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
20932    pub fn gtk_widget_get_baseline(widget: *mut GtkWidget) -> c_int;
20933    pub fn gtk_widget_get_can_focus(widget: *mut GtkWidget) -> gboolean;
20934    pub fn gtk_widget_get_can_target(widget: *mut GtkWidget) -> gboolean;
20935    pub fn gtk_widget_get_child_visible(widget: *mut GtkWidget) -> gboolean;
20936    pub fn gtk_widget_get_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
20937    #[cfg(feature = "v4_10")]
20938    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
20939    pub fn gtk_widget_get_color(widget: *mut GtkWidget, color: *mut gdk::GdkRGBA);
20940    pub fn gtk_widget_get_css_classes(widget: *mut GtkWidget) -> *mut *mut c_char;
20941    pub fn gtk_widget_get_css_name(self_: *mut GtkWidget) -> *const c_char;
20942    pub fn gtk_widget_get_cursor(widget: *mut GtkWidget) -> *mut gdk::GdkCursor;
20943    pub fn gtk_widget_get_direction(widget: *mut GtkWidget) -> GtkTextDirection;
20944    pub fn gtk_widget_get_display(widget: *mut GtkWidget) -> *mut gdk::GdkDisplay;
20945    pub fn gtk_widget_get_first_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20946    pub fn gtk_widget_get_focus_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20947    pub fn gtk_widget_get_focus_on_click(widget: *mut GtkWidget) -> gboolean;
20948    pub fn gtk_widget_get_focusable(widget: *mut GtkWidget) -> gboolean;
20949    pub fn gtk_widget_get_font_map(widget: *mut GtkWidget) -> *mut pango::PangoFontMap;
20950    pub fn gtk_widget_get_font_options(
20951        widget: *mut GtkWidget,
20952    ) -> *const cairo::cairo_font_options_t;
20953    pub fn gtk_widget_get_frame_clock(widget: *mut GtkWidget) -> *mut gdk::GdkFrameClock;
20954    pub fn gtk_widget_get_halign(widget: *mut GtkWidget) -> GtkAlign;
20955    pub fn gtk_widget_get_has_tooltip(widget: *mut GtkWidget) -> gboolean;
20956    pub fn gtk_widget_get_height(widget: *mut GtkWidget) -> c_int;
20957    pub fn gtk_widget_get_hexpand(widget: *mut GtkWidget) -> gboolean;
20958    pub fn gtk_widget_get_hexpand_set(widget: *mut GtkWidget) -> gboolean;
20959    pub fn gtk_widget_get_last_child(widget: *mut GtkWidget) -> *mut GtkWidget;
20960    pub fn gtk_widget_get_layout_manager(widget: *mut GtkWidget) -> *mut GtkLayoutManager;
20961    #[cfg(feature = "v4_18")]
20962    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
20963    pub fn gtk_widget_get_limit_events(widget: *mut GtkWidget) -> gboolean;
20964    pub fn gtk_widget_get_mapped(widget: *mut GtkWidget) -> gboolean;
20965    pub fn gtk_widget_get_margin_bottom(widget: *mut GtkWidget) -> c_int;
20966    pub fn gtk_widget_get_margin_end(widget: *mut GtkWidget) -> c_int;
20967    pub fn gtk_widget_get_margin_start(widget: *mut GtkWidget) -> c_int;
20968    pub fn gtk_widget_get_margin_top(widget: *mut GtkWidget) -> c_int;
20969    pub fn gtk_widget_get_name(widget: *mut GtkWidget) -> *const c_char;
20970    pub fn gtk_widget_get_native(widget: *mut GtkWidget) -> *mut GtkNative;
20971    pub fn gtk_widget_get_next_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
20972    pub fn gtk_widget_get_opacity(widget: *mut GtkWidget) -> c_double;
20973    pub fn gtk_widget_get_overflow(widget: *mut GtkWidget) -> GtkOverflow;
20974    pub fn gtk_widget_get_pango_context(widget: *mut GtkWidget) -> *mut pango::PangoContext;
20975    pub fn gtk_widget_get_parent(widget: *mut GtkWidget) -> *mut GtkWidget;
20976    pub fn gtk_widget_get_preferred_size(
20977        widget: *mut GtkWidget,
20978        minimum_size: *mut GtkRequisition,
20979        natural_size: *mut GtkRequisition,
20980    );
20981    pub fn gtk_widget_get_prev_sibling(widget: *mut GtkWidget) -> *mut GtkWidget;
20982    pub fn gtk_widget_get_primary_clipboard(widget: *mut GtkWidget) -> *mut gdk::GdkClipboard;
20983    pub fn gtk_widget_get_realized(widget: *mut GtkWidget) -> gboolean;
20984    pub fn gtk_widget_get_receives_default(widget: *mut GtkWidget) -> gboolean;
20985    pub fn gtk_widget_get_request_mode(widget: *mut GtkWidget) -> GtkSizeRequestMode;
20986    pub fn gtk_widget_get_root(widget: *mut GtkWidget) -> *mut GtkRoot;
20987    pub fn gtk_widget_get_scale_factor(widget: *mut GtkWidget) -> c_int;
20988    pub fn gtk_widget_get_sensitive(widget: *mut GtkWidget) -> gboolean;
20989    pub fn gtk_widget_get_settings(widget: *mut GtkWidget) -> *mut GtkSettings;
20990    pub fn gtk_widget_get_size(widget: *mut GtkWidget, orientation: GtkOrientation) -> c_int;
20991    pub fn gtk_widget_get_size_request(
20992        widget: *mut GtkWidget,
20993        width: *mut c_int,
20994        height: *mut c_int,
20995    );
20996    pub fn gtk_widget_get_state_flags(widget: *mut GtkWidget) -> GtkStateFlags;
20997    pub fn gtk_widget_get_style_context(widget: *mut GtkWidget) -> *mut GtkStyleContext;
20998    pub fn gtk_widget_get_template_child(
20999        widget: *mut GtkWidget,
21000        widget_type: GType,
21001        name: *const c_char,
21002    ) -> *mut gobject::GObject;
21003    pub fn gtk_widget_get_tooltip_markup(widget: *mut GtkWidget) -> *const c_char;
21004    pub fn gtk_widget_get_tooltip_text(widget: *mut GtkWidget) -> *const c_char;
21005    pub fn gtk_widget_get_valign(widget: *mut GtkWidget) -> GtkAlign;
21006    pub fn gtk_widget_get_vexpand(widget: *mut GtkWidget) -> gboolean;
21007    pub fn gtk_widget_get_vexpand_set(widget: *mut GtkWidget) -> gboolean;
21008    pub fn gtk_widget_get_visible(widget: *mut GtkWidget) -> gboolean;
21009    pub fn gtk_widget_get_width(widget: *mut GtkWidget) -> c_int;
21010    pub fn gtk_widget_grab_focus(widget: *mut GtkWidget) -> gboolean;
21011    pub fn gtk_widget_has_css_class(widget: *mut GtkWidget, css_class: *const c_char) -> gboolean;
21012    pub fn gtk_widget_has_default(widget: *mut GtkWidget) -> gboolean;
21013    pub fn gtk_widget_has_focus(widget: *mut GtkWidget) -> gboolean;
21014    pub fn gtk_widget_has_visible_focus(widget: *mut GtkWidget) -> gboolean;
21015    pub fn gtk_widget_hide(widget: *mut GtkWidget);
21016    pub fn gtk_widget_in_destruction(widget: *mut GtkWidget) -> gboolean;
21017    pub fn gtk_widget_init_template(widget: *mut GtkWidget);
21018    pub fn gtk_widget_insert_action_group(
21019        widget: *mut GtkWidget,
21020        name: *const c_char,
21021        group: *mut gio::GActionGroup,
21022    );
21023    pub fn gtk_widget_insert_after(
21024        widget: *mut GtkWidget,
21025        parent: *mut GtkWidget,
21026        previous_sibling: *mut GtkWidget,
21027    );
21028    pub fn gtk_widget_insert_before(
21029        widget: *mut GtkWidget,
21030        parent: *mut GtkWidget,
21031        next_sibling: *mut GtkWidget,
21032    );
21033    pub fn gtk_widget_is_ancestor(widget: *mut GtkWidget, ancestor: *mut GtkWidget) -> gboolean;
21034    pub fn gtk_widget_is_drawable(widget: *mut GtkWidget) -> gboolean;
21035    pub fn gtk_widget_is_focus(widget: *mut GtkWidget) -> gboolean;
21036    pub fn gtk_widget_is_sensitive(widget: *mut GtkWidget) -> gboolean;
21037    pub fn gtk_widget_is_visible(widget: *mut GtkWidget) -> gboolean;
21038    pub fn gtk_widget_keynav_failed(
21039        widget: *mut GtkWidget,
21040        direction: GtkDirectionType,
21041    ) -> gboolean;
21042    pub fn gtk_widget_list_mnemonic_labels(widget: *mut GtkWidget) -> *mut glib::GList;
21043    pub fn gtk_widget_map(widget: *mut GtkWidget);
21044    pub fn gtk_widget_measure(
21045        widget: *mut GtkWidget,
21046        orientation: GtkOrientation,
21047        for_size: c_int,
21048        minimum: *mut c_int,
21049        natural: *mut c_int,
21050        minimum_baseline: *mut c_int,
21051        natural_baseline: *mut c_int,
21052    );
21053    pub fn gtk_widget_mnemonic_activate(
21054        widget: *mut GtkWidget,
21055        group_cycling: gboolean,
21056    ) -> gboolean;
21057    pub fn gtk_widget_observe_children(widget: *mut GtkWidget) -> *mut gio::GListModel;
21058    pub fn gtk_widget_observe_controllers(widget: *mut GtkWidget) -> *mut gio::GListModel;
21059    pub fn gtk_widget_pick(
21060        widget: *mut GtkWidget,
21061        x: c_double,
21062        y: c_double,
21063        flags: GtkPickFlags,
21064    ) -> *mut GtkWidget;
21065    pub fn gtk_widget_queue_allocate(widget: *mut GtkWidget);
21066    pub fn gtk_widget_queue_draw(widget: *mut GtkWidget);
21067    pub fn gtk_widget_queue_resize(widget: *mut GtkWidget);
21068    pub fn gtk_widget_realize(widget: *mut GtkWidget);
21069    pub fn gtk_widget_remove_controller(
21070        widget: *mut GtkWidget,
21071        controller: *mut GtkEventController,
21072    );
21073    pub fn gtk_widget_remove_css_class(widget: *mut GtkWidget, css_class: *const c_char);
21074    pub fn gtk_widget_remove_mnemonic_label(widget: *mut GtkWidget, label: *mut GtkWidget);
21075    pub fn gtk_widget_remove_tick_callback(widget: *mut GtkWidget, id: c_uint);
21076    pub fn gtk_widget_set_can_focus(widget: *mut GtkWidget, can_focus: gboolean);
21077    pub fn gtk_widget_set_can_target(widget: *mut GtkWidget, can_target: gboolean);
21078    pub fn gtk_widget_set_child_visible(widget: *mut GtkWidget, child_visible: gboolean);
21079    pub fn gtk_widget_set_css_classes(widget: *mut GtkWidget, classes: *mut *const c_char);
21080    pub fn gtk_widget_set_cursor(widget: *mut GtkWidget, cursor: *mut gdk::GdkCursor);
21081    pub fn gtk_widget_set_cursor_from_name(widget: *mut GtkWidget, name: *const c_char);
21082    pub fn gtk_widget_set_direction(widget: *mut GtkWidget, dir: GtkTextDirection);
21083    pub fn gtk_widget_set_focus_child(widget: *mut GtkWidget, child: *mut GtkWidget);
21084    pub fn gtk_widget_set_focus_on_click(widget: *mut GtkWidget, focus_on_click: gboolean);
21085    pub fn gtk_widget_set_focusable(widget: *mut GtkWidget, focusable: gboolean);
21086    pub fn gtk_widget_set_font_map(widget: *mut GtkWidget, font_map: *mut pango::PangoFontMap);
21087    pub fn gtk_widget_set_font_options(
21088        widget: *mut GtkWidget,
21089        options: *const cairo::cairo_font_options_t,
21090    );
21091    pub fn gtk_widget_set_halign(widget: *mut GtkWidget, align: GtkAlign);
21092    pub fn gtk_widget_set_has_tooltip(widget: *mut GtkWidget, has_tooltip: gboolean);
21093    pub fn gtk_widget_set_hexpand(widget: *mut GtkWidget, expand: gboolean);
21094    pub fn gtk_widget_set_hexpand_set(widget: *mut GtkWidget, set: gboolean);
21095    pub fn gtk_widget_set_layout_manager(
21096        widget: *mut GtkWidget,
21097        layout_manager: *mut GtkLayoutManager,
21098    );
21099    #[cfg(feature = "v4_18")]
21100    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21101    pub fn gtk_widget_set_limit_events(widget: *mut GtkWidget, limit_events: gboolean);
21102    pub fn gtk_widget_set_margin_bottom(widget: *mut GtkWidget, margin: c_int);
21103    pub fn gtk_widget_set_margin_end(widget: *mut GtkWidget, margin: c_int);
21104    pub fn gtk_widget_set_margin_start(widget: *mut GtkWidget, margin: c_int);
21105    pub fn gtk_widget_set_margin_top(widget: *mut GtkWidget, margin: c_int);
21106    pub fn gtk_widget_set_name(widget: *mut GtkWidget, name: *const c_char);
21107    pub fn gtk_widget_set_opacity(widget: *mut GtkWidget, opacity: c_double);
21108    pub fn gtk_widget_set_overflow(widget: *mut GtkWidget, overflow: GtkOverflow);
21109    pub fn gtk_widget_set_parent(widget: *mut GtkWidget, parent: *mut GtkWidget);
21110    pub fn gtk_widget_set_receives_default(widget: *mut GtkWidget, receives_default: gboolean);
21111    pub fn gtk_widget_set_sensitive(widget: *mut GtkWidget, sensitive: gboolean);
21112    pub fn gtk_widget_set_size_request(widget: *mut GtkWidget, width: c_int, height: c_int);
21113    pub fn gtk_widget_set_state_flags(
21114        widget: *mut GtkWidget,
21115        flags: GtkStateFlags,
21116        clear: gboolean,
21117    );
21118    pub fn gtk_widget_set_tooltip_markup(widget: *mut GtkWidget, markup: *const c_char);
21119    pub fn gtk_widget_set_tooltip_text(widget: *mut GtkWidget, text: *const c_char);
21120    pub fn gtk_widget_set_valign(widget: *mut GtkWidget, align: GtkAlign);
21121    pub fn gtk_widget_set_vexpand(widget: *mut GtkWidget, expand: gboolean);
21122    pub fn gtk_widget_set_vexpand_set(widget: *mut GtkWidget, set: gboolean);
21123    pub fn gtk_widget_set_visible(widget: *mut GtkWidget, visible: gboolean);
21124    pub fn gtk_widget_should_layout(widget: *mut GtkWidget) -> gboolean;
21125    pub fn gtk_widget_show(widget: *mut GtkWidget);
21126    pub fn gtk_widget_size_allocate(
21127        widget: *mut GtkWidget,
21128        allocation: *const GtkAllocation,
21129        baseline: c_int,
21130    );
21131    pub fn gtk_widget_snapshot_child(
21132        widget: *mut GtkWidget,
21133        child: *mut GtkWidget,
21134        snapshot: *mut GtkSnapshot,
21135    );
21136    pub fn gtk_widget_translate_coordinates(
21137        src_widget: *mut GtkWidget,
21138        dest_widget: *mut GtkWidget,
21139        src_x: c_double,
21140        src_y: c_double,
21141        dest_x: *mut c_double,
21142        dest_y: *mut c_double,
21143    ) -> gboolean;
21144    pub fn gtk_widget_trigger_tooltip_query(widget: *mut GtkWidget);
21145    pub fn gtk_widget_unmap(widget: *mut GtkWidget);
21146    pub fn gtk_widget_unparent(widget: *mut GtkWidget);
21147    pub fn gtk_widget_unrealize(widget: *mut GtkWidget);
21148    pub fn gtk_widget_unset_state_flags(widget: *mut GtkWidget, flags: GtkStateFlags);
21149
21150    //=========================================================================
21151    // GtkWidgetPaintable
21152    //=========================================================================
21153    pub fn gtk_widget_paintable_get_type() -> GType;
21154    pub fn gtk_widget_paintable_new(widget: *mut GtkWidget) -> *mut GtkWidgetPaintable;
21155    pub fn gtk_widget_paintable_get_widget(self_: *mut GtkWidgetPaintable) -> *mut GtkWidget;
21156    pub fn gtk_widget_paintable_set_widget(self_: *mut GtkWidgetPaintable, widget: *mut GtkWidget);
21157
21158    //=========================================================================
21159    // GtkWindow
21160    //=========================================================================
21161    pub fn gtk_window_get_type() -> GType;
21162    pub fn gtk_window_new() -> *mut GtkWidget;
21163    pub fn gtk_window_get_default_icon_name() -> *const c_char;
21164    pub fn gtk_window_get_toplevels() -> *mut gio::GListModel;
21165    pub fn gtk_window_list_toplevels() -> *mut glib::GList;
21166    pub fn gtk_window_set_auto_startup_notification(setting: gboolean);
21167    pub fn gtk_window_set_default_icon_name(name: *const c_char);
21168    pub fn gtk_window_set_interactive_debugging(enable: gboolean);
21169    pub fn gtk_window_close(window: *mut GtkWindow);
21170    pub fn gtk_window_destroy(window: *mut GtkWindow);
21171    pub fn gtk_window_fullscreen(window: *mut GtkWindow);
21172    pub fn gtk_window_fullscreen_on_monitor(window: *mut GtkWindow, monitor: *mut gdk::GdkMonitor);
21173    pub fn gtk_window_get_application(window: *mut GtkWindow) -> *mut GtkApplication;
21174    pub fn gtk_window_get_child(window: *mut GtkWindow) -> *mut GtkWidget;
21175    pub fn gtk_window_get_decorated(window: *mut GtkWindow) -> gboolean;
21176    pub fn gtk_window_get_default_size(
21177        window: *mut GtkWindow,
21178        width: *mut c_int,
21179        height: *mut c_int,
21180    );
21181    pub fn gtk_window_get_default_widget(window: *mut GtkWindow) -> *mut GtkWidget;
21182    pub fn gtk_window_get_deletable(window: *mut GtkWindow) -> gboolean;
21183    pub fn gtk_window_get_destroy_with_parent(window: *mut GtkWindow) -> gboolean;
21184    pub fn gtk_window_get_focus(window: *mut GtkWindow) -> *mut GtkWidget;
21185    pub fn gtk_window_get_focus_visible(window: *mut GtkWindow) -> gboolean;
21186    #[cfg(feature = "v4_20")]
21187    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
21188    pub fn gtk_window_get_gravity(window: *mut GtkWindow) -> GtkWindowGravity;
21189    pub fn gtk_window_get_group(window: *mut GtkWindow) -> *mut GtkWindowGroup;
21190    #[cfg(feature = "v4_2")]
21191    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
21192    pub fn gtk_window_get_handle_menubar_accel(window: *mut GtkWindow) -> gboolean;
21193    pub fn gtk_window_get_hide_on_close(window: *mut GtkWindow) -> gboolean;
21194    pub fn gtk_window_get_icon_name(window: *mut GtkWindow) -> *const c_char;
21195    pub fn gtk_window_get_mnemonics_visible(window: *mut GtkWindow) -> gboolean;
21196    pub fn gtk_window_get_modal(window: *mut GtkWindow) -> gboolean;
21197    pub fn gtk_window_get_resizable(window: *mut GtkWindow) -> gboolean;
21198    pub fn gtk_window_get_title(window: *mut GtkWindow) -> *const c_char;
21199    pub fn gtk_window_get_titlebar(window: *mut GtkWindow) -> *mut GtkWidget;
21200    pub fn gtk_window_get_transient_for(window: *mut GtkWindow) -> *mut GtkWindow;
21201    pub fn gtk_window_has_group(window: *mut GtkWindow) -> gboolean;
21202    pub fn gtk_window_is_active(window: *mut GtkWindow) -> gboolean;
21203    pub fn gtk_window_is_fullscreen(window: *mut GtkWindow) -> gboolean;
21204    pub fn gtk_window_is_maximized(window: *mut GtkWindow) -> gboolean;
21205    #[cfg(feature = "v4_12")]
21206    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21207    pub fn gtk_window_is_suspended(window: *mut GtkWindow) -> gboolean;
21208    pub fn gtk_window_maximize(window: *mut GtkWindow);
21209    pub fn gtk_window_minimize(window: *mut GtkWindow);
21210    pub fn gtk_window_present(window: *mut GtkWindow);
21211    pub fn gtk_window_present_with_time(window: *mut GtkWindow, timestamp: u32);
21212    pub fn gtk_window_set_application(window: *mut GtkWindow, application: *mut GtkApplication);
21213    pub fn gtk_window_set_child(window: *mut GtkWindow, child: *mut GtkWidget);
21214    pub fn gtk_window_set_decorated(window: *mut GtkWindow, setting: gboolean);
21215    pub fn gtk_window_set_default_size(window: *mut GtkWindow, width: c_int, height: c_int);
21216    pub fn gtk_window_set_default_widget(window: *mut GtkWindow, default_widget: *mut GtkWidget);
21217    pub fn gtk_window_set_deletable(window: *mut GtkWindow, setting: gboolean);
21218    pub fn gtk_window_set_destroy_with_parent(window: *mut GtkWindow, setting: gboolean);
21219    pub fn gtk_window_set_display(window: *mut GtkWindow, display: *mut gdk::GdkDisplay);
21220    pub fn gtk_window_set_focus(window: *mut GtkWindow, focus: *mut GtkWidget);
21221    pub fn gtk_window_set_focus_visible(window: *mut GtkWindow, setting: gboolean);
21222    #[cfg(feature = "v4_20")]
21223    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
21224    pub fn gtk_window_set_gravity(window: *mut GtkWindow, gravity: GtkWindowGravity);
21225    #[cfg(feature = "v4_2")]
21226    #[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
21227    pub fn gtk_window_set_handle_menubar_accel(
21228        window: *mut GtkWindow,
21229        handle_menubar_accel: gboolean,
21230    );
21231    pub fn gtk_window_set_hide_on_close(window: *mut GtkWindow, setting: gboolean);
21232    pub fn gtk_window_set_icon_name(window: *mut GtkWindow, name: *const c_char);
21233    pub fn gtk_window_set_mnemonics_visible(window: *mut GtkWindow, setting: gboolean);
21234    pub fn gtk_window_set_modal(window: *mut GtkWindow, modal: gboolean);
21235    pub fn gtk_window_set_resizable(window: *mut GtkWindow, resizable: gboolean);
21236    pub fn gtk_window_set_startup_id(window: *mut GtkWindow, startup_id: *const c_char);
21237    pub fn gtk_window_set_title(window: *mut GtkWindow, title: *const c_char);
21238    pub fn gtk_window_set_titlebar(window: *mut GtkWindow, titlebar: *mut GtkWidget);
21239    pub fn gtk_window_set_transient_for(window: *mut GtkWindow, parent: *mut GtkWindow);
21240    pub fn gtk_window_unfullscreen(window: *mut GtkWindow);
21241    pub fn gtk_window_unmaximize(window: *mut GtkWindow);
21242    pub fn gtk_window_unminimize(window: *mut GtkWindow);
21243
21244    //=========================================================================
21245    // GtkWindowControls
21246    //=========================================================================
21247    pub fn gtk_window_controls_get_type() -> GType;
21248    pub fn gtk_window_controls_new(side: GtkPackType) -> *mut GtkWidget;
21249    pub fn gtk_window_controls_get_decoration_layout(
21250        self_: *mut GtkWindowControls,
21251    ) -> *const c_char;
21252    pub fn gtk_window_controls_get_empty(self_: *mut GtkWindowControls) -> gboolean;
21253    pub fn gtk_window_controls_get_side(self_: *mut GtkWindowControls) -> GtkPackType;
21254    #[cfg(feature = "v4_18")]
21255    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21256    pub fn gtk_window_controls_get_use_native_controls(self_: *mut GtkWindowControls) -> gboolean;
21257    pub fn gtk_window_controls_set_decoration_layout(
21258        self_: *mut GtkWindowControls,
21259        layout: *const c_char,
21260    );
21261    pub fn gtk_window_controls_set_side(self_: *mut GtkWindowControls, side: GtkPackType);
21262    #[cfg(feature = "v4_18")]
21263    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21264    pub fn gtk_window_controls_set_use_native_controls(
21265        self_: *mut GtkWindowControls,
21266        setting: gboolean,
21267    );
21268
21269    //=========================================================================
21270    // GtkWindowGroup
21271    //=========================================================================
21272    pub fn gtk_window_group_get_type() -> GType;
21273    pub fn gtk_window_group_new() -> *mut GtkWindowGroup;
21274    pub fn gtk_window_group_add_window(window_group: *mut GtkWindowGroup, window: *mut GtkWindow);
21275    pub fn gtk_window_group_list_windows(window_group: *mut GtkWindowGroup) -> *mut glib::GList;
21276    pub fn gtk_window_group_remove_window(
21277        window_group: *mut GtkWindowGroup,
21278        window: *mut GtkWindow,
21279    );
21280
21281    //=========================================================================
21282    // GtkWindowHandle
21283    //=========================================================================
21284    pub fn gtk_window_handle_get_type() -> GType;
21285    pub fn gtk_window_handle_new() -> *mut GtkWidget;
21286    pub fn gtk_window_handle_get_child(self_: *mut GtkWindowHandle) -> *mut GtkWidget;
21287    pub fn gtk_window_handle_set_child(self_: *mut GtkWindowHandle, child: *mut GtkWidget);
21288
21289    //=========================================================================
21290    // GtkAccessible
21291    //=========================================================================
21292    #[cfg(feature = "v4_10")]
21293    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21294    pub fn gtk_accessible_get_type() -> GType;
21295    #[cfg(feature = "v4_14")]
21296    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21297    pub fn gtk_accessible_announce(
21298        self_: *mut GtkAccessible,
21299        message: *const c_char,
21300        priority: GtkAccessibleAnnouncementPriority,
21301    );
21302    #[cfg(feature = "v4_22")]
21303    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21304    pub fn gtk_accessible_get_accessible_id(self_: *mut GtkAccessible) -> *mut c_char;
21305    #[cfg(feature = "v4_10")]
21306    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21307    pub fn gtk_accessible_get_accessible_parent(self_: *mut GtkAccessible) -> *mut GtkAccessible;
21308    #[cfg(feature = "v4_10")]
21309    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21310    pub fn gtk_accessible_get_accessible_role(self_: *mut GtkAccessible) -> GtkAccessibleRole;
21311    #[cfg(feature = "v4_10")]
21312    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21313    pub fn gtk_accessible_get_at_context(self_: *mut GtkAccessible) -> *mut GtkATContext;
21314    #[cfg(feature = "v4_10")]
21315    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21316    pub fn gtk_accessible_get_bounds(
21317        self_: *mut GtkAccessible,
21318        x: *mut c_int,
21319        y: *mut c_int,
21320        width: *mut c_int,
21321        height: *mut c_int,
21322    ) -> gboolean;
21323    #[cfg(feature = "v4_10")]
21324    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21325    pub fn gtk_accessible_get_first_accessible_child(
21326        self_: *mut GtkAccessible,
21327    ) -> *mut GtkAccessible;
21328    #[cfg(feature = "v4_10")]
21329    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21330    pub fn gtk_accessible_get_next_accessible_sibling(
21331        self_: *mut GtkAccessible,
21332    ) -> *mut GtkAccessible;
21333    #[cfg(feature = "v4_10")]
21334    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21335    pub fn gtk_accessible_get_platform_state(
21336        self_: *mut GtkAccessible,
21337        state: GtkAccessiblePlatformState,
21338    ) -> gboolean;
21339    #[cfg(feature = "v4_10")]
21340    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21341    pub fn gtk_accessible_reset_property(
21342        self_: *mut GtkAccessible,
21343        property: GtkAccessibleProperty,
21344    );
21345    #[cfg(feature = "v4_10")]
21346    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21347    pub fn gtk_accessible_reset_relation(
21348        self_: *mut GtkAccessible,
21349        relation: GtkAccessibleRelation,
21350    );
21351    #[cfg(feature = "v4_10")]
21352    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21353    pub fn gtk_accessible_reset_state(self_: *mut GtkAccessible, state: GtkAccessibleState);
21354    #[cfg(feature = "v4_10")]
21355    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21356    pub fn gtk_accessible_set_accessible_parent(
21357        self_: *mut GtkAccessible,
21358        parent: *mut GtkAccessible,
21359        next_sibling: *mut GtkAccessible,
21360    );
21361    #[cfg(feature = "v4_10")]
21362    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21363    pub fn gtk_accessible_update_next_accessible_sibling(
21364        self_: *mut GtkAccessible,
21365        new_sibling: *mut GtkAccessible,
21366    );
21367    #[cfg(feature = "v4_18")]
21368    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
21369    pub fn gtk_accessible_update_platform_state(
21370        self_: *mut GtkAccessible,
21371        state: GtkAccessiblePlatformState,
21372    );
21373    #[cfg(feature = "v4_10")]
21374    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21375    pub fn gtk_accessible_update_property(
21376        self_: *mut GtkAccessible,
21377        first_property: GtkAccessibleProperty,
21378        ...
21379    );
21380    #[cfg(feature = "v4_10")]
21381    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21382    pub fn gtk_accessible_update_property_value(
21383        self_: *mut GtkAccessible,
21384        n_properties: c_int,
21385        properties: *mut GtkAccessibleProperty,
21386        values: *const gobject::GValue,
21387    );
21388    #[cfg(feature = "v4_10")]
21389    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21390    pub fn gtk_accessible_update_relation(
21391        self_: *mut GtkAccessible,
21392        first_relation: GtkAccessibleRelation,
21393        ...
21394    );
21395    #[cfg(feature = "v4_10")]
21396    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21397    pub fn gtk_accessible_update_relation_value(
21398        self_: *mut GtkAccessible,
21399        n_relations: c_int,
21400        relations: *mut GtkAccessibleRelation,
21401        values: *const gobject::GValue,
21402    );
21403    #[cfg(feature = "v4_10")]
21404    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21405    pub fn gtk_accessible_update_state(
21406        self_: *mut GtkAccessible,
21407        first_state: GtkAccessibleState,
21408        ...
21409    );
21410    #[cfg(feature = "v4_10")]
21411    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21412    pub fn gtk_accessible_update_state_value(
21413        self_: *mut GtkAccessible,
21414        n_states: c_int,
21415        states: *mut GtkAccessibleState,
21416        values: *const gobject::GValue,
21417    );
21418
21419    //=========================================================================
21420    // GtkAccessibleHypertext
21421    //=========================================================================
21422    #[cfg(feature = "v4_22")]
21423    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21424    pub fn gtk_accessible_hypertext_get_type() -> GType;
21425
21426    //=========================================================================
21427    // GtkAccessibleRange
21428    //=========================================================================
21429    #[cfg(feature = "v4_10")]
21430    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21431    pub fn gtk_accessible_range_get_type() -> GType;
21432
21433    //=========================================================================
21434    // GtkAccessibleText
21435    //=========================================================================
21436    #[cfg(feature = "v4_14")]
21437    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21438    pub fn gtk_accessible_text_get_type() -> GType;
21439    #[cfg(feature = "v4_14")]
21440    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21441    pub fn gtk_accessible_text_update_caret_position(self_: *mut GtkAccessibleText);
21442    #[cfg(feature = "v4_14")]
21443    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21444    pub fn gtk_accessible_text_update_contents(
21445        self_: *mut GtkAccessibleText,
21446        change: GtkAccessibleTextContentChange,
21447        start: c_uint,
21448        end: c_uint,
21449    );
21450    #[cfg(feature = "v4_14")]
21451    #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
21452    pub fn gtk_accessible_text_update_selection_bound(self_: *mut GtkAccessibleText);
21453
21454    //=========================================================================
21455    // GtkActionable
21456    //=========================================================================
21457    pub fn gtk_actionable_get_type() -> GType;
21458    pub fn gtk_actionable_get_action_name(actionable: *mut GtkActionable) -> *const c_char;
21459    pub fn gtk_actionable_get_action_target_value(
21460        actionable: *mut GtkActionable,
21461    ) -> *mut glib::GVariant;
21462    pub fn gtk_actionable_set_action_name(
21463        actionable: *mut GtkActionable,
21464        action_name: *const c_char,
21465    );
21466    pub fn gtk_actionable_set_action_target(
21467        actionable: *mut GtkActionable,
21468        format_string: *const c_char,
21469        ...
21470    );
21471    pub fn gtk_actionable_set_action_target_value(
21472        actionable: *mut GtkActionable,
21473        target_value: *mut glib::GVariant,
21474    );
21475    pub fn gtk_actionable_set_detailed_action_name(
21476        actionable: *mut GtkActionable,
21477        detailed_action_name: *const c_char,
21478    );
21479
21480    //=========================================================================
21481    // GtkAppChooser
21482    //=========================================================================
21483    pub fn gtk_app_chooser_get_type() -> GType;
21484    pub fn gtk_app_chooser_get_app_info(self_: *mut GtkAppChooser) -> *mut gio::GAppInfo;
21485    pub fn gtk_app_chooser_get_content_type(self_: *mut GtkAppChooser) -> *mut c_char;
21486    pub fn gtk_app_chooser_refresh(self_: *mut GtkAppChooser);
21487
21488    //=========================================================================
21489    // GtkBuildable
21490    //=========================================================================
21491    pub fn gtk_buildable_get_type() -> GType;
21492    pub fn gtk_buildable_get_buildable_id(buildable: *mut GtkBuildable) -> *const c_char;
21493
21494    //=========================================================================
21495    // GtkBuilderScope
21496    //=========================================================================
21497    pub fn gtk_builder_scope_get_type() -> GType;
21498
21499    //=========================================================================
21500    // GtkCellEditable
21501    //=========================================================================
21502    pub fn gtk_cell_editable_get_type() -> GType;
21503    pub fn gtk_cell_editable_editing_done(cell_editable: *mut GtkCellEditable);
21504    pub fn gtk_cell_editable_remove_widget(cell_editable: *mut GtkCellEditable);
21505    pub fn gtk_cell_editable_start_editing(
21506        cell_editable: *mut GtkCellEditable,
21507        event: *mut gdk::GdkEvent,
21508    );
21509
21510    //=========================================================================
21511    // GtkCellLayout
21512    //=========================================================================
21513    pub fn gtk_cell_layout_get_type() -> GType;
21514    pub fn gtk_cell_layout_add_attribute(
21515        cell_layout: *mut GtkCellLayout,
21516        cell: *mut GtkCellRenderer,
21517        attribute: *const c_char,
21518        column: c_int,
21519    );
21520    pub fn gtk_cell_layout_clear(cell_layout: *mut GtkCellLayout);
21521    pub fn gtk_cell_layout_clear_attributes(
21522        cell_layout: *mut GtkCellLayout,
21523        cell: *mut GtkCellRenderer,
21524    );
21525    pub fn gtk_cell_layout_get_area(cell_layout: *mut GtkCellLayout) -> *mut GtkCellArea;
21526    pub fn gtk_cell_layout_get_cells(cell_layout: *mut GtkCellLayout) -> *mut glib::GList;
21527    pub fn gtk_cell_layout_pack_end(
21528        cell_layout: *mut GtkCellLayout,
21529        cell: *mut GtkCellRenderer,
21530        expand: gboolean,
21531    );
21532    pub fn gtk_cell_layout_pack_start(
21533        cell_layout: *mut GtkCellLayout,
21534        cell: *mut GtkCellRenderer,
21535        expand: gboolean,
21536    );
21537    pub fn gtk_cell_layout_reorder(
21538        cell_layout: *mut GtkCellLayout,
21539        cell: *mut GtkCellRenderer,
21540        position: c_int,
21541    );
21542    pub fn gtk_cell_layout_set_attributes(
21543        cell_layout: *mut GtkCellLayout,
21544        cell: *mut GtkCellRenderer,
21545        ...
21546    );
21547    pub fn gtk_cell_layout_set_cell_data_func(
21548        cell_layout: *mut GtkCellLayout,
21549        cell: *mut GtkCellRenderer,
21550        func: GtkCellLayoutDataFunc,
21551        func_data: gpointer,
21552        destroy: glib::GDestroyNotify,
21553    );
21554
21555    //=========================================================================
21556    // GtkColorChooser
21557    //=========================================================================
21558    pub fn gtk_color_chooser_get_type() -> GType;
21559    pub fn gtk_color_chooser_add_palette(
21560        chooser: *mut GtkColorChooser,
21561        orientation: GtkOrientation,
21562        colors_per_line: c_int,
21563        n_colors: c_int,
21564        colors: *mut gdk::GdkRGBA,
21565    );
21566    pub fn gtk_color_chooser_get_rgba(chooser: *mut GtkColorChooser, color: *mut gdk::GdkRGBA);
21567    pub fn gtk_color_chooser_get_use_alpha(chooser: *mut GtkColorChooser) -> gboolean;
21568    pub fn gtk_color_chooser_set_rgba(chooser: *mut GtkColorChooser, color: *const gdk::GdkRGBA);
21569    pub fn gtk_color_chooser_set_use_alpha(chooser: *mut GtkColorChooser, use_alpha: gboolean);
21570
21571    //=========================================================================
21572    // GtkConstraintTarget
21573    //=========================================================================
21574    pub fn gtk_constraint_target_get_type() -> GType;
21575
21576    //=========================================================================
21577    // GtkEditable
21578    //=========================================================================
21579    pub fn gtk_editable_get_type() -> GType;
21580    pub fn gtk_editable_delegate_get_property(
21581        object: *mut gobject::GObject,
21582        prop_id: c_uint,
21583        value: *mut gobject::GValue,
21584        pspec: *mut gobject::GParamSpec,
21585    ) -> gboolean;
21586    pub fn gtk_editable_delegate_set_property(
21587        object: *mut gobject::GObject,
21588        prop_id: c_uint,
21589        value: *const gobject::GValue,
21590        pspec: *mut gobject::GParamSpec,
21591    ) -> gboolean;
21592    pub fn gtk_editable_install_properties(
21593        object_class: *mut gobject::GObjectClass,
21594        first_prop: c_uint,
21595    ) -> c_uint;
21596    #[cfg(feature = "v4_10")]
21597    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
21598    pub fn gtk_editable_delegate_get_accessible_platform_state(
21599        editable: *mut GtkEditable,
21600        state: GtkAccessiblePlatformState,
21601    ) -> gboolean;
21602    pub fn gtk_editable_delete_selection(editable: *mut GtkEditable);
21603    pub fn gtk_editable_delete_text(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
21604    pub fn gtk_editable_finish_delegate(editable: *mut GtkEditable);
21605    pub fn gtk_editable_get_alignment(editable: *mut GtkEditable) -> c_float;
21606    pub fn gtk_editable_get_chars(
21607        editable: *mut GtkEditable,
21608        start_pos: c_int,
21609        end_pos: c_int,
21610    ) -> *mut c_char;
21611    #[cfg(feature = "v4_24")]
21612    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
21613    pub fn gtk_editable_get_complete_text(editable: *mut GtkEditable) -> *mut c_char;
21614    pub fn gtk_editable_get_delegate(editable: *mut GtkEditable) -> *mut GtkEditable;
21615    pub fn gtk_editable_get_editable(editable: *mut GtkEditable) -> gboolean;
21616    pub fn gtk_editable_get_enable_undo(editable: *mut GtkEditable) -> gboolean;
21617    #[cfg(feature = "v4_24")]
21618    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
21619    pub fn gtk_editable_get_input_interceptor(editable: *mut GtkEditable) -> *mut GtkWidget;
21620    pub fn gtk_editable_get_max_width_chars(editable: *mut GtkEditable) -> c_int;
21621    pub fn gtk_editable_get_position(editable: *mut GtkEditable) -> c_int;
21622    pub fn gtk_editable_get_selection_bounds(
21623        editable: *mut GtkEditable,
21624        start_pos: *mut c_int,
21625        end_pos: *mut c_int,
21626    ) -> gboolean;
21627    pub fn gtk_editable_get_text(editable: *mut GtkEditable) -> *const c_char;
21628    pub fn gtk_editable_get_width_chars(editable: *mut GtkEditable) -> c_int;
21629    pub fn gtk_editable_init_delegate(editable: *mut GtkEditable);
21630    pub fn gtk_editable_insert_text(
21631        editable: *mut GtkEditable,
21632        text: *const c_char,
21633        length: c_int,
21634        position: *mut c_int,
21635    );
21636    pub fn gtk_editable_select_region(editable: *mut GtkEditable, start_pos: c_int, end_pos: c_int);
21637    pub fn gtk_editable_set_alignment(editable: *mut GtkEditable, xalign: c_float);
21638    pub fn gtk_editable_set_editable(editable: *mut GtkEditable, is_editable: gboolean);
21639    pub fn gtk_editable_set_enable_undo(editable: *mut GtkEditable, enable_undo: gboolean);
21640    #[cfg(feature = "v4_24")]
21641    #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
21642    pub fn gtk_editable_set_input_interceptor(
21643        editable: *mut GtkEditable,
21644        interceptor: *mut GtkWidget,
21645    );
21646    pub fn gtk_editable_set_max_width_chars(editable: *mut GtkEditable, n_chars: c_int);
21647    pub fn gtk_editable_set_position(editable: *mut GtkEditable, position: c_int);
21648    pub fn gtk_editable_set_text(editable: *mut GtkEditable, text: *const c_char);
21649    pub fn gtk_editable_set_width_chars(editable: *mut GtkEditable, n_chars: c_int);
21650
21651    //=========================================================================
21652    // GtkFileChooser
21653    //=========================================================================
21654    pub fn gtk_file_chooser_get_type() -> GType;
21655    pub fn gtk_file_chooser_add_choice(
21656        chooser: *mut GtkFileChooser,
21657        id: *const c_char,
21658        label: *const c_char,
21659        options: *mut *const c_char,
21660        option_labels: *mut *const c_char,
21661    );
21662    pub fn gtk_file_chooser_add_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21663    pub fn gtk_file_chooser_add_shortcut_folder(
21664        chooser: *mut GtkFileChooser,
21665        folder: *mut gio::GFile,
21666        error: *mut *mut glib::GError,
21667    ) -> gboolean;
21668    pub fn gtk_file_chooser_get_action(chooser: *mut GtkFileChooser) -> GtkFileChooserAction;
21669    pub fn gtk_file_chooser_get_choice(
21670        chooser: *mut GtkFileChooser,
21671        id: *const c_char,
21672    ) -> *const c_char;
21673    pub fn gtk_file_chooser_get_create_folders(chooser: *mut GtkFileChooser) -> gboolean;
21674    pub fn gtk_file_chooser_get_current_folder(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
21675    pub fn gtk_file_chooser_get_current_name(chooser: *mut GtkFileChooser) -> *mut c_char;
21676    pub fn gtk_file_chooser_get_file(chooser: *mut GtkFileChooser) -> *mut gio::GFile;
21677    pub fn gtk_file_chooser_get_files(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
21678    pub fn gtk_file_chooser_get_filter(chooser: *mut GtkFileChooser) -> *mut GtkFileFilter;
21679    pub fn gtk_file_chooser_get_filters(chooser: *mut GtkFileChooser) -> *mut gio::GListModel;
21680    pub fn gtk_file_chooser_get_select_multiple(chooser: *mut GtkFileChooser) -> gboolean;
21681    pub fn gtk_file_chooser_get_shortcut_folders(
21682        chooser: *mut GtkFileChooser,
21683    ) -> *mut gio::GListModel;
21684    pub fn gtk_file_chooser_remove_choice(chooser: *mut GtkFileChooser, id: *const c_char);
21685    pub fn gtk_file_chooser_remove_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21686    pub fn gtk_file_chooser_remove_shortcut_folder(
21687        chooser: *mut GtkFileChooser,
21688        folder: *mut gio::GFile,
21689        error: *mut *mut glib::GError,
21690    ) -> gboolean;
21691    pub fn gtk_file_chooser_set_action(chooser: *mut GtkFileChooser, action: GtkFileChooserAction);
21692    pub fn gtk_file_chooser_set_choice(
21693        chooser: *mut GtkFileChooser,
21694        id: *const c_char,
21695        option: *const c_char,
21696    );
21697    pub fn gtk_file_chooser_set_create_folders(
21698        chooser: *mut GtkFileChooser,
21699        create_folders: gboolean,
21700    );
21701    pub fn gtk_file_chooser_set_current_folder(
21702        chooser: *mut GtkFileChooser,
21703        file: *mut gio::GFile,
21704        error: *mut *mut glib::GError,
21705    ) -> gboolean;
21706    pub fn gtk_file_chooser_set_current_name(chooser: *mut GtkFileChooser, name: *const c_char);
21707    pub fn gtk_file_chooser_set_file(
21708        chooser: *mut GtkFileChooser,
21709        file: *mut gio::GFile,
21710        error: *mut *mut glib::GError,
21711    ) -> gboolean;
21712    pub fn gtk_file_chooser_set_filter(chooser: *mut GtkFileChooser, filter: *mut GtkFileFilter);
21713    pub fn gtk_file_chooser_set_select_multiple(
21714        chooser: *mut GtkFileChooser,
21715        select_multiple: gboolean,
21716    );
21717
21718    //=========================================================================
21719    // GtkFontChooser
21720    //=========================================================================
21721    pub fn gtk_font_chooser_get_type() -> GType;
21722    pub fn gtk_font_chooser_get_font(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21723    pub fn gtk_font_chooser_get_font_desc(
21724        fontchooser: *mut GtkFontChooser,
21725    ) -> *mut pango::PangoFontDescription;
21726    pub fn gtk_font_chooser_get_font_face(
21727        fontchooser: *mut GtkFontChooser,
21728    ) -> *mut pango::PangoFontFace;
21729    pub fn gtk_font_chooser_get_font_family(
21730        fontchooser: *mut GtkFontChooser,
21731    ) -> *mut pango::PangoFontFamily;
21732    pub fn gtk_font_chooser_get_font_features(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21733    pub fn gtk_font_chooser_get_font_map(
21734        fontchooser: *mut GtkFontChooser,
21735    ) -> *mut pango::PangoFontMap;
21736    pub fn gtk_font_chooser_get_font_size(fontchooser: *mut GtkFontChooser) -> c_int;
21737    pub fn gtk_font_chooser_get_language(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21738    pub fn gtk_font_chooser_get_level(fontchooser: *mut GtkFontChooser) -> GtkFontChooserLevel;
21739    pub fn gtk_font_chooser_get_preview_text(fontchooser: *mut GtkFontChooser) -> *mut c_char;
21740    pub fn gtk_font_chooser_get_show_preview_entry(fontchooser: *mut GtkFontChooser) -> gboolean;
21741    pub fn gtk_font_chooser_set_filter_func(
21742        fontchooser: *mut GtkFontChooser,
21743        filter: GtkFontFilterFunc,
21744        user_data: gpointer,
21745        destroy: glib::GDestroyNotify,
21746    );
21747    pub fn gtk_font_chooser_set_font(fontchooser: *mut GtkFontChooser, fontname: *const c_char);
21748    pub fn gtk_font_chooser_set_font_desc(
21749        fontchooser: *mut GtkFontChooser,
21750        font_desc: *const pango::PangoFontDescription,
21751    );
21752    pub fn gtk_font_chooser_set_font_map(
21753        fontchooser: *mut GtkFontChooser,
21754        fontmap: *mut pango::PangoFontMap,
21755    );
21756    pub fn gtk_font_chooser_set_language(fontchooser: *mut GtkFontChooser, language: *const c_char);
21757    pub fn gtk_font_chooser_set_level(fontchooser: *mut GtkFontChooser, level: GtkFontChooserLevel);
21758    pub fn gtk_font_chooser_set_preview_text(fontchooser: *mut GtkFontChooser, text: *const c_char);
21759    pub fn gtk_font_chooser_set_show_preview_entry(
21760        fontchooser: *mut GtkFontChooser,
21761        show_preview_entry: gboolean,
21762    );
21763
21764    //=========================================================================
21765    // GtkNative
21766    //=========================================================================
21767    pub fn gtk_native_get_type() -> GType;
21768    pub fn gtk_native_get_for_surface(surface: *mut gdk::GdkSurface) -> *mut GtkNative;
21769    pub fn gtk_native_get_renderer(self_: *mut GtkNative) -> *mut gsk::GskRenderer;
21770    pub fn gtk_native_get_surface(self_: *mut GtkNative) -> *mut gdk::GdkSurface;
21771    pub fn gtk_native_get_surface_transform(
21772        self_: *mut GtkNative,
21773        x: *mut c_double,
21774        y: *mut c_double,
21775    );
21776    pub fn gtk_native_realize(self_: *mut GtkNative);
21777    pub fn gtk_native_unrealize(self_: *mut GtkNative);
21778
21779    //=========================================================================
21780    // GtkOrientable
21781    //=========================================================================
21782    pub fn gtk_orientable_get_type() -> GType;
21783    pub fn gtk_orientable_get_orientation(orientable: *mut GtkOrientable) -> GtkOrientation;
21784    pub fn gtk_orientable_set_orientation(
21785        orientable: *mut GtkOrientable,
21786        orientation: GtkOrientation,
21787    );
21788
21789    //=========================================================================
21790    // GtkPrintOperationPreview
21791    //=========================================================================
21792    pub fn gtk_print_operation_preview_get_type() -> GType;
21793    pub fn gtk_print_operation_preview_end_preview(preview: *mut GtkPrintOperationPreview);
21794    pub fn gtk_print_operation_preview_is_selected(
21795        preview: *mut GtkPrintOperationPreview,
21796        page_nr: c_int,
21797    ) -> gboolean;
21798    pub fn gtk_print_operation_preview_render_page(
21799        preview: *mut GtkPrintOperationPreview,
21800        page_nr: c_int,
21801    );
21802
21803    //=========================================================================
21804    // GtkRoot
21805    //=========================================================================
21806    pub fn gtk_root_get_type() -> GType;
21807    pub fn gtk_root_get_display(self_: *mut GtkRoot) -> *mut gdk::GdkDisplay;
21808    pub fn gtk_root_get_focus(self_: *mut GtkRoot) -> *mut GtkWidget;
21809    pub fn gtk_root_set_focus(self_: *mut GtkRoot, focus: *mut GtkWidget);
21810
21811    //=========================================================================
21812    // GtkScrollable
21813    //=========================================================================
21814    pub fn gtk_scrollable_get_type() -> GType;
21815    pub fn gtk_scrollable_get_border(
21816        scrollable: *mut GtkScrollable,
21817        border: *mut GtkBorder,
21818    ) -> gboolean;
21819    pub fn gtk_scrollable_get_hadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21820    pub fn gtk_scrollable_get_hscroll_policy(scrollable: *mut GtkScrollable)
21821    -> GtkScrollablePolicy;
21822    pub fn gtk_scrollable_get_vadjustment(scrollable: *mut GtkScrollable) -> *mut GtkAdjustment;
21823    pub fn gtk_scrollable_get_vscroll_policy(scrollable: *mut GtkScrollable)
21824    -> GtkScrollablePolicy;
21825    pub fn gtk_scrollable_set_hadjustment(
21826        scrollable: *mut GtkScrollable,
21827        hadjustment: *mut GtkAdjustment,
21828    );
21829    pub fn gtk_scrollable_set_hscroll_policy(
21830        scrollable: *mut GtkScrollable,
21831        policy: GtkScrollablePolicy,
21832    );
21833    pub fn gtk_scrollable_set_vadjustment(
21834        scrollable: *mut GtkScrollable,
21835        vadjustment: *mut GtkAdjustment,
21836    );
21837    pub fn gtk_scrollable_set_vscroll_policy(
21838        scrollable: *mut GtkScrollable,
21839        policy: GtkScrollablePolicy,
21840    );
21841
21842    //=========================================================================
21843    // GtkSectionModel
21844    //=========================================================================
21845    #[cfg(feature = "v4_12")]
21846    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21847    pub fn gtk_section_model_get_type() -> GType;
21848    #[cfg(feature = "v4_12")]
21849    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21850    pub fn gtk_section_model_get_section(
21851        self_: *mut GtkSectionModel,
21852        position: c_uint,
21853        out_start: *mut c_uint,
21854        out_end: *mut c_uint,
21855    );
21856    #[cfg(feature = "v4_12")]
21857    #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
21858    pub fn gtk_section_model_sections_changed(
21859        self_: *mut GtkSectionModel,
21860        position: c_uint,
21861        n_items: c_uint,
21862    );
21863
21864    //=========================================================================
21865    // GtkSelectionModel
21866    //=========================================================================
21867    pub fn gtk_selection_model_get_type() -> GType;
21868    pub fn gtk_selection_model_get_selection(model: *mut GtkSelectionModel) -> *mut GtkBitset;
21869    pub fn gtk_selection_model_get_selection_in_range(
21870        model: *mut GtkSelectionModel,
21871        position: c_uint,
21872        n_items: c_uint,
21873    ) -> *mut GtkBitset;
21874    pub fn gtk_selection_model_is_selected(
21875        model: *mut GtkSelectionModel,
21876        position: c_uint,
21877    ) -> gboolean;
21878    pub fn gtk_selection_model_select_all(model: *mut GtkSelectionModel) -> gboolean;
21879    pub fn gtk_selection_model_select_item(
21880        model: *mut GtkSelectionModel,
21881        position: c_uint,
21882        unselect_rest: gboolean,
21883    ) -> gboolean;
21884    pub fn gtk_selection_model_select_range(
21885        model: *mut GtkSelectionModel,
21886        position: c_uint,
21887        n_items: c_uint,
21888        unselect_rest: gboolean,
21889    ) -> gboolean;
21890    pub fn gtk_selection_model_selection_changed(
21891        model: *mut GtkSelectionModel,
21892        position: c_uint,
21893        n_items: c_uint,
21894    );
21895    pub fn gtk_selection_model_set_selection(
21896        model: *mut GtkSelectionModel,
21897        selected: *mut GtkBitset,
21898        mask: *mut GtkBitset,
21899    ) -> gboolean;
21900    pub fn gtk_selection_model_unselect_all(model: *mut GtkSelectionModel) -> gboolean;
21901    pub fn gtk_selection_model_unselect_item(
21902        model: *mut GtkSelectionModel,
21903        position: c_uint,
21904    ) -> gboolean;
21905    pub fn gtk_selection_model_unselect_range(
21906        model: *mut GtkSelectionModel,
21907        position: c_uint,
21908        n_items: c_uint,
21909    ) -> gboolean;
21910
21911    //=========================================================================
21912    // GtkShortcutManager
21913    //=========================================================================
21914    pub fn gtk_shortcut_manager_get_type() -> GType;
21915
21916    //=========================================================================
21917    // GtkStyleProvider
21918    //=========================================================================
21919    pub fn gtk_style_provider_get_type() -> GType;
21920
21921    //=========================================================================
21922    // GtkSymbolicPaintable
21923    //=========================================================================
21924    #[cfg(feature = "v4_6")]
21925    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21926    pub fn gtk_symbolic_paintable_get_type() -> GType;
21927    #[cfg(feature = "v4_6")]
21928    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
21929    pub fn gtk_symbolic_paintable_snapshot_symbolic(
21930        paintable: *mut GtkSymbolicPaintable,
21931        snapshot: *mut gdk::GdkSnapshot,
21932        width: c_double,
21933        height: c_double,
21934        colors: *const gdk::GdkRGBA,
21935        n_colors: size_t,
21936    );
21937    #[cfg(feature = "v4_22")]
21938    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
21939    pub fn gtk_symbolic_paintable_snapshot_with_weight(
21940        paintable: *mut GtkSymbolicPaintable,
21941        snapshot: *mut gdk::GdkSnapshot,
21942        width: c_double,
21943        height: c_double,
21944        colors: *const gdk::GdkRGBA,
21945        n_colors: size_t,
21946        weight: c_double,
21947    );
21948
21949    //=========================================================================
21950    // GtkTreeDragDest
21951    //=========================================================================
21952    pub fn gtk_tree_drag_dest_get_type() -> GType;
21953    pub fn gtk_tree_drag_dest_drag_data_received(
21954        drag_dest: *mut GtkTreeDragDest,
21955        dest: *mut GtkTreePath,
21956        value: *const gobject::GValue,
21957    ) -> gboolean;
21958    pub fn gtk_tree_drag_dest_row_drop_possible(
21959        drag_dest: *mut GtkTreeDragDest,
21960        dest_path: *mut GtkTreePath,
21961        value: *const gobject::GValue,
21962    ) -> gboolean;
21963
21964    //=========================================================================
21965    // GtkTreeDragSource
21966    //=========================================================================
21967    pub fn gtk_tree_drag_source_get_type() -> GType;
21968    pub fn gtk_tree_drag_source_drag_data_delete(
21969        drag_source: *mut GtkTreeDragSource,
21970        path: *mut GtkTreePath,
21971    ) -> gboolean;
21972    pub fn gtk_tree_drag_source_drag_data_get(
21973        drag_source: *mut GtkTreeDragSource,
21974        path: *mut GtkTreePath,
21975    ) -> *mut gdk::GdkContentProvider;
21976    pub fn gtk_tree_drag_source_row_draggable(
21977        drag_source: *mut GtkTreeDragSource,
21978        path: *mut GtkTreePath,
21979    ) -> gboolean;
21980
21981    //=========================================================================
21982    // GtkTreeModel
21983    //=========================================================================
21984    pub fn gtk_tree_model_get_type() -> GType;
21985    pub fn gtk_tree_model_filter_new(
21986        child_model: *mut GtkTreeModel,
21987        root: *mut GtkTreePath,
21988    ) -> *mut GtkTreeModel;
21989    pub fn gtk_tree_model_foreach(
21990        model: *mut GtkTreeModel,
21991        func: GtkTreeModelForeachFunc,
21992        user_data: gpointer,
21993    );
21994    pub fn gtk_tree_model_get(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, ...);
21995    pub fn gtk_tree_model_get_column_type(tree_model: *mut GtkTreeModel, index_: c_int) -> GType;
21996    pub fn gtk_tree_model_get_flags(tree_model: *mut GtkTreeModel) -> GtkTreeModelFlags;
21997    pub fn gtk_tree_model_get_iter(
21998        tree_model: *mut GtkTreeModel,
21999        iter: *mut GtkTreeIter,
22000        path: *mut GtkTreePath,
22001    ) -> gboolean;
22002    pub fn gtk_tree_model_get_iter_first(
22003        tree_model: *mut GtkTreeModel,
22004        iter: *mut GtkTreeIter,
22005    ) -> gboolean;
22006    pub fn gtk_tree_model_get_iter_from_string(
22007        tree_model: *mut GtkTreeModel,
22008        iter: *mut GtkTreeIter,
22009        path_string: *const c_char,
22010    ) -> gboolean;
22011    pub fn gtk_tree_model_get_n_columns(tree_model: *mut GtkTreeModel) -> c_int;
22012    pub fn gtk_tree_model_get_path(
22013        tree_model: *mut GtkTreeModel,
22014        iter: *mut GtkTreeIter,
22015    ) -> *mut GtkTreePath;
22016    pub fn gtk_tree_model_get_string_from_iter(
22017        tree_model: *mut GtkTreeModel,
22018        iter: *mut GtkTreeIter,
22019    ) -> *mut c_char;
22020    //pub fn gtk_tree_model_get_valist(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter, var_args: /*Unimplemented*/va_list);
22021    pub fn gtk_tree_model_get_value(
22022        tree_model: *mut GtkTreeModel,
22023        iter: *mut GtkTreeIter,
22024        column: c_int,
22025        value: *mut gobject::GValue,
22026    );
22027    pub fn gtk_tree_model_iter_children(
22028        tree_model: *mut GtkTreeModel,
22029        iter: *mut GtkTreeIter,
22030        parent: *mut GtkTreeIter,
22031    ) -> gboolean;
22032    pub fn gtk_tree_model_iter_has_child(
22033        tree_model: *mut GtkTreeModel,
22034        iter: *mut GtkTreeIter,
22035    ) -> gboolean;
22036    pub fn gtk_tree_model_iter_n_children(
22037        tree_model: *mut GtkTreeModel,
22038        iter: *mut GtkTreeIter,
22039    ) -> c_int;
22040    pub fn gtk_tree_model_iter_next(
22041        tree_model: *mut GtkTreeModel,
22042        iter: *mut GtkTreeIter,
22043    ) -> gboolean;
22044    pub fn gtk_tree_model_iter_nth_child(
22045        tree_model: *mut GtkTreeModel,
22046        iter: *mut GtkTreeIter,
22047        parent: *mut GtkTreeIter,
22048        n: c_int,
22049    ) -> gboolean;
22050    pub fn gtk_tree_model_iter_parent(
22051        tree_model: *mut GtkTreeModel,
22052        iter: *mut GtkTreeIter,
22053        child: *mut GtkTreeIter,
22054    ) -> gboolean;
22055    pub fn gtk_tree_model_iter_previous(
22056        tree_model: *mut GtkTreeModel,
22057        iter: *mut GtkTreeIter,
22058    ) -> gboolean;
22059    pub fn gtk_tree_model_ref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
22060    pub fn gtk_tree_model_row_changed(
22061        tree_model: *mut GtkTreeModel,
22062        path: *mut GtkTreePath,
22063        iter: *mut GtkTreeIter,
22064    );
22065    pub fn gtk_tree_model_row_deleted(tree_model: *mut GtkTreeModel, path: *mut GtkTreePath);
22066    pub fn gtk_tree_model_row_has_child_toggled(
22067        tree_model: *mut GtkTreeModel,
22068        path: *mut GtkTreePath,
22069        iter: *mut GtkTreeIter,
22070    );
22071    pub fn gtk_tree_model_row_inserted(
22072        tree_model: *mut GtkTreeModel,
22073        path: *mut GtkTreePath,
22074        iter: *mut GtkTreeIter,
22075    );
22076    pub fn gtk_tree_model_rows_reordered(
22077        tree_model: *mut GtkTreeModel,
22078        path: *mut GtkTreePath,
22079        iter: *mut GtkTreeIter,
22080        new_order: *mut c_int,
22081    );
22082    pub fn gtk_tree_model_rows_reordered_with_length(
22083        tree_model: *mut GtkTreeModel,
22084        path: *mut GtkTreePath,
22085        iter: *mut GtkTreeIter,
22086        new_order: *mut c_int,
22087        length: c_int,
22088    );
22089    pub fn gtk_tree_model_unref_node(tree_model: *mut GtkTreeModel, iter: *mut GtkTreeIter);
22090
22091    //=========================================================================
22092    // GtkTreeSortable
22093    //=========================================================================
22094    pub fn gtk_tree_sortable_get_type() -> GType;
22095    pub fn gtk_tree_sortable_get_sort_column_id(
22096        sortable: *mut GtkTreeSortable,
22097        sort_column_id: *mut c_int,
22098        order: *mut GtkSortType,
22099    ) -> gboolean;
22100    pub fn gtk_tree_sortable_has_default_sort_func(sortable: *mut GtkTreeSortable) -> gboolean;
22101    pub fn gtk_tree_sortable_set_default_sort_func(
22102        sortable: *mut GtkTreeSortable,
22103        sort_func: GtkTreeIterCompareFunc,
22104        user_data: gpointer,
22105        destroy: glib::GDestroyNotify,
22106    );
22107    pub fn gtk_tree_sortable_set_sort_column_id(
22108        sortable: *mut GtkTreeSortable,
22109        sort_column_id: c_int,
22110        order: GtkSortType,
22111    );
22112    pub fn gtk_tree_sortable_set_sort_func(
22113        sortable: *mut GtkTreeSortable,
22114        sort_column_id: c_int,
22115        sort_func: GtkTreeIterCompareFunc,
22116        user_data: gpointer,
22117        destroy: glib::GDestroyNotify,
22118    );
22119    pub fn gtk_tree_sortable_sort_column_changed(sortable: *mut GtkTreeSortable);
22120
22121    //=========================================================================
22122    // Other functions
22123    //=========================================================================
22124    #[cfg(feature = "v4_22")]
22125    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
22126    pub fn gtk_accelerator_get_accessible_label(
22127        accelerator_key: c_uint,
22128        accelerator_mods: gdk::GdkModifierType,
22129    ) -> *mut c_char;
22130    pub fn gtk_accelerator_get_default_mod_mask() -> gdk::GdkModifierType;
22131    pub fn gtk_accelerator_get_label(
22132        accelerator_key: c_uint,
22133        accelerator_mods: gdk::GdkModifierType,
22134    ) -> *mut c_char;
22135    pub fn gtk_accelerator_get_label_with_keycode(
22136        display: *mut gdk::GdkDisplay,
22137        accelerator_key: c_uint,
22138        keycode: c_uint,
22139        accelerator_mods: gdk::GdkModifierType,
22140    ) -> *mut c_char;
22141    pub fn gtk_accelerator_name(
22142        accelerator_key: c_uint,
22143        accelerator_mods: gdk::GdkModifierType,
22144    ) -> *mut c_char;
22145    pub fn gtk_accelerator_name_with_keycode(
22146        display: *mut gdk::GdkDisplay,
22147        accelerator_key: c_uint,
22148        keycode: c_uint,
22149        accelerator_mods: gdk::GdkModifierType,
22150    ) -> *mut c_char;
22151    pub fn gtk_accelerator_parse(
22152        accelerator: *const c_char,
22153        accelerator_key: *mut c_uint,
22154        accelerator_mods: *mut gdk::GdkModifierType,
22155    ) -> gboolean;
22156    pub fn gtk_accelerator_parse_with_keycode(
22157        accelerator: *const c_char,
22158        display: *mut gdk::GdkDisplay,
22159        accelerator_key: *mut c_uint,
22160        accelerator_codes: *mut *mut c_uint,
22161        accelerator_mods: *mut gdk::GdkModifierType,
22162    ) -> gboolean;
22163    pub fn gtk_accelerator_valid(keyval: c_uint, modifiers: gdk::GdkModifierType) -> gboolean;
22164    pub fn gtk_check_version(
22165        required_major: c_uint,
22166        required_minor: c_uint,
22167        required_micro: c_uint,
22168    ) -> *const c_char;
22169    pub fn gtk_css_parser_error_quark() -> glib::GQuark;
22170    pub fn gtk_css_parser_warning_quark() -> glib::GQuark;
22171    #[cfg(feature = "v4_22")]
22172    #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
22173    pub fn gtk_disable_portal_interfaces(portal_interfaces: *mut *const c_char);
22174    #[cfg(feature = "v4_18")]
22175    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
22176    pub fn gtk_disable_portals();
22177    pub fn gtk_disable_setlocale();
22178    pub fn gtk_distribute_natural_allocation(
22179        extra_space: c_int,
22180        n_requested_sizes: c_uint,
22181        sizes: *mut GtkRequestedSize,
22182    ) -> c_int;
22183    pub fn gtk_enumerate_printers(
22184        func: GtkPrinterFunc,
22185        data: gpointer,
22186        destroy: glib::GDestroyNotify,
22187        wait: gboolean,
22188    );
22189    pub fn gtk_get_binary_age() -> c_uint;
22190    pub fn gtk_get_debug_flags() -> GtkDebugFlags;
22191    pub fn gtk_get_default_language() -> *mut pango::PangoLanguage;
22192    pub fn gtk_get_interface_age() -> c_uint;
22193    pub fn gtk_get_locale_direction() -> GtkTextDirection;
22194    pub fn gtk_get_major_version() -> c_uint;
22195    pub fn gtk_get_micro_version() -> c_uint;
22196    pub fn gtk_get_minor_version() -> c_uint;
22197    pub fn gtk_hsv_to_rgb(
22198        h: c_float,
22199        s: c_float,
22200        v: c_float,
22201        r: *mut c_float,
22202        g: *mut c_float,
22203        b: *mut c_float,
22204    );
22205    pub fn gtk_init();
22206    pub fn gtk_init_check() -> gboolean;
22207    pub fn gtk_is_initialized() -> gboolean;
22208    pub fn gtk_param_spec_expression(
22209        name: *const c_char,
22210        nick: *const c_char,
22211        blurb: *const c_char,
22212        flags: gobject::GParamFlags,
22213    ) -> *mut gobject::GParamSpec;
22214    pub fn gtk_print_run_page_setup_dialog(
22215        parent: *mut GtkWindow,
22216        page_setup: *mut GtkPageSetup,
22217        settings: *mut GtkPrintSettings,
22218    ) -> *mut GtkPageSetup;
22219    pub fn gtk_print_run_page_setup_dialog_async(
22220        parent: *mut GtkWindow,
22221        page_setup: *mut GtkPageSetup,
22222        settings: *mut GtkPrintSettings,
22223        done_cb: GtkPageSetupDoneFunc,
22224        data: gpointer,
22225    );
22226    pub fn gtk_render_activity(
22227        context: *mut GtkStyleContext,
22228        cr: *mut cairo::cairo_t,
22229        x: c_double,
22230        y: c_double,
22231        width: c_double,
22232        height: c_double,
22233    );
22234    pub fn gtk_render_arrow(
22235        context: *mut GtkStyleContext,
22236        cr: *mut cairo::cairo_t,
22237        angle: c_double,
22238        x: c_double,
22239        y: c_double,
22240        size: c_double,
22241    );
22242    pub fn gtk_render_background(
22243        context: *mut GtkStyleContext,
22244        cr: *mut cairo::cairo_t,
22245        x: c_double,
22246        y: c_double,
22247        width: c_double,
22248        height: c_double,
22249    );
22250    pub fn gtk_render_check(
22251        context: *mut GtkStyleContext,
22252        cr: *mut cairo::cairo_t,
22253        x: c_double,
22254        y: c_double,
22255        width: c_double,
22256        height: c_double,
22257    );
22258    pub fn gtk_render_expander(
22259        context: *mut GtkStyleContext,
22260        cr: *mut cairo::cairo_t,
22261        x: c_double,
22262        y: c_double,
22263        width: c_double,
22264        height: c_double,
22265    );
22266    pub fn gtk_render_focus(
22267        context: *mut GtkStyleContext,
22268        cr: *mut cairo::cairo_t,
22269        x: c_double,
22270        y: c_double,
22271        width: c_double,
22272        height: c_double,
22273    );
22274    pub fn gtk_render_frame(
22275        context: *mut GtkStyleContext,
22276        cr: *mut cairo::cairo_t,
22277        x: c_double,
22278        y: c_double,
22279        width: c_double,
22280        height: c_double,
22281    );
22282    pub fn gtk_render_handle(
22283        context: *mut GtkStyleContext,
22284        cr: *mut cairo::cairo_t,
22285        x: c_double,
22286        y: c_double,
22287        width: c_double,
22288        height: c_double,
22289    );
22290    pub fn gtk_render_icon(
22291        context: *mut GtkStyleContext,
22292        cr: *mut cairo::cairo_t,
22293        texture: *mut gdk::GdkTexture,
22294        x: c_double,
22295        y: c_double,
22296    );
22297    pub fn gtk_render_layout(
22298        context: *mut GtkStyleContext,
22299        cr: *mut cairo::cairo_t,
22300        x: c_double,
22301        y: c_double,
22302        layout: *mut pango::PangoLayout,
22303    );
22304    pub fn gtk_render_line(
22305        context: *mut GtkStyleContext,
22306        cr: *mut cairo::cairo_t,
22307        x0: c_double,
22308        y0: c_double,
22309        x1: c_double,
22310        y1: c_double,
22311    );
22312    pub fn gtk_render_option(
22313        context: *mut GtkStyleContext,
22314        cr: *mut cairo::cairo_t,
22315        x: c_double,
22316        y: c_double,
22317        width: c_double,
22318        height: c_double,
22319    );
22320    pub fn gtk_rgb_to_hsv(
22321        r: c_float,
22322        g: c_float,
22323        b: c_float,
22324        h: *mut c_float,
22325        s: *mut c_float,
22326        v: *mut c_float,
22327    );
22328    pub fn gtk_set_debug_flags(flags: GtkDebugFlags);
22329    pub fn gtk_show_about_dialog(parent: *mut GtkWindow, first_property_name: *const c_char, ...);
22330    pub fn gtk_show_uri(parent: *mut GtkWindow, uri: *const c_char, timestamp: u32);
22331    pub fn gtk_show_uri_full(
22332        parent: *mut GtkWindow,
22333        uri: *const c_char,
22334        timestamp: u32,
22335        cancellable: *mut gio::GCancellable,
22336        callback: gio::GAsyncReadyCallback,
22337        user_data: gpointer,
22338    );
22339    pub fn gtk_show_uri_full_finish(
22340        parent: *mut GtkWindow,
22341        result: *mut gio::GAsyncResult,
22342        error: *mut *mut glib::GError,
22343    ) -> gboolean;
22344    #[cfg(feature = "v4_10")]
22345    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22346    pub fn gtk_test_accessible_assertion_message_role(
22347        domain: *const c_char,
22348        file: *const c_char,
22349        line: c_int,
22350        func: *const c_char,
22351        expr: *const c_char,
22352        accessible: *mut GtkAccessible,
22353        expected_role: GtkAccessibleRole,
22354        actual_role: GtkAccessibleRole,
22355    );
22356    #[cfg(feature = "v4_10")]
22357    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22358    pub fn gtk_test_accessible_check_property(
22359        accessible: *mut GtkAccessible,
22360        property: GtkAccessibleProperty,
22361        ...
22362    ) -> *mut c_char;
22363    #[cfg(feature = "v4_10")]
22364    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22365    pub fn gtk_test_accessible_check_relation(
22366        accessible: *mut GtkAccessible,
22367        relation: GtkAccessibleRelation,
22368        ...
22369    ) -> *mut c_char;
22370    #[cfg(feature = "v4_10")]
22371    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22372    pub fn gtk_test_accessible_check_state(
22373        accessible: *mut GtkAccessible,
22374        state: GtkAccessibleState,
22375        ...
22376    ) -> *mut c_char;
22377    #[cfg(feature = "v4_10")]
22378    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22379    pub fn gtk_test_accessible_has_property(
22380        accessible: *mut GtkAccessible,
22381        property: GtkAccessibleProperty,
22382    ) -> gboolean;
22383    #[cfg(feature = "v4_10")]
22384    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22385    pub fn gtk_test_accessible_has_relation(
22386        accessible: *mut GtkAccessible,
22387        relation: GtkAccessibleRelation,
22388    ) -> gboolean;
22389    #[cfg(feature = "v4_10")]
22390    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22391    pub fn gtk_test_accessible_has_role(
22392        accessible: *mut GtkAccessible,
22393        role: GtkAccessibleRole,
22394    ) -> gboolean;
22395    #[cfg(feature = "v4_10")]
22396    #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22397    pub fn gtk_test_accessible_has_state(
22398        accessible: *mut GtkAccessible,
22399        state: GtkAccessibleState,
22400    ) -> gboolean;
22401    pub fn gtk_test_init(argcp: *mut c_int, argvp: *mut *mut *mut c_char, ...);
22402    pub fn gtk_test_list_all_types(n_types: *mut c_uint) -> *const GType;
22403    pub fn gtk_test_register_all_types();
22404    pub fn gtk_test_widget_wait_for_draw(widget: *mut GtkWidget);
22405    pub fn gtk_tree_create_row_drag_content(
22406        tree_model: *mut GtkTreeModel,
22407        path: *mut GtkTreePath,
22408    ) -> *mut gdk::GdkContentProvider;
22409    pub fn gtk_tree_get_row_drag_data(
22410        value: *const gobject::GValue,
22411        tree_model: *mut *mut GtkTreeModel,
22412        path: *mut *mut GtkTreePath,
22413    ) -> gboolean;
22414    pub fn gtk_value_dup_expression(value: *const gobject::GValue) -> *mut GtkExpression;
22415    pub fn gtk_value_get_expression(value: *const gobject::GValue) -> *mut GtkExpression;
22416    pub fn gtk_value_set_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
22417    pub fn gtk_value_take_expression(value: *mut gobject::GValue, expression: *mut GtkExpression);
22418
22419}